public void CriarNotificacoesMudancaStatusQuestao_NaoCriarNotificacoesDemaisStatus_Zero()
        {
            var idQuestao     = 2;
            var idNotificacao = (int)Constants.Notificacoes.Recursos.StatusQuestaoFavoritos;
            var notificacao   = NotificacaoEntityTestData.GetNotificacaoSimulado();
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();

            mockNotif.Get(idNotificacao).Returns(new Notificacao {
                IdNotificacao = idNotificacao, Texto = string.Empty
            });

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);

            var result = business.CriarNotificacoesMudancaStatusQuestao(idQuestao, QuestaoRecurso.StatusQuestao.NaoExiste);

            Assert.AreEqual(0, result);

            result = business.CriarNotificacoesMudancaStatusQuestao(idQuestao, QuestaoRecurso.StatusQuestao.NaoSolicitado);
            Assert.AreEqual(0, result);

            result = business.CriarNotificacoesMudancaStatusQuestao(idQuestao, QuestaoRecurso.StatusQuestao.Invalido);
            Assert.AreEqual(0, result);

            mockNotif.DidNotReceive().InserirNotificacoesPosEvento(Arg.Any <NotificacaoPosEventoDTO[]>());
            mockNotif.DidNotReceive().AtualizarNotificacoesPosEvento(Arg.Any <List <tblNotificacaoEvento> >());
        }
        public void NotificarMudancaRankingAcertos_TestaEnviaRankingLiberado_ChamaMetodoInclusao()
        {
            var idProva       = 2;
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();
            var notificacao   = NotificacaoEntityTestData.GetNotificacaoSimulado();

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);

            mockExercicio.GetAlunosFavoritaramProva(idProva).Returns(new ProvaAlunosFavoritoDTO
            {
                MatriculasFavoritaram = new List <int> {
                    1, 2, 3
                },
                Prova = new ProvaConcursoDTO()
            });

            mockNotif.Get((int)Constants.Notificacoes.Recursos.RankingAcertosLiberado).Returns(notificacao);
            mockNotif.AtualizarNotificacoesPosEvento(Arg.Any <List <tblNotificacaoEvento> >()).Returns(3);
            var result = business.NotificarMudancaRankingAcertos(idProva, true);

            mockNotif.Received().AtualizarNotificacoesPosEvento(Arg.Any <List <tblNotificacaoEvento> >());
            mockNotif.Received().Get((int)Constants.Notificacoes.Recursos.RankingAcertosLiberado);

            Assert.IsTrue(result > 0);
        }
        public void CriarNotificacoesMudancaStatusProva_NaoCriarNotificacoesDemaisStatus_Zero()
        {
            var idProva       = 2;
            var idNotificacao = (int)Constants.Notificacoes.Recursos.StatusProvaFavoritos;
            var notificacao   = NotificacaoEntityTestData.GetNotificacaoSimulado();
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();

            mockNotif.Get(idNotificacao).Returns(new Notificacao {
                IdNotificacao = idNotificacao, Texto = string.Empty
            });

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, null);

            var result = business.CriarNotificacoesMudancaStatusProva(idProva, ProvaRecurso.StatusProva.RecursosExpirados);

            Assert.AreEqual(0, result);

            result = business.CriarNotificacoesMudancaStatusProva(idProva, ProvaRecurso.StatusProva.Bloqueado);
            Assert.AreEqual(0, result);

            result = business.CriarNotificacoesMudancaStatusProva(idProva, ProvaRecurso.StatusProva.AguardandoInteração);
            Assert.AreEqual(0, result);

            result = business.CriarNotificacoesMudancaStatusProva(idProva, ProvaRecurso.StatusProva.SobDemanda);
            Assert.AreEqual(0, result);

            mockNotif.DidNotReceive().InserirNotificacoesPosEvento(Arg.Any <NotificacaoPosEventoDTO[]>());
            mockNotif.DidNotReceive().AtualizarNotificacoesPosEvento(Arg.Any <List <tblNotificacaoEvento> >());
        }
        public void NotificaConclusaoEstadoQuestoesProva_TestaNaoCriaNotificacaoNaoPermitidaExternamente_Zero()
        {
            var idProva       = 2;
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();
            var mockConcurso  = Substitute.For <IConcursoData>();

            mockExercicio.GetAlunosFavoritaramProva(idProva).Returns(new ProvaAlunosFavoritoDTO
            {
                MatriculasFavoritaram = new List <int>()
            });

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao, mockConcurso);
            var result   = business.NotificaConclusaoEstadoQuestoesProva(idProva, Constants.Notificacoes.Recursos.AvisaProfessorComentarioPre);

            Assert.AreEqual(0, result);

            result = business.NotificaConclusaoEstadoQuestoesProva(idProva, Constants.Notificacoes.Recursos.ComunicadoLiberado);
            Assert.AreEqual(0, result);

            result = business.NotificaConclusaoEstadoQuestoesProva(idProva, Constants.Notificacoes.Recursos.RankingAcertosLiberado);
            Assert.AreEqual(0, result);

            result = business.NotificaConclusaoEstadoQuestoesProva(idProva, Constants.Notificacoes.Recursos.StatusProvaFavoritos);
            Assert.AreEqual(0, result);

            result = business.NotificaConclusaoEstadoQuestoesProva(idProva, Constants.Notificacoes.Recursos.StatusQuestaoFavoritos);
            Assert.AreEqual(0, result);

            mockConcurso.DidNotReceive().InserirConfiguracaoProvaAluno(Arg.Any <tblProvaAlunoConfiguracoes>());
        }
        public void GetNotificacoesAluno_OrdenacaoNotificacoes_Decrescente()
        {
            var matricula     = 7;
            var notificacao   = NotificacaoEntityTestData.GetNotificacaoSimulado();
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();

            mockNotif.GetNotificacoesAlunoPosEvento(matricula, Aplicacoes.Recursos).Returns(new List <NotificacaoPosEventoDTO>
            {
                new NotificacaoPosEventoDTO
                {
                    IdNotificacao = 1,
                    Data          = DateTime.Now
                },
                new NotificacaoPosEventoDTO
                {
                    IdNotificacao = 2,
                    Data          = DateTime.Now.AddHours(1)
                }
            });

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, null);
            var result   = business.GetNotificacoesAluno(matricula);

            Assert.AreEqual(2, result.ElementAt(0).IdNotificacao);
            Assert.AreEqual(1, result.ElementAt(1).IdNotificacao);
        }
        public void NotificaMudancaComunicadoLiberado_TestaNaoNotificaNaoLiberado_Zero()
        {
            var idProva       = 2;
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);

            var result = business.NotificaMudancaComunicadoLiberado(idProva, false);

            Assert.AreEqual(0, result);
        }
        public void StatusQuestaoNotificaAluno_TestaNaoNotificaAnaliseProvaR1_False()
        {
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();
            var notificacao   = NotificacaoEntityTestData.GetNotificacaoSimulado();

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);

            var result = business.StatusQuestaoNotificaAluno(QuestaoRecurso.StatusQuestao.EmAnalise, false);

            Assert.IsFalse(result);
        }
        public void StatusQuestaoNotificaAluno_TestaNotificaNaoCabeProvaRMais_True()
        {
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();
            var notificacao   = NotificacaoEntityTestData.GetNotificacaoSimulado();

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);

            var result = business.StatusQuestaoNotificaAluno(QuestaoRecurso.StatusQuestao.NaoCabeRecurso, true);

            Assert.IsTrue(result);
        }
        public void NotificarMudancaRankingAcertos_TestaNaoEnviaRankingBloqueado_Zero()
        {
            var idProva       = 2;
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);
            var result   = business.NotificarMudancaRankingAcertos(idProva, false);

            mockExercicio.DidNotReceive().GetAlunosFavoritaramProva(idProva);

            Assert.AreEqual(0, result);
        }
