public ActionResult Details(int vehicleId, int id) { var reminder = Using <GetReminder>().Execute(id); var viewModel = new ReminderSummaryModel(reminder); return(new ContentTypeAwareResult(viewModel)); }
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()); }