public void DeleteProduct(Product product) { _context.Products.Remove(product); _context.SaveChanges(); }
public void ChangeProduct(Product product) { _context.MarkAsModified(product); _context.SaveChanges(); }
public void InsertProduct(Product product) { _context.Products.Add(product); _context.SaveChanges(); }
public void Post_ShouldAddProductToRepo() { // Arrange var mockRepository = new Mock<IProductRepository>(); ProductsController controller = new ProductsController(mockRepository.Object); controller.Request = new HttpRequestMessage { RequestUri = new Uri(string.Format("http://{0}:{1}/api/inventory/products", "localhost", 65217)) }; controller.Configuration = new HttpConfiguration(); controller.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/inventory/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); controller.RequestContext.RouteData = new HttpRouteData( route: new HttpRoute(), values: new HttpRouteValueDictionary { { "controller", "products" } }); // Act Product product = new Product() { Id = "MyTitle", Title = "Product1" }; var actionResult = controller.Post(product); // Assert mockRepository.Verify(m => m.InsertProduct(It.Is<Product>(arg => arg.Id == "MyTitle"))); }
public void Post_ShouldSetRouteValues() { // Arrange var mockRepository = new Mock<IProductRepository>(); ProductsController controller = new ProductsController(mockRepository.Object); controller.Request = new HttpRequestMessage { RequestUri = new Uri(string.Format("http://{0}:{1}/api/inventory/products", "localhost", 65217)) }; controller.Configuration = new HttpConfiguration(); controller.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/inventory/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); controller.RequestContext.RouteData = new HttpRouteData( route: new HttpRoute(), values: new HttpRouteValueDictionary { { "controller", "products" } }); // Act Product product = new Product() { Id = "MyTitle", Title = "Product1" }; var actionResult = controller.Post(product); // Assert var response = actionResult as CreatedAtRouteNegotiatedContentResult<Product>; // Implementation uses WebAPI helper class to ensure that the response headers are set correct. // Only need to test that the ROute VAlues are configured Assert.IsNotNull(response); Assert.AreEqual("DefaultApi", response.RouteName); Assert.AreEqual("MyTitle", response.RouteValues["Id"]); mockRepository.Verify(m => m.InsertProduct(It.Is<Product>(arg => arg.Id == "MyTitle"))); }
public void MarkAsModified(Product item) { Entry(item).State = EntityState.Modified; }