diff --git a/internal/library/song_link_test.go b/internal/library/song_link_test.go index 263afee5..ac3f630e 100644 --- a/internal/library/song_link_test.go +++ b/internal/library/song_link_test.go @@ -234,11 +234,17 @@ func TestResolveDuplicates_FoldsAnAlbumsExtraCopyInACrossReleaseGroup_Integratio if err != nil { t.Fatal(err) } + // UpsertAlbum folds only by MBID, so each album is made once. + albums := map[string]dbq.Album{} track := func(album, name, format string) dbq.Track { t.Helper() - a, err := q.UpsertAlbum(ctx, dbq.UpsertAlbumParams{Title: album, SortTitle: album, ArtistID: artist.ID}) - if err != nil { - t.Fatal(err) + a, ok := albums[album] + if !ok { + var err error + if a, err = q.UpsertAlbum(ctx, dbq.UpsertAlbumParams{Title: album, SortTitle: album, ArtistID: artist.ID}); err != nil { + t.Fatal(err) + } + albums[album] = a } path := filepath.Join(dir, album, name) if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil {