public async Task Then_Gets_Training_Courses_From_Mediator_With_Keyword_And_RouteIds_And_Levels_And_OrderBy_If_Supplied( string keyword, List <int> levels, List <Guid> routeIds, GetTrainingCoursesListResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] TrainingCoursesController controller) { mockMediator .Setup(mediator => mediator.Send( It.Is <GetTrainingCoursesListQuery>(c => c.Keyword.Equals(keyword) && c.RouteIds.Equals(routeIds) && c.Levels.Equals(levels) && c.OrderBy.Equals(OrderBy.Score)), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var controllerResult = await controller.GetList(keyword, routeIds, levels, "Relevance") as ObjectResult; controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as GetTrainingCoursesListResponse; model.TrainingCourses.Should().BeEquivalentTo(mediatorResult.Courses, options => options .Excluding(tc => tc.ApprenticeshipFunding) .Excluding(tc => tc.StandardDates) ); model.Total.Should().Be(mediatorResult.Total); model.TotalFiltered.Should().Be(mediatorResult.TotalFiltered); }
public async Task And_Exception_Then_Returns_Bad_Request( [Frozen] Mock <IMediator> mockMediator, [Greedy] TrainingCoursesController controller) { mockMediator .Setup(mediator => mediator.Send( It.IsAny <GetTrainingCoursesListQuery>(), It.IsAny <CancellationToken>())) .Throws <InvalidOperationException>(); var controllerResult = await controller.GetList() as StatusCodeResult; controllerResult.StatusCode.Should().Be((int)HttpStatusCode.BadRequest); }
public async Task Then_Gets_Training_Courses_From_Mediator( GetTrainingCoursesExportResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] TrainingCoursesController controller) { mockMediator .Setup(mediator => mediator.Send( It.IsAny <GetTrainingCoursesExportQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var controllerResult = await controller.GetList() as ObjectResult; Assert.IsNotNull(controllerResult); controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as GetCourseExportListResponse; Assert.IsNotNull(model); model.Courses.Should().BeEquivalentTo(mediatorResult.TrainingCourses.ToList()); }
public async Task Then_Gets_Training_Courses_From_Mediator( int standardCode, GetTrainingCoursesResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] TrainingCoursesController controller) { mockMediator .Setup(mediator => mediator.Send( It.IsAny <GetTrainingCoursesQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var controllerResult = await controller.GetList() as ObjectResult; Assert.IsNotNull(controllerResult); controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as GetTrainingCoursesListResponse; Assert.IsNotNull(model); model.Standards.Should().BeEquivalentTo(mediatorResult.Courses.Select(course => (GetTrainingCoursesListItem)course)); model.Standards.All(m => m.Id > 0).Should().BeTrue(); }
public async Task Then_Gets_Training_Courses_And_Sectors_And_Levels_From_Mediator_And_Shortlist_Count( Guid?shortlistUserId, GetTrainingCoursesListResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] TrainingCoursesController controller) { mockMediator .Setup(mediator => mediator.Send( It.Is <GetTrainingCoursesListQuery>(c => c.ShortlistUserId.Equals(shortlistUserId)), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var controllerResult = await controller.GetList(shortlistUserId : shortlistUserId) as ObjectResult; controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as GetTrainingCoursesListResponse; model.TrainingCourses.Should().BeEquivalentTo(mediatorResult.Courses.Select(item => (GetTrainingCourseListItem)item)); model.Sectors.Should().BeEquivalentTo(mediatorResult.Sectors, options => options.Excluding(c => c.Name)); model.Levels.Should().BeEquivalentTo(mediatorResult.Levels); model.ShortlistItemCount.Should().Be(mediatorResult.ShortlistItemCount); }
public async Task Then_Gets_Training_Courses_And_Sectors_And_Levels_From_Mediator( GetTrainingCoursesListResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] TrainingCoursesController controller) { mockMediator .Setup(mediator => mediator.Send( It.IsAny <GetTrainingCoursesListQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var controllerResult = await controller.GetList() as ObjectResult; controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as GetTrainingCoursesListResponse; model.TrainingCourses.Should().BeEquivalentTo(mediatorResult.Courses, options => options .Excluding(tc => tc.ApprenticeshipFunding) .Excluding(tc => tc.StandardDates) ); model.Sectors.Should().BeEquivalentTo(mediatorResult.Sectors); model.Levels.Should().BeEquivalentTo(mediatorResult.Levels); }