public void post_address_clarification_happy_path() { var applicationId = Guid.NewGuid(); var pageId = "Address"; var vm = new AddressCheckViewModel { Status = SectionReviewStatus.Pass, SourcesCheckedOn = DateTime.Now, ErrorMessages = new List <ValidationErrorDetail>(), ClarificationAnswer = ClarificationAnswer }; vm.SourcesCheckedOn = DateTime.Now; var command = new SubmitGatewayPageAnswerCommand(vm); var pageData = JsonConvert.SerializeObject(vm); ApplyApiClient.Setup(x => x.SubmitGatewayPageAnswer(applicationId, pageId, vm.Status, UserId, Username, It.IsAny <string>())); GatewayValidator.Setup(v => v.ValidateClarification(command)).ReturnsAsync(new ValidationResponse { Errors = new List <ValidationErrorDetail>() }); var result = _controller.ClarifyAddressPage(command).Result; ApplyApiClient.Verify(x => x.SubmitGatewayPageAnswerPostClarification(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), ClarificationAnswer), Times.Once); _orchestrator.Verify(x => x.GetAddressViewModel(It.IsAny <GetAddressRequest>()), Times.Never()); }
public void post_address_clarification_path_with_errors() { var applicationId = Guid.NewGuid(); var pageId = "Address"; var vm = new AddressCheckViewModel { Status = SectionReviewStatus.Fail, SourcesCheckedOn = DateTime.Now, ErrorMessages = new List <ValidationErrorDetail>() }; vm.ApplicationId = applicationId; vm.PageId = vm.PageId; vm.SourcesCheckedOn = DateTime.Now; var command = new SubmitGatewayPageAnswerCommand(vm); GatewayValidator.Setup(v => v.ValidateClarification(command)) .ReturnsAsync(new ValidationResponse { Errors = new List <ValidationErrorDetail> { new ValidationErrorDetail { Field = "OptionFail", ErrorMessage = "needs text" } } } ); _orchestrator.Setup(x => x.GetAddressViewModel(It.Is <GetAddressRequest>(y => y.ApplicationId == vm.ApplicationId && y.UserName == Username))).ReturnsAsync(vm); var pageData = JsonConvert.SerializeObject(vm); ApplyApiClient.Setup(x => x.SubmitGatewayPageAnswer(applicationId, pageId, vm.Status, UserId, Username, It.IsAny <string>(), ClarificationAnswer)); var result = _controller.ClarifyAddressPage(command).Result; 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); }
public async Task <AddressCheckViewModel> GetAddressViewModel(GetAddressRequest request) { _logger.LogInformation($"Retrieving address check details for application {request.ApplicationId}"); var model = new AddressCheckViewModel(); await model.PopulatePageCommonDetails(_applyApiClient, request.ApplicationId, GatewaySequences.OrganisationChecks, GatewayPageIds.Address, request.UserId, request.UserName, RoatpGatewayConstants.Captions.OrganisationChecks, RoatpGatewayConstants.Headings.AddressCheck, NoSelectionErrorMessages.Errors[GatewayPageIds.Address]); var organisationAddress = await _applyApiClient.GetOrganisationAddress(request.ApplicationId); if (organisationAddress != null) { var AddressArray = new[] { organisationAddress.Address1, organisationAddress.Address2, organisationAddress.Address3, organisationAddress.Address4, organisationAddress.Town, organisationAddress.PostCode }; model.SubmittedApplicationAddress = string.Join(", ", AddressArray.Where(s => !string.IsNullOrEmpty(s))); } var ukrlpDetails = await _applyApiClient.GetUkrlpDetails(request.ApplicationId); if (ukrlpDetails != null) { var ukrlpAddressLine1 = ukrlpDetails.ContactDetails.FirstOrDefault().ContactAddress.Address1; var ukrlpAddressLine2 = ukrlpDetails.ContactDetails.FirstOrDefault().ContactAddress.Address2; var ukrlpAddressLine3 = ukrlpDetails.ContactDetails.FirstOrDefault().ContactAddress.Address3; var ukrlpAddressLine4 = ukrlpDetails.ContactDetails.FirstOrDefault().ContactAddress.Address4; var ukrlpTown = ukrlpDetails.ContactDetails.FirstOrDefault().ContactAddress.Town; var ukrlpPostCode = ukrlpDetails.ContactDetails.FirstOrDefault().ContactAddress.PostCode; var ukrlpAarray = new[] { ukrlpAddressLine1, ukrlpAddressLine2, ukrlpAddressLine3, ukrlpAddressLine4, ukrlpTown, ukrlpPostCode }; var ukrlpAddress = string.Join(", ", ukrlpAarray.Where(s => !string.IsNullOrEmpty(s))); model.UkrlpAddress = ukrlpAddress; } return(model); }