コード例 #1
0
        public void WhenAddActionExecuted_ThenSelectListsPopulated()
        {
            var data = new Tuple <int[], string[], string[]>(
                new[] { 1, 2, 3, 4, 5 },
                new[] { "A", "B" },
                new[] { "i", "ii", "iii" }
                );

            MockVehicleList();

            MockHandlerFor(() => new Mock <GetYearsMakesAndModels>(null),
                           x => x
                           .Setup(h => h.Execute(null, null))
                           .Returns(data));

            TestableVehicleController controller = GetTestableVehicleController();
            var actual = (ViewResult)controller.Add();

            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());
        }
コード例 #2
0
        public void WhenAddActionExecuted_ThenVehicleListSetToCollapsed()
        {
            MockDefaultYearMakeModel();
            MockVehicleList();

            TestableVehicleController controller = GetTestableVehicleController();
            ActionResult result = controller.Add();
            var          model  = result.Extract <VehicleAddViewModel>();

            Assert.True(model.VehiclesList.IsCollapsed);
        }
コード例 #3
0
        public void WhenAddActionExecuted_ThenViewModelContainsVehicleListViewModel()
        {
            MockVehicleList();
            MockDefaultYearMakeModel();

            TestableVehicleController controller = GetTestableVehicleController();
            ActionResult result = controller.Add();
            var          model  = result.Extract <VehicleAddViewModel>();

            Assert.NotNull(model);
        }
コード例 #4
0
        public void WhenAddActionExecuted_ThenResultPopulated()
        {
            MockVehicleList();
            MockDefaultYearMakeModel();
            TestableVehicleController controller = GetTestableVehicleController();

            var actual = controller.Add() as ViewResult;

            Assert.NotNull(actual);
            Assert.Equal(string.Empty, actual.ViewName);
        }
コード例 #5
0
        public void WhenAddVehicleActionExecutedWithInvalidVehicle_ViewModelContainsVehicleFormViewModel()
        {
            MockVehicleList();
            MockDefaultYearMakeModel();

            TestableVehicleController controller = GetTestableVehicleController();

            controller.ModelState.AddModelError("bad", "bad");

            ActionResult result = controller.Add(new VehicleFormModel(), null, "Save");
            var          model  = result.Extract <VehicleFormModel>();

            Assert.NotNull(model);
        }
コード例 #6
0
        public void WhenAddVehicleActionExecutedWithInvalidVehicle_ThenVehicleListSetToCollapsed()
        {
            MockVehicleList();
            MockDefaultYearMakeModel();

            TestableVehicleController controller = GetTestableVehicleController();

            controller.ModelState.AddModelError("bad", "bad");

            ActionResult result = controller.Add(new FormCollection {
                { "Save", "true" }
            }, new VehicleFormModel(), null);
            var model = result.Extract <VehicleAddViewModel>();

            Assert.True(model.VehiclesList.IsCollapsed);
        }
コード例 #7
0
        public void WhenAddVehicleActionExecutedWithValidVehicle_ThenVehicleIsCreated()
        {
            var vehicleForm = new VehicleFormModel();

            MockVehicleList();
            MockDefaultYearMakeModel();

            MockHandlerFor(() => new Mock <CanAddVehicle>(null, null));
            var handler = MockHandlerFor(
                () => new Mock <CreateVehicle>(null, null),
                x => x
                .Setup(h => h.Execute(defaultUser.UserId, vehicleForm, null))
                .Verifiable("handler not invoked"));

            TestableVehicleController controller = GetTestableVehicleController();

            controller.Add(new FormCollection {
                { "Save", "true" }
            }, vehicleForm, null);

            handler.Verify();
        }
コード例 #8
0
        public void WhenAddVehicleActionExecutedWithValidVehicle_ThenRedirectsToDashboard()
        {
            var vehicleForm = new VehicleFormModel();

            MockVehicleList();
            MockDefaultYearMakeModel();

            MockHandlerFor(() => new Mock <CanAddVehicle>(null, null));
            MockHandlerFor(
                () => new Mock <CreateVehicle>(null, null),
                x => x.Setup(h => h.Execute(defaultUser.UserId, vehicleForm, null)));

            TestableVehicleController controller = GetTestableVehicleController();

            ActionResult result = controller.Add(new FormCollection {
                { "Save", "true" }
            }, vehicleForm, null);

            var redirect = (RedirectToRouteResult)result;

            Assert.Equal("Dashboard", redirect.RouteName);
        }