public async Task saving_subcontractor_declaration_saves_evaluation_result() { var applicationId = Guid.NewGuid(); var pageId = GatewayPageIds.SubcontractorDeclaration; var vm = new SubcontractorDeclarationViewModel { 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>() }); await _controller.EvaluateSubcontractorDeclarationPage(command); ApplyApiClient.Verify(x => x.SubmitGatewayPageAnswer(applicationId, pageId, vm.Status, UserId, Username, vm.OptionPassText, null)); }
public async Task saving_subcontractor_declaration_without_required_fields_does_not_save() { var applicationId = Guid.NewGuid(); var pageId = GatewayPageIds.SubcontractorDeclaration; var vm = new SubcontractorDeclarationViewModel { Status = SectionReviewStatus.Fail, SourcesCheckedOn = DateTime.Now, ErrorMessages = new List <ValidationErrorDetail>(), ApplicationId = applicationId, PageId = pageId }; 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.GetSubcontractorDeclarationViewModel(It.Is <GetSubcontractorDeclarationRequest>(y => y.ApplicationId == vm.ApplicationId && y.UserName == Username))).ReturnsAsync(vm); await _controller.EvaluateSubcontractorDeclarationPage(command); ApplyApiClient.Verify(x => x.SubmitGatewayPageAnswer(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never); }
private static void HydrateSucontractorDeclarationViewModelFromCommand(SubmitGatewayPageAnswerCommand command, SubcontractorDeclarationViewModel viewModel) { viewModel.ClarificationAnswer = command.ClarificationAnswer; viewModel.ClarificationFile = command.ClarificationFile; viewModel.OptionClarificationText = command.OptionClarificationText; viewModel.OptionPassText = command.OptionPassText; viewModel.OptionFailText = command.OptionFailText; viewModel.OptionInProgressText = command.OptionInProgressText; viewModel.Status = command.Status; }
public async Task subcontractor_declaration_is_returned() { var applicationId = Guid.NewGuid(); var expectedViewModel = new SubcontractorDeclarationViewModel(); _orchestrator .Setup(x => x.GetSubcontractorDeclarationViewModel( It.Is <GetSubcontractorDeclarationRequest>(y => y.ApplicationId == applicationId && y.UserName == Username))).ReturnsAsync(expectedViewModel); var result = await _controller.SubcontractorDeclaration(applicationId); Assert.AreSame(expectedViewModel, result.Model); }
public async Task <SubcontractorDeclarationViewModel> GetSubcontractorDeclarationViewModel(GetSubcontractorDeclarationRequest request) { _logger.LogInformation($"Retrieving subcontractor declaration details for application {request.ApplicationId}"); var model = new SubcontractorDeclarationViewModel(); await model.PopulatePageCommonDetails(_applyApiClient, request.ApplicationId, GatewaySequences.ExperienceAndAccreditationChecks, GatewayPageIds.SubcontractorDeclaration, request.UserId, request.UserName, RoatpGatewayConstants.Captions.ExperienceAndAccreditation, RoatpGatewayConstants.Headings.SubcontractorDeclaration, NoSelectionErrorMessages.Errors[GatewayPageIds.SubcontractorDeclaration]); var subcontractorDeclaration = await _experienceAndAccreditationApiClient.GetSubcontractorDeclaration(request.ApplicationId); var commonDetails = await _applyApiClient.GetPageCommonDetails(request.ApplicationId, GatewayPageIds.SubcontractorDeclaration, request.UserId, request.UserName); model.ClarificationFile = commonDetails.GatewaySubcontractorDeclarationClarificationUpload; model.HasDeliveredTrainingAsSubcontractor = subcontractorDeclaration.HasDeliveredTrainingAsSubcontractor; model.ContractFileName = subcontractorDeclaration.ContractFileName; return(model); }