* fix(persistence): Update play_date on scrobble only when newer - #2262 Signed-off-by: Xidorn Quan <me@upsuper.org> * expand iff --------- Signed-off-by: Xidorn Quan <me@upsuper.org>
This commit is contained in:
@@ -158,6 +158,31 @@ var _ = Describe("MediaRepository", func() {
|
||||
Expect(mf.PlayCount).To(Equal(int64(1)))
|
||||
})
|
||||
|
||||
It("preserves play date if and only if provided date is older", func() {
|
||||
id := "incplay.playdate"
|
||||
Expect(mr.Put(&model.MediaFile{ID: id})).To(BeNil())
|
||||
playDate := time.Now()
|
||||
Expect(mr.IncPlayCount(id, playDate)).To(BeNil())
|
||||
mf, err := mr.Get(id)
|
||||
Expect(err).To(BeNil())
|
||||
Expect(mf.PlayDate.Unix()).To(Equal(playDate.Unix()))
|
||||
Expect(mf.PlayCount).To(Equal(int64(1)))
|
||||
|
||||
playDateLate := playDate.AddDate(0, 0, 1)
|
||||
Expect(mr.IncPlayCount(id, playDateLate)).To(BeNil())
|
||||
mf, err = mr.Get(id)
|
||||
Expect(err).To(BeNil())
|
||||
Expect(mf.PlayDate.Unix()).To(Equal(playDateLate.Unix()))
|
||||
Expect(mf.PlayCount).To(Equal(int64(2)))
|
||||
|
||||
playDateEarly := playDate.AddDate(0, 0, -1)
|
||||
Expect(mr.IncPlayCount(id, playDateEarly)).To(BeNil())
|
||||
mf, err = mr.Get(id)
|
||||
Expect(err).To(BeNil())
|
||||
Expect(mf.PlayDate.Unix()).To(Equal(playDateLate.Unix()))
|
||||
Expect(mf.PlayCount).To(Equal(int64(3)))
|
||||
})
|
||||
|
||||
It("increments play count on newly starred items", func() {
|
||||
id := "star.incplay"
|
||||
Expect(mr.Put(&model.MediaFile{ID: id})).To(BeNil())
|
||||
|
||||
Reference in New Issue
Block a user