Пример #1
0
        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));
        }