From f74bf6484e185cd3ca64fcdeeaad5c051822bed7 Mon Sep 17 00:00:00 2001 From: Deluan Date: Fri, 24 Jul 2026 00:02:55 -0400 Subject: [PATCH] test(persistence): scope the GetCursorWithArtwork full-stream spec to tie-free ids The fixture has title ties (e.g. three "Antenna" tracks), so the unscoped positional comparison against GetAll only passed because SQLite's tie order happened to coincide between the full scan and the pre-pass's id IN (...) fetch. Scope it to onlySongs like the sibling ordering specs already do. --- persistence/artwork_hydration_test.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/persistence/artwork_hydration_test.go b/persistence/artwork_hydration_test.go index 6511110da..8f9f09afe 100644 --- a/persistence/artwork_hydration_test.go +++ b/persistence/artwork_hydration_test.go @@ -600,7 +600,9 @@ var _ = Describe("Artwork hydration", func() { }) It("hydrates artwork onto every streamed track, unlike GetCursor", func() { - opts := model.QueryOptions{Sort: "title"} + // Scoped to onlySongs (distinct titles): the full fixture has title ties (e.g. "Antenna" + // x3), so positional comparison against GetAll would only pass by tie-order coincidence. + opts := model.QueryOptions{Sort: "title", Filters: onlySongs} want, err := mfRepo.GetAll(opts) Expect(err).ToNot(HaveOccurred()) Expect(want).ToNot(BeEmpty())