Beispiel #1
0
        public override void Given()
        {
            BulkAssessmentResponse = new BulkAssessmentResponse
            {
                IsSuccess = true,
                Stats     = new BulkUploadStats
                {
                    TotalRecordsCount = 10
                }
            };

            UploadAssessmentsRequestViewModel = new UploadAssessmentsRequestViewModel {
                AoUkprn = Ukprn, File = FormFile
            };

            UploadAssessmentsResponseViewModel = new UploadAssessmentsResponseViewModel
            {
                IsSuccess = true,
                Stats     = new BulkUploadStatsViewModel
                {
                    TotalRecordsCount = 10
                }
            };

            Mapper.Map <BulkProcessRequest>(UploadAssessmentsRequestViewModel).Returns(BulkAssessmentRequest);
            Mapper.Map <UploadAssessmentsResponseViewModel>(BulkAssessmentResponse).Returns(UploadAssessmentsResponseViewModel);
            InternalApiClient.ProcessBulkAssessmentsAsync(BulkAssessmentRequest).Returns(BulkAssessmentResponse);
            Loader = new AssessmentLoader(Mapper, Logger, InternalApiClient, BlobStorageService);
        }
        public override void Given()
        {
            HttpContextAccessor = Substitute.For <IHttpContextAccessor>();
            HttpContextAccessor.HttpContext.Returns(new DefaultHttpContext
            {
                User = new ClaimsPrincipal(new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.GivenName, _givename),
                    new Claim(ClaimTypes.Surname, _surname),
                    new Claim(ClaimTypes.Email, _email)
                }))
            });

            CreateMapper();

            BulkAssessmentRequest = new BulkProcessRequest {
                AoUkprn = Ukprn
            };

            BulkAssessmentResponse = new BulkAssessmentResponse
            {
                IsSuccess = true,
                Stats     = new BulkUploadStats
                {
                    TotalRecordsCount = 10
                }
            };

            UploadAssessmentsRequestViewModel = new UploadAssessmentsRequestViewModel {
                AoUkprn = Ukprn, File = FormFile
            };
            InternalApiClient.ProcessBulkAssessmentsAsync(BulkAssessmentRequest).Returns(BulkAssessmentResponse);
            Loader = new AssessmentLoader(Mapper, Logger, InternalApiClient, BlobStorageService);
        }
        public override void Given()
        {
            HttpContextAccessor = Substitute.For <IHttpContextAccessor>();
            HttpContextAccessor.HttpContext.Returns(new DefaultHttpContext
            {
                User = new ClaimsPrincipal(new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.GivenName, _givename),
                    new Claim(ClaimTypes.Surname, _surname),
                    new Claim(ClaimTypes.Email, _email)
                }))
            });

            CreateMapper();

            BulkAssessmentRequest = new BulkProcessRequest {
                AoUkprn = Ukprn
            };

            BulkAssessmentResponse = new BulkAssessmentResponse
            {
                IsSuccess           = false,
                BlobUniqueReference = Guid.NewGuid(),
                ErrorFileSize       = 1.5
            };

            UploadAssessmentsRequestViewModel = new UploadAssessmentsRequestViewModel {
                AoUkprn = Ukprn, File = FormFile
            };
            InternalApiClient.ProcessBulkAssessmentsAsync(BulkAssessmentRequest).Returns(BulkAssessmentResponse);
            Loader = new AssessmentLoader(Mapper, Logger, InternalApiClient, BlobStorageService);
        }
Beispiel #4
0
        public override void Given()
        {
            BulkAssessmentResponse = new BulkAssessmentResponse
            {
                IsSuccess           = false,
                BlobUniqueReference = BlobUniqueReference,
                ErrorFileSize       = 1.5
            };

            UploadAssessmentsRequestViewModel = new UploadAssessmentsRequestViewModel {
                AoUkprn = Ukprn, File = FormFile
            };

            UploadAssessmentsResponseViewModel = new UploadAssessmentsResponseViewModel
            {
                IsSuccess           = false,
                BlobUniqueReference = BlobUniqueReference,
                ErrorFileSize       = 1.5
            };

            Mapper.Map <BulkProcessRequest>(UploadAssessmentsRequestViewModel).Returns(BulkAssessmentRequest);
            Mapper.Map <UploadAssessmentsResponseViewModel>(BulkAssessmentResponse).Returns(UploadAssessmentsResponseViewModel);
            InternalApiClient.ProcessBulkAssessmentsAsync(BulkAssessmentRequest).Returns(BulkAssessmentResponse);
            Loader = new AssessmentLoader(Mapper, Logger, InternalApiClient, BlobStorageService);
        }
