コード例 #1
0
        public void ProcessarAgendamentoNotificacoesPosEvento_EnvioPraFila_MetodoChamado()
        {
            var notificacao      = new Notificacao();
            var notificaDeviceUm = new DeviceNotificacao {
                DeviceToken = "123"
            };
            var notificaDeviceDois = new DeviceNotificacao {
                DeviceToken = "321"
            };
            var mockNotif = Substitute.For <INotificacaoData>();

            mockNotif.GetNotificacoesPosEvento(EStatusEnvioNotificacao.NaoEnviado).Returns(new List <Notificacao>
            {
                notificacao
            });
            mockNotif.DefinirDevicesNotificacaoPosEvento(notificacao, EStatusEnvioNotificacao.NaoEnviado).Returns(new List <DeviceNotificacao>
            {
                notificaDeviceUm, notificaDeviceDois, notificaDeviceUm
            });

            var business = new NotificacaoBusiness(mockNotif, null, null, null, null);

            business.ProcessarAgendamentoNotificacoesPosEvento();

            mockNotif.Received().DefinirDevicesNotificacaoPosEvento(notificacao, EStatusEnvioNotificacao.NaoEnviado);
            mockNotif.DidNotReceive().InserirDevicesNotificacao(new List <DeviceNotificacao>
            {
                notificaDeviceUm, notificaDeviceDois
            });
        }
コード例 #2
0
        public void NotificacaoPrimeiraAula_GetDevicesNotificacaoPrimeiraAula_DataParametrizada()
        {
            var notificacao = NotificacaoEntityTestData.GetNotificacaoPrimeiraAula();

            var parametros = new ParametrosPrimeiraAula
            {
                Data = new DateTime(2019, 01, 11)
            };


            var devices = new NotificacaoBusiness(new NotificacaoEntity(),
                                                  new AccessEntity(),
                                                  new AlunoEntity(),
                                                  new NotificacaoDuvidasAcademicasEntity(),
                                                  new MenuBusiness(new MenuEntity(), new PessoaEntity(), new BlackListEntity())
                                                  ).GetDevicesNotificacaoPrimeiraAula(notificacao, parametros);


            if (!devices.Any())
            {
                Assert.Inconclusive("Não há notificações a processar");
            }

            Assert.IsTrue(devices.All(x => x.Data.Date == parametros.Data.Date));
        }
コード例 #3
0
        private NotificacaoDoacaoEntitie RecuperarNotificacao(int codigoPessoa, string chaveAutenticacao)
        {
            var notificacaoBusiness = new NotificacaoBusiness();

            var notificacaoDoador = notificacaoBusiness.RecuperaPorCodigoEChaveAutenticacao(codigoPessoa, chaveAutenticacao);

            return(notificacaoDoador);
        }
コード例 #4
0
        public ResultViewModel <NotificacoesClassificacaoViewModel> GetNotificacoesClassificacaoViewModel(string matricula, string idAplicacao, string versaoAplicacao)
        {
            var result = Execute(() =>
            {
                var business     = new NotificacaoBusiness(new NotificacaoEntity(), new AccessEntity(), new AlunoEntity(), new NotificacaoDuvidasAcademicasEntity(), new MenuBusiness(new MenuEntity(), new PessoaEntity(), new BlackListEntity()));
                var notificacoes = business.GetNotificacoesClassificadas(Convert.ToInt32(matricula), Convert.ToInt32(idAplicacao), versaoAplicacao);
                return(notificacoes);
            }, true);

            return(GetResultViewModel <NotificacoesClassificacaoViewModel, NotificacoesClassificadasDTO>(result));
        }
コード例 #5
0
        public void NotificacaoAvaliacao_MontaArrayInfoAdicional_ArrayConforme()
        {
            var temasAvaliacao = NotificacaoEntityTestData.GetTemasAvaliacaoUnicoAluno();

            var arrayInfo = new NotificacaoBusiness(new NotificacaoEntity(),
                                                    new AccessEntity(),
                                                    new AlunoEntity(),
                                                    new NotificacaoDuvidasAcademicasEntity(),
                                                    new MenuBusiness(new MenuEntity(), new PessoaEntity(), new BlackListEntity())).MontaArrayInfoAdicional(temasAvaliacao);


            Regex regex = new Regex(@"({.*?})");
            Match match = regex.Match(arrayInfo);

            Assert.IsTrue(match.Success);
        }
コード例 #6
0
        public void NotificacaoAvaliacao_SetNotificacoesAvaliacao_SeletivasMensagemTratada()
        {
            var parametros = new ParametrosAvaliacaoAula();

            var notificacao = NotificacaoEntityTestData.GetNotificacaoAvaliacao();
            var devices     = NotificacaoEntityTestData.GetDeviceNotificacoes();
            var hoje        = DateTime.Now.ToString("dd/MM");

            var seletivas = new NotificacaoBusiness(new NotificacaoEntity(),
                                                    new AccessEntity(),
                                                    new AlunoEntity(),
                                                    new NotificacaoDuvidasAcademicasEntity(),
                                                    new MenuBusiness(new MenuEntity(), new PessoaEntity(), new BlackListEntity())
                                                    ).SetNotificacoesAvaliacao(devices, notificacao, parametros);


            Assert.IsTrue(seletivas.All(x => !x.Mensagem.Contains("#DATA")));
            Assert.IsTrue(seletivas.All(x => x.Mensagem.Contains(hoje)));
        }
