public override void Given()
 {
     ViewModel = new ProviderTlevelDetailsViewModel {
         Id = TqProviderId, TlProviderId = TlProviderId, CanRemoveTlevel = true
     };
     ProviderLoader.RemoveTqProviderTlevelAsync(Ukprn, TqProviderId).Returns(false);
 }
 public override void Given()
 {
     TlProviderId = 1;
     ViewModel    = new ProviderTlevelDetailsViewModel
     {
         TlProviderId    = TlProviderId,
         CanRemoveTlevel = false
     };
 }
        public override void Given()
        {
            Ukprn        = 10011881;
            TqProviderId = 0;
            var httpContext = new ClaimsIdentityBuilder <ProviderController>(Controller)
                              .Add(CustomClaimTypes.Ukprn, Ukprn.ToString())
                              .Build()
                              .HttpContext;

            HttpContextAccessor.HttpContext.Returns(httpContext);

            ProviderTlevelDetailsViewModel mockresult = null;

            ProviderLoader.GetTqProviderTlevelDetailsAsync(Ukprn, TqProviderId)
            .Returns(mockresult);
        }
        public override void Setup()
        {
            HttpContextAccessor = Substitute.For <IHttpContextAccessor>();
            ProviderLoader      = Substitute.For <IProviderLoader>();
            Logger     = Substitute.For <ILogger <ProviderController> >();
            Controller = new ProviderController(ProviderLoader, Logger);

            // Default value
            ViewModel = new ProviderTlevelDetailsViewModel {
                Id = TqProviderId, TlProviderId = TlProviderId
            };

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

            HttpContextAccessor.HttpContext.Returns(httpContext);
        }
        public override void Given()
        {
            Ukprn        = 1000001;
            TqProviderId = 1;
            TlProviderId = 5;

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

            HttpContextAccessor.HttpContext.Returns(httpContext);

            TempData            = new TempDataDictionary(HttpContextAccessor.HttpContext, Substitute.For <ITempDataProvider>());
            Controller.TempData = TempData;

            ViewModel = new ProviderTlevelDetailsViewModel {
                Id = TqProviderId, TlProviderId = TlProviderId, CanRemoveTlevel = true, ShowBackToProvidersLink = true
            };
            ProviderLoader.RemoveTqProviderTlevelAsync(Ukprn, TqProviderId).Returns(true);
        }
        public override void Given()
        {
            Ukprn        = 10011881;
            TqProviderId = 1;

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

            HttpContextAccessor.HttpContext.Returns(httpContext);

            mockresult = new ProviderTlevelDetailsViewModel
            {
                Id           = _tlProviderId,
                DisplayName  = "Test",
                Ukprn        = 10000111,
                TlevelTitle  = "Test Title",
                TlProviderId = _tlProviderId
            };

            ProviderLoader.GetTqProviderTlevelDetailsAsync(Ukprn, TqProviderId).Returns(mockresult);
        }
        public async Task <IActionResult> RemoveProviderTlevelAsync(ProviderTlevelDetailsViewModel viewModel)
        {
            if (viewModel == null)
            {
                return(RedirectToRoute(RouteConstants.PageNotFound));
            }

            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            if (viewModel.CanRemoveTlevel == false)
            {
                return(RedirectToRoute(RouteConstants.ProviderTlevels, new { providerId = viewModel.TlProviderId, navigation = !viewModel.ShowBackToProvidersLink }));
            }

            var isSuccess = await _providerLoader.RemoveTqProviderTlevelAsync(User.GetUkPrn(), viewModel.Id);

            if (isSuccess)
            {
                if (viewModel.ShowBackToProvidersLink)
                {
                    var providersViewModel = await _providerLoader.GetTqAoProviderDetailsAsync(User.GetUkPrn());

                    viewModel.ShowBackToProvidersLink = providersViewModel != null && providersViewModel.Count > 0;
                }
                TempData[Constants.ProviderTlevelDetailsViewModel] = JsonConvert.SerializeObject(viewModel);
                return(RedirectToRoute(RouteConstants.RemoveProviderTlevelConfirmation));
            }
            else
            {
                _logger.LogWarning(LogEvent.ProviderTlevelNotRemoved,
                                   $"Unable to remove provider T level. Method: RemoveTqProviderTlevelAsync(Ukprn: {User.GetUkPrn()}, id: {viewModel.Id}), User: {User.GetUserEmail()}");
                return(RedirectToRoute(RouteConstants.Error, new { StatusCode = 500 }));
            }
        }
예제 #8
0
 public async override Task When()
 {
     ActualResult = await Loader.GetTqProviderTlevelDetailsAsync(Ukprn, TqProviderId);
 }
 public override void Given()
 {
     ViewModel = new ProviderTlevelDetailsViewModel();
     Controller.ModelState.AddModelError("CanRemoveTlevel", Content.Provider.RemoveProviderTlevel.Select_RemoveProviderTlevel_Validation_Message);
 }