Exemplo n.º 1
0
        public void Can_Edit_Product()
        {
            var dbMock = SetupMock();

            var repo = new ProductRepository(dbMock.Object);

            var controller = new ProductsController(repo);

            controller.PutProduct(new Product { Id = 1, Name = "P2" });
            controller.GetProduct(1);
        }
Exemplo n.º 2
0
        public void Can_Add_Product()
        {
            var mock = CreateMockObject();
            var product = new Product{ Id = 1, Name = "Prod1", Category = "Gaming", Price = 255};
            var config = new HttpConfiguration();
            var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/products/1");
            var route = config.Routes.MapHttpRoute("DefaultApi", "api/products/{id}");
            mock.Setup(m => m.Add(It.IsAny<Product>())).Returns<Product>(m => new Product());

            ProductsController controller = new ProductsController(mock.Object);
            controller.Request = request;
            controller.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
            controller.Request.Properties[HttpPropertyKeys.HttpRouteDataKey] = route;
            var result = controller.PostProduct(product);

            mock.Verify(m => m.Add(It.IsAny<Product>()), Times.Once());
            Assert.AreEqual(System.Net.HttpStatusCode.Created, result.StatusCode);
        }
Exemplo n.º 3
0
        public void Can_Give_Products()
        {
            Mock<IProductRepository> mock = new Mock<IProductRepository>();

            mock.Setup(m => m.GetAll()).Returns(new Product[]
                {
                    new Product { Id = 1, Name = "Prod1"},
                    new Product { Id = 2, Name = "Prod2"},
                    new Product { Id=3, Name = "Prod3"},
                    new Product { Id= 4, Name = "Prod4"},
                    new Product{ Id=5, Name="Prod5"}
                }.AsEnumerable());

            ProductsController controller = new ProductsController(mock.Object);
            IEnumerable<Product> result = (IEnumerable<Product>)controller.GetAllProducts();

            Product[] prodArray = result.ToArray();
            Assert.IsTrue(prodArray.Length == 5);
            Assert.AreEqual(prodArray[0].Name, "Prod1");
            Assert.AreEqual(prodArray[4].Name, "Prod5");
        }