Files
silo-server/internal/userdb/series_playback_prefs_test.go

56 lines
1.4 KiB
Go

package userdb
import (
"database/sql"
"testing"
"github.com/Silo-Server/silo-server/internal/userstore"
)
func TestSeriesPlaybackPreferenceRoundTrip(t *testing.T) {
db, err := sql.Open("sqlite3", ":memory:")
if err != nil {
t.Fatalf("open sqlite: %v", err)
}
defer db.Close()
if err := InitSchema(db); err != nil {
t.Fatalf("init schema: %v", err)
}
pref := userstore.SeriesPlaybackPreference{
ProfileID: "profile-1",
SeriesID: "series-1",
Resolution: "1080p",
HDR: false,
CodecVideo: "h264",
UpdatedAt: "2026-04-07T00:00:00Z",
}
if err := SetSeriesPlaybackPreference(db, pref); err != nil {
t.Fatalf("SetSeriesPlaybackPreference: %v", err)
}
got, err := GetSeriesPlaybackPreference(db, "profile-1", "series-1")
if err != nil {
t.Fatalf("GetSeriesPlaybackPreference: %v", err)
}
if got == nil {
t.Fatal("expected stored preference")
}
if got.Resolution != "1080p" || got.CodecVideo != "h264" || got.HDR {
t.Fatalf("stored pref = %+v, want 1080p/h264/false", got)
}
if err := DeleteSeriesPlaybackPreference(db, "profile-1", "series-1"); err != nil {
t.Fatalf("DeleteSeriesPlaybackPreference: %v", err)
}
got, err = GetSeriesPlaybackPreference(db, "profile-1", "series-1")
if err != nil {
t.Fatalf("GetSeriesPlaybackPreference(after delete): %v", err)
}
if got != nil {
t.Fatalf("expected nil after delete, got %+v", got)
}
}