public async Task saving_roatp_without_required_fields_does_not_save() { var applicationId = Guid.NewGuid(); var pageId = GatewayPageIds.Roatp; var vm = new RoatpPageViewModel { ApplicationId = applicationId, PageId = pageId, Status = SectionReviewStatus.Fail, SourcesCheckedOn = DateTime.Now, ErrorMessages = new List <ValidationErrorDetail>(), OptionFailText = null }; var command = new SubmitGatewayPageAnswerCommand(vm); _gatewayValidator.Setup(v => v.Validate(command)) .ReturnsAsync(new ValidationResponse { Errors = new List <ValidationErrorDetail> { new ValidationErrorDetail { Field = "OptionFail", ErrorMessage = "needs text" } } }); _orchestrator.Setup(x => x.GetRoatpViewModel(It.Is <GetRoatpRequest>(y => y.ApplicationId == vm.ApplicationId && y.UserName == username))).ReturnsAsync(vm); var result = await _controller.EvaluateRoatpPage(command); _applyApiClient.Verify(x => x.SubmitGatewayPageAnswer(applicationId, pageId, vm.Status, userId, username, vm.OptionPassText), Times.Never); }
public async Task saving_roatp_happy_path_saves_evaluation_result() { var applicationId = Guid.NewGuid(); var pageId = GatewayPageIds.Roatp; var vm = new RoatpPageViewModel { ApplicationId = applicationId, PageId = pageId, Status = SectionReviewStatus.Pass, SourcesCheckedOn = DateTime.Now, ErrorMessages = new List <ValidationErrorDetail>(), OptionPassText = "Some pass text" }; var command = new SubmitGatewayPageAnswerCommand(vm); _gatewayValidator.Setup(v => v.Validate(command)).ReturnsAsync(new ValidationResponse { Errors = new List <ValidationErrorDetail>() }); var result = await _controller.EvaluateRoatpPage(command); _applyApiClient.Verify(x => x.SubmitGatewayPageAnswer(applicationId, pageId, vm.Status, userId, username, vm.OptionPassText, null), Times.Once); }
public async Task <RoatpPageViewModel> GetRoatpViewModel(GetRoatpRequest request) { var pageId = GatewayPageIds.Roatp; _logger.LogInformation($"Retrieving RoATP details for application {request.ApplicationId}"); var model = new RoatpPageViewModel(); await model.PopulatePageCommonDetails(_applyApiClient, request.ApplicationId, GatewaySequences.RegisterChecks, pageId, request.UserId, request.UserName, RoatpGatewayConstants.Captions.RegisterChecks, RoatpGatewayConstants.Headings.Roatp, NoSelectionErrorMessages.Errors[GatewayPageIds.Roatp]); model.ApplyProviderRoute = await _applyApiClient.GetProviderRouteName(model.ApplicationId); var roatpProviderDetails = await _roatpApiClient.GetOrganisationRegisterStatus(model.Ukprn); if (roatpProviderDetails != null) { model.RoatpUkprnOnRegister = roatpProviderDetails.UkprnOnRegister; model.RoatpStatusDate = roatpProviderDetails.StatusDate; model.RoatpProviderRoute = await GetProviderRoute(roatpProviderDetails.ProviderTypeId); model.RoatpStatus = await GetProviderStatus(roatpProviderDetails.StatusId, roatpProviderDetails.ProviderTypeId); model.RoatpRemovedReason = await GetRemovedReason(roatpProviderDetails.RemovedReasonId); } return(model); }