public void And_Has_Ukprn_And_Manage_True_Then_Redirects_To_Provider_Manage( ReservationsRouteModel routeModel, DeleteCompletedViewModel viewModel, ManageReservationsController controller) { viewModel.Manage = true; var result = controller.PostDeleteCompleted(routeModel, viewModel) as RedirectToRouteResult; result.RouteName.Should().Be(RouteNames.ProviderManage); }
public void And_Has_Ukprn_And_Model_Invalid_Then_Returns_Provider_Completed_View( ReservationsRouteModel routeModel, DeleteCompletedViewModel viewModel, ManageReservationsController controller) { controller.ModelState.AddModelError("key", "error message"); var result = controller.PostDeleteCompleted(routeModel, viewModel) as ViewResult; result.ViewName.Should().Be(ViewNames.ProviderDeleteCompleted); result.Model.Should().Be(viewModel); }
public void And_Has_Ukprn_And_Manage_False_Then_Redirects_To_Provider_Dashboard( ReservationsRouteModel routeModel, DeleteCompletedViewModel viewModel, string providerDashboardUrl, [Frozen] Mock <IExternalUrlHelper> externalUrlHelper, ManageReservationsController controller) { routeModel.EmployerAccountId = null; externalUrlHelper.Setup(x => x.GenerateDashboardUrl(null)).Returns(providerDashboardUrl); viewModel.Manage = false; var result = controller.PostDeleteCompleted(routeModel, viewModel) as RedirectResult; result.Url.Should().Be(providerDashboardUrl); }
public void And_No_Ukprn_And_Manage_False_Then_Redirects_To_Employer_Dashboard( ReservationsRouteModel routeModel, DeleteCompletedViewModel viewModel, string expectedUrl, [Frozen] Mock <IExternalUrlHelper> mockUrlHelper, ManageReservationsController controller) { routeModel.UkPrn = null; viewModel.Manage = false; mockUrlHelper .Setup(helper => helper.GenerateDashboardUrl(routeModel.EmployerAccountId)) .Returns(expectedUrl); var result = controller.PostDeleteCompleted(routeModel, viewModel) as RedirectResult; result.Url.Should().Be(expectedUrl); }
public IActionResult PostDeleteCompleted(ReservationsRouteModel routeModel, DeleteCompletedViewModel viewModel) { var isProvider = routeModel.UkPrn.HasValue; var deleteCompletedViewName = isProvider ? ViewNames.ProviderDeleteCompleted : ViewNames.EmployerDeleteCompleted; var manageRouteName = isProvider ? RouteNames.ProviderManage : RouteNames.EmployerManage; var dashboardUrl = _urlHelper.GenerateDashboardUrl(routeModel.EmployerAccountId); if (!ModelState.IsValid) { return(View(deleteCompletedViewName, viewModel)); } if (viewModel.Manage.HasValue && viewModel.Manage.Value) { return(RedirectToRoute(manageRouteName)); } return(Redirect(dashboardUrl)); }