public override void Given()
        {
            BulkRegistrationResponse = new BulkProcessResponse
            {
                IsSuccess           = false,
                BlobUniqueReference = BlobUniqueReference,
                ErrorFileSize       = 1.5
            };

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

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

            Mapper.Map <BulkProcessRequest>(UploadRegistrationsRequestViewModel).Returns(BulkRegistrationRequest);
            Mapper.Map <UploadRegistrationsResponseViewModel>(BulkRegistrationResponse).Returns(UploadRegistrationsResponseViewModel);
            InternalApiClient.ProcessBulkRegistrationsAsync(BulkRegistrationRequest).Returns(BulkRegistrationResponse);
            Loader = new RegistrationLoader(Mapper, Logger, InternalApiClient, BlobStorageService);
        }
Ejemplo n.º 2
0
        public override void Given()
        {
            BulkRegistrationResponse = new BulkProcessResponse
            {
                IsSuccess = true,
                Stats     = new BulkUploadStats
                {
                    TotalRecordsCount     = 10,
                    NewRecordsCount       = 5,
                    AmendedRecordsCount   = 3,
                    UnchangedRecordsCount = 2
                }
            };

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

            UploadRegistrationsResponseViewModel = new UploadRegistrationsResponseViewModel
            {
                IsSuccess = true,
                Stats     = new BulkUploadStatsViewModel
                {
                    TotalRecordsCount     = 10,
                    NewRecordsCount       = 5,
                    AmendedRecordsCount   = 3,
                    UnchangedRecordsCount = 2
                }
            };

            Mapper.Map <BulkProcessRequest>(UploadRegistrationsRequestViewModel).Returns(BulkRegistrationRequest);
            Mapper.Map <UploadRegistrationsResponseViewModel>(BulkRegistrationResponse).Returns(UploadRegistrationsResponseViewModel);
            InternalApiClient.ProcessBulkRegistrationsAsync(BulkRegistrationRequest).Returns(BulkRegistrationResponse);
            Loader = new RegistrationLoader(Mapper, Logger, InternalApiClient, BlobStorageService);
        }
Ejemplo n.º 3
0
        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();

            BulkRegistrationRequest = new BulkProcessRequest {
                AoUkprn = Ukprn
            };

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

            UploadRegistrationsRequestViewModel = new UploadRegistrationsRequestViewModel {
                AoUkprn = Ukprn, File = FormFile
            };
            InternalApiClient.ProcessBulkRegistrationsAsync(BulkRegistrationRequest).Returns(BulkRegistrationResponse);
            Loader = new RegistrationLoader(Mapper, Logger, InternalApiClient, BlobStorageService);
        }
 public override void Setup()
 {
     RegistrationLoader = Substitute.For <IRegistrationLoader>();
     CacheService       = Substitute.For <ICacheService>();
     Logger             = Substitute.For <ILogger <RegistrationController> >();
     Controller         = new RegistrationController(RegistrationLoader, CacheService, Logger);
     ViewModel          = new UploadRegistrationsRequestViewModel();
 }
        public IActionResult UploadRegistrationsFile(int?requestErrorTypeId)
        {
            var model = new UploadRegistrationsRequestViewModel {
                RequestErrorTypeId = requestErrorTypeId
            };

            model.SetAnyModelErrors(ModelState);
            return(View(model));
        }
        public override void Setup()
        {
            Ukprn = 12345;
            HttpContextAccessor = Substitute.For <IHttpContextAccessor>();
            RegistrationLoader  = Substitute.For <IRegistrationLoader>();
            CacheService        = Substitute.For <ICacheService>();
            Logger     = Substitute.For <ILogger <RegistrationController> >();
            Controller = new RegistrationController(RegistrationLoader, CacheService, Logger);
            ViewModel  = new UploadRegistrationsRequestViewModel();

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

            HttpContextAccessor.HttpContext.Returns(httpContext);
            TempData            = new TempDataDictionary(HttpContextAccessor.HttpContext, Substitute.For <ITempDataProvider>());
            Controller.TempData = TempData;
        }
Ejemplo n.º 7
0
        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();

            BulkRegistrationRequest = new BulkProcessRequest {
                AoUkprn = Ukprn
            };

            BulkRegistrationResponse = new BulkProcessResponse
            {
                IsSuccess = true,
                Stats     = new BulkUploadStats
                {
                    TotalRecordsCount     = 10,
                    NewRecordsCount       = 5,
                    AmendedRecordsCount   = 3,
                    UnchangedRecordsCount = 2
                }
            };

            UploadRegistrationsRequestViewModel = new UploadRegistrationsRequestViewModel {
                AoUkprn = Ukprn, File = FormFile
            };
            InternalApiClient.ProcessBulkRegistrationsAsync(BulkRegistrationRequest).Returns(BulkRegistrationResponse);
            Loader = new RegistrationLoader(Mapper, Logger, InternalApiClient, BlobStorageService);
        }
        public async Task <IActionResult> UploadRegistrationsFileAsync(UploadRegistrationsRequestViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            viewModel.AoUkprn = User.GetUkPrn();
            var response = await _registrationLoader.ProcessBulkRegistrationsAsync(viewModel);

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

                return(RedirectToRoute(RouteConstants.RegistrationsUploadSuccessful));
            }
            else
            {
                if (response.ShowProblemWithServicePage)
                {
                    return(RedirectToRoute(RouteConstants.ProblemWithRegistrationsUpload));
                }
                else
                {
                    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.RegistrationsUploadUnsuccessful));
                }
            }
        }
Ejemplo n.º 9
0
        public async Task <UploadRegistrationsResponseViewModel> ProcessBulkRegistrationsAsync(UploadRegistrationsRequestViewModel viewModel)
        {
            var bulkRegistrationRequest = _mapper.Map <BulkProcessRequest>(viewModel);

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

            var bulkRegistrationResponse = await _internalApiClient.ProcessBulkRegistrationsAsync(bulkRegistrationRequest);

            return(_mapper.Map <UploadRegistrationsResponseViewModel>(bulkRegistrationResponse));
        }