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);
        }
Exemple #2
0
        public void Then_The_Url_Is_Correct()
        {
            //Act
            var actual = new GetSectorsRequest();

            //Assert
            actual.GetUrl.Should().Be("sectors");
        }
        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));
        }
        public async Task <List <AssessorSector> > GetSectors(Guid applicationId, [FromBody] GetSectorsRequest request)
        {
            var sectors = await _sectorService.GetSectorsForClarification(applicationId, request.UserId);

            return(sectors.OrderBy(sec => sec.PageId).ToList());
        }