private async Task SetPageReviewOutcome(GetReviewAnswersRequest request, ModeratorReviewAnswersViewModel viewModel) { // TODO: To think about... could we move this into Apply Service? It's really part of getting the moderator page back from the service var pageReviewOutcome = await _moderationApiClient.GetModeratorPageReviewOutcome(request.ApplicationId, request.SequenceNumber, request.SectionNumber, viewModel.PageId, request.UserId); if (pageReviewOutcome != null) { viewModel.Status = pageReviewOutcome.Status; switch (pageReviewOutcome.Status) { case ModeratorPageReviewStatus.Pass: viewModel.OptionPassText = pageReviewOutcome.Comment; break; case ModeratorPageReviewStatus.Fail: viewModel.OptionFailText = pageReviewOutcome.Comment; break; case ModeratorPageReviewStatus.InProgress: viewModel.OptionInProgressText = pageReviewOutcome.Comment; break; default: break; } } }
public async Task GetReviewAnswersViewModel_returns_ViewModel() { _request = new GetReviewAnswersRequest(_applicationId, _userId, _sequenceNumber, _sectionNumber, _pageId, null); var result = await _orchestrator.GetReviewAnswersViewModel(_request); Assert.That(result, Is.Not.Null); Assert.That(result.ApplicationId, Is.EqualTo(_clarificationPage.ApplicationId)); Assert.That(result.SequenceNumber, Is.EqualTo(_clarificationPage.SequenceNumber)); Assert.That(result.SectionNumber, Is.EqualTo(_clarificationPage.SectionNumber)); Assert.That(result.PageId, Is.EqualTo(_clarificationPage.PageId)); Assert.That(result.Status, Is.EqualTo(_pageReviewOutcome.Status)); Assert.That(result.ClarificationResponse, Is.EqualTo(_pageReviewOutcome.ClarificationResponse)); Assert.That(result.ClarificationFile, Is.EqualTo(_pageReviewOutcome.ClarificationFile)); Assert.That(result.ModerationOutcome.ModeratorUserId, Is.EqualTo(_pageReviewOutcome.ModeratorUserId)); Assert.That(result.ModerationOutcome.ModeratorUserName, Is.EqualTo(_pageReviewOutcome.ModeratorUserName)); Assert.That(result.ModerationOutcome.ModeratorReviewStatus, Is.EqualTo(_pageReviewOutcome.ModeratorReviewStatus)); Assert.That(result.ModerationOutcome.ModeratorReviewComment, Is.EqualTo(_pageReviewOutcome.ModeratorReviewComment)); Assert.That(result.BlindAssessmentOutcome.Assessor1Name, Is.EqualTo(_blindAssessmentOutcome.Assessor1Name)); Assert.That(result.BlindAssessmentOutcome.Assessor1UserId, Is.EqualTo(_blindAssessmentOutcome.Assessor1UserId)); Assert.That(result.BlindAssessmentOutcome.Assessor1ReviewStatus, Is.EqualTo(_blindAssessmentOutcome.Assessor1ReviewStatus)); Assert.That(result.BlindAssessmentOutcome.Assessor1ReviewComment, Is.EqualTo(_blindAssessmentOutcome.Assessor1ReviewComment)); Assert.That(result.BlindAssessmentOutcome.Assessor2Name, Is.EqualTo(_blindAssessmentOutcome.Assessor2Name)); Assert.That(result.BlindAssessmentOutcome.Assessor2UserId, Is.EqualTo(_blindAssessmentOutcome.Assessor2UserId)); Assert.That(result.BlindAssessmentOutcome.Assessor2ReviewStatus, Is.EqualTo(_blindAssessmentOutcome.Assessor2ReviewStatus)); Assert.That(result.BlindAssessmentOutcome.Assessor2ReviewComment, Is.EqualTo(_blindAssessmentOutcome.Assessor2ReviewComment)); CollectionAssert.IsNotEmpty(result.Questions); CollectionAssert.IsNotEmpty(result.Answers); }
private async Task SetPageReviewOutcome(GetReviewAnswersRequest request, OutcomeReviewAnswersViewModel viewModel) { // TODO: To think about... could we move this into Apply Service? It's really part of getting the page back from the service var pageReviewOutcome = await _clarificationApiClient.GetClarificationPageReviewOutcome(request.ApplicationId, request.SequenceNumber, request.SectionNumber, viewModel.PageId, request.UserId); if (pageReviewOutcome != null) { viewModel.Status = pageReviewOutcome.Status; switch (pageReviewOutcome.Status) { case ClarificationPageReviewStatus.Pass: viewModel.OptionPassText = pageReviewOutcome.Comment; break; case ClarificationPageReviewStatus.Fail: viewModel.OptionFailText = pageReviewOutcome.Comment; break; case ClarificationPageReviewStatus.InProgress: viewModel.OptionInProgressText = pageReviewOutcome.Comment; break; default: break; } viewModel.ModerationOutcome = new ModerationOutcome { ApplicationId = pageReviewOutcome.ApplicationId, SequenceNumber = pageReviewOutcome.SequenceNumber, SectionNumber = pageReviewOutcome.SectionNumber, PageId = pageReviewOutcome.PageId, ModeratorUserId = pageReviewOutcome.ModeratorUserId, ModeratorUserName = pageReviewOutcome.ModeratorUserName, ModeratorReviewStatus = pageReviewOutcome.ModeratorReviewStatus, ModeratorReviewComment = pageReviewOutcome.ModeratorReviewComment }; viewModel.ClarificationOutcome = new ApplyTypes.Outcome.ClarificationOutcome { ApplicationId = pageReviewOutcome.ApplicationId, SequenceNumber = pageReviewOutcome.SequenceNumber, SectionNumber = pageReviewOutcome.SectionNumber, PageId = pageReviewOutcome.PageId, ClarifierUserId = pageReviewOutcome.UserId, ClarifierUserName = pageReviewOutcome.UserName, ClarificationReviewStatus = pageReviewOutcome.Status, ClarificationReviewComment = pageReviewOutcome.Comment, ClarificationResponse = pageReviewOutcome.ClarificationResponse, ClarificationFiles = string.IsNullOrEmpty(pageReviewOutcome.ClarificationFile) ? null : new List <string> { pageReviewOutcome.ClarificationFile } }; viewModel.ClarificationResponse = pageReviewOutcome.ClarificationResponse; viewModel.ClarificationFile = pageReviewOutcome.ClarificationFile; } }
public async Task GetReviewAnswersViewModel_returns_ViewModel() { _request = new GetReviewAnswersRequest(_applicationId, _userId, _sequenceNumber, _sectionNumber, _pageId, null); var result = await _orchestrator.GetReviewAnswersViewModel(_request); Assert.That(result, Is.Not.Null); Assert.That(result.ApplicationId, Is.EqualTo(_assessorPage.ApplicationId)); Assert.That(result.SequenceNumber, Is.EqualTo(_assessorPage.SequenceNumber)); Assert.That(result.SectionNumber, Is.EqualTo(_assessorPage.SectionNumber)); Assert.That(result.PageId, Is.EqualTo(_assessorPage.PageId)); Assert.That(result.Status, Is.EqualTo(_pageReviewOutcome.Status)); CollectionAssert.IsNotEmpty(result.Questions); CollectionAssert.IsNotEmpty(result.Answers); }
public async Task <OutcomeReviewAnswersViewModel> GetReviewAnswersViewModel(GetReviewAnswersRequest request) { var application = await _applicationApiClient.GetApplication(request.ApplicationId); var contact = await _applicationApiClient.GetContactForApplication(request.ApplicationId); var clarificationPage = await _clarificationApiClient.GetClarificationPage(request.ApplicationId, request.SequenceNumber, request.SectionNumber, request.PageId); if (application is null || contact is null || clarificationPage is null) { return(null); } var viewModel = new OutcomeReviewAnswersViewModel { ApplicationId = application.ApplicationId, Ukprn = application.ApplyData.ApplyDetails.UKPRN, ApplyLegalName = application.ApplyData.ApplyDetails.OrganisationName, ApplicationRoute = application.ApplyData.ApplyDetails.ProviderRouteName, SubmittedDate = application.ApplyData.ApplyDetails.ApplicationSubmittedOn, ApplicantEmailAddress = contact.Email, SequenceNumber = clarificationPage.SequenceNumber, SectionNumber = clarificationPage.SectionNumber, PageId = clarificationPage.PageId, NextPageId = clarificationPage.NextPageId, Caption = clarificationPage.Caption, Heading = clarificationPage.Heading, GuidanceInformation = clarificationPage.GuidanceInformation != null ? new List <string>(clarificationPage.GuidanceInformation) : new List <string>(), Questions = clarificationPage.Questions != null ? new List <Question>(clarificationPage.Questions) : new List <Question>(), Answers = clarificationPage.Answers != null ? new List <Answer>(clarificationPage.Answers) : new List <Answer>(), TabularData = GetTabularDataFromQuestionsAndAnswers(clarificationPage.Questions, clarificationPage.Answers), SupplementaryInformation = await _supplementaryInformationService.GetSupplementaryInformation(application.ApplicationId, clarificationPage.PageId), BlindAssessmentOutcome = await _moderationApiClient.GetBlindAssessmentOutcome(application.ApplicationId, clarificationPage.SequenceNumber, clarificationPage.SectionNumber, clarificationPage.PageId) }; await SetPageReviewOutcome(request, viewModel); return(viewModel); }