public async Task GetAllItemsAllPageSizesAllCurrPagesCorrectValid() { for (int pageSize = 1; pageSize <= _items.Count; pageSize++) { for (int currentPage = _items.Count; currentPage >= 1; currentPage--) { // Arrange var getPaginatedListDto = new GetPaginatedListDto() { CurrentPage = currentPage, PageSize = pageSize }; //Act var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto); // Assert Assert.True(testModelListDto.TotalPages == (int)Math.Ceiling((_items.Count) / (double)testModelListDto.PageSize)); if (testModelListDto.CurrentPage < testModelListDto.TotalPages) { Assert.True(testModelListDto.Items.Count == testModelListDto.PageSize); } else if (testModelListDto.CurrentPage > testModelListDto.TotalPages) { Assert.True(testModelListDto.Items.Count == 0); } else { Assert.True(testModelListDto.Items.Count == _items.Count - ((testModelListDto.TotalPages - 1) * testModelListDto.PageSize)); } } } }
public async Task GetAllItemsPageSize6CurrPage4CorrectValid() { // Arrange var getPaginatedListDto = new GetPaginatedListDto() { CurrentPage = 4, PageSize = 6 }; //Act var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto); // Assert Assert.True(testModelListDto.TotalPages == 4); Assert.True(testModelListDto.Items.Count == 2); //Check with formula Assert.True(testModelListDto.TotalPages == (int)Math.Ceiling((_items.Count) / (double)testModelListDto.PageSize)); if (testModelListDto.CurrentPage < testModelListDto.TotalPages) { Assert.True(testModelListDto.Items.Count == testModelListDto.PageSize); } else { Assert.True(testModelListDto.Items.Count == _items.Count - ((testModelListDto.TotalPages - 1) * testModelListDto.PageSize)); } Assert.True(testModelListDto.IsFirst == false); Assert.True(testModelListDto.IsLast == true); }
public async Task GetAllItemsPageSize0EmptyListCorrectValid() { // Arrange var getPaginatedListDto = new GetPaginatedListDto() { CurrentPage = 1, PageSize = 0 }; _settings.Value.PageSize = 0; _context.RemoveRange(_items); _context.SaveChanges(); //Act var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto); // Assert Assert.True(testModelListDto.CurrentPage == 1); Assert.True(testModelListDto.PageSize == _settings.Value.PageSize); Assert.True(testModelListDto.TotalItems == 0); Assert.True(testModelListDto.TotalPages == 0); Assert.True(testModelListDto.IsFirst == true); Assert.True(testModelListDto.IsLast == true); }
private async Task <TestModelListDto> GetAllItemsFilteredAsync(GetPaginatedListDto getPaginatedListDto) { var testModels = await PaginatedList <TestModel> .FromIQueryable(GetAllItemsAsync(getPaginatedListDto.Filter), getPaginatedListDto.CurrentPage, getPaginatedListDto.PageSize == 0?_settings.Value.PageSize : getPaginatedListDto.PageSize); var testModelListDto = new TestModelListDto(testModels); return(testModelListDto); }
public void GetPaginatedListDtoValidatorEmptyCorrectIsValid() { // Arrange var getPaginatedListDto = new GetPaginatedListDto { }; //Act var validationResult = new GetPaginatedListDtoValidator().Validate(getPaginatedListDto); // Assert Assert.Empty(validationResult.Errors); }
public async Task GetAllItemsEmptyDtoCorrectValid() { // Arrange var getPaginatedListDto = new GetPaginatedListDto() { }; //Act var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto); // Assert Assert.True(testModelListDto.CurrentPage == 1); Assert.True(testModelListDto.PageSize == _settings.Value.PageSize); Assert.True(testModelListDto.TotalItems == _items.Count); Assert.True(testModelListDto.IsFirst == true); Assert.True(testModelListDto.IsLast == true); }
public async Task GetAllItemsCorrectValid() { // Arrange var getPaginatedListDto = new GetPaginatedListDto() { CurrentPage = 1, PageSize = 10 }; //Act var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto); // Assert Assert.True(testModelListDto.CurrentPage == getPaginatedListDto.CurrentPage); Assert.True(testModelListDto.PageSize == getPaginatedListDto.PageSize); Assert.True(testModelListDto.TotalItems == _items.Count); }
public void GetPaginatedListDtoValidatorIncorrectIsNotValid() { // Arrange var getPaginatedListDto = new GetPaginatedListDto { CurrentPage = -1, PageSize = -2 }; //Act var validationResult = new GetPaginatedListDtoValidator().Validate(getPaginatedListDto); // Assert Assert.True(validationResult.Errors.Count == 2); Assert.True(validationResult.Errors.Count(x => x.PropertyName == "CurrentPage") == 1); Assert.True(validationResult.Errors.Count(x => x.PropertyName == "PageSize") == 1); }
public async Task GetAllItemsFilteredCorrectValid() { // Arrange var getPaginatedListDto = new GetPaginatedListDto() { Filter = "test", CurrentPage = 1, PageSize = 10 }; //Act var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto); // Assert Assert.True(testModelListDto.TotalItems == _testItemsCount); Assert.True(testModelListDto.TotalPages == 1); Assert.True(testModelListDto.IsFirst == true); Assert.True(testModelListDto.IsLast == true); }