Ejemplo n.º 1
0
        public void Patch_Success_Test()
        {
            var person = _faker.Person;
            var id     = Guid.NewGuid();
            var tels   = new List <Telefone> {
                new Telefone("+55", "11", "90000-0000", id)
            };
            var endereco    = new Endereco("Rua", 10, "00000-000", "apto", "bairro", "cidade", "sp", Cadastro.Domain.Enums.TipoEnderecoEnum.Residencial, id);
            var funcionario = new Funcionario(id.ToString(), "matricular", "cargo",
                                              new Nome(person.FirstName, person.LastName),
                                              new DataNascimento(new System.DateTime(1987, 08, 14)),
                                              new Email(person.Email), tels, endereco, endereco);


            var funcionarioReq = new FuncionarioRequest()
            {
                Ativo          = funcionario.Ativo,
                Cargo          = funcionario.Cargo,
                DataNascimento = funcionario.DataNascimento.Date,
                Email          = funcionario.Email.ToString(),
                Matricula      = funcionario.Matricula,
                Nome           = funcionario.Nome.PrimeiroNome,
                SobreNome      = funcionario.Nome.SobreNome,
                UserId         = funcionario.UserId,
                Telefones      = funcionario.Telefones.Select(x => new TelefoneRequest
                {
                    DDI      = x.DDI,
                    Telefone = $"{x.DDD}{x.NumeroTelefone}"
                }).ToList(),
                EnderecoResidencial = new EnderecoRequest
                {
                    Rua         = funcionario.EnderecoResidencial?.Rua,
                    Numero      = funcionario.EnderecoResidencial?.Numero,
                    CEP         = funcionario.EnderecoResidencial?.CEP,
                    Complemento = funcionario.EnderecoResidencial?.Complemento,
                    Bairro      = funcionario.EnderecoResidencial?.Bairro,
                    Cidade      = funcionario.EnderecoResidencial?.Cidade,
                    UF          = funcionario.EnderecoResidencial?.UF,
                },
                EnderecoComercial = new EnderecoRequest
                {
                    Rua         = funcionario.EnderecoComercial?.Rua,
                    Numero      = funcionario.EnderecoComercial?.Numero,
                    CEP         = funcionario.EnderecoComercial?.CEP,
                    Complemento = funcionario.EnderecoComercial?.Complemento,
                    Bairro      = funcionario.EnderecoComercial?.Bairro,
                    Cidade      = funcionario.EnderecoComercial?.Cidade,
                    UF          = funcionario.EnderecoComercial?.UF,
                }
            };

            _service.Setup(x => x.Atualizar(It.IsAny <Funcionario>(), It.IsAny <string>())).Returns(true);
            var controller = new FuncionarioController(_logger.Object, _service.Object);

            var result = controller.Patch(correlationId: Guid.NewGuid(), funcionarioReq) as OkObjectResult;

            _service.Verify(x => x.Atualizar(It.IsAny <Funcionario>(), It.IsAny <string>()), Times.Once);
            result.StatusCode.Should().Be(200);
            _outputHelper.WriteLine($"Expected: {200} Received: {result.StatusCode}");
        }