32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
using MangaReader.Core.HttpService;
|
||
using MangaReader.Core.WebSearch;
|
||
using MangaReader.Core.WebSearch.NatoManga;
|
||
using MangaReader.Tests.Utilities;
|
||
using NSubstitute;
|
||
using Shouldly;
|
||
|
||
namespace MangaReader.Tests.WebSearch.NatoManga;
|
||
|
||
public class NatoMangaWebSearchTests
|
||
{
|
||
[Fact]
|
||
public async Task Get_Search_Result()
|
||
{
|
||
string resourceName = "MangaReader.Tests.WebSearch.NatoManga.SampleSearchResult.json";
|
||
string searchResultJson = await ResourceHelper.ReadJsonResourceAsync(resourceName);
|
||
|
||
IHttpService httpService = Substitute.For<IHttpService>();
|
||
|
||
httpService.GetStringAsync(Arg.Any<string>())
|
||
.Returns(Task.FromResult(searchResultJson));
|
||
|
||
NatoMangaWebSearch webSearch = new(httpService);
|
||
MangaSearchResult[] searchResult = await webSearch.SearchAsync("Gals Can't Be Kind");
|
||
|
||
searchResult.Length.ShouldBe(2);
|
||
searchResult[0].Title.ShouldBe("Gal Can't Be Kind to Otaku!");
|
||
searchResult[1].Title.ShouldBe("Gal Can’t Be Kind to Otaku!?");
|
||
searchResult[0].Url.ShouldBe("https://www.natomanga.com/manga/gal-can-t-be-kind-to-otaku");
|
||
searchResult[1].Url.ShouldBe("https://www.natomanga.com/manga/gal-cant-be-kind-to-otaku");
|
||
}
|
||
} |