public async Task Then_If_The_Cached_Object_Is_Null_Then_Redirect_To_EnterApprenticeshipDetails( int courseId, Guid demandId, GetCachedCreateCourseDemandQueryResult mediatorResult, [Frozen] Mock <IMediator> mediator, [Greedy] RegisterDemandController controller) { //Arrange mediatorResult.CourseDemand = null; mediator.Setup(x => x.Send(It.Is <GetCachedCreateCourseDemandQuery>(c => c.Id.Equals(demandId)) , It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); //Act var actual = await controller.RegisterDemandCompleted(courseId, demandId) as RedirectToRouteResult; //Assert Assert.IsNotNull(actual); actual.RouteName.Should().Be(RouteNames.RegisterDemand); actual.RouteValues.ContainsKey("Id").Should().BeTrue(); actual.RouteValues["Id"].Should().Be(courseId); }
public async Task Then_If_There_Is_A_CreateDemand_Id_Then_It_Is_Passed_To_The_Query( int trainingCourseId, Guid createDemandId, GetCreateCourseDemandQueryResult mediatorResult, [Frozen] Mock <IMediator> mediator, [Greedy] RegisterDemandController controller) { //Arrange mediator.Setup(x => x.Send(It.Is <GetCreateCourseDemandQuery>(c => c.TrainingCourseId.Equals(trainingCourseId) && c.CreateDemandId.Equals(createDemandId)) , It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); //Act var actual = await controller.RegisterDemand(trainingCourseId, createDemandId) as ViewResult; //Assert Assert.IsNotNull(actual); var actualModel = actual.Model as RegisterCourseDemandViewModel; Assert.IsNotNull(actualModel); actualModel.TrainingCourse.Should().BeEquivalentTo(mediatorResult.CourseDemand.Course); }
public async Task Then_Mediator_Is_Called_And_The_ViewModel_Returned_And_FAT_Url_Taken_From_Config( int courseId, Guid demandId, GetCachedCreateCourseDemandQueryResult mediatorResult, [Frozen] Mock <IOptions <Domain.Configuration.EmployerDemand> > config, [Frozen] Mock <IMediator> mediator, [Greedy] RegisterDemandController controller) { //Arrange mediator.Setup(x => x.Send(It.Is <GetCachedCreateCourseDemandQuery>(c => c.Id.Equals(demandId)) , It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); //Act var actual = await controller.RegisterDemandCompleted(courseId, demandId) as ViewResult; //Assert Assert.IsNotNull(actual); var actualModel = actual.Model as CompletedCourseDemandViewModel; Assert.IsNotNull(actualModel); actualModel.TrainingCourse.Should().BeEquivalentTo(mediatorResult.CourseDemand.Course); actualModel.FindApprenticeshipTrainingCourseUrl.Should().Be(config.Object.Value.FindApprenticeshipTrainingUrl + "/courses"); }
public async Task Then_If_The_Number_Of_Apprentices_Is_Not_Known_Then_The_Value_Is_Set_To_Null( RegisterDemandRequest request, CreateCachedCourseDemandCommandResult mediatorResult, [Frozen] Mock <IMediator> mediator, [Greedy] RegisterDemandController controller) { //Arrange request.NumberOfApprenticesKnown = false; mediator.Setup(x => x.Send(It.Is <CreateCachedCourseDemandCommand>(c => c.TrainingCourseId.Equals(request.TrainingCourseId) && c.Location.Equals(request.Location) && c.OrganisationName.Equals(request.OrganisationName) && c.ContactEmailAddress.Equals(request.ContactEmailAddress) && c.NumberOfApprentices == string.Empty && c.Id != Guid.Empty ), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); //Act var actual = await controller.PostRegisterDemand(request) as RedirectToRouteResult; //Assert Assert.IsNotNull(actual); actual.RouteName.Should().Be(RouteNames.ConfirmRegisterDemand); actual.RouteValues["id"].Should().Be(request.TrainingCourseId); actual.RouteValues["createDemandId"].Should().Be(mediatorResult.Id); }
public async Task Then_Mediator_Is_Called_And_Existing_DemandId_Used_If_Updating_Then_Redirected_To_Confirm( RegisterDemandRequest request, CreateCachedCourseDemandCommandResult mediatorResult, [Frozen] Mock <IMediator> mediator, [Greedy] RegisterDemandController controller) { //Arrange request.NumberOfApprenticesKnown = true; mediator.Setup(x => x.Send(It.Is <CreateCachedCourseDemandCommand>(c => c.TrainingCourseId.Equals(request.TrainingCourseId) && c.Location.Equals(request.Location) && c.OrganisationName.Equals(request.OrganisationName) && c.ContactEmailAddress.Equals(request.ContactEmailAddress) && c.NumberOfApprentices.Equals(request.NumberOfApprentices) && c.Id == request.CreateDemandId ) , It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); //Act var actual = await controller.PostRegisterDemand(request) as RedirectToRouteResult; //Assert Assert.IsNotNull(actual); actual.RouteName.Should().Be(RouteNames.ConfirmRegisterDemand); actual.RouteValues["id"].Should().Be(request.TrainingCourseId); actual.RouteValues["createDemandId"].Should().Be(mediatorResult.Id); }
public async Task Then_Mediator_Is_Called_And_Redirected_To_Completed( Guid demandId, int trainingCourseId, [Frozen] Mock <IMediator> mediator, [Greedy] RegisterDemandController controller) { //Act var actual = await controller.PostConfirmRegisterDemand(trainingCourseId, demandId) as RedirectToRouteResult; //Assert mediator.Verify(x => x.Send(It.Is <CreateCourseDemandCommand>(c => c.Id == demandId ) , It.IsAny <CancellationToken>()), Times.Once); Assert.IsNotNull(actual); actual.RouteName.Should().Be(RouteNames.RegisterDemandCompleted); actual.RouteValues["id"].Should().Be(trainingCourseId); actual.RouteValues["createDemandId"].Should().Be(demandId); }
public async Task Then_Mediator_Is_Called_And_The_ViewModel_Returned( int courseId, Guid demandId, GetCachedCreateCourseDemandQueryResult mediatorResult, [Frozen] Mock <IMediator> mediator, [Greedy] RegisterDemandController controller) { //Arrange mediator.Setup(x => x.Send(It.Is <GetCachedCreateCourseDemandQuery>(c => c.Id.Equals(demandId)) , It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); //Act var actual = await controller.ConfirmRegisterDemand(courseId, demandId) as ViewResult; //Assert Assert.IsNotNull(actual); var actualModel = actual.Model as ConfirmCourseDemandViewModel; Assert.IsNotNull(actualModel); actualModel.TrainingCourse.Should().BeEquivalentTo(mediatorResult.CourseDemand.Course); }
public async Task Then_If_There_Is_A_Validation_Exception_The_Register_View_Is_Returned( RegisterDemandRequest request, CreateCachedCourseDemandCommandResult mediatorResult, GetCreateCourseDemandQueryResult result, [Frozen] Mock <IMediator> mediator, [Greedy] RegisterDemandController controller) { //Arrange mediator.Setup(x => x.Send(It.IsAny <CreateCachedCourseDemandCommand>() , It.IsAny <CancellationToken>())) .ThrowsAsync(new ValidationException()); mediator.Setup(x => x.Send(It.Is <GetCreateCourseDemandQuery>(c => c.TrainingCourseId.Equals(request.TrainingCourseId)) , It.IsAny <CancellationToken>())) .ReturnsAsync(result); //Act var actual = await controller.PostRegisterDemand(request) as ViewResult; //Assert Assert.IsNotNull(actual); actual.ViewName.Should().Be("RegisterDemand"); }