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);
        }
Exemple #2
0
        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"));
        }
Exemple #3
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        public async Task <IActionResult> Appeal(AppealRequest request)
        {
            var viewModel = await _appealOrchestrator.GetAppealViewModel(request, TempData.GetValue <string>("Message"));

            return(View(viewModel));
        }