public async Task OnGetAsync(string sortOrder, string currentFilter, string searchString, bool?onlyUnreturned, int?pageNumber) { // sorting: CurrentSort = sortOrder; SortByTitle = String.IsNullOrEmpty(sortOrder) ? "title_desc" : ""; SortByRentTime = sortOrder == "rent_time_desc" ? "rent_time_asc" : "rent_time_desc"; SortByReturnTime = sortOrder == "return_time_desc" ? "return_time_asc" : "return_time_desc"; SortByReturn = sortOrder == "return_desc" ? "return_asc" : "return_desc"; SortByLastName = sortOrder == "last_name_desc" ? "last_name_asc" : "last_name_desc"; // searching: if (searchString != null) { pageNumber = 1; } else { searchString = currentFilter; } CurrentFilter = searchString; // additional filtering: OnlyUnreturned = onlyUnreturned ?? false; // paging: CurrentPage = pageNumber ?? 1; OnePageOfBorrows = await _borrowService.GetOnePageOfBorrowsAsync(CurrentPage, _globalSettings.PaginationSize, sortOrder, searchString, OnlyUnreturned); }
public async Task GetOnePageOfBorrowsAsync_getsAllWantedBorrowsAndPagingThem() { // Arrange: var service = new BorrowService(Context, _mapper); // Act: var onePageOfBorrowsAll = await service.GetOnePageOfBorrowsAsync(currentPage : 1, howManyItemsPerPage : 2, String.Empty, String.Empty); var onePageOfBorrowsUnreturned = await service.GetOnePageOfBorrowsAsync(currentPage : 1, howManyItemsPerPage : 2, String.Empty, String.Empty, onlyUnreturned : true); // Assert: Assert.True(onePageOfBorrowsAll.HasNextPage == true); Assert.True(onePageOfBorrowsAll.TotalItemCount == await Context.Borrows.CountAsync()); Assert.True(onePageOfBorrowsUnreturned.HasNextPage == false); Assert.True(onePageOfBorrowsUnreturned.TotalItemCount == await Context.Borrows.Where(x => x.Returned == false).CountAsync()); }