public async Task <Album> GetAsync(string thirdPartyId) { var album = await _myCollectionRepo.FindBy3rdPartyIdAsync(thirdPartyId); if (!album.IsUnknown) { return(album); } album = await _thirdPartyMusicService.GetAlbumAsync(thirdPartyId); if (album.IsUnknown) { _logger.LogWarning("Use Case - Get: Unknown Album: thirdPartyId {0}", thirdPartyId); } return(album); }
public async Task ReturnsTheFoundAlbum() { var result = await sut.GetAlbumAsync("3DYB0yIQYuOge2RjS7qHjs"); var expected = new Album { Artists = new List <Artist> { new Artist { ThirdPartyId = "09l3QuYe7ExcyAZYosgVJx", Name = "Jonezetta" } }, ThirdPartyId = "3DYB0yIQYuOge2RjS7qHjs", Images = new List <Image> { new Image { Height = 640, Width = 640, Url = "https://i.scdn.co/image/ab67616d0000b273d50eac8c4023cf2b40413656" }, new Image { Height = 300, Width = 300, Url = "https://i.scdn.co/image/ab67616d00001e02d50eac8c4023cf2b40413656" }, new Image { Height = 64, Width = 64, Url = "https://i.scdn.co/image/ab67616d00004851d50eac8c4023cf2b40413656" } }, Label = "Tooth & Nail (TNN)", Name = "Popularity", ReleaseDate = "2006-01-01", Tracks = new List <Track> { new Track { Name = "Welcome Home", Number = 1 }, new Track { Name = "Get Ready (Hot Machete)", Number = 2 }, new Track { Name = "Communicate", Number = 3 }, new Track { Name = "Man In A 3K Suit", Number = 4 }, new Track { Name = "Backstabber", Number = 5 }, new Track { Name = "Popularity", Number = 6 }, new Track { Name = "The Love That Carries Me", Number = 7 }, new Track { Name = "The City We Live In", Number = 8 }, new Track { Name = "Bringin' It Back Tonight... Everybody Start", Number = 9 }, new Track { Name = "Burn It Down!", Number = 10 }, new Track { Name = "Imagination", Number = 11 } }, Type = "album" }; result.Should().BeEquivalentTo(expected); }