예제 #1
0
        public async Task Deve_Retornar_Erro_Quando_Tentar_Deletar_Um_Usuario_Com_Contatos_Vinculados_A_Ele()
        {
            var usuario = new Modelos.Usuario("xpto", "123", "usuario nome");

            var contato = new Modelos.Contato("Contato", "11 985478521", "11 45873214", "*****@*****.**", usuario);

            usuario.AdicionarContato(contato);

            _usuarios.Setup(repositorio => repositorio.ObterPorId(It.IsAny <int>()))
            .Returns(Task.FromResult(usuario));

            var resposta = await _servico.Deletar(1);

            resposta.Erro.Mensagem.Should().Be("Erro! Este usuário possui contatos vinculados.");
            resposta.Erro.StatusCode.Should().Be(400);
            resposta.Erro.GetType().Should().Be(typeof(ErroObjetoPossuiObjetosVinculados));
        }
예제 #2
0
        public async Task Deve_Deletar_Um_Contato()
        {
            var usuario = new Modelos.Usuario("", "", "");

            var contato = new Modelos.Contato(
                "Contato",
                "11 985478521",
                "11 45873214",
                "*****@*****.**",
                usuario
                );

            _contatos.Setup(repositorio => repositorio.ObterPorId(It.IsAny <int>()))
            .Returns(Task.FromResult(contato));

            var resposta = await _servico.Deletar(1);

            resposta.TemErro().Should().BeFalse();
        }
예제 #3
0
        public async Task Deve_Retornar_Um_Contato_Por_Id()
        {
            var usuario = new Modelos.Usuario("", "", "");

            var contato = new Modelos.Contato(
                "Contato",
                "11 985478521",
                "11 45873214",
                "*****@*****.**",
                usuario
                );

            _contatos.Setup(repositorio => repositorio.ObterPorId(It.IsAny <int>()))
            .Returns(Task.FromResult(contato));

            var resposta = await _servico.ObterPorId(1);

            var contatoEncontrado = resposta.Resultado;

            contatoEncontrado.Nome.Should().Be("Contato");
            contatoEncontrado.Celular.Should().Be("11 985478521");
            contatoEncontrado.Telefone.Should().Be("11 45873214");
            contatoEncontrado.Email.Should().Be("*****@*****.**");
        }
예제 #4
0
        public async Task Deve_Retornar_Todos_Os_Contatos_De_Um_Usuario()
        {
            var usuario = new Modelos.Usuario("usuario", "123", "usuário nome");
            var contato = new Modelos.Contato("Contato", "11 985478521", "11 45873214", "*****@*****.**", usuario);

            usuario.AdicionarContato(contato);

            _usuarios.Setup(repositorio => repositorio.ObterPorId(It.IsAny <int>()))
            .Returns(Task.FromResult(usuario));

            var resposta = await _servico.ListarPorUsuarioId(1);

            var contatos = resposta.Resultado;

            contatos.Should().HaveCountGreaterThan(0);
            contatos.ForEach((contato) =>
            {
                contato.GetType().GetProperty("Id").Should().NotBeNull();
                contato.GetType().GetProperty("Nome").Should().NotBeNull();
                contato.GetType().GetProperty("Telefone").Should().NotBeNull();
                contato.GetType().GetProperty("Celular").Should().NotBeNull();
                contato.GetType().GetProperty("Email").Should().NotBeNull();
            });
        }