public void WhenPopulatingSelectList_ThenItemsHaveTextAndValueProperties() { var data = new Tuple <int[], string[], string[]>( new[] { 2011 }, new[] { "Manufacturer" }, new[] { "ModelA", "ModelB", "ModelC" } ); MockHandlerFor( () => new Mock <GetYearsMakesAndModels>(null), x => x .Setup(h => h.Execute(null, null)) .Returns(data)); MockVehicleListWithVehicles(); TestableVehicleController controller = GetTestableVehicleController(); var actual = (ViewResult)controller.Edit(DefaultVehicleId); var yearsSelectList = (SelectList)actual.ViewData["Years"]; Assert.Equal("2011", yearsSelectList.First().Text); Assert.Equal("2011", yearsSelectList.First().Value); var makesSelectList = (SelectList)actual.ViewData["Makes"]; Assert.Equal("Manufacturer", makesSelectList.First().Text); Assert.Equal("Manufacturer", makesSelectList.First().Value); var modelsSelectList = (SelectList)actual.ViewData["Models"]; Assert.Equal("ModelB", modelsSelectList.Skip(1).First().Text); Assert.Equal("ModelB", modelsSelectList.Skip(1).First().Value); }
public void WhenEditGetFormActionExecuted_ThenSelectListsPopulated() { var data = new Tuple <int[], string[], string[]>( new[] { 1, 2, 3, 4, 5 }, new[] { "A", "B" }, new[] { "i", "ii", "iii" } ); MockHandlerFor( () => new Mock <GetYearsMakesAndModels>(null), x => x .Setup(h => h.Execute(null, null)) .Returns(data)); MockVehicleListWithVehicles(); TestableVehicleController controller = GetTestableVehicleController(); var actual = (ViewResult)controller.Edit(DefaultVehicleId); var yearsSelectList = (SelectList)actual.ViewData["Years"]; Assert.NotNull(yearsSelectList); Assert.Equal(5, yearsSelectList.Count()); var makesSelectList = (SelectList)actual.ViewData["Makes"]; Assert.NotNull(makesSelectList); Assert.Equal(2, makesSelectList.Count()); var modelsSelectList = (SelectList)actual.ViewData["Models"]; Assert.NotNull(modelsSelectList); Assert.Equal(3, modelsSelectList.Count()); }
public void WhenEditGetFormActionExecuted_ThenViewModelContainsVehicleListViewModel() { MockVehicleListWithVehicles(); MockDefaultYearMakeModel(); TestableVehicleController controller = GetTestableVehicleController(); ActionResult result = controller.Edit(DefaultVehicleId); var model = result.Extract <VehicleAddViewModel>(); Assert.IsType <VehicleAddViewModel>(model); }
public void WhenEditVehicleActionExecutedWithInvalidVehicle_ThenSelectListsPopulated() { const int year = 1984; const string make = "make"; var data = new Tuple <int[], string[], string[]>( new[] { 1, 2, 3, 4, 5 }, new[] { "A", "B" }, new[] { "i", "ii", "iii" } ); MockHandlerFor( () => new Mock <GetYearsMakesAndModels>(null), x => x .Setup(h => h.Execute(year, make)) .Returns(data)); MockVehicleListWithVehicles(); TestableVehicleController controller = GetTestableVehicleController(); controller.ModelState.AddModelError("bad", "bad"); var vehicleForm = new VehicleFormModel { VehicleId = DefaultVehicleId, Name = null, Year = year, MakeName = make }; var form = new FormCollection { { "Save", "true" } }; var actual = (ViewResult)controller.Edit(form, vehicleForm, null); var yearsSelectList = (SelectList)actual.ViewData["Years"]; Assert.NotNull(yearsSelectList); Assert.Equal(5, yearsSelectList.Count()); var makesSelectList = (SelectList)actual.ViewData["Makes"]; Assert.NotNull(makesSelectList); Assert.Equal(2, makesSelectList.Count()); var modelsSelectList = (SelectList)actual.ViewData["Models"]; Assert.NotNull(modelsSelectList); Assert.Equal(3, modelsSelectList.Count()); }
public void WhenEditGetFormActionExecuted_ThenVehicleListSetToCollapsed() { MockDefaultYearMakeModel(); MockHandlerFor( () => new Mock <GetVehicleListForUser>(null), x => x .Setup(h => h.Execute(defaultUser.UserId)) .Returns(DefaultVehicleId.StandardVehicleList())); TestableVehicleController controller = GetTestableVehicleController(); ActionResult result = controller.Edit(DefaultVehicleId); var model = result.Extract <VehicleAddViewModel>(); Assert.True(model.VehiclesList.IsCollapsed); }
public void WhenEditVehicleActionExecutedWithInValidVehicle_ThenVehicleListSetToCollapsed() { MockVehicleListWithVehicles(); MockDefaultYearMakeModel(); TestableVehicleController controller = GetTestableVehicleController(); controller.ModelState.AddModelError("bad", "bad"); var vehicle = new VehicleFormModel { VehicleId = 1, Name = null }; var form = new FormCollection { { "Save", "true" } }; ActionResult result = controller.Edit(form, vehicle, null); var model = result.Extract <VehicleAddViewModel>(); Assert.True(model.VehiclesList.IsCollapsed); }
public void WhenEditVehicleActionExecutedWithValidVehicle_ThenRedirectsToDetails() { MockVehicleList(); MockDefaultYearMakeModel(); MockHandlerFor(() => new Mock <CanValidateVehicleYearMakeAndModel>(null)); MockHandlerFor(() => new Mock <UpdateVehicle>(null, null)); var vehicle = new VehicleFormModel { VehicleId = DefaultVehicleId, Name = "test" }; var form = new FormCollection { { "Save", "true" } }; TestableVehicleController controller = GetTestableVehicleController(); ActionResult result = controller.Edit(form, vehicle, null); Assert.IsType <RedirectToRouteResult>(result); var redirect = (RedirectToRouteResult)result; Assert.Equal("Details", redirect.RouteValues["action"]); Assert.Equal("Vehicle", redirect.RouteValues["controller"]); }