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));
        }
Exemplo n.º 3
0
        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);
        }