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