public async Task GetArtistWorksAsync_ReturnsArtistSongs_IsValidArtistId()
        {
            var artistId = "1234";
            var testData = Task.Factory.StartNew(() => { return(WorksResponseTestData.ThreeWorksResponse()); });

            _musicInfoClientMock.Setup(musicInfoApiClient => musicInfoApiClient.GetWorksAsync(artistId, It.IsAny <int>(), It.IsAny <int>())).Returns(testData);

            var results = await _sut.GetArtistWorksAsync(artistId);

            results.Works.Count.Should().Be(2);
            results.Works[0].Title.Should().Be("SongOne");
            results.Works[1].Title.Should().Be("SongTwo");
        }
        public async Task GetAllSongLyricsAsync_ReturnsLyrics_ValidArtistNameAndSongs()
        {
            var artistName    = "artistName";
            var worksResponse = WorksResponseTestData.FourSongsResponse();
            var testData      = Task.Factory.StartNew(() => { return(LyricsResponseTestData.ResponseWithLyrics()); });

            _lyricsApiClientMock.Setup(lyricsApiClient => lyricsApiClient.GetLyricsAsync(artistName, It.IsAny <string>())).Returns(testData);

            var results = await _sut.GetAllSongLyricsAsync(artistName, worksResponse.Works);

            var resultList = results.ToList();

            resultList.Should().HaveCount(4);
            resultList[0].Title.Should().Be("SongOne");
            resultList[1].Title.Should().Be("SongTwo");
            resultList[2].Title.Should().Be("SongThree");
            resultList[3].Title.Should().Be("SongFour");
            resultList.ForEach(s => s.Lyrics.Should().Be("Some Lyrics"));
        }