コード例 #1
0
        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);
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        public void WhenEditGetFormActionExecuted_ThenViewModelContainsVehicleListViewModel()
        {
            MockVehicleListWithVehicles();
            MockDefaultYearMakeModel();

            TestableVehicleController controller = GetTestableVehicleController();

            ActionResult result = controller.Edit(DefaultVehicleId);
            var          model  = result.Extract <VehicleAddViewModel>();

            Assert.IsType <VehicleAddViewModel>(model);
        }
コード例 #4
0
        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());
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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"]);
        }