Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }