public void DeleteProduct_ShouldFailWhenThereIsStock() { //Arrange var context = new TestStoreAppContext(); var item = GetDemoProduct(); context.Products.Add(item); //Act var controller = new ProductsController(context); var badresult = controller.DeleteProduct(item.Id); //Assert Assert.IsInstanceOfType(badresult, typeof(BadRequestErrorMessageResult)); }
public void GetProduct_ShouldReturnProductWithSameID() { //Arrange var context = new TestStoreAppContext(); context.Products.Add(GetDemoProduct()); //Act var controller = new ProductsController(context); var result = controller.GetProduct(1) as OkNegotiatedContentResult <Product>; //Assert Assert.IsNotNull(result); Assert.AreEqual(1, result.Content.Id); }
private static TestStoreAppContext GetDemoContext() { var context = new TestStoreAppContext(); context.Products.Add(new Product { Id = 1, ProductName = "Tomato Soup", Category = "Groceries", Price = 1, StockQuantity = 150 }); context.Products.Add(new Product { Id = 2, ProductName = "Yo-yo", Category = "Toys", Price = 3.75M, StockQuantity = 78 }); context.Products.Add(new Product { Id = 3, ProductName = "Hammer", Category = "Hardware", Price = 16.99M, StockQuantity = 0 }); return(context); }
public void DeleteProduct_ShouldReturnOK() { //Arrange var context = new TestStoreAppContext(); var item = GetDemoNoStockProduct(); context.Products.Add(item); //Act var controller = new ProductsController(context); var result = controller.DeleteProduct(item.Id) as OkNegotiatedContentResult <Product>; //Assert Assert.IsNotNull(result); Assert.AreEqual(item.Id, result.Content.Id); }
public void DeStockProduct_ShouldReturnStatusCodeWhenNoStock() { //Arrange var context = new TestStoreAppContext(); var item = GetDemoNoStockProduct(); context.Products.Add(item); var controller = new ProductsController(context); //Act var result = controller.PutDestockProduct(item.Id, 2) as StatusCodeResult; //Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(StatusCodeResult)); Assert.AreEqual(HttpStatusCode.NoContent, result.StatusCode); }