Пример #1
0
        public void ValidaAcesso_TestaSucessoSemSenha_AcessoLiberado()
        {
            var dataTolerancia = Utilidades.DataToleranciaTestes();

            if (DateTime.Now <= dataTolerancia)
            {
                Assert.Inconclusive();
            }
            var mockCliente     = Substitute.For <IClienteEntity>();
            var mockFuncionario = Substitute.For <IFuncionarioData>();
            var mockAluno       = Substitute.For <IAlunoEntity>();
            var mockPerfil      = Substitute.For <IPerfilAlunoData>();
            var mockVersao      = Substitute.For <IVersaoAppPermissaoEntityData>();

            var register               = "12345678909";
            var nome                   = "Fulano Tal";
            var matricula              = -1;
            var estado                 = "SP";
            var mockMenu               = Substitute.For <IMenuData>();
            var mockPessoa             = Substitute.For <IDataAccess <Pessoa> >();
            var mockBlacklist          = Substitute.For <IBlackListData>();
            var menuEntityTestData     = new MenuEntityTestData();
            var pessoasBlacklistMocked = menuEntityTestData.ObterListaDeAlunosBlackList();
            var pessoasMocked          = menuEntityTestData.ObterListaDeAlunos();

            mockPessoa.GetByFilters(Arg.Any <Pessoa>()).Returns(pessoasMocked);
            mockBlacklist.GetAll().Returns(pessoasBlacklistMocked);


            var listMenu           = menuEntityTestData.ObtemListaMenusMockados();
            var listPermissaoRegra = menuEntityTestData.ObtemPermissaoRegraMockados();

            mockMenu.GetAll(Arg.Any <int>(), Arg.Any <String>()).Returns(listMenu);
            mockMenu.GetAlunoPermissoesMenu(Arg.Any <List <Menu> >(), Arg.Any <int>(), Arg.Any <int>(), Arg.Any <DateTime?>(), Arg.Any <int>()).Returns(listPermissaoRegra);

            mockAluno.GetAlunoEstado(matricula).Returns(estado);
            mockPerfil.IsAlunoExtensivoAsync(register).Returns(Task.Factory.StartNew(() => true));
            mockCliente.GetPersonType(register).Returns(Pessoa.EnumTipoPessoa.Cliente);
            mockAluno.GetPermissao(register, (int)Aplicacoes.Recursos).Returns(new PermissaoInadimplencia
            {
                PermiteAcesso = 1
            });

            mockCliente.GetDadosBasicos(matricula).Returns(new Cliente {
                Register = register
            });
            mockCliente.UserGolden(register, Aplicacoes.Recursos).Returns(0);
            mockCliente.GetByFilters(Arg.Any <Cliente>(), Arg.Any <int>(), Arg.Any <Aplicacoes>())
            .Returns(new Clientes
            {
                new Cliente
                {
                    Register = register, RetornoStatus = Cliente.StatusRetorno.Sucesso,
                    ID       = matricula, Nome = nome
                }
            });
            mockCliente.GetDadosBasicos(register).Returns(new Cliente
            {
                ID       = matricula,
                Register = register
            });

            var business = new LoginBusiness(mockCliente, mockAluno, mockFuncionario, mockPerfil, mockVersao, mockMenu, mockPessoa, mockBlacklist);

            var result = business.ValidaAcesso(matricula, Aplicacoes.Recursos, "1.0.1");

            Assert.AreEqual(ValidacaoLogin.Sucesso, result.Validacao);
            Assert.AreEqual(nome, result.Perfil.Nome);
            Assert.AreEqual(estado, result.Perfil.Estado);
            Assert.AreEqual(matricula, result.Perfil.Matricula);
        }
Пример #2
0
        public void Login_AcessoGolden_SucessoAcessoGolden()
        {
            var dataTolerancia = Utilidades.DataToleranciaTestes();

            if (DateTime.Now <= dataTolerancia)
            {
                Assert.Inconclusive();
            }

            var mockCliente     = Substitute.For <IClienteEntity>();
            var mockFuncionario = Substitute.For <IFuncionarioData>();
            var mockAluno       = Substitute.For <IAlunoEntity>();
            var mockPerfil      = Substitute.For <IPerfilAlunoData>();
            var mockVersao      = Substitute.For <IVersaoAppPermissaoEntityData>();


            var register              = "12345678909";
            var nome                  = "Godzilla Zilla";
            var matricula             = 123231;
            var senha                 = "senhaGolden";
            var mensagemInadimplencia = "Mensagem de inadimplencia para: " + nome;

            var mockMenu               = Substitute.For <IMenuData>();
            var mockPessoa             = Substitute.For <IDataAccess <Pessoa> >();
            var mockBlacklist          = Substitute.For <IBlackListData>();
            var menuEntityTestData     = new MenuEntityTestData();
            var pessoasBlacklistMocked = menuEntityTestData.ObterListaDeAlunosBlackList();
            var pessoasMocked          = menuEntityTestData.ObterListaDeAlunos();

            mockPessoa.GetByFilters(Arg.Any <Pessoa>()).Returns(pessoasMocked);
            mockBlacklist.GetAll().Returns(pessoasBlacklistMocked);


            var listMenu           = menuEntityTestData.ObtemListaMenusMockados();
            var listPermissaoRegra = menuEntityTestData.ObtemPermissaoRegraMockados();

            mockMenu.GetAll((int)Aplicacoes.Recursos, "0.0.0").Returns(listMenu);
            mockMenu.GetAlunoPermissoesMenu(Arg.Any <List <Menu> >(), Arg.Any <int>(), Arg.Any <int>(), Arg.Any <DateTime?>(), Arg.Any <int>()).Returns(listPermissaoRegra);


            mockCliente.GetPersonType(register).Returns(Pessoa.EnumTipoPessoa.Cliente);
            mockAluno.GetPermissao(register, (int)Aplicacoes.Recursos).Returns(new PermissaoInadimplencia
            {
                PermiteAcesso = 1
            });
            mockCliente.UserGolden(register, Aplicacoes.Recursos).Returns(1);
            mockCliente.ObterSenhaGolden().Returns(senha);
            mockCliente.GetByFilters(Arg.Any <Cliente>(), Arg.Any <int>(), Arg.Any <Aplicacoes>())
            .Returns(new Clientes
            {
                new Cliente
                {
                    Register = register, RetornoStatus = Cliente.StatusRetorno.Sucesso,
                    Nome     = nome, Senha = Utilidades.EncryptionSHA1("senhaCliente"), ID = matricula
                }
            });
            mockCliente.GetDadosBasicos(register).Returns(new Cliente
            {
                ID       = matricula,
                Register = register
            });

            var business = new LoginBusiness(mockCliente, mockAluno, mockFuncionario, mockPerfil, mockVersao, mockMenu, mockPessoa, mockBlacklist);

            var result = business.Login(register, senha, Aplicacoes.Recursos, "0.0.0");

            Assert.AreEqual(ValidacaoLogin.Sucesso, result.Validacao);
            Assert.AreEqual(matricula, result.Perfil.Matricula);
        }