// POST: api/Pessoas
        public IHttpActionResult Post([FromBody] PessoaDTO pessoa)
        {
            int idInserido;

            try {
                idInserido = _pessoaNegocio.InserirPessoa(pessoa);
            } catch (CPFExistenteException e) {
                return(BadRequest(e.Message));
            }

            return(CreatedAtRoute <PessoaDTO>("DefaultApi", new { controller = "pessoas", id = idInserido }, null));
        }
        public void DeveLancarExcecaoAoInserirNovaPessoaComCpfJaExistente()
        {
            var pessoaRepository = Substitute.For <PessoaRepository>((ISession)null);

            pessoaRepository.Pequisa(null, "1").Returns(new List <Pessoa> {
                new Pessoa()
            });

            var pessoaNegocio = new PessoaNegocio(pessoaRepository, null);

            var pessoaDto = PessoaDto();

            pessoaDto.CPF = "1";
            Assert.Throws <CPFExistenteException>(() => pessoaNegocio.InserirPessoa(pessoaDto));
        }
        public void DeveInserirPessoa()
        {
            var pessoaRepository = Substitute.For <PessoaRepository>((ISession)null);

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

            var pessoaNegocio = new PessoaNegocio(pessoaRepository, Mapper.Instance);

            var pessoaDto = new PessoaDTO
            {
                Nome = "Fulano da Silva"
            };

            pessoaNegocio.InserirPessoa(pessoaDto);

            pessoaRepository.Received(1).Inserir(Arg.Any <Pessoa>());
        }