public async Task SearchClubAsync_GivenSecondPage_ShouldReturnSecondPage() { // Given var config = new ClubSearchConfig { Page = 2 }; // When var characters = await _jikan.SearchClubAsync(config); // Then characters.Data.Should().HaveCount(ParameterConsts.MaximumPageSize); }
public async Task SearchClubAsync_InvalidPageSize_ShouldThrowValidationException(int pageSize) { // Given var config = new ClubSearchConfig { PageSize = pageSize }; // When var func = _jikan.Awaiting(x => x.SearchClubAsync(config)); // Then await func.Should().ThrowExactlyAsync <JikanValidationException>(); }
public async Task SearchClubAsync_EmptyConfig_ShouldReturnFirst25People() { // Given var config = new ClubSearchConfig(); // When var clubs = await _jikan.SearchClubAsync(config); // Then using var _ = new AssertionScope(); clubs.Data.Should().HaveCount(ParameterConsts.MaximumPageSize); clubs.Data.First().Name.Should().Be("Cowboy Bebop"); }
public async Task SearchClubAsync_ValidLetter_ShouldReturnRecordsOnlyStartingOnLetter(char letter) { // Given var config = new ClubSearchConfig { Letter = letter }; // When var people = await _jikan.SearchClubAsync(config); // Then people.Data.Should().OnlyContain(x => x.Name.StartsWith(letter)); }
public async Task SearchClubAsync_InvalidLetter_ShouldThrowValidationException(char notLetter) { // Given var config = new ClubSearchConfig { Letter = notLetter }; // When var func = _jikan.Awaiting(x => x.SearchClubAsync(config)); // Then await func.Should().ThrowExactlyAsync <JikanValidationException>(); }
public async Task SearchClubAsync_GivenValidPageSize_ShouldReturnPageSizeNumberOfRecords() { // Given const int pageSize = 5; var config = new ClubSearchConfig { PageSize = pageSize }; // When var characters = await _jikan.SearchClubAsync(config); // Then using var _ = new AssertionScope(); characters.Data.Should().HaveCount(pageSize); characters.Data.Skip(1).First().Name.Should().Be("Cowboy Bebop"); }
public async Task SearchClubAsync_GivenValidPageAndPageSize_ShouldReturnPageSizeNumberOfRecordsFromNextPage() { // Given const int pageSize = 5; var config = new ClubSearchConfig { PageSize = pageSize, Page = 2 }; // When var characters = await _jikan.SearchClubAsync(config); // Then using var _ = new AssertionScope(); characters.Data.Should().HaveCount(pageSize); characters.Data.First().Name.Should().Be("Anime Cafe"); }