public async Task AugmentModelWithModerationFailDetails(ApplicationSummaryWithModeratorDetailsViewModel model, string userId) { var sequences = await _apiClient.GetClarificationSequences(model.ApplicationId); var passFailDetails = await _apiClient.GetAllClarificationPageReviewOutcomes(model.ApplicationId, userId); var moderationFailedDetails = passFailDetails?.Where(x => x.Status == ModerationStatus.Fail || (x.Status == null && x.ModeratorReviewStatus == ModerationStatus.Fail)).ToList(); if (moderationFailedDetails.Any()) { AddPagesToSequencesFromFailedDetails(sequences, moderationFailedDetails); var sequencesWithModerationFails = new List <AssessorSequence>(); BuildSequencesWithModerationFails(sequences, sequencesWithModerationFails); var allSections = await _qnaApiClient.GetSections(model.ApplicationId); RemoveInactiveOrEmptyPagesSectionsSequencesFromSequences(sequencesWithModerationFails, allSections); AddPageTitlesToSequences(sequencesWithModerationFails); AddAnswersToSequences(sequencesWithModerationFails, allSections); AddQuestionsToSequences(sequencesWithModerationFails, allSections); AddSequenceTitlesToSequences(sequencesWithModerationFails); model.Sequences = sequencesWithModerationFails; model.PagesWithGuidance = GatherGuidancePagesForSequenceQuestions(sequencesWithModerationFails, allSections); model.PagesWithClarifications = GatherClarificationPages(moderationFailedDetails); } }
private ApplicationSummaryWithModeratorDetailsViewModel GetCopyOfModel() { var model = new ApplicationSummaryWithModeratorDetailsViewModel { ApplicationId = _applicationId }; return(model); }
public async Task Applications_shows_unsuccessful_page_if_application_unsuccessful_and_gateway_not_a_fail() { var model = new ApplicationSummaryWithModeratorDetailsViewModel { ApplicationStatus = ApplicationStatus.Unsuccessful, GatewayReviewStatus = GatewayReviewStatus.Pass, ApplicationDeterminedDate = DateTime.Today, AppealRequiredByDate = DateTime.Today.AddDays(10) }; _outcomeService.Setup(x => x.BuildApplicationSummaryViewModel(_applicationId, It.IsAny <string>())).ReturnsAsync(model); _outcomeService.Setup(x => x.BuildApplicationSummaryViewModelWithGatewayAndModerationDetails(_applicationId, It.IsAny <string>())).ReturnsAsync(model); var result = await _controller.ProcessApplicationStatus(_applicationId); var viewResult = result as ViewResult; viewResult.Should().NotBeNull(); viewResult.ViewName.Should().Contain("ApplicationUnsuccessfulPostGateway.cshtml"); }