public async Task <Dominio.Servicos.Resposta <Modelos.Contato> > Salvar(DTOs.NovoContato dadosContato) { var resposta = new Resposta <Modelos.Contato>(); var usuario = await _usuarios.ObterPorId(dadosContato.UsuarioId); if (usuario == null) { resposta.Erro = new ErroObjetoNaoEncontrado("Usuário"); } else { var contato = new Fabricas.Contato().Nome(dadosContato.Nome) .Celular(dadosContato.Celular) .Telefone(dadosContato.Telefone) .Email(dadosContato.Email) .Usuario(usuario) .Criar(); contato.Id = await _contatos.Salvar(contato); resposta.Resultado = contato; } return(resposta); }
public async Task Deve_Cadastrar_Um_Contato_Quando_Enviar_Dados_Certos() { var contato = new DTOs.NovoContato { Nome = "Contato", Telefone = "11 45873214", Celular = "11 985478521", Email = "*****@*****.**", UsuarioId = 1 }; _usuarios.Setup(repositorio => repositorio.ObterPorId(It.IsAny <int>())) .Returns(Task.FromResult(new Modelos.Usuario("", "", ""))); _contatos.Setup(repositorio => repositorio.Salvar(It.IsAny <Modelos.Contato>())) .Returns(Task.FromResult(1)); var resposta = await _servico.Salvar(contato); var contatoCadastrado = resposta.Resultado; contatoCadastrado.Id.Should().NotBe(0); contatoCadastrado.Nome.Should().Be("Contato"); contatoCadastrado.Telefone.Should().Be("11 45873214"); contatoCadastrado.Celular.Should().Be("11 985478521"); contatoCadastrado.Email.Should().Be("*****@*****.**"); }
public async Task Deve_Retornar_Erro_Quando_Tentar_Cadastrar_Um_Contato_Em_Um_Usuario_Inexistente() { var contato = new DTOs.NovoContato { Nome = "Contato", Telefone = "11 45873214", Celular = "11 985478521", Email = "*****@*****.**", UsuarioId = 1 }; var resposta = await _servico.Salvar(contato); resposta.Erro.Mensagem.Should().Be("Usuário não encontrado(a)!"); resposta.Erro.StatusCode.Should().Be(404); resposta.Erro.GetType().Should().Be(typeof(ErroObjetoNaoEncontrado)); }
public async Task <IActionResult> Post([FromHeader(Name = "Authorization")] string token, [FromBody] DTOs.NovoContato dadosContato, [FromRoute] int usuarioId) { var tokenEhValido = await _servico.ValidarToken(token); if (tokenEhValido) { dadosContato.UsuarioId = usuarioId; var resposta = await _servicoContato.Salvar(dadosContato); if (resposta.TemErro()) { return(StatusCode(resposta.Erro.StatusCode, new { resposta.Erro.Mensagem })); } var id = resposta.Resultado.Id; return(Created($"/contatos/{id}", new { Id = id })); } return(Unauthorized()); }