Ejemplo n.º 1
0
        public void DeveInserirTelefone()
        {
            var pessoaRepository = Substitute.For <PessoaRepository>((ISession)null);

            pessoaRepository.PorId(1)
            .Returns(new Pessoa
            {
                Id        = 1,
                Nome      = "Fulano",
                Telefones = new List <Telefone>()
            });

            pessoaRepository.Atualizar(Arg.Any <Pessoa>());

            var telefoneNegocio = new TelefoneNegocio(pessoaRepository, Mapper.Instance);

            var telefoneDto = new TelefoneDTO
            {
                DDD    = "85",
                Numero = "333334444"
            };

            telefoneNegocio.Adicionar(1, telefoneDto);

            pessoaRepository.Received(1).PorId(1);
            pessoaRepository.Received(1).Atualizar(Arg.Any <Pessoa>());
        }
Ejemplo n.º 2
0
        public void DeveLancarExcecaoAoInserirTelefoneDePessoaInexistente()
        {
            var pessoaRepository = Substitute.For <PessoaRepository>((ISession)null);

            pessoaRepository.PorId(1).Returns((Pessoa)null);


            var telefoneNegocio = new TelefoneNegocio(pessoaRepository, Mapper.Instance);


            Assert.Throws <PessoaNaoEncontradaException>(() => telefoneNegocio.Adicionar(1, null));
        }
Ejemplo n.º 3
0
        public IHttpActionResult Post(int idPessoa, [FromBody] TelefoneDTO telefoneDto)
        {
            if (idPessoa <= 0)
            {
                return(BadRequest("Informe um id válido"));
            }

            try {
                _telefoneNegocio.Adicionar(idPessoa, telefoneDto);
            } catch (PessoaNaoEncontradaException) {
                return(NotFound());
            }

            return(Created <PessoaDTO>($"api/pessoas/{idPessoa}/telefones", null));
        }