public async Task Post_ReturnsCreated() { var productId = Guid.NewGuid(); var createProductRequest = new CreateUpdateProductResource { Name = "boom", Description = "shaka" }; var product = new Product() { Id = productId }; _productService .Setup(call => call.CreateProduct(It.IsAny <Product>())) .Returns(Task.FromResult(product)) .Verifiable(); var result = await _productsController.Post(createProductRequest); var createdResult = result.Result as CreatedAtActionResult; Assert.That(createdResult, Is.Not.Null); Assert.That(((ProductResource)createdResult.Value).Id, Is.EqualTo(productId)); Assert.That(createdResult.ActionName, Is.EqualTo("Get")); }
public async Task <ActionResult <ProductResource> > Post(CreateUpdateProductResource productCreateResource) { var product = _mapper.Map <CreateUpdateProductResource, Product>(productCreateResource); var newProduct = await _productService.CreateProduct(product); var productResource = _mapper.Map <Product, ProductResource>(newProduct); return(CreatedAtAction(nameof(Get), new { newProduct.Id }, productResource)); }
public async Task <ActionResult> Update(Guid id, CreateUpdateProductResource productResource) { var original = await _productService.GetProductById(id); if (original == null) { return(NotFound()); } var productToUpdate = _mapper.Map <CreateUpdateProductResource, Product>(productResource); await _productService.UpdateProduct(id, productToUpdate); return(NoContent()); }