public void WhenJsonDetailsCalled_ThenReturnsVehicle()
        {
            var vehicle = new Vehicle
            {
                VehicleId = DefaultVehicleId,
                Name      = "test",
                MakeName  = "make",
                ModelName = "model",
                Year      = 2010,
                PhotoId   = 12,
                SortOrder = 1,
                Fillups   = new List <FillupEntry>()
            };

            MockHandlerFor(
                () => new Mock <GetVehicleById>(null),
                x => x
                .Setup(h => h.Execute(It.IsAny <int>(), DefaultVehicleId))
                .Returns(new VehicleModel(vehicle, new VehicleStatisticsModel())));

            MockHandlerFor(
                () => new Mock <GetOverdueRemindersForVehicle>(null),
                x => x
                .Setup(h => h.Execute(DefaultVehicleId, It.IsAny <DateTime>(), 0))
                .Returns(new List <ReminderSummaryModel> {
                new ReminderSummaryModel(new Reminder(), isOvedue: true)
            }));

            TestableVehicleController controller = GetTestableVehicleController();

            JsonResult result = controller.JsonDetails(DefaultVehicleId);
            var        data   = (JsonVehicleViewModel)result.Data;

            Assert.Equal(DefaultVehicleId, data.VehicleId);
            Assert.Equal("test", data.Name);
            Assert.Equal("make", data.MakeName);
            Assert.Equal("model", data.ModelName);
            Assert.Equal(2010, data.Year);
            Assert.Equal(12, data.PhotoId);
            Assert.Equal(1, data.SortOrder);
            Assert.NotEmpty(data.OverdueReminders);
        }