public void ProductItem_ReturnsProductsItemById_NotFound() { // 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 = 1 }, new Product { ProductId = 5, Name = "N5", Description = "D1", Price = 10, ProductCategory = productCategoryMock.Object, ProductCategoryId = 1 } }; mock.Setup(repo => repo.GetProducts()).Returns(products.AsQueryable <Product>()); var controller = new ProductApiController(mock.Object); // act var result = controller.ProductItem(1231312); // assert Assert.IsType <NotFoundResult>(result.Result); }
public void ProductItem_ReturnsProductsItemById_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 = 2 }, new Product { ProductId = 3, Name = "N3", Description = "D1", Price = 10, ProductCategory = productCategoryMock.Object, ProductCategoryId = 3 }, 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 } }; var productDTO = new ProductApiDTO() { ProductId = 1, Name = "N1", Description = "D1", Price = 10, ProductCategoryName = "C1", ProductCategoryId = 1 }; mock.Setup(repo => repo.GetProducts()).Returns(products.AsQueryable <Product>()); productCategoryMock.Setup(repo => repo.Name).Returns("C1"); productCategoryMock.Setup(repo => repo.ProductCategoryId).Returns(1); var controller = new ProductApiController(mock.Object); // act var result = controller.ProductItem(1); // assert Assert.IsType <ActionResult <ProductApiDTO> >(result); Assert.Equal(productDTO.ProductCategoryId, result.Value.ProductCategoryId); Assert.Equal(productDTO.ProductCategoryName, result.Value.ProductCategoryName); Assert.Equal(productDTO.ProductId, result.Value.ProductId); }