feat: store and expose individual track artists

a
This commit is contained in:
sentriz
2023-10-28 18:27:17 +01:00
committed by Senan Kelly
parent 1a45356fa2
commit c1a34dc021
24 changed files with 176 additions and 64 deletions

View File

@@ -562,7 +562,7 @@ func TestCompilationAlbumWithoutAlbumArtist(t *testing.T) {
assert.Equal(t, 5, trackCount)
var artists []*db.Artist
assert.NoError(t, m.DB().Find(&artists).Error)
assert.NoError(t, m.DB().Joins("JOIN album_artists ON album_artists.artist_id=artists.id").Group("artists.id").Find(&artists).Error)
assert.Equal(t, 1, len(artists)) // we only have one album artist
assert.Equal(t, "artist 0", artists[0].Name) // it came from the first track's fallback to artist tag
@@ -656,7 +656,7 @@ func TestMultiArtistSupport(t *testing.T) {
m.ScanAndClean()
var artists []*db.Artist
assert.NoError(t, m.DB().Find(&artists).Error)
assert.NoError(t, m.DB().Joins("JOIN album_artists ON album_artists.artist_id=artists.id").Group("artists.id").Find(&artists).Error)
assert.Len(t, artists, 3) // alan, liz, mercury
var albumArtists []*db.AlbumArtist
@@ -695,7 +695,7 @@ func TestMultiArtistSupport(t *testing.T) {
m.ScanAndClean()
assert.NoError(t, m.DB().Find(&artists).Error)
assert.NoError(t, m.DB().Joins("JOIN album_artists ON album_artists.artist_id=artists.id").Group("artists.id").Find(&artists).Error)
assert.Len(t, artists, 2) // alan, liz
assert.NoError(t, m.DB().Find(&albumArtists).Error)
@@ -745,7 +745,7 @@ func TestMultiArtistPreload(t *testing.T) {
}
var artists []*db.Artist
assert.NoError(t, m.DB().Preload("Albums").Find(&artists).Error)
assert.NoError(t, m.DB().Preload("Albums").Joins("JOIN album_artists ON album_artists.artist_id=artists.id").Group("artists.id").Find(&artists).Error)
assert.Equal(t, 3, len(artists))
for _, artist := range artists {