示例#1
0
        public void CheckIfCreateNewProductWorks()
        {
            // Arrange
            var productsController = new ProductsController()
            {
                Request = new HttpRequestMessage
                {
                    RequestUri = new Uri("http://localhost:44382/api/product")
                },
                Configuration = new HttpConfiguration()
            };

            try
            {
                // Act
                Product product = new Product()
                {
                    ProductId = 1, Brand = "Test", Title = "Test", Description = "Test", PurchasePrice = 100, RetailPrice = 1000, Gender = "Male"
                };
                var response = productsController.CreateNewProduct(product);

                // Assert
                Assert.IsTrue(response.IsSuccessStatusCode);
                Assert.AreEqual("Test", product.Title);
            }
            catch (Exception)
            {
                Assert.Fail();
            }
        }
        public void Get_CreateNewProduct_ReturnsAViewResult()
        {
            // Arrange
            var categories = new List <Category>()
            {
                new Category
                {
                    CategoryId   = 1,
                    CategoryName = "TestName1",
                },
                new Category
                {
                    CategoryId   = 2,
                    CategoryName = "TestName2",
                }
            };
            var suppliers = new List <Supplier>()
            {
                new Supplier
                {
                    SupplierId  = 1,
                    CompanyName = "TestCompanyName1",
                },
                new Supplier
                {
                    SupplierId  = 2,
                    CompanyName = "TestCompanyName2",
                }
            };

            var loggerMock           = Mock.Of <ILogger <ProductsController> >();
            var productServiceMock   = new Mock <IProductService>();
            var categoryServiceMock  = new Mock <ICategoryService>();
            var supplierServiceMock  = new Mock <ISupplierService>();
            var configurationService = new Mock <IConfigurationService>();

            categoryServiceMock.Setup(repo => repo.GetCategories()).Returns(categories.AsQueryable());
            supplierServiceMock.Setup(repo => repo.GetSuppliers()).Returns(suppliers.AsQueryable());

            var controller = new ProductsController(
                productServiceMock.Object,
                supplierServiceMock.Object,
                categoryServiceMock.Object,
                configurationService.Object,
                loggerMock);

            // Act
            var result = controller.CreateNewProduct();

            // Assert
            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsAssignableFrom <Product>(viewResult.ViewData.Model);

            Assert.Equal(2, model.Suppliers.Count());
            Assert.Equal(2, model.Categories.Count());
        }
        public void Put_CreateNewProduct_ReturnsRedirect()
        {
            // Arrange
            var categories = new List <Category>()
            {
                new Category
                {
                    CategoryId   = 1,
                    CategoryName = "TestName1",
                },
                new Category
                {
                    CategoryId   = 2,
                    CategoryName = "TestName2",
                }
            };
            var suppliers = new List <Supplier>()
            {
                new Supplier
                {
                    SupplierId  = 1,
                    CompanyName = "TestCompanyName1",
                },
                new Supplier
                {
                    SupplierId  = 2,
                    CompanyName = "TestCompanyName2",
                }
            };

            var loggerMock           = Mock.Of <ILogger <ProductsController> >();
            var productServiceMock   = new Mock <IProductService>();
            var categoryServiceMock  = new Mock <ICategoryService>();
            var supplierServiceMock  = new Mock <ISupplierService>();
            var configurationService = new Mock <IConfigurationService>();

            categoryServiceMock.Setup(repo => repo.GetCategories()).Returns(categories.AsQueryable());
            supplierServiceMock.Setup(repo => repo.GetSuppliers()).Returns(suppliers.AsQueryable());
            productServiceMock.Setup(repo => repo.CreateProduct(It.IsAny <Product>())).Returns(true);

            var controller = new ProductsController(
                productServiceMock.Object,
                supplierServiceMock.Object,
                categoryServiceMock.Object,
                configurationService.Object,
                loggerMock);

            // Act
            var result = controller.CreateNewProduct(new Product());

            // Assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Index", redirectToActionResult.ActionName);
        }
        public void CreateNewProductReturnsProductPresentation()
        {
            var controller = new ProductsController();

            SetUpProductServices();

            var fakePresentation = Isolate.Fake.Instance <IProductPresentation>();

            Isolate.NonPublic.WhenCalled(typeof(ProductsController), "GetProductPresentation").WillReturn(fakePresentation);

            var result = controller.CreateNewProduct();

            Assert.IsNotNull(ActionResultParser.GetValueFromActionResult <IProductPresentation>(result, "data"));
        }
        public void CreateNewProductCallsProductServicesNewProduct()
        {
            var controller            = new ProductsController();
            IProductServices services = SetUpProductServices();

            try
            {
                controller.CreateNewProduct();
                Isolate.Verify.WasCalledWithAnyArguments(() => services.CreateProduct());
            }
            catch (VerifyException)
            {
                Assert.Fail("ProductsController did not call ProductsServices.CreateNewProduct");
            }
        }
示例#6
0
        private void btn_create_Click(object sender, EventArgs e)
        {
            String malefemale = "";

            if (rb_female.Checked)
            {
                malefemale = "Female";
            }
            else
            {
                malefemale = "Male";
            }
            Product p = new Product(0, txt_brand.Text, txt_title.Text, txt_description.Text, decimal.Parse(txt_purchaseprice.Text), decimal.Parse(txt_retailprice.Text), null, malefemale);

            productsController.CreateNewProduct(p);
            this.Close();
        }