public async Task Index_creates_correct_viewmodel(string sortColumn, string sortOrder, DateTime?startDate, DateTime?endDate) { _applicationApplyApiClient.Setup(x => x.GetAllowedProvidersList(sortColumn, sortOrder)).ReturnsAsync(new List <AllowedProvider>()); var expectedViewModel = new AddUkprnToAllowedProvidersListViewModel { SortColumn = sortColumn, SortOrder = sortOrder, Ukprn = null, StartDate = startDate, EndDate = endDate, AllowedProviders = new List <AllowedProvider>() }; var result = await _controller.Index(sortColumn, sortOrder, startDate, endDate); var viewResult = result as ViewResult; var viewModel = viewResult?.Model as AddUkprnToAllowedProvidersListViewModel; Assert.IsNotNull(viewModel); Assert.AreEqual(expectedViewModel.SortColumn, viewModel.SortColumn); Assert.AreEqual(expectedViewModel.SortOrder, viewModel.SortOrder); Assert.AreEqual(expectedViewModel.Ukprn, viewModel.Ukprn); Assert.AreEqual(expectedViewModel.StartDate, viewModel.StartDate); Assert.AreEqual(expectedViewModel.EndDate, viewModel.EndDate); CollectionAssert.AreEquivalent(expectedViewModel.AllowedProviders, viewModel.AllowedProviders); }
public async Task <IActionResult> AddUkprn(AddUkprnToAllowedProvidersListViewModel model) { if (ModelState.IsValid) { await _applyApiClient.AddToAllowedProviders(int.Parse(model.Ukprn), model.StartDate.Value, model.EndDate.Value); } return(RedirectToAction(nameof(Index), new { sortColumn = model.SortColumn, sortOrder = model.SortOrder, startDate = model.StartDate?.ToString("yyyy-MM-dd"), endDate = model.EndDate?.ToString("yyyy-MM-dd") })); }
public async Task AddUkprn_when_valid_ModelState_calls_AddToAllowUkprns_with_expected_parameters(int ukprn, DateTime startDate, DateTime endDate) { Assert.IsTrue(_controller.ModelState.IsValid, "Test requires valid ModelState"); var request = new AddUkprnToAllowedProvidersListViewModel { Ukprn = ukprn.ToString(), StartDate = startDate, EndDate = endDate }; var result = await _controller.AddUkprn(request); _applicationApplyApiClient.Verify(x => x.AddToAllowedProviders(ukprn, startDate, endDate), Times.Once); _applicationApplyApiClient.Verify(x => x.GetAllowedProvidersList(It.IsAny <string>(), It.IsAny <string>()), Times.Never); }
public async Task AddUkprn_when_invalid_ModelState_does_not_call_AddToAllowUkprns(int ukprn, DateTime startDate, DateTime endDate) { _controller.ModelState.AddModelError("Ukprn", "Forced ModelState error"); Assert.IsFalse(_controller.ModelState.IsValid, "Test requires invalid ModelState"); var request = new AddUkprnToAllowedProvidersListViewModel { Ukprn = ukprn.ToString(), StartDate = startDate, EndDate = endDate }; var result = await _controller.AddUkprn(request); _applicationApplyApiClient.Verify(x => x.AddToAllowedProviders(It.IsAny <int>(), It.IsAny <DateTime>(), It.IsAny <DateTime>()), Times.Never); }
public async Task AddUkprn_when_valid_ModelState_redirects_to_Index(string ukprn, DateTime startDate, DateTime endDate) { Assert.IsTrue(_controller.ModelState.IsValid, "Test requires valid ModelState"); var request = new AddUkprnToAllowedProvidersListViewModel { Ukprn = ukprn, StartDate = startDate, EndDate = endDate }; var result = await _controller.AddUkprn(request); var redirectResult = result as RedirectToActionResult; Assert.AreEqual(nameof(_controller.Index), redirectResult.ActionName); }
public async Task <IActionResult> Index(string sortColumn, string sortOrder, DateTime?startDate, DateTime?endDate) { var model = new AddUkprnToAllowedProvidersListViewModel { SortColumn = sortColumn, SortOrder = sortOrder, Ukprn = null, StartDate = startDate, EndDate = endDate, AllowedProviders = await _applyApiClient.GetAllowedProvidersList(sortColumn, sortOrder) }; return(View("~/Views/Roatp/AllowedProviders/Index.cshtml", model)); }
public void Before_each_test() { _applicationApplyApiClient = new Mock <IRoatpApplicationApiClient>(); _applicationApplyApiClient.Setup(x => x.GetAllowedProviderDetails(It.IsAny <int>())).ReturnsAsync(default(AllowedProvider)); _validator = new AddUkprnToAllowProvidersListValidator(_applicationApplyApiClient.Object); _viewModel = new AddUkprnToAllowedProvidersListViewModel { Ukprn = "12345678", StartDate = DateTime.MinValue, EndDate = DateTime.MaxValue }; }
public async Task AddUkprn_when_invalid_ModelState_PRG_redirects_to_Index(int ukprn, DateTime startDate, DateTime endDate) { _controller.ModelState.AddModelError("Ukprn", "Forced ModelState error"); Assert.IsFalse(_controller.ModelState.IsValid, "Test requires invalid ModelState"); var request = new AddUkprnToAllowedProvidersListViewModel { Ukprn = ukprn.ToString(), StartDate = startDate, EndDate = endDate }; var result = await _controller.AddUkprn(request); var redirectResult = result as RedirectToActionResult; Assert.AreEqual(nameof(_controller.Index), redirectResult.ActionName); }