public async Task ReviewPageAnswers_When_Sectors_Page_Invoked() { var sequenceNumber = SequenceIds.DeliveringApprenticeshipTraining; var sectionNumber = SectionIds.DeliveringApprenticeshipTraining.YourSectorsAndEmployees; var chosenSectors = new List <ClarificationSector> { new ClarificationSector { PageId = "1", Title = "Page 1" }, new ClarificationSector { PageId = "2", Title = "Page 2" } }; var viewModel = new ApplicationSectorsViewModel { ApplicationId = _applicationId, SelectedSectors = chosenSectors }; _sectionReviewOrchestrator.Setup(x => x.GetSectorsViewModel(It.IsAny <GetSectorsRequest>())).ReturnsAsync(viewModel); var result = await _controller.ReviewPageAnswers(_applicationId, sequenceNumber, sectionNumber, null) as ViewResult; var actualViewModel = result?.Model as ApplicationSectorsViewModel; Assert.That(result, Is.Not.Null); Assert.That(actualViewModel, Is.Not.Null); Assert.That(actualViewModel, Is.SameAs(viewModel)); }
public async Task <ApplicationSectorsViewModel> GetSectorsViewModel(GetSectorsRequest request) { var application = await _applicationApiClient.GetApplication(request.ApplicationId); var clarificationPage = await _clarificationApiClient.GetClarificationPage( request.ApplicationId, SequenceIds.DeliveringApprenticeshipTraining, SectionIds.DeliveringApprenticeshipTraining.YourSectorsAndEmployees, RoatpWorkflowPageIds.YourSectorsAndEmployeesStartingPageId); if (application is null || clarificationPage is null) { return(null); } var selectedSectors = await _clarificationApiClient.GetClarificationSectors(request.ApplicationId, request.UserId); var viewModel = new ApplicationSectorsViewModel { ApplicationId = application.ApplicationId, Ukprn = application.ApplyData.ApplyDetails.UKPRN, ApplicantEmailAddress = null, ApplyLegalName = application.ApplyData.ApplyDetails.OrganisationName, ApplicationRoute = application.ApplyData.ApplyDetails.ProviderRouteName, SubmittedDate = application.ApplyData.ApplyDetails.ApplicationSubmittedOn, Caption = clarificationPage.Caption, Heading = SectionIds.DeliveringApprenticeshipTraining.YourSectorsAndEmployeesHeading, SelectedSectors = selectedSectors }; return(viewModel); }
public async Task GetSectorsViewModel_returns_ViewModel() { int sequenceNumber = SequenceIds.DeliveringApprenticeshipTraining; int sectionNumber = SectionIds.DeliveringApprenticeshipTraining.YourSectorsAndEmployees; string pageId = RoatpWorkflowPageIds.YourSectorsAndEmployeesStartingPageId; var userId = _user.UserId(); _chosenSectors.Add(new AssessorSector { PageId = "1", Title = "page 1 title", Status = "Pass" }); _chosenSectors.Add(new AssessorSector { PageId = "2", Title = "page 2 title" }); _ukprn = "1234"; _organisationName = "org name"; _providerRouteName = "Main"; var application = new Apply { ApplicationId = _applicationId, ApplyData = new ApplyData { ApplyDetails = new ApplyDetails { UKPRN = _ukprn, OrganisationName = _organisationName, ProviderRouteName = _providerRouteName, ApplicationSubmittedOn = _applicationSubmittedOn } } }; var assessorPage = new AssessorPage { Caption = _assessorPageCaption }; _applicationApiClient.Setup(x => x.GetApplication(_applicationId)).ReturnsAsync(application); _assessorApiClient.Setup(x => x.GetAssessorPage(_applicationId, sequenceNumber, sectionNumber, pageId)) .ReturnsAsync(assessorPage); _assessorApiClient.Setup(x => x.GetAssessorSectors(_applicationId, userId)) .ReturnsAsync(_chosenSectors); var request = new GetSectorsRequest(_applicationId, userId); var actualViewModel = await _orchestrator.GetSectorsViewModel(request); Assert.That(actualViewModel, Is.Not.Null); var expectedViewModel = new ApplicationSectorsViewModel { ApplyLegalName = _organisationName, Ukprn = _ukprn, SelectedSectors = _chosenSectors, ApplicationId = _applicationId, ApplicationRoute = _providerRouteName, SubmittedDate = _applicationSubmittedOn, Caption = _assessorPageCaption, Heading = SectionIds.DeliveringApprenticeshipTraining.YourSectorsAndEmployeesHeading }; Assert.AreEqual(JsonConvert.SerializeObject(actualViewModel), JsonConvert.SerializeObject(expectedViewModel)); }