public async Task <ActionResult> UpdateProduct(int id, ProductSlim productToUpdate) { Product productUpdated = await _productsService.UpdateProduct(id, productToUpdate); if (productUpdated is null) { return(NotFound()); } return(Ok(productUpdated)); }
public async Task UpdateProduct_WithInvalidProductId_AndValidUpdateParams_ReturnsNotFound() { ProductSlim toUpdate = new ProductSlim { Name = "Updated" }; A.CallTo(() => _productsService.UpdateProduct(3, toUpdate)).Returns((Product)null); ActionResult returns = await _productController.UpdateProduct(3, toUpdate); A.CallTo(() => _productsService.UpdateProduct(A <int> ._, A <ProductSlim> ._)).MustHaveHappened(); Assert.AreEqual(returns.GetType(), typeof(NotFoundResult)); }
public async Task UpdateProduct_WithValidProductId_AndValidUpdateParams_ReturnsOk() { ProductSlim toUpdate = new ProductSlim { Name = "Updated" }; A.CallTo(() => _productsService.UpdateProduct(1, toUpdate)) .Returns(new Product { Price = _productsFixtures.Product1.Price, Name = toUpdate.Name, ProductCode = _productsFixtures.Product1.ProductCode }); ActionResult returns = await _productController.UpdateProduct(1, toUpdate); A.CallTo(() => _productsService.UpdateProduct(A <int> ._, A <ProductSlim> ._)).MustHaveHappened(); Assert.AreEqual(returns.GetType(), typeof(OkObjectResult)); }
/// <inheritdoc /> public async Task <Product> UpdateProduct(int id, ProductSlim product) { Product toUpdate = await GetProduct(id); if (toUpdate == default) { return(null); } toUpdate.Name = product.Name ?? toUpdate.Name; toUpdate.Price = product.Price ?? toUpdate.Price; EntityEntry <Product> updatedProduct = _context.Update(toUpdate); await _context.SaveChangesAsync(); return(updatedProduct.Entity); }