public async Task Atualizar_Fornecedor_Update()
        {
            var fornecedorId = 1;

            var model = new FornecedorRequestModel()
            {
                Endereco = new EnderecoTests()
                {
                    Rua         = "Carmello Bogo",
                    Cidade      = "Blumenau",
                    Bairro      = "Ponta Aguda",
                    CEP         = "89050020",
                    Numero      = "270",
                    Complemento = "502",
                    UF          = "SC",
                },
                RazaoSocial  = "Casas Bahia",
                CNPJ         = "89.096.092/0001-69",
                NomeFantasia = "Casas Bahia a casa da familia",
                Telefone     = "47991085345",
                Email        = "*****@*****.**",
            };

            var fornecedor = new FornecedorBuilderTest()
                             .ComRazaoSocial("barbara Cosmeticos")
                             .ComCNPJ("97.598.988/0001-74")
                             .ComNomeFantasia("Claudio")
                             .ComBairro("Ponta Aguda")
                             .ComCidade("Blumenau")
                             .ComRua("rua Paraguay")
                             .ComNumero("270")
                             .ComComplemento("Apto 502")
                             .ComUF("SC")
                             .ComCEP("89050020")
                             .ComEmail("*****@*****.**")
                             .ComTelefone("433222335")
                             .ComId(fornecedorId)
                             .Build();

            _fornecedorRepository.GetById(fornecedorId).Returns(fornecedor);
            _fornecedorRepository.ExisteFornecedorComEsseCnpj(fornecedor.CNPJ, fornecedorId).Returns(false);
            var fornecedorRetornado = await _fornecedorServices.Update(fornecedorId, model);

            await _fornecedorRepository.Received(1).Update(Arg.Is <FornecedorEntity>(args =>
                                                                                     args.RazaoSocial == model.RazaoSocial &&
                                                                                     args.CNPJ == model.CNPJ &&
                                                                                     args.NomeFantasia == model.NomeFantasia &&
                                                                                     args.Endereco.Rua == model.Endereco.Rua &&
                                                                                     args.Endereco.Bairro == model.Endereco.Bairro &&
                                                                                     args.Endereco.Cidade == model.Endereco.Cidade &&
                                                                                     args.Endereco.Numero == model.Endereco.Numero &&
                                                                                     args.Endereco.Complemento == model.Endereco.Complemento &&
                                                                                     args.Endereco.UF == model.Endereco.UF &&
                                                                                     args.Endereco.CEP == model.Endereco.CEP &&
                                                                                     args.Telefone == model.Telefone &&
                                                                                     args.Email == model.Email));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Update([FromRoute] int id, [FromBody] FornecedorRequestModel model)
        {
            try
            {
                await _fornecedorService.Update(id, model);

                return(Ok("Fornecedor Atualizado com sucesso."));
            }
            catch (FornecedorException ex)
            {
                return(BadRequest(ex.Errors));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }