示例#1
0
        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);
        }
示例#2
0
        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);
        }