コード例 #7
0
        public void ConfiguraNotificacao_NotificacaoSimulado_NotificacoesComMesmaMensagem()
        {
            var parametros      = new NotificacaoPushRequest();
            var notificacao     = NotificacaoEntityTestData.GetNotificacaoSimulado();
            var devicesDataTest = NotificacaoEntityTestData.GetListDevicesNotificacao(5000);

            var notificacaoDataMock = Substitute.For <INotificacaoData>();

            notificacaoDataMock.GetDevicesNotificacaoFila(notificacao.IdNotificacao).Returns(devicesDataTest);


            var seletivas = new NotificacaoBusiness(notificacaoDataMock,
                                                    new AccessEntity(),
                                                    new AlunoEntity(),
                                                    new NotificacaoDuvidasAcademicasEntity(),
                                                    new MenuBusiness(new MenuEntity(), new PessoaEntity(), new BlackListEntity())
                                                    ).ConfiguraNotificacao(notificacao, parametros);


            Assert.IsTrue(seletivas.All(x => x.Mensagem == notificacao.Texto));
            Assert.IsTrue(seletivas.All(x => x.Titulo == notificacao.Titulo));
        }
コード例 #8
0
        public void ConfiguraNotificacao_NotificacaoSimulado_NotificacoesSeparadasPeloLimiteDevices()
        {
            var parametros      = new NotificacaoPushRequest();
            var notificacao     = NotificacaoEntityTestData.GetNotificacaoSimulado();
            var devicesDataTest = NotificacaoEntityTestData.GetListDevicesNotificacao(5000);


            var notificacaoDataMock = Substitute.For <INotificacaoData>();

            notificacaoDataMock.GetDevicesNotificacaoFila(notificacao.IdNotificacao).Returns(devicesDataTest);


            var seletivas = new NotificacaoBusiness(notificacaoDataMock,
                                                    new AccessEntity(),
                                                    new AlunoEntity(),
                                                    new NotificacaoDuvidasAcademicasEntity(),
                                                    new MenuBusiness(new MenuEntity(), new PessoaEntity(), new BlackListEntity())
                                                    ).ConfiguraNotificacao(notificacao, parametros);


            Assert.IsTrue(seletivas.Count == 3);
        }
コード例 #9
0
        public void NotificacaoPrimeiraAula_GetDevicesNotificacaoPrimeiraAula_DataSemParametro()
        {
            var notificacao = NotificacaoEntityTestData.GetNotificacaoPrimeiraAula();
            var parametros  = new ParametrosPrimeiraAula();

            var hoje = DateTime.Today;

            var devices = new NotificacaoBusiness(new NotificacaoEntity(),
                                                  new AccessEntity(),
                                                  new AlunoEntity(),
                                                  new NotificacaoDuvidasAcademicasEntity(),
                                                  new MenuBusiness(new MenuEntity(), new PessoaEntity(), new BlackListEntity())
                                                  ).GetDevicesNotificacaoPrimeiraAula(notificacao, parametros);


            if (!devices.Any())
            {
                Assert.Inconclusive("Não há notificações a processar");
            }

            Assert.IsTrue(devices.All(x => x.Data.Date == hoje.AddDays(Utilidades.NotificacaoPrimeiraAulaDiasAntecedenciaPadrao)));
        }
コード例 #10
0
        public void GetInfoAdicionalSimuladoSerializado_NotificacaoSimulado_InfoAdicionalSerializado()
        {
            var notificacao     = NotificacaoEntityTestData.GetNotificacaoSimulado();
            var devicesDataTest = NotificacaoEntityTestData.GetListDevicesNotificacao(5000);

            var notificacaoDataMock = Substitute.For <INotificacaoData>();

            notificacaoDataMock.GetDevicesNotificacaoFila(notificacao.IdNotificacao).Returns(devicesDataTest);

            var infoAdicional = new NotificacaoBusiness(notificacaoDataMock,
                                                        new AccessEntity(),
                                                        new AlunoEntity(),
                                                        new NotificacaoDuvidasAcademicasEntity(),
                                                        new MenuBusiness(new MenuEntity(), new PessoaEntity(), new BlackListEntity())
                                                        ).GetInfoAdicionalSimuladoSerializado(notificacao);


            Assert.IsFalse(String.IsNullOrEmpty(infoAdicional));

            var obj = JsonConvert.DeserializeObject <NotificacaoInfoAdicional>(infoAdicional);

            Assert.AreNotEqual(obj.InfoAdicionalSimulado.TipoSimuladoId, default(int));
            Assert.AreNotEqual(obj.InfoAdicionalSimulado.SimuladoId, default(int));
        }
コード例 #11
0
        public void NotificacaoAvaliacao_SetNotificacoesAvaliacao_SeletivasMensagemTratadaDiaParametizado()
        {
            var notificacao = NotificacaoEntityTestData.GetNotificacaoAvaliacao();
            var devices     = NotificacaoEntityTestData.GetDeviceNotificacoes();

            var parametros = new ParametrosAvaliacaoAula();


            parametros.Data = new DateTime(2019, 01, 02);


            var data        = new DateTime(2019, 01, 02).ToString("yyyy-MM-dd");
            var dataTratada = new DateTime(2019, 01, 02).ToString("dd/MM/yyyy");

            var seletivas = new NotificacaoBusiness(new NotificacaoEntity(),
                                                    new AccessEntity(),
                                                    new AlunoEntity(),
                                                    new NotificacaoDuvidasAcademicasEntity(),
                                                    new MenuBusiness(new MenuEntity(), new PessoaEntity(), new BlackListEntity())).SetNotificacoesAvaliacao(devices, notificacao, parametros);


            Assert.IsTrue(seletivas.All(x => !x.Mensagem.Contains("#DATA")));
            Assert.IsTrue(seletivas.All(x => x.Mensagem.Contains(dataTratada)));
        }