public void WhenRequestingDashboard_ThenInvokeHandlers()
        {
            var list = MockHandlerFor(
                () => new Mock <GetVehicleListForUser>(null),
                mock => mock
                .Setup(h => h.Execute(defaultUser.UserId))
                .Returns(new VehicleModel[] {})
                .Verifiable("handler wasn't invoked.")
                );

            var reminders = MockHandlerFor(
                () => new Mock <GetImminentRemindersForUser>(null, null),
                mock => mock
                .Setup(h => h.Execute(defaultUser.UserId, It.IsAny <DateTime>(), NoVehicleSelectedId))
                .Verifiable("handler wasn't invoked.")
                );

            var statistics = MockHandlerFor(
                () => new Mock <GetFleetSummaryStatistics>(null),
                mock => mock
                .Setup(h => h.Execute(defaultUser.UserId))
                .Verifiable("handler wasn't invoked.")
                );

            TestableVehicleController controller = GetTestableVehicleController();

            ActionResult result = controller.List();

            Assert.IsType <ViewResult>(result);

            list.Verify();
            reminders.Verify();
            statistics.Verify();
        }
        public void WhenRequestingDashboard_ThenCountryListIsAddedToViewBag()
        {
            MockHandlers();

            TestableVehicleController controller = GetTestableVehicleController();
            ActionResult response = controller.List();

            var result = (ViewResult)response;

            Assert.NotNull(result.ViewBag.CountryList);
        }
        public void WhenRequestingDashboard_ThenReturnsUser()
        {
            MockHandlers();

            TestableVehicleController controller = GetTestableVehicleController();
            ActionResult result = controller.List();
            var          model  = result.Extract <DashboardViewModel>();

            Assert.NotNull(model);
            Assert.NotNull(model.User);
            Assert.Same(defaultUser, model.User);
        }