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"); } }
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(); }