public async Task <IActionResult> CreateProduct([FromBody] Product model) { var response = await _productsService.CreateProductAsync(model); if (response.IsSuccess) { return(Ok(response)); } return(BadRequest(response)); }
public async Task <ActionResult> CreateAsync(ProductInfo product) { if (ModelState.IsValid) { await ProductsService.CreateProductAsync(product); return(RedirectToAction("Index")); } return(View(product)); }
public async Task CreateProductShouldCreateNewProduct() { var options = new DbContextOptionsBuilder <WHMSDbContext>().UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; using var context = new WHMSDbContext(options); var product = new AddProductInputModel { ProductName = "Test Product", ShortDescription = "Test Product", }; await context.SaveChangesAsync(); var mockInventoryService = new Mock <IInventoryService>(); var service = new ProductsService(context, mockInventoryService.Object); var productId = await service.CreateProductAsync(product); var dbProduct = context.Products.FirstOrDefault(); Assert.Equal(dbProduct.Id, productId); Assert.True(context.Products.Count() == 1); }