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 ClarificationSector { PageId = "1", Title = "page 1 title", Status = "Pass" }); _chosenSectors.Add(new ClarificationSector { 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 ClarificationPage { Caption = _clarificationPageCaption }; _applicationApiClient.Setup(x => x.GetApplication(_applicationId)).ReturnsAsync(application); _clarificationApiClient.Setup(x => x.GetClarificationPage(_applicationId, sequenceNumber, sectionNumber, pageId)) .ReturnsAsync(assessorPage); _clarificationApiClient.Setup(x => x.GetClarificationSectors(_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 = _clarificationPageCaption, Heading = SectionIds.DeliveringApprenticeshipTraining.YourSectorsAndEmployeesHeading }; Assert.AreEqual(JsonConvert.SerializeObject(actualViewModel), JsonConvert.SerializeObject(expectedViewModel)); }
public void SetUp() { var logger = new Mock <ILogger <Web.Services.ClarificationSectionReviewOrchestrator> >(); _applyApiClient = new Mock <IRoatpApplicationApiClient>(); _clarificationApiClient = new Mock <IRoatpClarificationApiClient>(); var supplementaryInformationService = new Mock <ISupplementaryInformationService>(); _orchestrator = new Web.Services.ClarificationSectionReviewOrchestrator(logger.Object, _applyApiClient.Object, _clarificationApiClient.Object, supplementaryInformationService.Object); _userId = _user.UserId(); _userName = _user.UserDisplayName(); _application = new Apply { ApplicationId = _applicationId, ApplyData = new ApplyData { ApplyDetails = new ApplyDetails { } }, Assessor1UserId = _userId }; _contact = new Contact { Email = _userId, GivenNames = _user.GivenName(), FamilyName = _user.Surname() }; _clarificationPage = new ClarificationPage { ApplicationId = _applicationId, SequenceNumber = _sequenceNumber, SectionNumber = _sectionNumber, PageId = _pageId, Questions = new List <Question> { new Question { QuestionId = "Q1" } }, Answers = new List <Answer> { new Answer { QuestionId = "Q1", Value = "value" } } }; _pageReviewOutcome = new ClarificationPageReviewOutcome { ApplicationId = _applicationId, SequenceNumber = _sequenceNumber, SectionNumber = _sectionNumber, PageId = _pageId, UserId = _userId, UserName = _userName, Status = ClarificationPageReviewStatus.Pass, ModeratorUserId = _userId, ModeratorUserName = _userName, ModeratorReviewStatus = ApplyTypes.Moderator.ModeratorPageReviewStatus.Fail, ModeratorReviewComment = "Not Good", ClarificationResponse = "Response", ClarificationFile = null }; _applyApiClient.Setup(x => x.GetApplication(_applicationId)).ReturnsAsync(_application); _applyApiClient.Setup(x => x.GetContactForApplication(_applicationId)).ReturnsAsync(_contact); _clarificationApiClient.Setup(x => x.GetClarificationPage(_applicationId, _sequenceNumber, _sectionNumber, _pageId)) .ReturnsAsync(_clarificationPage); _clarificationApiClient.Setup(x => x.GetClarificationPageReviewOutcomesForSection(_applicationId, _sequenceNumber, _sectionNumber, _userId)) .ReturnsAsync(new List <ClarificationPageReviewOutcome> { _pageReviewOutcome }); _clarificationApiClient.Setup(x => x.GetClarificationPageReviewOutcome(_applicationId, _sequenceNumber, _sectionNumber, _pageId, _userId)) .ReturnsAsync(_pageReviewOutcome); }