示例#1
0
        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));
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }