public async Task <IActionResult> SearchAssessmentsAsync(SearchAssessmentsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var searchResult = await _assessmentLoader.FindUlnAssessmentsAsync(User.GetUkPrn(), model.SearchUln.ToLong());

            if (searchResult?.IsAllowed == true)
            {
                return(RedirectToRoute(searchResult.IsWithdrawn ? RouteConstants.AssessmentWithdrawnDetails : RouteConstants.AssessmentDetails, new { profileId = searchResult.RegistrationProfileId }));
            }
            else
            {
                await _cacheService.SetAsync(Constants.AssessmentsSearchCriteria, model.SearchUln);

                var ulnAssessmentsNotfoundModel = new UlnAssessmentsNotFoundViewModel {
                    Uln = model.SearchUln.ToString()
                };
                await _cacheService.SetAsync(string.Concat(CacheKey, Constants.SearchAssessmentsUlnNotFound), ulnAssessmentsNotfoundModel, CacheExpiryTime.XSmall);

                return(RedirectToRoute(RouteConstants.SearchAssessmentsNotFound));
            }
        }
예제 #2
0
        public override void Given()
        {
            SearchAssessmentsViewModel = new SearchAssessmentsViewModel {
                SearchUln = SearchUln
            };
            var mockResult = new UlnAssessmentsNotFoundViewModel {
                IsAllowed = true, IsWithdrawn = true, Uln = SearchUln
            };

            AssessmentLoader.FindUlnAssessmentsAsync(AoUkprn, SearchUln.ToLong()).Returns(mockResult);
        }
 public async override Task When()
 {
     ActualResult = await Loader.FindUlnAssessmentsAsync(Ukprn, Uln);
 }