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); }