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);
        }
コード例 #2
0
        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);
        }