Beispiel #5
0
 public override void Setup()
 {
     AssessmentLoader = Substitute.For <IAssessmentLoader>();
     CacheService     = Substitute.For <ICacheService>();
     Logger           = Substitute.For <ILogger <AssessmentController> >();
     Controller       = new AssessmentController(AssessmentLoader, CacheService, Logger);
     ViewModel        = new UploadAssessmentsRequestViewModel();
 }
        public IActionResult UploadAssessmentsFile(int?requestErrorTypeId)
        {
            var model = new UploadAssessmentsRequestViewModel {
                RequestErrorTypeId = requestErrorTypeId
            };

            model.SetAnyModelErrors(ModelState);
            return(View(model));
        }
Beispiel #7
0
        public override void Setup()
        {
            Ukprn = 12345;
            HttpContextAccessor = Substitute.For <IHttpContextAccessor>();
            AssessmentLoader    = Substitute.For <IAssessmentLoader>();
            CacheService        = Substitute.For <ICacheService>();
            Logger     = Substitute.For <ILogger <AssessmentController> >();
            Controller = new AssessmentController(AssessmentLoader, CacheService, Logger);
            ViewModel  = new UploadAssessmentsRequestViewModel();

            var httpContext = new ClaimsIdentityBuilder <AssessmentController>(Controller)
                              .Add(CustomClaimTypes.Ukprn, Ukprn.ToString())
                              .Build()
                              .HttpContext;

            HttpContextAccessor.HttpContext.Returns(httpContext);
        }
        public async Task <IActionResult> UploadAssessmentsFileAsync(UploadAssessmentsRequestViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            viewModel.AoUkprn = User.GetUkPrn();
            var response = await _assessmentLoader.ProcessBulkAssessmentsAsync(viewModel);

            if (response.IsSuccess)
            {
                var successfulViewModel = new UploadSuccessfulViewModel {
                    Stats = response.Stats
                };
                await _cacheService.SetAsync(string.Concat(CacheKey, Constants.AssessmentsUploadSuccessfulViewModel), successfulViewModel, CacheExpiryTime.XSmall);

                return(RedirectToRoute(RouteConstants.AssessmentsUploadSuccessful));
            }

            if (response.ShowProblemWithServicePage)
            {
                return(RedirectToRoute(RouteConstants.ProblemWithAssessmentsUpload));
            }

            var unsuccessfulViewModel = new UploadUnsuccessfulViewModel
            {
                BlobUniqueReference = response.BlobUniqueReference,
                FileSize            = response.ErrorFileSize,
                FileType            = FileType.Csv.ToString().ToUpperInvariant()
            };

            await _cacheService.SetAsync(string.Concat(CacheKey, Constants.UploadUnsuccessfulViewModel), unsuccessfulViewModel, CacheExpiryTime.XSmall);

            return(RedirectToRoute(RouteConstants.AssessmentsUploadUnsuccessful));
        }
        public async Task <UploadAssessmentsResponseViewModel> ProcessBulkAssessmentsAsync(UploadAssessmentsRequestViewModel viewModel)
        {
            var bulkAssessmentRequest = _mapper.Map <BulkProcessRequest>(viewModel);

            using (var fileStream = viewModel.File.OpenReadStream())
            {
                await _blobStorageService.UploadFileAsync(new BlobStorageData
                {
                    ContainerName  = bulkAssessmentRequest.DocumentType.ToString(),
                    BlobFileName   = bulkAssessmentRequest.BlobFileName,
                    SourceFilePath = $"{bulkAssessmentRequest.AoUkprn}/{BulkProcessStatus.Processing}",
                    FileStream     = fileStream,
                    UserName       = bulkAssessmentRequest.PerformedBy
                });
            }

            var bulkAssessmentResponse = await _internalApiClient.ProcessBulkAssessmentsAsync(bulkAssessmentRequest);

            return(_mapper.Map <UploadAssessmentsResponseViewModel>(bulkAssessmentResponse));
        }