Exemplo n.º 1
0
        public ICommandResult Handle(LoginUsuarioCommand command)
        {
            command.Validate();

            if (command.Invalid)
            {
                return(Response(false,
                                "Não foi possível efetuar o login.",
                                command.Notifications));
            }

            var usuario = _repositorio
                          .ObterEntidade(UsuarioQueries.BuscarPorEmail(command.Email));

            if (usuario == null)
            {
                return(Response(false, "Não existe esse email cadastrado.", null));
            }

            if (usuario.Senha != command.Senha)
            {
                return(Response(false, "Informações de usuário e senha inválidas.", null));
            }

            if (!usuario.Verificado)
            {
                return(Response(false, "Aguardando verificação do e-mail do usuário.", null));
            }

            return(Response(true, "Login realizado com sucesso.", usuario));
        }
        public void Sucesso_ao_buscar_usuario_por_email()
        {
            var users = new List <Usuario>()
            {
                CreateUser("Matheus", "*****@*****.**"),
                CreateUser("Joao", "*****@*****.**"),
                CreateUser("Batman", "*****@*****.**")
            };

            var user = users.AsQueryable()
                       .FirstOrDefault(UsuarioQueries.BuscarPorEmail("*****@*****.**"));

            Assert.IsTrue(user != null);
            Assert.IsTrue(user.NomeCompleto == "Joao");
        }