Exemplo n.º 1
0
        public void Add_a_new_product()
        {
            //Given
            var testProduct = new Product()
            {
                Name = "Product A"
            };
            var newProduct = new Product()
            {
                Name = "Product A"
            };
            var mockRepo = new Mock <IDataRepository <Product> >();

            mockRepo.Setup(repo => repo.Insert(newProduct)).Returns(testProduct);
            var controller = new Inventory.API.Controllers.ProductController(mockRepo.Object);

            //When
            var result = controller.AddProduct(newProduct);

            //Then
            var actionResult  = Assert.IsType <OkObjectResult>(result.Result);
            var productResult = Assert.IsType <Product>(actionResult.Value);

            Assert.Equal(testProduct.Name, productResult.Name);
            mockRepo.Verify(repo => repo.Insert(newProduct), Times.Once);
        }
Exemplo n.º 2
0
        public void Return_a_list_of_all_products()
        {
            //Given
            var products = new List <Product> {
                new Product()
                {
                    Name = "Product A"
                },
                new Product()
                {
                    Name = "Product B"
                }
            };
            var mockRepo = new Mock <IDataRepository <Product> >();

            mockRepo.Setup(repo => repo.Get()).Returns(products);
            var controller = new Inventory.API.Controllers.ProductController(mockRepo.Object);

            //When
            var result = controller.GetProducts();

            //Then
            Assert.Equal(2, result.ToList().Count());
            mockRepo.Verify(repo => repo.Get(), Times.Once);
        }
Exemplo n.º 3
0
        public void Update_an_existing_product()
        {
            //Given
            var mockRepo = new Mock <IDataRepository <Product> >();

            mockRepo.Setup(repo => repo.Delete("1"));
            var controller = new Inventory.API.Controllers.ProductController(mockRepo.Object);

            //When
            var result = controller.DeleteProduct("1");

            //Then
            Assert.IsType <OkObjectResult>(result);
            mockRepo.Verify(repo => repo.Delete("1"), Times.Once);
        }
Exemplo n.º 4
0
        public void Return_one_product_by_id()
        {
            //Given
            var product = new Product()
            {
                Name = "Product A"
            };
            var mockRepo = new Mock <IDataRepository <Product> >();

            mockRepo.Setup(repo => repo.Get("1")).Returns(product);
            var controller = new Inventory.API.Controllers.ProductController(mockRepo.Object);

            //When
            var result = controller.Get("1");

            //Then
            Assert.Equal(product.Id, result.Id);
            mockRepo.Verify(repo => repo.Get("1"), Times.Once);
        }