public async Task <AppealViewModel> GetAppealViewModel(AppealRequest request, string message) { var oversightReviewTask = _applyApiClient.GetOversightReview(request.ApplicationId); var stagedUploadsTask = _applyApiClient.GetStagedUploads(new GetStagedFilesRequest { ApplicationId = request.ApplicationId }); await Task.WhenAll(oversightReviewTask, stagedUploadsTask); var oversightReview = _applyApiClient.GetOversightReview(request.ApplicationId).Result; var stagedUploads = _applyApiClient.GetStagedUploads(new GetStagedFilesRequest { ApplicationId = request.ApplicationId }).Result; var result = new AppealViewModel { ApplicationId = request.ApplicationId, OversightReviewId = oversightReview.Id, AllowAdditionalUploads = stagedUploads.Files.Count < MaxFileUploads, UploadedFiles = stagedUploads.Files.Select(x => new UploadedFileViewModel { Id = x.Id, Filename = x.Filename }).ToList(), Message = message }; return(result); }
public async Task GetAppealOutcome_returns_applications_view_when_appealoutcome_status_is_successful_or_unsuccessful(string status) { _oversightOrchestrator.Setup(x => x.GetAppealDetailsViewModel(_applicationDetailsApplicationId, null)).Throws <InvalidStateException>(); var request = new AppealRequest() { ApplicationId = _applicationDetailsApplicationId }; var result = await _controller.AppealOutcome(request) as RedirectToActionResult; Assert.That(result, Is.Not.Null); Assert.That(result.ActionName, Is.EqualTo("Applications")); }
public async Task <IActionResult> Appeal(AppealRequest request) { try { var vm = await _oversightOrchestrator.GetAppealDetailsViewModel(request.ApplicationId, request.OutcomeKey); return(View(vm)); } catch (InvalidStateException) { return(RedirectToAction("Applications")); } }
public async Task Get_Appeal_Returns_View() { var request = new AppealRequest { ApplicationId = Guid.NewGuid() }; _appealOrchestrator.Setup(x => x.GetAppealViewModel( It.Is <AppealRequest>(r => r.ApplicationId == request.ApplicationId), It.IsAny <string>())) .ReturnsAsync(() => new AppealViewModel()); var result = await _controller.Appeal(request); Assert.IsInstanceOf <ViewResult>(result); }
public async Task Get_Appeal_Preserves_Any_Message_Stored_In_TempData() { var request = new AppealRequest { ApplicationId = Guid.NewGuid() }; var message = _autoFixture.Create <string>(); _tempDataDictionary["Message"] = message; _appealOrchestrator.Setup(x => x.GetAppealViewModel( It.Is <AppealRequest>(r => r.ApplicationId == request.ApplicationId), It.Is <string>(m => m == message))) .ReturnsAsync(() => new AppealViewModel()); var result = await _controller.Appeal(request); Assert.IsInstanceOf <ViewResult>(result); }
public async Task GetAppealOutcome_returns_view_with_expected_viewModel() { var viewModel = new AppealViewModel { ApplicationSummary = new ApplicationSummaryViewModel { ApplicationId = _applicationDetailsApplicationId } }; _oversightOrchestrator.Setup(x => x.GetAppealDetailsViewModel(_applicationDetailsApplicationId, null)).ReturnsAsync(viewModel); var request = new AppealRequest() { ApplicationId = _applicationDetailsApplicationId }; var result = await _controller.AppealOutcome(request) as ViewResult; var actualViewModel = result?.Model as AppealViewModel; Assert.That(result, Is.Not.Null); Assert.That(actualViewModel, Is.Not.Null); Assert.That(actualViewModel, Is.SameAs(viewModel)); Assert.AreEqual(_applicationDetailsApplicationId, actualViewModel.ApplicationSummary.ApplicationId); }
public async Task <IActionResult> Appeal(AppealRequest request) { var viewModel = await _appealOrchestrator.GetAppealViewModel(request, TempData.GetValue <string>("Message")); return(View(viewModel)); }