コード例 #1
0
        public ActionResult Details(int vehicleId, int id)
        {
            var reminder  = Using <GetReminder>().Execute(id);
            var viewModel = new ReminderSummaryModel(reminder);

            return(new ContentTypeAwareResult(viewModel));
        }
コード例 #2
0
        public void WhenRequestingVehicleDetails_ThenSetsRemindersList()
        {
            const int selectedVehicleId = 99;
            const int odometer          = 15000;

            var vehicle = new VehicleModel(
                new Vehicle {
                VehicleId = selectedVehicleId
            },
                new VehicleStatisticsModel(0, 0, 0, 0, odometer, 0)
                );

            var reminder = new ReminderSummaryModel(new Reminder(), false);

            MockHandlerFor(
                () => new Mock <GetVehicleListForUser>(null),
                m => m.Setup(h => h.Execute(defaultUser.UserId))
                .Returns(new[] { vehicle }));

            Mock <GetOverdueRemindersForVehicle> handler = MockHandlerFor(
                () => new Mock <GetOverdueRemindersForVehicle>(null),
                m => m.Setup(h => h.Execute(selectedVehicleId, It.IsAny <DateTime>(), odometer))
                .Returns(new[] { reminder })
                .Verifiable("Did not get overdue reminders.")
                );

            TestableVehicleController controller = GetTestableVehicleController();
            ActionResult result = controller.Details(selectedVehicleId);

            var model = result.Extract <VehicleDetailsViewModel>();

            handler.Verify();
            Assert.NotNull(model.OverdueReminders);
            Assert.Same(reminder, model.OverdueReminders.First());
        }