public async Task GetClarificationViewModel_returns_null_if_no_application() { _applyApiClient.Setup(x => x.GetApplication(_applicationId)).ReturnsAsync((Apply)null); var request = new GetApplicationClarificationsRequest(_applicationId, UserName); var result = await _orchestrator.GetClarificationViewModel(request); Assert.IsNull(result); }
public async Task GetClarificationViewModel_returns_model() { var applyData = new ApplyData { ApplyDetails = new ApplyDetails { UKPRN = Ukprn, OrganisationName = OrganisationName } }; var returnedRoatpApplicationResponse = new Apply { ApplicationId = _applicationId, ApplyData = applyData, GatewayReviewStatus = GatewayReviewStatus.InProgress }; var contactDetails = new ContactDetails { Email = Email }; _applyApiClient.Setup(x => x.GetApplication(_applicationId)).ReturnsAsync(returnedRoatpApplicationResponse); _applyApiClient.Setup(x => x.GetContactDetails(_applicationId)).ReturnsAsync(contactDetails); const string status = SectionReviewStatus.Clarification; const string comment = "comments go here"; var returnedGatewayPageAnswers = new List <GatewayPageAnswerSummary> { new GatewayPageAnswerSummary { ApplicationId = _applicationId, PageId = GatewayPageIds.OrganisationRisk, Status = status, Comments = comment } }; _applyApiClient.Setup(x => x.GetGatewayPageAnswers(_applicationId)).ReturnsAsync(returnedGatewayPageAnswers); var request = new GetApplicationClarificationsRequest(_applicationId, UserName); var viewModel = await _orchestrator.GetClarificationViewModel(request); Assert.AreEqual(_applicationId, viewModel.ApplicationId); Assert.AreEqual(Email, viewModel.ApplicationEmailAddress); Assert.AreEqual(Ukprn, viewModel.Ukprn); Assert.AreEqual(OrganisationName, viewModel.OrganisationName); Assert.AreEqual(1, viewModel.Sequences.Count); Assert.AreEqual("Organisation checks", viewModel.Sequences[0].SequenceTitle); Assert.AreEqual(1, viewModel.Sequences[0].Sections.Count); Assert.AreEqual("Organisation high risk", viewModel.Sequences[0].Sections[0].PageTitle); Assert.AreEqual(comment, viewModel.Sequences[0].Sections[0].Comment); }
public async Task <RoatpGatewayClarificationsViewModel> GetClarificationViewModel(GetApplicationClarificationsRequest request) { var application = await _applyApiClient.GetApplication(request.ApplicationId); if (application is null) { return(null); } var contact = await _applyApiClient.GetContactDetails(request.ApplicationId); var viewmodel = new RoatpGatewayClarificationsViewModel(application) { ApplicationEmailAddress = contact?.Email }; viewmodel.Sequences = await ConstructClarificationSequences(request.ApplicationId); return(viewmodel); }