예제 #1
0
        public IActionResult AdicionarUsuario([FromBody] Usuario _usuario)
        {
            var resultado = _usuarioService.AdicionarUsuario(_usuario);

            if (resultado.ToLower() == "sucesso")
            {
                return(Ok(resultado));
            }
            else
            {
                return(BadRequest(resultado));
            }
        }
예제 #2
0
        private static void Main()
        {
            #region Thiago SRP - Solução
            Usuario user = new Usuario()
            {
                Codigo         = 15,
                CPF            = "15778847854",
                DataNascimento = new DateTime(1989, 08, 23),
                Email          = "*****@*****.**",
                Nome           = "Thiago Moura"
            };

            UsuarioService usuarioService = new UsuarioService();
            usuarioService.AdicionarUsuario(user);
            #endregion

            #region Thiago OCP - Solução
            Conta contaCorrente = new ContaCorrente()
            {
                Agencia     = 0380,
                NumeroConta = 0288345,
                Saldo       = 0
            };
            contaCorrente.Depositar(150m, "Thiago Moura");
            contaCorrente.Sacar(100m, "Thiago Moura");


            Conta contaPoupanca = new ContaPoupanca()
            {
                Agencia     = 0010,
                NumeroConta = 0000045,
                Saldo       = 0
            };
            contaPoupanca.Depositar(500m, "Alesandra Campos");
            contaPoupanca.Sacar(250m, "Alesandra Campos");
            #endregion

            #region Thiago LSP - Solução
            CalculoAreaCorreto.Calcular();
            #endregion

            Console.ReadKey();
        }
        public async Task AddSucesso()
        {
            var usuarioExternalService = Substitute.For <IUsuarioExternalService>();

            usuarioExternalService.GetByEmail(Arg.Is <string>("*****@*****.**"));
            usuarioExternalService.Adicionar(Arg.Any <Usuario>()).Returns(x => new Usuario {
                IdUsuario = 123
            });

            var usuarioService = new UsuarioService(usuarioExternalService, null);
            var usuario        = new Usuario()
            {
                Email      = "*****@*****.**",
                Nome       = "Fulano da Silva",
                Nascimento = DateTime.UtcNow.AddYears(-30),
                Senha      = "a123"
            };
            var novoUsuario = await usuarioService.AdicionarUsuario(usuario);

            Assert.Equal(123, novoUsuario.IdUsuario);
        }
        public async Task SenhaNull()
        {
            var usuarioService = new UsuarioService(null, null);
            var usuario        = new Usuario()
            {
                Email      = "*****@*****.**",
                Nome       = "Fulano da Silva",
                Nascimento = DateTime.UtcNow.AddYears(-30)
            };
            var exception = await Assert.ThrowsAsync <ValidationException>(async() => await usuarioService.AdicionarUsuario(usuario));

            Assert.Equal("Senha não informada", exception.Message);
        }
        public async Task DataNascimentoSupHoje()
        {
            var usuarioService = new UsuarioService(null, null);
            var usuario        = new Usuario()
            {
                Email      = "*****@*****.**",
                Nome       = "Fulano da Silva",
                Nascimento = DateTime.UtcNow.AddDays(1)
            };
            var exception = await Assert.ThrowsAsync <ValidationException>(async() => await usuarioService.AdicionarUsuario(usuario));

            Assert.Equal("Data de nascimento não é válida", exception.Message);
        }
        public async Task NomeInvalido()
        {
            var usuarioService = new UsuarioService(null, null);
            var usuario        = new Usuario()
            {
                Email = "*****@*****.**"
            };
            var exception = await Assert.ThrowsAsync <ValidationException>(async() => await usuarioService.AdicionarUsuario(usuario));

            Assert.Equal("Nome não informado", exception.Message);
        }
        public async Task EmailNaoValido()
        {
            var usuarioService = new UsuarioService(null, null);
            var usuario        = new Usuario()
            {
                Email = "naoevalido"
            };
            var exception = await Assert.ThrowsAsync <ValidationException>(async() => await usuarioService.AdicionarUsuario(usuario));

            Assert.Equal("Email não é válido", exception.Message);
        }
        public async Task UsuarioNull()
        {
            var usuarioService = new UsuarioService(null, null);
            var exception      = await Assert.ThrowsAsync <ValidationException>(async() => await usuarioService.AdicionarUsuario(null));

            Assert.Equal("Usuário não informado", exception.Message);
        }
        public async Task EmailDuplicado()
        {
            var usuarioExternalService = Substitute.For <IUsuarioExternalService>();

            usuarioExternalService.GetByEmail(Arg.Is <string>("*****@*****.**")).Returns(new Usuario {
            });

            var usuarioService = new UsuarioService(usuarioExternalService, null);
            var usuario        = new Usuario()
            {
                Email      = "*****@*****.**",
                Nome       = "Fulano da Silva",
                Nascimento = DateTime.UtcNow.AddYears(-30),
                Senha      = "a123"
            };
            var exception = await Assert.ThrowsAsync <ValidationException>(async() => await usuarioService.AdicionarUsuario(usuario));

            Assert.Equal("Usuário já cadastrado", exception.Message);
        }