public void UpdateProductTest() { // Arrange Product product = new Product(); product.ProductId = 1; product.SubCategoryId = 1025; product.ProductName = "dyd"; product.ModifiedOn = Convert.ToDateTime("12/13/2018"); product.ModifiedBy = 4; product.Price = 100; product.ProductDescription = "sf"; product.IsActive = true; product.Quantity = 5; ProductApiController controller = new ProductApiController(); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); // Act var response = controller.UpdateProduct(product); // Assert Assert.IsNotNull(response); Assert.IsNotNull(response.Content); Assert.AreEqual(System.Net.HttpStatusCode.OK, response.StatusCode); }
public void UpdateProduct_UpdatesExistingProductInDatabase_Ok() { // arrange var mock = new Mock <EFProductRepository>(); var productCategoryMock = new Mock <ProductCategory>(); var products = new Product[] { new Product { ProductId = 1, Name = "N1", Description = "D1", Price = 10, ProductCategory = productCategoryMock.Object, ProductCategoryId = 1 }, new Product { ProductId = 2, Name = "N2", Description = "D1", Price = 10, ProductCategory = productCategoryMock.Object, ProductCategoryId = 1 }, new Product { ProductId = 3, Name = "N3", Description = "D1", Price = 10, ProductCategory = productCategoryMock.Object, ProductCategoryId = 1 }, new Product { ProductId = 4, Name = "N4", Description = "D1", Price = 10, ProductCategory = productCategoryMock.Object, ProductCategoryId = 4 }, new Product { ProductId = 5, Name = "N5", Description = "D1", Price = 10, ProductCategory = productCategoryMock.Object, ProductCategoryId = 1 } }; Product productToInsert = new Product { ProductId = 4, Name = "Updated name", Description = "Updated description", Price = 10, ProductCategory = productCategoryMock.Object, ProductCategoryId = 4 }; mock.Setup(repo => repo.SaveProduct(It.IsAny <Product>())).Returns(productToInsert); productCategoryMock.Setup(repo => repo.Name).Returns("Updated category name"); productCategoryMock.Setup(repo => repo.ProductCategoryId).Returns(4); var controller = new ProductApiController(mock.Object); // act var result = controller.UpdateProduct(productToInsert); // assert Assert.Equal("Updated name", result.Value.Name); Assert.Equal(4, result.Value.ProductId); Assert.Equal("Updated category name", result.Value.ProductCategory.Name); Assert.Equal(4, result.Value.ProductCategory.ProductCategoryId); Assert.Equal(4, result.Value.ProductCategoryId); }