diff --git a/internal/db/psql/merge_test.go b/internal/db/psql/merge_test.go index 7977282..08169fb 100644 --- a/internal/db/psql/merge_test.go +++ b/internal/db/psql/merge_test.go @@ -189,85 +189,3 @@ func TestMergeArtists(t *testing.T) { truncateTestData(t) } - -func TestMergeTracks_EnsureParentOfReleaseIsKept(t *testing.T) { - truncateTestData(t) - - // Prepare test data with only album assigned to artist 1, - // and two tracks, both under album one, but under two different artists - - // Insert artists - err := store.Exec(context.Background(), - `INSERT INTO artists (musicbrainz_id, image, image_source) - VALUES ('00000000-0000-0000-0000-000000000001', '10000000-0000-0000-0000-000000000000', 'source.com'), - ('00000000-0000-0000-0000-000000000002', NULL, NULL)`) - require.NoError(t, err) - - err = store.Exec(context.Background(), - `INSERT INTO artist_aliases (artist_id, alias, source, is_primary) - VALUES (1, 'Artist One', 'Testing', true), - (2, 'Artist Two', 'Testing', true)`) - require.NoError(t, err) - - // Insert albums - err = store.Exec(context.Background(), - `INSERT INTO releases (musicbrainz_id, image, image_source) - VALUES ('11111111-1111-1111-1111-111111111111', '20000000-0000-0000-0000-000000000000', 'source.com')`) - require.NoError(t, err) - - err = store.Exec(context.Background(), - `INSERT INTO release_aliases (release_id, alias, source, is_primary) - VALUES (1, 'Album One', 'Testing', true)`) - require.NoError(t, err) - - // Insert tracks - err = store.Exec(context.Background(), - `INSERT INTO tracks (musicbrainz_id, release_id) - VALUES ('33333333-3333-3333-3333-333333333333', 1), - ('44444444-4444-4444-4444-444444444444', 1)`) - require.NoError(t, err) - - err = store.Exec(context.Background(), - `INSERT INTO track_aliases (track_id, alias, source, is_primary) - VALUES (1, 'Track One', 'Testing', true), - (2, 'Track Two', 'Testing', true)`) - require.NoError(t, err) - - // Associate artists with albums and tracks - err = store.Exec(context.Background(), - `INSERT INTO artist_releases (artist_id, release_id) - VALUES (1, 1)`) - require.NoError(t, err) - - err = store.Exec(context.Background(), - `INSERT INTO artist_tracks (artist_id, track_id) - VALUES (1, 1), (2, 2)`) - require.NoError(t, err) - - // Insert listens - err = store.Exec(context.Background(), - `INSERT INTO listens (user_id, track_id, listened_at) - VALUES (1, 1, NOW() - INTERVAL '1 day'), - (1, 2, NOW() - INTERVAL '2 days')`) - require.NoError(t, err) - - ctx := context.Background() - err = store.MergeTracks(ctx, 1, 2) - require.NoError(t, err) - - exists, err := store.RowExists(ctx, ` - SELECT EXISTS ( - SELECT 1 FROM artists - WHERE id = $1 - )`, 1) - require.NoError(t, err) - assert.True(t, exists, "expected artist associated with release to still exist") - - exists, err = store.RowExists(ctx, ` - SELECT EXISTS ( - SELECT 1 FROM releases - WHERE id = $1 - )`, 1) - require.NoError(t, err) - assert.True(t, exists, "expected release to still exist") -}