New: Update DB to store all releases for an album (#517)

* New: Store all releases for an album and track artists

* Add Overview, links and release date by release

* Tidy up

* Fix metadata refresh errors following musicbrainz edits
This commit is contained in:
ta264
2018-12-15 00:02:43 +00:00
committed by Qstick
parent 24bdb5a891
commit c392569a63
136 changed files with 2305 additions and 1120 deletions
@@ -33,18 +33,19 @@ namespace NzbDrone.Core.Test.ParserTests.ParsingServiceTests
_fakeAlbum = Builder<Album>
.CreateNew()
.With(e => e.ArtistId = _fakeArtist.Id)
.With(e => e.Releases = new List<AlbumRelease>
.With(e => e.AlbumReleases = new List<AlbumRelease>
{
new AlbumRelease
{
Id = "5ecd552b-e54b-4c37-b62c-9d6234834bad"
ForeignReleaseId = "5ecd552b-e54b-4c37-b62c-9d6234834bad",
Monitored = true
}
})
.Build();
_fakeTrack = Builder<Track>
.CreateNew()
.With(e => e.ArtistId = _fakeArtist.Id)
.With(e => e.Artist = _fakeArtist)
.With(e => e.AlbumId = _fakeAlbum.Id)
.With(e => e.Album = null)
.Build();
@@ -61,7 +62,7 @@ namespace NzbDrone.Core.Test.ParserTests.ParsingServiceTests
.Returns(_fakeAlbum);
Mocker.GetMock<IAlbumService>()
.Setup(s => s.FindAlbumByRelease(_fakeAlbum.Releases.First().Id))
.Setup(s => s.FindAlbumByRelease(_fakeAlbum.AlbumReleases.Value.First().ForeignReleaseId))
.Returns(_fakeAlbum);
Mocker.GetMock<ITrackService>()
@@ -78,7 +79,7 @@ namespace NzbDrone.Core.Test.ParserTests.ParsingServiceTests
private void HasReleaseMbIdNoTitle()
{
_parsedTrackInfo.AlbumTitle = "";
_parsedTrackInfo.ReleaseMBId = _fakeAlbum.Releases.First().Id;
_parsedTrackInfo.ReleaseMBId = _fakeAlbum.AlbumReleases.Value.First().ForeignReleaseId;
}
private void HasNoReleaseIdOrTitle()