Skip to content

Commit c89f6b0

Browse files
committed
#24 Added integration tests for not existed lyrics
1 parent cced40f commit c89f6b0

File tree

5 files changed

+100
-0
lines changed

5 files changed

+100
-0
lines changed

Tests/LyricsScraperNET.IntegrationTest/Providers/AZLyrics/AZLyricsProviderTest.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,25 @@ public void SearchLyric_IntegrationDynamicData_Success(LyricsTestData testData)
2929
Assert.Equal(ExternalProviderType.AZLyrics, searchResult.ExternalProviderType);
3030
Assert.Equal(testData.LyricResultData.Replace("\r\n", "\n"), searchResult.LyricText.Replace("\r\n", "\n"));
3131
}
32+
33+
[Theory]
34+
[InlineData("asdfasdfasdfasdf", "asdfasdfasdfasdf")]
35+
public void SearchLyric_NotExistsLyrics_ShouldReturnNoDataFoundStatus(string artist, string song)
36+
{
37+
// Arrange
38+
var lyricsClient = new AZLyricsProvider();
39+
var searchRequest = new ArtistAndSongSearchRequest(artist, song);
40+
41+
// Act
42+
var searchResult = lyricsClient.SearchLyric(searchRequest);
43+
44+
// Assert
45+
Assert.NotNull(searchResult);
46+
Assert.True(searchResult.IsEmpty());
47+
Assert.Equal(ResponseStatusCode.NoDataFound, searchResult.ResponseStatusCode);
48+
Assert.Equal(ExternalProviderType.AZLyrics, searchResult.ExternalProviderType);
49+
Assert.True(string.IsNullOrEmpty(searchResult.ResponseMessage));
50+
Assert.False(searchResult.Instrumental);
51+
}
3252
}
3353
}

Tests/LyricsScraperNET.IntegrationTest/Providers/Genius/GeniusProviderTest.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,25 @@ public void SearchLyric_UnitDynamicData_Instrumental(LyricsTestData testData)
5050
Assert.Equal(ExternalProviderType.Genius, searchResult.ExternalProviderType);
5151
Assert.True(searchResult.Instrumental);
5252
}
53+
54+
[Theory]
55+
[InlineData("asdfasdfasdfasdf", "asdfasdfasdfasdf")]
56+
public void SearchLyric_NotExistsLyrics_ShouldReturnNoDataFoundStatus(string artist, string song)
57+
{
58+
// Arrange
59+
var lyricsClient = new GeniusProvider();
60+
var searchRequest = new ArtistAndSongSearchRequest(artist, song);
61+
62+
// Act
63+
var searchResult = lyricsClient.SearchLyric(searchRequest);
64+
65+
// Assert
66+
Assert.NotNull(searchResult);
67+
Assert.True(searchResult.IsEmpty());
68+
Assert.Equal(ResponseStatusCode.NoDataFound, searchResult.ResponseStatusCode);
69+
Assert.Equal(ExternalProviderType.Genius, searchResult.ExternalProviderType);
70+
Assert.True(string.IsNullOrEmpty(searchResult.ResponseMessage));
71+
Assert.False(searchResult.Instrumental);
72+
}
5373
}
5474
}

Tests/LyricsScraperNET.IntegrationTest/Providers/LyricFind/LyricFindProviderTest.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,25 @@ public void SearchLyric_IntegrationDynamicData_Instrumental(LyricsTestData testD
5050
Assert.Equal(ExternalProviderType.LyricFind, searchResult.ExternalProviderType);
5151
Assert.True(searchResult.Instrumental);
5252
}
53+
54+
[Theory]
55+
[InlineData("asdfasdfasdfasdf", "asdfasdfasdfasdf")]
56+
public void SearchLyric_NotExistsLyrics_ShouldReturnNoDataFoundStatus(string artist, string song)
57+
{
58+
// Arrange
59+
var lyricsClient = new LyricFindProvider();
60+
var searchRequest = new ArtistAndSongSearchRequest(artist, song);
61+
62+
// Act
63+
var searchResult = lyricsClient.SearchLyric(searchRequest);
64+
65+
// Assert
66+
Assert.NotNull(searchResult);
67+
Assert.True(searchResult.IsEmpty());
68+
Assert.Equal(ResponseStatusCode.NoDataFound, searchResult.ResponseStatusCode);
69+
Assert.Equal(ExternalProviderType.LyricFind, searchResult.ExternalProviderType);
70+
Assert.True(string.IsNullOrEmpty(searchResult.ResponseMessage));
71+
Assert.False(searchResult.Instrumental);
72+
}
5373
}
5474
}

Tests/LyricsScraperNET.IntegrationTest/Providers/Musixmatch/MusixmatchProviderTest.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,25 @@ public void SearchLyric_IntegrationDynamicData_Instrumental(LyricsTestData testD
5050
Assert.Equal(ExternalProviderType.Musixmatch, searchResult.ExternalProviderType);
5151
Assert.True(searchResult.Instrumental);
5252
}
53+
54+
[Theory]
55+
[InlineData("asdfasdfasdfasdf", "asdfasdfasdfasdf")]
56+
public void SearchLyric_NotExistsLyrics_ShouldReturnNoDataFoundStatus(string artist, string song)
57+
{
58+
// Arrange
59+
var lyricsClient = new MusixmatchProvider();
60+
var searchRequest = new ArtistAndSongSearchRequest(artist, song);
61+
62+
// Act
63+
var searchResult = lyricsClient.SearchLyric(searchRequest);
64+
65+
// Assert
66+
Assert.NotNull(searchResult);
67+
Assert.True(searchResult.IsEmpty());
68+
Assert.Equal(ResponseStatusCode.NoDataFound, searchResult.ResponseStatusCode);
69+
Assert.Equal(ExternalProviderType.Musixmatch, searchResult.ExternalProviderType);
70+
Assert.True(string.IsNullOrEmpty(searchResult.ResponseMessage));
71+
Assert.False(searchResult.Instrumental);
72+
}
5373
}
5474
}

Tests/LyricsScraperNET.IntegrationTest/Providers/SongLyrics/SongLyricsProviderTest.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,25 @@ public void SearchLyric_IntegrationDynamicData_Instrumental(LyricsTestData testD
5050
Assert.Equal(ExternalProviderType.SongLyrics, searchResult.ExternalProviderType);
5151
Assert.True(searchResult.Instrumental);
5252
}
53+
54+
[Theory]
55+
[InlineData("asdfasdfasdfasdf", "asdfasdfasdfasdf")]
56+
public void SearchLyric_NotExistsLyrics_ShouldReturnNoDataFoundStatus(string artist, string song)
57+
{
58+
// Arrange
59+
var lyricsClient = new SongLyricsProvider();
60+
var searchRequest = new ArtistAndSongSearchRequest(artist, song);
61+
62+
// Act
63+
var searchResult = lyricsClient.SearchLyric(searchRequest);
64+
65+
// Assert
66+
Assert.NotNull(searchResult);
67+
Assert.True(searchResult.IsEmpty());
68+
Assert.Equal(ResponseStatusCode.NoDataFound, searchResult.ResponseStatusCode);
69+
Assert.Equal(ExternalProviderType.SongLyrics, searchResult.ExternalProviderType);
70+
Assert.True(string.IsNullOrEmpty(searchResult.ResponseMessage));
71+
Assert.False(searchResult.Instrumental);
72+
}
5373
}
5474
}

0 commit comments

Comments
 (0)