public async Task Clientes_Post_Return_BadRequest()
        {
            #region Dados do teste

            //criando um objeto Cliente vazio (campos em branco)
            var cliente = new ClientePostRequest
            {
                Enderecos = new List <EnderecoPostRequest>()
            };

            #endregion

            #region Realizando a chamada para a API

            //criando a requisição (dados em formato JSON) que serão enviados para a API
            var request = new StringContent(JsonConvert.SerializeObject(cliente),
                                            Encoding.UTF8, "application/json");

            //executando a chamada para a API (método assincrono -> THREAD)
            var response = await httpClient.PostAsync("api/clientes", request);

            //verificando se o retorno obtido da API foi STATUS BAD REQUEST
            response.StatusCode
            .Should()
            .Be(HttpStatusCode.BadRequest);

            #endregion
        }
        public async Task Clientes_Post_Return_OK()
        {
            #region Dados do teste

            //gerando um numero randomico
            var random = new Random().Next(99999, 999999);

            //dados do cliente
            var cliente = new ClientePostRequest
            {
                Nome             = "Cliente Teste",
                Email            = $"cliente_teste{random}@gmail.com",
                Cpf              = $"12345{random}",
                Senha            = "admin@123",
                SenhaConfirmacao = "admin@123",
                Enderecos        = new List <EnderecoPostRequest>()
            };

            //adicionando endereços ao cliente
            cliente.Enderecos.Add(new EnderecoPostRequest
            {
                Logradouro  = "Av Rio Branco",
                Numero      = "185",
                Complemento = "Sala 225",
                Bairro      = "Centro",
                Cidade      = "Rio de Janeiro",
                Estado      = "RJ",
                Cep         = "25000000"
            });

            cliente.Enderecos.Add(new EnderecoPostRequest
            {
                Logradouro  = "Av Pres Vargas",
                Numero      = "100",
                Complemento = "Sala 210",
                Bairro      = "Centro",
                Cidade      = "Rio de Janeiro",
                Estado      = "RJ",
                Cep         = "24000000"
            });

            #endregion

            #region Realizando a chamada para a API

            //criando a requisição (dados em formato JSON) que serão enviados para a API
            var request = new StringContent(JsonConvert.SerializeObject(cliente),
                                            Encoding.UTF8, "application/json");

            //executando a chamada para a API (método assincrono -> THREAD)
            var response = await httpClient.PostAsync("api/clientes", request);

            //verificando se o retorno obtido da API foi STATUS OK (SUCESSO)
            response.StatusCode
            .Should()
            .Be(HttpStatusCode.OK);

            #endregion
        }
Beispiel #3
0
        public IActionResult Post(ClientePostRequest request,
                                  [FromServices] ClienteDomainService clienteDomainService)
        {
            try
            {
                var cliente = new Cliente
                {
                    IdCliente = Guid.NewGuid(),
                    Nome      = request.Nome,
                    Email     = request.Email,
                    Cpf       = request.Cpf,
                    Senha     = request.Senha
                };

                var enderecos = new List <Endereco>();

                foreach (var item in request.Enderecos)
                {
                    enderecos.Add(new Endereco
                    {
                        IdEndereco  = Guid.NewGuid(),
                        Logradouro  = item.Logradouro,
                        Numero      = item.Numero,
                        Complemento = item.Complemento,
                        Bairro      = item.Bairro,
                        Cidade      = item.Cidade,
                        Estado      = item.Estado,
                        Cep         = item.Cep
                    });
                }

                clienteDomainService.CadastrarCliente(cliente, enderecos);

                var response = new PostOkResponse
                {
                    Mensagem = "Cliente cadastrado com sucesso."
                };

                return(Ok(response));
            }
            catch (EmailDeveSerUnicoException e)
            {
                return(StatusCode(403, e.Message));
            }
            catch (Exception)
            {
                return(StatusCode(500, "Não foi possível realizar o cadastro do cliente."));
            }
        }