public void SaveNewFoodLogEntryTest() { FoodLogEntry savedFood = null; bool createCalled = false; var fakeRepo = new StubIFoodLogEntryRepository() { CreateFoodLogEntry = (food) => { savedFood = food; createCalled = true; } }; var fakeFoodEntry = new FoodLogEntry { Id = 12 }; var controller = new FoodLogEntriesController(fakeRepo); var viewResult = controller.Create(fakeFoodEntry) as RedirectToRouteResult; var redirectPage = viewResult.RouteValues["action"] as string; // assert that my create was called in my repo and that the save // object is correct Assert.IsTrue(createCalled); Assert.AreEqual(fakeFoodEntry, savedFood); Assert.AreEqual("Index", redirectPage); }
public void BrowseToCreatePageTest() { var controller = new FoodLogEntriesController(new StubIFoodLogEntryRepository()); var viewResult = controller.Create() as ViewResult; var viewModel = viewResult.Model as FoodLogEntry; // make sure model is correct Assert.AreEqual(1, viewModel.Quantity); Assert.AreEqual("Apple", viewModel.Description); Assert.AreEqual(Convert.ToDateTime("8/25/2105"), viewModel.MealTime); Assert.AreEqual(116, viewModel.Calories); Assert.AreEqual("fruit, snack", viewModel.Tags); Assert.AreEqual(Convert.ToDecimal("0.6"), viewModel.ProteinInGrams); Assert.AreEqual(Convert.ToDecimal("0.4"), viewModel.FatInGrams); Assert.AreEqual(Convert.ToDecimal("38.8"), viewModel.CarbohydratesInGrams); Assert.AreEqual(Convert.ToDecimal("2.0"), viewModel.SodiumInGrams); }
public void SaveNewFoodLogEntryBadModelStateTest() { using (ShimsContext.Create()) { ShimModelStateDictionary.AllInstances.IsValidGet = (self) => false; var foodLogEntry = new FoodLogEntry { Id = 10 }; var controller = new FoodLogEntriesController(new StubIFoodLogEntryRepository()); var viewResult = controller.Create(foodLogEntry) as ViewResult; var viewModel = viewResult.Model as FoodLogEntry; Assert.AreEqual("", viewResult.ViewName); Assert.AreEqual(foodLogEntry, viewModel); } }