Ejemplo n.º 10
0
        public void CriarNotificacoesAprovacaoAnaliseQuestao_NaoCriarNotificacoesReprovada_Zero()
        {
            var idQuestao     = 2;
            var notificacao   = NotificacaoEntityTestData.GetNotificacaoSimulado();
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);

            var result = business.CriarNotificacoesAprovacaoAnaliseQuestao(idQuestao, false);

            Assert.AreEqual(0, result);
        }
Ejemplo n.º 11
0
        public void NotificarQuestaoAlteradoBanca_TestaNaoEnviaStatusNaoMudou_NaoChamaMetodoInclusao()
        {
            var idQuestao     = 2;
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();
            var notificacao   = NotificacaoEntityTestData.GetNotificacaoSimulado();

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);

            mockQuestao.ObterStatusRecursoBanca(idQuestao).Returns((int)QuestaoRecurso.StatusBancaAvaliadora.Sim);

            business.NotificarQuestaoAlteradoBanca(idQuestao, (int)QuestaoRecurso.StatusBancaAvaliadora.Sim);
            mockNotif.DidNotReceive().AtualizarNotificacoesPosEvento(Arg.Any <List <tblNotificacaoEvento> >());
        }
Ejemplo n.º 12
0
        public void NotificarMudancaStatusQuestao_TestaNaoEnviaNaoCabeSeNecessitaAprovacao_Zero()
        {
            var idQuestao     = 2;
            var notificacao   = NotificacaoEntityTestData.GetNotificacaoSimulado();
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();

            mockQuestao.IsQuestaoProvaRMais(idQuestao).Returns(false);

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);
            var result   = business.NotificarMudancaStatusQuestao(idQuestao, QuestaoRecurso.StatusQuestao.NaoCabeRecurso);

            Assert.AreEqual(0, result);
        }
Ejemplo n.º 13
0
        public void NotificaMudancaComunicadoLiberado_TestaNaoCriaNotificacaoAlunoNaoFavoritou_Zero()
        {
            var idProva       = 2;
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();

            mockExercicio.GetAlunosFavoritaramProva(idProva).Returns(new ProvaAlunosFavoritoDTO());

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);
            var result   = business.NotificaMudancaComunicadoLiberado(idProva, true);

            mockExercicio.Received().GetAlunosFavoritaramProva(idProva);

            Assert.AreEqual(0, result);
        }
