public async Task SearchUserAsync_InvalidGenderEnumValue_ShouldThrowValidationException(UserGender gender) { // Given var config = new UserSearchConfig { Gender = gender }; // When var func = _jikan.Awaiting(x => x.SearchUserAsync(config)); // Then await func.Should().ThrowExactlyAsync <JikanValidationException>(); }
public async Task SearchUserAsync_InvalidPage_ShouldThrowValidationException(int page) { // Given var config = new UserSearchConfig { Page = page }; // When var func = _jikan.Awaiting(x => x.SearchUserAsync(config)); // Then await func.Should().ThrowExactlyAsync <JikanValidationException>(); }
public async Task SearchUserAsync_EmptyConfig_ShouldReturnFirst25People() { // Given var config = new UserSearchConfig(); // When var users = await _jikan.SearchUserAsync(config); // Then using var _ = new AssertionScope(); users.Data.Should().HaveCount(20); users.Data.First().Username.Should().Be("ErickGabriel555"); }
public async Task SearchUserAsync_SonMatiQuery_ShouldReturnSonMati() { // Given var config = new UserSearchConfig { Query = "SonMati" }; // When var users = await _jikan.SearchUserAsync(config); // Then users.Data.Should().Contain(x => x.Username.Equals("SonMati") && x.Url.Equals("https://myanimelist.net/profile/SonMati")); }
public async Task SearchUserAsync_ValidGenderEnumValue_ShouldReturnUsers(UserGender gender, string expectedFirstUser) { // Given var config = new UserSearchConfig { Gender = gender }; // When var users = await _jikan.SearchUserAsync(config); // Then using var _ = new AssertionScope(); users.Data.Should().HaveCount(20); users.Data.First().Username.Should().Be(expectedFirstUser); }
public async Task SearchUserAsync_WithMaxAge_ShouldReturnFilteredByMaxAge() { // Given var config = new UserSearchConfig { MaxAge = 20 }; // When var users = await _jikan.SearchUserAsync(config); // Then using var _ = new AssertionScope(); users.Data.Should().HaveCount(20); users.Data.First().Username.Should().Be("KarlaD05"); }
public async Task SearchUserAsync_WithLocation_ShouldReturnFilteredByLocation() { // Given var config = new UserSearchConfig { Location = "mysłowice" }; // When var users = await _jikan.SearchUserAsync(config); // Then using var _ = new AssertionScope(); users.Data.Should().HaveCount(20); users.Data.First().Username.Should().Be("P3gueiA1ds"); }
public async Task SearchUserAsync_GivenSecondPage_ShouldReturnSecondPage() { // Given var config = new UserSearchConfig { Page = 2 }; // When var users = await _jikan.SearchUserAsync(config); // Then using var _ = new AssertionScope(); users.Data.Should().HaveCount(20); users.Data.First().Username.Should().Be("EnricoA128"); users.Data.First().Images.Should().NotBeNull(); }
public SearchClient(UserSearchConfig config) { // EngineOptions = config.SearchEngines; SearchEngines = GetAllEngines() .Where(e => EngineOptions.HasFlag(e.Engine)) .ToArray(); UploadEngine = config.UseImgur ? new ImgurClient() : new ImgOpsEngine(); /* * */ var imageInfo = ResolveUploadUrl(config.ImageInput); ImageInfo = imageInfo ?? throw new SmartImageException("Image invalid or upload failed"); OriginalImageResult = FullSearchResult.GetOriginalImageResult(ImageInfo); /* * */ config.EnsureConfig(); // Results = CreateSearchResults(); // SearchTasks = CreateSearchTasks(); IsComplete = false; // }