mirror of
https://github.com/navidrome/navidrome.git
synced 2025-12-23 15:08:04 -05:00
* feat(scrobble): implement scrobble repository and record scrobble history Signed-off-by: Deluan <deluan@navidrome.org> * feat(scrobble): add configuration option to enable scrobble history Signed-off-by: Deluan <deluan@navidrome.org> * test(scrobble): enhance scrobble history tests for repository recording Signed-off-by: Deluan <deluan@navidrome.org> --------- Signed-off-by: Deluan <deluan@navidrome.org>
25 lines
539 B
Go
25 lines
539 B
Go
package tests
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"github.com/navidrome/navidrome/model"
|
|
"github.com/navidrome/navidrome/model/request"
|
|
)
|
|
|
|
type MockScrobbleRepo struct {
|
|
RecordedScrobbles []model.Scrobble
|
|
ctx context.Context
|
|
}
|
|
|
|
func (m *MockScrobbleRepo) RecordScrobble(fileID string, submissionTime time.Time) error {
|
|
user, _ := request.UserFrom(m.ctx)
|
|
m.RecordedScrobbles = append(m.RecordedScrobbles, model.Scrobble{
|
|
MediaFileID: fileID,
|
|
UserID: user.ID,
|
|
SubmissionTime: submissionTime,
|
|
})
|
|
return nil
|
|
}
|