Ejemplo n.º 14
0
        public void NotificaConclusaoEstadoQuestoesProva_InsereConfiguracaoNotificacao_ChamaMetodoInsere()
        {
            var idProva       = 2;
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();
            var mockConcurso  = Substitute.For <IConcursoData>();

            mockExercicio.GetAlunosFavoritaramProva(idProva).Returns(new ProvaAlunosFavoritoDTO
            {
                MatriculasFavoritaram = new List <int>()
            });
            mockConcurso.InserirConfiguracaoProvaAluno(Arg.Any <tblProvaAlunoConfiguracoes>()).Returns(1);

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao, mockConcurso);
            var result   = business.NotificaConclusaoEstadoQuestoesProva(idProva, Constants.Notificacoes.Recursos.ConclusaoAnaliseAcademica);

            mockConcurso.Received().InserirConfiguracaoProvaAluno(Arg.Any <tblProvaAlunoConfiguracoes>());
        }
Ejemplo n.º 15
0
        public void CriarNotificacoesAprovacaoAnaliseQuestao_NaoCriarNotificacoesAlteradoBanca_Zero()
        {
            var idQuestao     = 2;
            var notificacao   = NotificacaoEntityTestData.GetNotificacaoSimulado();
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();

            mockQuestao.GetQuestaoConcursoById(idQuestao).Returns(new tblConcursoQuestoes
            {
                ID_CONCURSO_RECURSO_STATUS = (int)QuestaoRecurso.StatusQuestao.AlteradaPelaBanca
            });

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);

            var result = business.CriarNotificacoesAprovacaoAnaliseQuestao(idQuestao, true);

            Assert.AreEqual(0, result);
        }
Ejemplo n.º 16
0
        public void StatusConclusaoNotificaExternamente_PermiteNotificacoesExternas_True()
        {
            var idProva       = 2;
            var mockNotif     = Substitute.For <INotificacaoData>();
            var mockExercicio = Substitute.For <IExercicioData>();
            var mockQuestao   = Substitute.For <IQuestaoData>();
            var mockConcurso  = Substitute.For <IConcursoData>();

            mockExercicio.GetAlunosFavoritaramProva(idProva).Returns(new ProvaAlunosFavoritoDTO
            {
                MatriculasFavoritaram = new List <int>()
            });

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao, mockConcurso);
            var result   = business.StatusConclusaoNotificaExternamente(Constants.Notificacoes.Recursos.ConclusaoAnaliseAcademica);

            Assert.IsTrue(result);

            result = business.StatusConclusaoNotificaExternamente(Constants.Notificacoes.Recursos.ConclusaoAnaliseBancaQuestoes);
            Assert.IsTrue(result);
        }
Ejemplo n.º 17
0
        public void CriarNotificacoesMudancaStatusQuestao_CriarNotificacaoAnaliseProvaRmais_LinhasAfetadas()
        {
            var idQuestaoRMais = 3;
            var idNotificacao  = (int)Constants.Notificacoes.Recursos.StatusQuestaoFavoritos;
            var notificacao    = NotificacaoEntityTestData.GetNotificacaoSimulado();
            var mockNotif      = Substitute.For <INotificacaoData>();
            var mockExercicio  = Substitute.For <IExercicioData>();
            var mockQuestao    = Substitute.For <IQuestaoData>();


            mockNotif.Get(idNotificacao).Returns(new Notificacao
            {
                IdNotificacao = idNotificacao, Texto = string.Empty,
                Titulo        = string.Empty
            });
            mockQuestao.IsQuestaoProvaRMais(idQuestaoRMais).Returns(true);
            mockQuestao.GetQuestaoConcursoById(idQuestaoRMais).Returns(new tblConcursoQuestoes());

            mockNotif.AtualizarNotificacoesPosEvento(Arg.Any <List <tblNotificacaoEvento> >()).Returns(3);
            mockNotif.InserirNotificacoesPosEvento(null);
            mockExercicio.GetAlunosFavoritaramProva(0).Returns(new ProvaAlunosFavoritoDTO
            {
                Prova = new ProvaConcursoDTO {
                    Nome = string.Empty
                },
                MatriculasFavoritaram = new List <int> {
                    1, 2, 3
                }
            });

            var business = new NotificacaoRecursosBusiness(mockNotif, mockExercicio, mockQuestao);

            var resultRMais = business.CriarNotificacoesMudancaStatusQuestao(idQuestaoRMais, QuestaoRecurso.StatusQuestao.EmAnalise);

            Assert.IsTrue(resultRMais > 0);

            mockNotif.Received().InserirNotificacoesPosEvento(Arg.Any <NotificacaoPosEventoDTO[]>());
            mockNotif.Received().AtualizarNotificacoesPosEvento(Arg.Any <List <tblNotificacaoEvento> >());
        }