Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }