public async Task Then_The_Service_Is_Called_And_The_Data_Returned( GetCoursesQuery request, TrainingCourses courseResponse, [Frozen] Mock <ICourseService> mockService, GetCoursesQueryHandler handler) { //Arrange request.Keyword = null; request.RouteIds = null; request.Levels = null; request.ShortlistUserId = null; mockService.Setup(x => x.GetCourses(null, null, null, OrderBy.None, null)).ReturnsAsync(courseResponse); //Act var actual = await handler.Handle(request, CancellationToken.None); //Assert mockService.Verify(x => x.GetCourses(null, null, null, OrderBy.None, null), Times.Once); Assert.IsNotNull(actual); actual.Courses.Should().BeEquivalentTo(courseResponse.Courses); actual.Sectors.Should().BeEquivalentTo(courseResponse.Sectors); actual.TotalFiltered.Should().Be(courseResponse.TotalFiltered); actual.Total.Should().Be(courseResponse.Total); actual.ShortlistItemCount.Should().Be(courseResponse.ShortlistItemCount); }
public async Task Then_Gets_Courses_And_Demands_From_Mediator( int ukprn, int courseId, string location, int locationRadius, List <string> routes, GetAggregatedCourseDemandListResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] DemandController controller) { mockMediator .Setup(mediator => mediator.Send( It.Is <GetAggregatedCourseDemandListQuery>(query => query.Ukprn == ukprn && query.CourseId == courseId && query.LocationName == location && query.LocationRadius == locationRadius), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var controllerResult = await controller.GetAggregatedCourseDemandList(ukprn, courseId, location, locationRadius, routes) as ObjectResult; controllerResult !.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as GetAggregatedCourseDemandListResponse; model !.TrainingCourses.Should().BeEquivalentTo(mediatorResult.Courses.Select(item => (GetCourseListItem)item)); model !.AggregatedCourseDemands.Should().BeEquivalentTo(mediatorResult.AggregatedCourseDemands.Select(response => (GetAggregatedCourseDemandSummary)response)); model !.Total.Should().Be(mediatorResult.Total); model !.TotalFiltered.Should().Be(mediatorResult.TotalFiltered); model !.Location.Should().BeEquivalentTo((GetLocationSearchResponseItem)mediatorResult.LocationItem); model !.Routes.Should().BeEquivalentTo(mediatorResult.Routes); }
public async Task Then_Keywords_And_Levels_And_Sectors_Are_Passed_To_The_Service( GetCoursesQuery request, TrainingCourses courseResponse, [Frozen] Mock <ICourseService> mockService, GetCoursesQueryHandler handler) { //Arrange mockService.Setup(x => x.GetCourses(request.Keyword, request.RouteIds, request.Levels, OrderBy.None, request.ShortlistUserId)).ReturnsAsync(courseResponse); //Act var actual = await handler.Handle(request, CancellationToken.None); //Assert mockService.Verify(x => x.GetCourses(request.Keyword, request.RouteIds, request.Levels, OrderBy.None, request.ShortlistUserId), Times.Once); Assert.IsNotNull(actual); }