public PaginatedData <CourseApi> Get(int page = 0, int pageSize = 20) { var totalCourses = new GetTotalCoursesUseCase(_unitOfWork).Execute(); var courses = new GetCoursesUseCase(page, pageSize, _unitOfWork).Execute(); return(PaginatedData <CourseApi> .Create(totalCourses, page, pageSize, CourseApi.FromDomain(courses))); }
public void Should_get_courses() { var author = Author.Create("Marcos Harbs", "http://marcos.harbs.com/imagem.jpeg"); var coursesList = new List <Course>(); coursesList.Add(Course.Create("Curso 01", "Uma descrição que passe para o curso 01", author)); coursesList.Add(Course.Create("Curso 02", "Uma descrição que passe para o curso 02", author)); coursesList.Add(Course.Create("Curso 03", "Uma descrição que passe para o curso 03", author)); var mockCoursesRepository = new Mock <ICourseRepository>(); mockCoursesRepository.Setup(mock => mock.GetPartial(0, 20)).Returns(coursesList); var mockUnitOfWork = new Mock <LibraryUnitOfWork>(); mockUnitOfWork.Setup(mock => mock.GetCourseRepository()).Returns(mockCoursesRepository.Object); var useCase = new GetCoursesUseCase(0, 20, mockUnitOfWork.Object); var courses = useCase.Execute(); mockCoursesRepository.Verify(mock => mock.GetPartial(0, 20), Times.Exactly(1)); courses.Should().BeEquivalentTo(coursesList); }