public async ValueTask <PagedList <Subject> > GetSubjectsAsync(SubjectParameters subjectParameters) { var subjects = await _repository.Subject.GetSubjectsAsync(subjectParameters); var subjectList = PagedList <Subject> .ToPagedList(subjects.AsQueryable(), subjectParameters.PageNumber, subjectParameters.PageSize); return(subjectList); }
public async Task <IActionResult> GetSubjects([FromQuery] SubjectParameters subjectParameters) { var subjects = await _service.GetSubjectsAsync(subjectParameters); var subjectsResult = new { subjects.TotalCount, subjects.PageSize, subjects.CurrentPage, subjects.TotalPages, subjects }; return(Ok(subjectsResult)); }
public async Task GetSubjectsAsync_ShouldReturnPagedListSubjects() { //Arrange var parameters = new SubjectParameters() { PageNumber = 0, PageSize = 10 }; var pagedSubjectsMock = PagedList <Subject> .ToPagedList(_SubjectList.AsQueryable(), 0, 10); repoWrapperMock.Setup(p => p.Subject.GetSubjectsAsync(parameters)) .ReturnsAsync(pagedSubjectsMock); //Act var pagedListSubject = await SubjectService.GetSubjectsAsync(parameters); //Assert Assert.Equal(pagedSubjectsMock.TotalCount, pagedListSubject.TotalCount); Assert.Equal(pagedSubjectsMock.TotalPages, pagedListSubject.TotalPages); Assert.Equal(pagedSubjectsMock.CurrentPage, pagedListSubject.CurrentPage); Assert.Equal(pagedSubjectsMock.PageSize, pagedListSubject.PageSize); Assert.Equal(pagedSubjectsMock.Count, pagedListSubject.Count); }