public void SetUp() { _applicationApiClient = new Mock <IRoatpApplicationApiClient>(); _moderationApiClient = new Mock <IRoatpModerationApiClient>(); _orchestrator = new Web.Services.ModeratorOutcomeOrchestrator(_applicationApiClient.Object, _moderationApiClient.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 = ApplicationRouteName, UKPRN = Ukprn, OrganisationName = OrganisationName, ApplicationSubmittedOn = ApplicationSubmittedOn } } }; _outcomes = new List <ModeratorPageReviewOutcome>(); _contact = new Contact { Email = Email }; _request = new ReviewModeratorOutcomeRequest(_applicationId, _userId, Status, ReviewComment); _applicationApiClient.Setup(x => x.GetApplication(_applicationId)).ReturnsAsync(_application); _applicationApiClient.Setup(x => x.GetContactForApplication(_applicationId)).ReturnsAsync(_contact); _expectedViewModel = new ModeratorOutcomeReviewViewModel { ApplicationId = _applicationId, Status = Status, ApplicantEmailAddress = Email, Ukprn = Ukprn, ReviewComment = ReviewComment, ApplyLegalName = OrganisationName, ApplicationRoute = ApplicationRouteName, SubmittedDate = ApplicationSubmittedOn }; }
public async Task <ModeratorOutcomeReviewViewModel> GetInModerationOutcomeReviewViewModel(ReviewModeratorOutcomeRequest request) { var viewModel = new ModeratorOutcomeReviewViewModel { Status = request.Status, ReviewComment = request.ReviewComment, ApplicationId = request.ApplicationId }; var application = await _applicationApiClient.GetApplication(request.ApplicationId); var contact = await _applicationApiClient.GetContactForApplication(request.ApplicationId); if (application is null || contact is null) { return(null); } viewModel.ApplicantEmailAddress = contact.Email; if (application.ApplyData?.ApplyDetails != null) { viewModel.ApplicationRoute = application.ApplyData.ApplyDetails.ProviderRouteName; viewModel.Ukprn = application.ApplyData.ApplyDetails.UKPRN; viewModel.ApplyLegalName = application.ApplyData.ApplyDetails.OrganisationName; viewModel.SubmittedDate = application.ApplyData.ApplyDetails.ApplicationSubmittedOn; } return(viewModel); }