public UpdatePizzaResponse UpdatePizza(UpdatePizzaRequest updatePizzaRequest) { UpdatePizzaResponse result = new UpdatePizzaResponse(); try { Pizza existingPizza = _pizzaRepository.FindBy(updatePizzaRequest.Id); if (existingPizza != null) { Pizza assignableProperties = AssignAvailablePropertiesToDomain(updatePizzaRequest.PizzaProperties); existingPizza.Name = assignableProperties.Name ?? existingPizza.Name; existingPizza.LaunchDate = assignableProperties.LaunchDate ?? existingPizza.LaunchDate; existingPizza.Price = assignableProperties.Price; existingPizza.PizzaRecipe = assignableProperties.PizzaRecipe ?? existingPizza.PizzaRecipe; ThrowExceptionIfPizzaIsInvalid(existingPizza); _pizzaRepository.Update(existingPizza); return(new UpdatePizzaResponse()); } else { GetStandardPizzaNotFoundException(); } } catch (Exception ex) { result.StatusCode = HttpStatusCode.InternalServerError; result.StatusDesciption = ex.Message; } return(result); }
public async void Update_Should_Return_Ok() { //Arrange var request = PizzaBuilder.UpdatePizzaRequest(); var response = new UpdatePizzaResponse(); //Act response.SetSucess(true); _mock.Setup(x => x.Update(request)).Returns(response); var result = _controller.Update(request) as OkResult; //Assert result.Should().NotBeNull("Retorno é null"); result.StatusCode.Should().Be(200, $"Status Code {result.StatusCode}"); }
//[SwaggerResponse(System.Net.HttpStatusCode.OK, Type = typeof(UpdateUserRequest))] public IActionResult Put(UpdatePizzaVM updatePizzaVM) { UpdatePizzaRequest req = new UpdatePizzaRequest(updatePizzaVM.Id) { PizzaProperties = new PizzaPropertiesVM() { Name = updatePizzaVM.Name, LaunchDate = updatePizzaVM.LaunchDate, Price = updatePizzaVM.Price, Ingredients = updatePizzaVM.Ingredients, CookingTime = updatePizzaVM.CookingTime, Description = updatePizzaVM.Description } }; UpdatePizzaResponse updatePizzaResponse = _pizzaService.UpdatePizza(req); return(Ok(updatePizzaResponse)); }