public ActionResult UpdateIngredient(int recipeId, int recipeStepId, int id, [FromBody] IngredientForUpdateDto ingredient) { if (!_homeBrewRepository.RecipeExists(recipeId)) { return(NotFound()); } if (!_homeBrewRepository.RecipeStepExists(recipeStepId)) { return(NotFound()); } var ingredientEntity = _homeBrewRepository .GetIngredientForRecipeStep(recipeStepId, id); if (ingredientEntity == null) { return(NotFound()); } _mapper.Map(ingredient, ingredientEntity); _homeBrewRepository.UpdateIngredient(ingredientEntity); _homeBrewRepository.Save(); return(NoContent()); }
public IActionResult Update(int id, IngredientForUpdateDto ingredientDto) { var ingredientToUpdate = _mapper.Map <Ingredient>(ingredientDto); _repo.Update(ingredientToUpdate); return(NoContent()); }
public IActionResult UpdateIngredient(int ingredientId, IngredientForUpdateDto ingredient) { var ingredientFromRepo = _ingredientRepository.GetIngredient(ingredientId); if (ingredientFromRepo == null) { return(NotFound()); } _mapper.Map(ingredient, ingredientFromRepo); _ingredientRepository.UpdateIngredient(ingredientFromRepo); _ingredientRepository.Save(); return(NoContent()); }
public void FullyUpdateIngredient_InvalidId_ReturnsNotFound() { // Arrange int invalidIngredientId = 2; var ingredientForUpdateDto = new IngredientForUpdateDto(); ingredientsServiceMock = new Mock <IIngredientsService>(); ingredientsServiceMock .Setup(m => m.GetById(invalidIngredientId)) .Returns(null as IngredientDto); ingredientsController = new IngredientsController(ingredientsServiceMock.Object, mapper); // Act var result = ingredientsController.FullyUpdateIngredient(invalidIngredientId, ingredientForUpdateDto); // Assert Assert.IsTrue(result.GetType() == typeof(NotFoundResult)); }
public void FullyUpdateIngredient_ValidIdAndValidData_ReturnsNoContent() { // Arrange int validIngredientId = 1; var ingredientForUpdateDto = new IngredientForUpdateDto(); ingredientsServiceMock = new Mock <IIngredientsService>(); ingredientsServiceMock .Setup(m => m.GetById(validIngredientId)) .Returns(new IngredientDto()); ingredientsController = new IngredientsController(ingredientsServiceMock.Object, mapper); // Act var result = ingredientsController.FullyUpdateIngredient(validIngredientId, ingredientForUpdateDto); // Assert Assert.IsTrue(result.GetType() == typeof(NoContentResult)); }
public void FullyUpdateIngredient_ValidIdAndInvalidData_ReturnsBadRequest() { // Arrange int validIngredientId = 1; var ingredientForUpdateDto = new IngredientForUpdateDto(); ingredientsServiceMock = new Mock <IIngredientsService>(); ingredientsServiceMock .Setup(m => m.GetById(validIngredientId)) .Returns(new IngredientDto()); ingredientsController = new IngredientsController(ingredientsServiceMock.Object, mapper); ingredientsController.ModelState.AddModelError("Some Key", "Some Error Message"); // Act var result = ingredientsController.FullyUpdateIngredient(validIngredientId, ingredientForUpdateDto); // Assert Assert.IsTrue(result.GetType() == typeof(BadRequestObjectResult)); }
public IActionResult FullyUpdateIngredient(int id, IngredientForUpdateDto ingredientForUpdateDto) { var ingredientToUpdate = ingredientsService.GetById(id); if (ingredientToUpdate == null) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var ingredientDtoWithNewValues = mapper.Map <IngredientDto>(ingredientForUpdateDto); ingredientsService.FullyUpdate(id, ingredientDtoWithNewValues); return(NoContent()); }