public void SetUp() { _applicationApiClient = new Mock <IRoatpApplicationApiClient>(); _clarificationApiClient = new Mock <IRoatpClarificationApiClient>(); _orchestrator = new Web.Services.ClarificationOutcomeOrchestrator(_applicationApiClient.Object, _clarificationApiClient.Object); _application = new Apply { ApplicationId = _applicationId, ModerationStatus = ModerationStatus.New, Assessor1ReviewStatus = AssessorReviewStatus.Approved, Assessor1UserId = _userId, Assessor1Name = _userDisplayName, Assessor2ReviewStatus = AssessorReviewStatus.Approved, Assessor2UserId = $"{ _userId }-2", Assessor2Name = $"{ _userDisplayName }-2", ApplyData = new ApplyData { ApplyDetails = new ApplyDetails { ProviderRouteName = "Main", UKPRN = "23456789", OrganisationName = "Emporium Glorium", ApplicationSubmittedOn = DateTime.UtcNow } } }; _outcomes = new List <ClarificationPageReviewOutcome>(); _contact = new Contact { Email = "*****@*****.**" }; _request = new GetClarificationOutcomeRequest(_applicationId, _userId); _applicationApiClient.Setup(x => x.GetApplication(_applicationId)).ReturnsAsync(_application); _applicationApiClient.Setup(x => x.GetContactForApplication(_applicationId)).ReturnsAsync(_contact); _clarificationApiClient.Setup(x => x.GetAllClarificationPageReviewOutcomes(_applicationId, _userId)).ReturnsAsync(_outcomes); _expectedOutcomeViewModel = new ClarificationOutcomeViewModel(_application, _outcomes); }
public async Task <ClarificationOutcomeViewModel> GetClarificationOutcomeViewModel(GetClarificationOutcomeRequest request) { var application = await _applicationApiClient.GetApplication(request.ApplicationId); var contact = await _applicationApiClient.GetContactForApplication(request.ApplicationId); var outcomes = await _clarificationApiClient.GetAllClarificationPageReviewOutcomes(request.ApplicationId, request.UserId); if (application is null || contact is null || outcomes is null) { return(null); } var unsetOutcomesCount = outcomes.Count(x => x.Status != ClarificationPageReviewStatus.Pass && x.Status != ClarificationPageReviewStatus.Fail); if (unsetOutcomesCount > 0) { return(null); } return(new ClarificationOutcomeViewModel(application, outcomes)); }