public void CreateProductShouldReturnTheCreatedProduct() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "CreateProduct_Product_Database") .Options; var dbContext = new ApplicationDbContext(options); var imageService = new Mock <IImageService>(); imageService.Setup(x => x.AddImageToProduct(It.IsAny <IFormFile>())).Returns(new ProductImage() { PublicId = "PublicId", Id = Convert.ToString(Guid.NewGuid()), ImageUrl = "http://www.url.com/", }); var productsService = new ProductsService(dbContext, null, imageService.Object); var product = productsService.CreateProduct("Topka", "Kon", 123, GenerateFile(), "Mlqko"); Assert.IsType <Product>(product); Assert.Equal("Topka", product.Name); }
public async Task CreateProductShouldWork() { var productRepo = new Mock <IRepository <Product> >(); var products = new List <Product> { new Product(), new Product() }; productRepo.Setup(r => r.All()).Returns(products.AsQueryable()); productRepo.Setup(r => r.AddAsync(It.IsAny <Product>())).Returns <Product>(Task.FromResult) .Callback <Product>(p => products.Add(p)); var userRepo = new Mock <IRepository <User> >(); userRepo.Setup(r => r.All()).Returns(new List <User> { new User { UserName = "******" } }.AsQueryable()); var service = new ProductsService(productRepo.Object, userRepo.Object, null); var newProduct = new Product { Id = Guid.NewGuid() }; await service.CreateProduct(newProduct, "stamat"); Assert.Equal(3, products.Count); Assert.Contains(products, p => p.Id == newProduct.Id); productRepo.Verify(r => r.AddAsync(newProduct), Times.Once); }
public ActionResult Create(CreateProductRequest request) { if (ModelState.IsValid) { _productsService.CreateProduct(request); return(RedirectToAction("Index")); } return(View(request)); }
public IActionResult CreateProduct([FromBody] ProductCreateModel productCreateModel) { try { var createdProduct = ProductsService.CreateProduct(productCreateModel); return(CreatedAtAction("GetProductById", new { Id = createdProduct.Id }, createdProduct)); } catch (Exception e) { Logger.LogCritical(e, "Error while creating new product"); return(StatusCode(500)); } }
public async Task <ActionResult <Product> > CreateProduct([FromBody] Product newProduct) { try { Profile userInfo = await HttpContext.GetUserInfoAsync <Profile>(); newProduct.CreatorId = userInfo.Id; Product created = _pts.CreateProduct(newProduct); return(Ok(created)); } catch (System.Exception e) { return(BadRequest(e.Message)); } }
public void Stage006_CreateProductTest() { var productRepo = new ProductsService(); var input = new Product { Name = "Nokia", Description = "Best phone ever", Price = 14576.99M, DeliveryPrice = 45.98M }; productRepo.CreateProduct(input); var output = productRepo.GetAllProductsByName("Nokia"); Assert.IsNotNull(output); Assert.AreEqual("Nokia", output.Items[0].Name); }
public ActionResult Product_Create(int categoryID, [DataSourceRequest] DataSourceRequest request, Product product) { try { if (product != null && ModelState.IsValid) { _productService.CreateProduct(product, categoryID); } return(Json(new[] { product }.ToDataSourceResult(request, ModelState))); } catch (Exception) { return(Json(new DataSourceResult { Errors = "A server error has occurred!" })); } }