public void Create_Action_Redirect_To_Edit_With_New_Product() { AdminController controller = new AdminController(mockRepository.Object); var result = controller.Create(); Assert.AreEqual("Edit", result.ViewName); Assert.IsNotNull(result.ViewData.Model); }
public void Edit_Action_Display_Current_Product() { AdminController controller = new AdminController(mockRepository.Object); ViewResult results = controller.Edit(17); Product renderedProduct = (Product)results.ViewData.Model; Assert.AreEqual(17, renderedProduct.ProductID); Assert.AreEqual("Product 17", renderedProduct.Name); }
public void Edit_Action_Saves_Product_To_Repository_And_Redirects_To_Index() { AdminController controller = new AdminController(mockRepository.Object); Product product = new Product(); var result = (RedirectToRouteResult)controller.Edit(product, null); mockRepository.Verify(x => x.SaveProduct(product)); Assert.AreEqual("Index", result.RouteValues["action"]); }
public void Delete_Action_Deletes_Product_Then_Redirects_To_Index() { AdminController controller = new AdminController(mockRepository.Object); Product product = mockRepository.Object.Products.First(p => p.ProductID == 24); RedirectToRouteResult result = controller.Delete(24); Assert.AreEqual("Index", result.RouteValues["action"]); Assert.AreEqual("Product 24 has been deleted.", controller.TempData["message"]); mockRepository.Verify(x => x.DeleteProduct(product)); }
public void Index_Action_Lists_All_Products() { AdminController controller = new AdminController(mockRepository.Object); ViewResult results = controller.Index(); Assert.IsEmpty(results.ViewName); var productsRendered = (List<Product>)results.ViewData.Model; Assert.AreEqual(50, productsRendered.Count); for (int i = 0; i < 50; i++) Assert.AreEqual("Product " + (i + 1), productsRendered[i].Name); }