예제 #1
0
        public async void Deve_Obter_Sugestao_DataInicio()
        {
            fixture._clientApi.DefaultRequestHeaders.Clear();
            fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", fixture.GerarToken(new Permissao[] { Permissao.DE_C }));

            string turmaCodigo            = "1";
            long   componenteCurricularId = 1105;
            HttpResponseMessage result    = await fixture._clientApi.GetAsync($"api/v1/devolutivas/turmas/{turmaCodigo}/componentes-curriculares/{componenteCurricularId}/sugestao");

            Assert.True(fixture.ValidarStatusCodeComSucesso(result));
        }
예제 #2
0
        public void Deve_Consultar_Dres()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { }));

            var postResult = _fixture._clientApi.GetAsync("api/v1/dres").Result;

            Assert.True(_fixture.ValidarStatusCodeComSucesso(postResult));
        }
예제 #3
0
        public void Deve_Consultar_Periodo_Escolar()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PE_I, Permissao.PE_C }));

            var getResult = _fixture._clientApi.GetAsync("api/v1/periodo-escolar?codigoTipoCalendario=1").Result;

            Assert.True(getResult.IsSuccessStatusCode);
        }
        public async Task DeveObterDisciplinasDoProfessorPorTurma(string login, string rf, string perfil, string codigoTurma)
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PA_I, Permissao.PA_A, Permissao.PA_C }, login, rf, perfil));

            var getResult = await _fixture._clientApi.GetAsync($"api/v1/professores/{login}/turmas/{codigoTurma}/disciplinas/");

            Assert.True(getResult.IsSuccessStatusCode);
            var disciplinas = JsonConvert.DeserializeObject <IEnumerable <DisciplinaDto> >(await getResult.Content.ReadAsStringAsync());

            Assert.True(disciplinas != null);
        }
        public void Deve_Consultar_Dres()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { }));

            var postResult = _fixture._clientApi.GetAsync("api/v1/dres").Result;

            if (postResult.IsSuccessStatusCode)
            {
                var supervisorEscolasDto = JsonConvert.DeserializeObject <List <DreConsultaDto> >(postResult.Content.ReadAsStringAsync().Result);
                Assert.True(supervisorEscolasDto.Count > 0);
            }
        }
        public async Task Deve_Obter_Carta_Intencoes()
        {
            // Arrange
            fixture._clientApi.DefaultRequestHeaders.Clear();
            fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", fixture.GerarToken(new Permissao[] { Permissao.CI_C }));

            var turmaCodigo            = "123";
            var componenteCurricularId = 512;

            // Act
            var result = await fixture._clientApi.GetAsync($"api/v1/carta-intencoes/turmas/{turmaCodigo}/componente-curricular/{componenteCurricularId}");

            // Assert
            Assert.True(fixture.ValidarStatusCodeComSucesso(result));
        }
예제 #7
0
        public void Deve_Consultar_Supervisores_Por_Nome_e_Dre(string dreId, string parteNome, bool temSupervisores, bool sucesso)
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.ASP_I, Permissao.ASP_A, Permissao.ASP_E, Permissao.ASP_C }));

            var postResult = _fixture._clientApi.GetAsync($"api/v1/supervisores/dre/{dreId}?nome={parteNome}").Result;

            Assert.Equal(sucesso, postResult.IsSuccessStatusCode);

            if (postResult.IsSuccessStatusCode)
            {
                var supervisorEscolasDto = JsonConvert.DeserializeObject <List <SupervisorDto> >(postResult.Content.ReadAsStringAsync().Result);
                Assert.Equal(temSupervisores, supervisorEscolasDto.Count > 0);
            }
        }
예제 #8
0
        public void DeveIncluirPlanoAnual()
        {
            try
            {
                _fixture._clientApi.DefaultRequestHeaders.Clear();

                _fixture._clientApi.DefaultRequestHeaders.Authorization =
                    new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PA_I, Permissao.PA_C }));

                PlanoAnualDto planoAnualDto = CriarDtoPlanoAnual();

                var jsonParaPost = new StringContent(JsonConvert.SerializeObject(planoAnualDto), Encoding.UTF8, "application/json");

                var postResult = _fixture._clientApi.PostAsync("api/v1/planos/anual/", jsonParaPost).Result;

                Assert.True(postResult.IsSuccessStatusCode);
                var filtro = new FiltroPlanoAnualDto()
                {
                    AnoLetivo = 2019,
                    Bimestre  = 1,
                    EscolaId  = "095346",
                    TurmaId   = 2008187,
                    ComponenteCurricularEolId = 9
                };
                var filtroPlanoAnual = new StringContent(JsonConvert.SerializeObject(filtro), Encoding.UTF8, "application/json");

                var planoAnualCompletoResponse = _fixture._clientApi.PostAsync("api/v1/planos/anual/obter", filtroPlanoAnual).Result;
                if (planoAnualCompletoResponse.IsSuccessStatusCode)
                {
                    var planoAnualCompleto = JsonConvert.DeserializeObject <PlanoCicloCompletoDto>(planoAnualCompletoResponse.Content.ReadAsStringAsync().Result);
                    Assert.Contains(planoAnualDto.Bimestres, c => c.Descricao == planoAnualCompleto.Descricao);

                    var planoAnualExistenteResponse = _fixture._clientApi.PostAsync("api/v1/planos/anual/validar-existente", filtroPlanoAnual).Result;
                    Assert.True(bool.Parse(planoAnualExistenteResponse.Content.ReadAsStringAsync().Result));
                }
                else
                {
                    var erro = postResult.Content.ReadAsStringAsync().Result;
                    Assert.True(false, erro);
                }
            }
            catch (AggregateException ae)
            {
                throw new Exception("Erros: " + string.Join(",", ae.InnerExceptions));
            }
        }
예제 #9
0
        public static TestServerFixture ObtenhaCabecalhoAuthentication(TestServerFixture _fixture, Permissao[] permissoes, string usuario = "teste", string codigoRf = "123", string perfil = "")
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(permissoes, usuario, codigoRf, perfil));

            return(_fixture);
        }
예제 #10
0
        public static TestServerFixture ObtenhaCabecalhoAuthentication(TestServerFixture _fixture, Permissao[] permissoes)
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(permissoes));

            return(_fixture);
        }
예제 #11
0
        public void Deve_Incluir_Plano_Ciclo()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PDC_I, Permissao.PDC_C }));

            var planoDeCicloDto = new PlanoCicloDto();

            planoDeCicloDto.Ano              = 2019;
            planoDeCicloDto.CicloId          = 1;
            planoDeCicloDto.Descricao        = "Teste";
            planoDeCicloDto.EscolaId         = "1";
            planoDeCicloDto.IdsMatrizesSaber = new List <long> {
                1
            };
            planoDeCicloDto.IdsObjetivosDesenvolvimento = new List <long> {
                1
            };

            var jsonParaPost = new StringContent(TransformarEmJson(planoDeCicloDto), UnicodeEncoding.UTF8, "application/json");

            var postResult = _fixture._clientApi.PostAsync("api/v1/planos/ciclo/", jsonParaPost).Result;

            if (postResult.IsSuccessStatusCode)
            {
                var planoCicloCompletoResult = _fixture._clientApi.GetAsync("api/v1/planos/ciclo/2019/1/1").Result;
                if (planoCicloCompletoResult.IsSuccessStatusCode)
                {
                    var planoCicloCompletoDto = JsonConvert.DeserializeObject <PlanoCicloCompletoDto>(planoCicloCompletoResult.Content.ReadAsStringAsync().Result);
                    Assert.Equal(planoDeCicloDto.Descricao, planoCicloCompletoDto.Descricao);
                }
                else
                {
                    var erro = postResult.Content.ReadAsStringAsync().Result;
                    Assert.True(false, erro);
                }
            }
            else
            {
                var erro = postResult.Content.ReadAsStringAsync().Result;
                Assert.True(false, erro);
            }
        }
예제 #12
0
        public async void Deve_Listar_Todos_Objetivos()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();
            _fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PA_C }));

            long ano = 1;
            long componenteCurricularId = 1105;
            HttpResponseMessage result  = await _fixture._clientApi.GetAsync($"api/v1/objetivos-aprendizagem/{ano}/{componenteCurricularId}");

            Assert.True(_fixture.ValidarStatusCodeComSucesso(result));
        }
예제 #13
0
        public async Task Deve_Consultar_Tipos_Calendario()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.TCE_C }));

            var getResult = await _fixture._clientApi.GetAsync("api/v1/calendarios/tipos/anos-letivos?descricao=2020");

            Assert.True(getResult.IsSuccessStatusCode);
        }
        public async Task Deve_Incluir_Calendario_E_Feriados_Moveis()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.TCE_C, Permissao.TCE_I, Permissao.TCE_E, Permissao.TF_C }));

            var calendarioParaIncluir = new TipoCalendarioDto()
            {
                AnoLetivo        = 2019,
                DescricaoPeriodo = "Teste",
                Modalidade       = Dominio.ModalidadeTipoCalendario.EJA,
                Nome             = "Calendário de teste",
                Periodo          = Dominio.Periodo.Anual,
                Situacao         = true
            };

            var jsonParaPostCalendario     = new StringContent(TransformarEmJson(calendarioParaIncluir), Encoding.UTF8, "application/json");
            var postResultIncluiCalendario = await _fixture._clientApi.PostAsync("api/v1/calendarios/tipos/", jsonParaPostCalendario);

            Assert.True(postResultIncluiCalendario.IsSuccessStatusCode);

            if (postResultIncluiCalendario.IsSuccessStatusCode)
            {
                var buscarTodosCalendariosResultado = await _fixture._clientApi.GetAsync($"api/v1/calendarios/tipos");

                Assert.True(buscarTodosCalendariosResultado.IsSuccessStatusCode);
                if (buscarTodosCalendariosResultado.IsSuccessStatusCode)
                {
                    var dtoTodos = JsonConvert.DeserializeObject <IEnumerable <TipoCalendarioDto> >(await buscarTodosCalendariosResultado.Content.ReadAsStringAsync());
                    Assert.True(dtoTodos.Any());

                    var filtroFeriadoCalendarioDto = new FiltroFeriadoCalendarioDto()
                    {
                        Tipo = Dominio.TipoFeriadoCalendario.Movel, Ano = 2019
                    };

                    var jsonParaPostFiltroFeriados = new StringContent(TransformarEmJson(filtroFeriadoCalendarioDto), Encoding.UTF8, "application/json");

                    Thread.Sleep(2000);

                    var postResultBuscaFeriados = await _fixture._clientApi.PostAsync("api/v1/calendarios/feriados/listar", jsonParaPostFiltroFeriados);

                    Assert.True(postResultBuscaFeriados.IsSuccessStatusCode);
                    if (postResultBuscaFeriados.IsSuccessStatusCode)
                    {
                        var dtoFeriados = JsonConvert.DeserializeObject <IEnumerable <FeriadoCalendarioDto> >(await postResultBuscaFeriados.Content.ReadAsStringAsync());
                        Assert.True(dtoFeriados.Count() == 4);
                    }
                }
            }
        }
예제 #15
0
        public void NaoDeveObterTurmasAtribuidasAoProfessorEDeveRetornarSemErro(string rf, string escola, string ano)
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PA_I, Permissao.PA_A, Permissao.PA_C }));

            var getResult = _fixture._clientApi.GetAsync($"api/v1/professores/{rf}/escolas/{escola}/turmas/anos-letivos/{ano}").Result;

            Assert.True(getResult.IsSuccessStatusCode);
            var turmas = JsonConvert.DeserializeObject <IEnumerable <TurmaDto> >(getResult.Content.ReadAsStringAsync().Result);

            Assert.True(turmas == null);
        }
예제 #16
0
        public async Task Deve_Obter_Datas_Das_Aulas()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PDA_C }));

            var turmaCodigo = "2120528";
            var componenteCurricularCodigo = "1105";

            var result = await _fixture._clientApi.GetAsync($"api/v1/calendarios/frequencias/aulas/datas/turmas/{turmaCodigo}/componente/{componenteCurricularCodigo}");

            Assert.True(_fixture.ValidarStatusCodeComSucesso(result));
        }
        private void MontarCabecalho()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[]
            {
                Permissao.TCE_I,
                Permissao.PE_I,
                Permissao.C_C,
                Permissao.TE_I,
                Permissao.E_I
            })
                                              );
        }
예제 #18
0
        public async void Deve_Obter_Diario_De_Bordo()
        {
            fixture._clientApi.DefaultRequestHeaders.Clear();
            fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", fixture.GerarToken(new Permissao[] { Permissao.DDB_C }));

            string id = "1";
            HttpResponseMessage result = await fixture._clientApi.GetAsync($"api/v1/diarios-bordo/{id}");

            Assert.True(fixture.ValidarStatusCodeComSucesso(result));
        }
예제 #19
0
        public async void Deve_Retornar_Funcionarios()
        {
            fixture._clientApi.DefaultRequestHeaders.Clear();

            fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", fixture.GerarToken(new Permissao[] { }));

            var getResult = await fixture._clientApi.GetAsync($"api/v1/unidades-escolares/{000892}/functionarios");

            if (getResult.IsSuccessStatusCode)
            {
                var funcionarios = JsonConvert.DeserializeObject <List <UsuarioEolRetornoDto> >(await getResult.Content.ReadAsStringAsync());

                Assert.True(funcionarios.Count > 0);
            }
        }
예제 #20
0
        public void Deve_Consultar_Notificacao_Basica_Lista()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.N_C }));

            var getResult = _fixture._clientApi.GetAsync($"api/v1/notificacoes/resumo?anoLetivo={2019}&usuarioRf={1}").Result;

            Assert.True(getResult.IsSuccessStatusCode);
        }
예제 #21
0
        public void NaoDeveIncluirPlanoAnualEExibirMensagemErro()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PA_I, Permissao.PA_C }));

            PlanoAnualDto planoAnualDto = CriarDtoPlanoAnual();

            planoAnualDto.EscolaId = null;
            var jsonParaPost = new StringContent(JsonConvert.SerializeObject(planoAnualDto), Encoding.UTF8, "application/json");

            var postResult = _fixture._clientApi.PostAsync("api/v1/planos/anual/", jsonParaPost).Result;

            Assert.False(postResult.IsSuccessStatusCode);
            var jsonErro    = postResult.Content.ReadAsStringAsync().Result;
            var retornoBase = JsonConvert.DeserializeObject <RetornoBaseDto>(jsonErro);

            Assert.Contains(retornoBase.Mensagens, c => c.Equals("A escola deve ser informada"));
        }
예제 #22
0
        public void Deve_Consultar_Objetivos_Aprendizagem()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PA_C, Permissao.PA_A, Permissao.PA_I, Permissao.PA_E }));

            var filtros = new FiltroObjetivosAprendizagemDto();

            filtros.ComponentesCurricularesIds.Add(139);
            filtros.Ano = 3;

            var jsonParaPost = new StringContent(TransformarEmJson(filtros), UnicodeEncoding.UTF8, "application/json");

            var getResult = _fixture._clientApi.PostAsync("api/v1/objetivos-aprendizagem/", jsonParaPost).Result;

            Assert.True(getResult.IsSuccessStatusCode);
            var disciplinas = JsonConvert.DeserializeObject <IEnumerable <ObjetivoAprendizagemDto> >(getResult.Content.ReadAsStringAsync().Result);

            Assert.True(disciplinas != null);
        }
예제 #23
0
        public void Deve_Inserir_Consultar_LinhaTempo_Aprovar_E_Reprovar()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.N_C }));

            var tituloParaLocalizarRegistro = Guid.NewGuid().ToString();

            var wfAprovacao = new WorkflowAprovacaoDto
            {
                NotificacaoCategoria = Dominio.NotificacaoCategoria.Workflow_Aprovacao,
                NotificacaoMensagem  = "Mensagem de teste",
                NotificacaoTipo      = Dominio.NotificacaoTipo.Fechamento,
                NotificacaoTitulo    = tituloParaLocalizarRegistro,
                UeId = "000892"
            };

            wfAprovacao.Niveis.Add(new WorkflowAprovacaoNivelDto()
            {
                Cargo = Dominio.Cargo.Diretor,
                Nivel = 1
            });
            wfAprovacao.Niveis.Add(new WorkflowAprovacaoNivelDto()
            {
                Cargo = Dominio.Cargo.Diretor,
                Nivel = 2
            });
            wfAprovacao.Niveis.Add(new WorkflowAprovacaoNivelDto()
            {
                Cargo = Dominio.Cargo.Diretor,
                Nivel = 3
            });

            var post = JsonConvert.SerializeObject(wfAprovacao);

            var jsonParaPost = new StringContent(post, UnicodeEncoding.UTF8, "application/json");

            var postResult = _fixture._clientApi.PostAsync("api/v1/workflows/aprovacoes", jsonParaPost).Result;

            Assert.True(postResult.IsSuccessStatusCode);

            if (postResult.IsSuccessStatusCode)
            {
                var getResult = _fixture._clientApi.GetAsync($"api/v1/notificacoes?titulo={tituloParaLocalizarRegistro}").Result;

                Assert.True(getResult.IsSuccessStatusCode);

                if (getResult.IsSuccessStatusCode)
                {
                    var notificacoes = JsonConvert.DeserializeObject <PaginacaoResultadoDto <NotificacaoBasicaDto> >(getResult.Content.ReadAsStringAsync().Result);
                    Assert.True(notificacoes.Items.Count() > 0);
                    if (notificacoes.Items.Count() > 0)
                    {
                        var notificacao = notificacoes.Items.FirstOrDefault();

                        var getResultTimeline = _fixture._clientApi.GetAsync($"api/v1/workflows/aprovacoes/notificacoes/{notificacao.Id}/linha-tempo").Result;
                        Assert.True(getResultTimeline.IsSuccessStatusCode);
                        if (getResultTimeline.IsSuccessStatusCode)
                        {
                            var timeline = JsonConvert.DeserializeObject <List <WorkflowAprovacaoTimeRespostaDto> >(getResultTimeline.Content.ReadAsStringAsync().Result);
                            if (timeline != null)
                            {
                                Assert.True(timeline.Count() == 3);
                                Assert.True(timeline.FirstOrDefault(a => a.Nivel == 1).StatusId == (int)WorkflowAprovacaoNivelStatus.AguardandoAprovacao);
                                Assert.True(timeline.FirstOrDefault(a => a.Nivel == 2).StatusId == (int)WorkflowAprovacaoNivelStatus.SemStatus);
                                Assert.True(timeline.FirstOrDefault(a => a.Nivel == 3).StatusId == (int)WorkflowAprovacaoNivelStatus.SemStatus);

                                //Aprovar 1 nível;
                                var aprovacaoNivel = new WorkflowAprovacaoAprovacaoDto();
                                aprovacaoNivel.Aprova = true;

                                var postAprovacaoNivel = JsonConvert.SerializeObject(aprovacaoNivel);

                                var jsonParaPostAprovacaoNivel = new StringContent(postAprovacaoNivel, UnicodeEncoding.UTF8, "application/json");

                                var postResultAprovacaoNivel = _fixture._clientApi.PutAsync($"api/v1/workflows/aprovacoes/notificacoes/{notificacao.Id}/aprova", jsonParaPostAprovacaoNivel).Result;

                                Assert.True(postResultAprovacaoNivel.IsSuccessStatusCode);

                                if (postResultAprovacaoNivel.IsSuccessStatusCode)
                                {
                                    var getResultMensagemNivel2 = _fixture._clientApi.GetAsync($"api/v1/notificacoes?titulo={tituloParaLocalizarRegistro}&status=1").Result;

                                    Assert.True(getResultMensagemNivel2.IsSuccessStatusCode);

                                    if (getResultMensagemNivel2.IsSuccessStatusCode)
                                    {
                                        var notificacoesNivel2 = JsonConvert.DeserializeObject <PaginacaoResultadoDto <NotificacaoBasicaDto> >(getResultMensagemNivel2.Content.ReadAsStringAsync().Result);
                                        Assert.True(notificacoesNivel2.Items.Count() == 1);
                                        if (notificacoesNivel2.Items.Count() == 1)
                                        {
                                            var notificacaoNivel2 = notificacoesNivel2.Items.FirstOrDefault();

                                            var getResultTimelineNivel2 = _fixture._clientApi.GetAsync($"api/v1/workflows/aprovacoes/notificacoes/{notificacaoNivel2.Id}/linha-tempo").Result;
                                            Assert.True(getResultTimeline.IsSuccessStatusCode);
                                            if (getResultTimelineNivel2.IsSuccessStatusCode)
                                            {
                                                var timelineNivel2 = JsonConvert.DeserializeObject <List <WorkflowAprovacaoTimeRespostaDto> >(getResultTimelineNivel2.Content.ReadAsStringAsync().Result);
                                                if (timelineNivel2 != null)
                                                {
                                                    Assert.True(timelineNivel2.Count() == 3);
                                                    Assert.True(timelineNivel2.FirstOrDefault(a => a.Nivel == 1).StatusId == (int)WorkflowAprovacaoNivelStatus.Aprovado);
                                                    Assert.True(timelineNivel2.FirstOrDefault(a => a.Nivel == 2).StatusId == (int)WorkflowAprovacaoNivelStatus.AguardandoAprovacao);
                                                    Assert.True(timelineNivel2.FirstOrDefault(a => a.Nivel == 3).StatusId == (int)WorkflowAprovacaoNivelStatus.SemStatus);
                                                    Assert.True(notificacoes.Items.FirstOrDefault().Codigo == notificacoesNivel2.Items.FirstOrDefault().Codigo);

                                                    //Reprovacao 2 nivel
                                                    var reprovacaoNivel = new WorkflowAprovacaoAprovacaoDto();
                                                    reprovacaoNivel.Aprova     = false;
                                                    reprovacaoNivel.Observacao = "Observação de teste!";

                                                    var postReprovacaoNivel = JsonConvert.SerializeObject(reprovacaoNivel);

                                                    var jsonParaPutReprovacaoNivel = new StringContent(postReprovacaoNivel, UnicodeEncoding.UTF8, "application/json");

                                                    var putResultReprovacaoNivel = _fixture._clientApi.PutAsync($"api/v1/workflows/aprovacoes/notificacoes/{notificacaoNivel2.Id}/aprova", jsonParaPutReprovacaoNivel).Result;

                                                    Assert.True(putResultReprovacaoNivel.IsSuccessStatusCode);
                                                    if (putResultReprovacaoNivel.IsSuccessStatusCode)
                                                    {
                                                        getResultTimelineNivel2 = _fixture._clientApi.GetAsync($"api/v1/workflows/aprovacoes/notificacoes/{notificacaoNivel2.Id}/linha-tempo").Result;
                                                        timelineNivel2          = JsonConvert.DeserializeObject <List <WorkflowAprovacaoTimeRespostaDto> >(getResultTimelineNivel2.Content.ReadAsStringAsync().Result);
                                                        Assert.True(timelineNivel2.Count() == 3);
                                                        Assert.True(timelineNivel2.FirstOrDefault(a => a.Nivel == 1).StatusId == (int)WorkflowAprovacaoNivelStatus.Aprovado);
                                                        Assert.True(timelineNivel2.FirstOrDefault(a => a.Nivel == 2).StatusId == (int)WorkflowAprovacaoNivelStatus.Reprovado);
                                                        Assert.True(timelineNivel2.FirstOrDefault(a => a.Nivel == 3).StatusId == (int)WorkflowAprovacaoNivelStatus.SemStatus);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        public async Task Deve_Incluir_Excluir_Consular_Tipo_Calendario()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.TCE_C, Permissao.TCE_I, Permissao.TCE_E }));

            var tipoCalendarioDto = new TipoCalendarioDto();

            tipoCalendarioDto.AnoLetivo  = 2019;
            tipoCalendarioDto.Nome       = "Teste 1";
            tipoCalendarioDto.Periodo    = Periodo.Anual;
            tipoCalendarioDto.Modalidade = ModalidadeTipoCalendario.FundamentalMedio;
            tipoCalendarioDto.Situacao   = true;

            var tipoCalendarioDto2 = new TipoCalendarioDto();

            tipoCalendarioDto2.AnoLetivo  = 2019;
            tipoCalendarioDto2.Nome       = "Teste 2";
            tipoCalendarioDto2.Periodo    = Periodo.Semestral;
            tipoCalendarioDto2.Modalidade = ModalidadeTipoCalendario.FundamentalMedio;
            tipoCalendarioDto2.Situacao   = true;

            var jsonParaPost = new StringContent(TransformarEmJson(tipoCalendarioDto), UnicodeEncoding.UTF8, "application/json");
            var postResult   = await _fixture._clientApi.PostAsync("api/v1/calendarios/tipos/", jsonParaPost);

            Assert.True(postResult.IsSuccessStatusCode);

            if (postResult.IsSuccessStatusCode)
            {
                var jsonParaPost2 = new StringContent(TransformarEmJson(tipoCalendarioDto2), UnicodeEncoding.UTF8, "application/json");
                var postResult2   = await _fixture._clientApi.PostAsync("api/v1/calendarios/tipos/", jsonParaPost2);

                Assert.True(postResult2.IsSuccessStatusCode);

                if (postResult2.IsSuccessStatusCode)
                {
                    var getAllResult = await _fixture._clientApi.GetAsync($"api/v1/calendarios/tipos/");

                    var dtoTodos = JsonConvert.DeserializeObject <IEnumerable <TipoCalendarioDto> >(getAllResult.Content.ReadAsStringAsync().Result);

                    Assert.True(dtoTodos.Any());

                    var feriadoParaExcluir = dtoTodos.ElementAt(0);

                    var ids = new long[1];
                    ids[0] = feriadoParaExcluir.Id;

                    var jsonDelete             = new StringContent(JsonConvert.SerializeObject(ids), UnicodeEncoding.UTF8, "application/json");
                    HttpRequestMessage request = new HttpRequestMessage
                    {
                        Content    = jsonDelete,
                        Method     = HttpMethod.Delete,
                        RequestUri = new Uri($"{ _fixture._clientApi.BaseAddress}api/v1/calendarios/tipos/")
                    };

                    var deleteResult = await _fixture._clientApi.SendAsync(request);

                    Assert.False(deleteResult.IsSuccessStatusCode);
                    var feriadoParaConsultar = dtoTodos.ElementAt(1);
                    var getOneResult         = await _fixture._clientApi.GetAsync($"api/v1/calendarios/tipos/{feriadoParaConsultar.Id}");

                    Assert.True(getOneResult.IsSuccessStatusCode);

                    var dtoUm = JsonConvert.DeserializeObject <TipoCalendarioCompletoDto>(getOneResult.Content.ReadAsStringAsync().Result);

                    Assert.True(dtoUm.Id == feriadoParaConsultar.Id);
                }
            }
        }
예제 #25
0
        public async void Deve_Retornar_Menu()
        {
            fixture._clientApi.DefaultRequestHeaders.Clear();
            fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", fixture.GerarToken(new Permissao[] { Permissao.N_C, Permissao.PA_I }));

            var result = await fixture._clientApi.GetAsync("api/v1/menus/");

            Assert.True(result.IsSuccessStatusCode);

            var menu = JsonConvert.DeserializeObject <List <MenuRetornoDto> >(await result.Content.ReadAsStringAsync());

            Assert.True(menu.Count() > 0);
        }
        public async void Gerar_Relatorio_Historico_Escolar()
        {
            // Arrange
            FiltroHistoricoEscolarDto filtro = new FiltroHistoricoEscolarDto();
            var jsonParaPost = new StringContent(JsonConvert.SerializeObject(filtro), Encoding.UTF8, "application/json");

            // Act
            fixture._clientApi.DefaultRequestHeaders.Clear();
            fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", fixture.GerarToken(new Permissao[] { }));
            var result = await fixture._clientApi.PostAsync($"api/v1/historico-escolar/gerar", jsonParaPost);

            // Assert
            Assert.True(fixture.ValidarStatusCodeComSucesso(result));
        }
예제 #27
0
        public async void Deve_Retornar_Os_Dados_Do_Usuário()
        {
            fixture._clientApi.DefaultRequestHeaders.Clear();
            fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", fixture.GerarToken(new Permissao[] { Permissao.M_C }, "7777710", "7777710"));

            var result = await fixture._clientApi.GetAsync("api/v1/usuarios/meus-dados");

            Assert.True(result.IsSuccessStatusCode);
        }
        public async void ObterDresPorAbrangenciaComOpcaoTodas()
        {
            // Arrange
            // Act
            fixture._clientApi.DefaultRequestHeaders.Clear();
            fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", fixture.GerarToken(new Permissao[] { }));

            var result = await fixture._clientApi.GetAsync($"api/v1/relatorios/filtros/dres");

            // Assert
            Assert.True(fixture.ValidarStatusCodeComSucesso(result));
        }
예제 #29
0
        public async Task Deve_Retornar_Funcionarios_Por_Filtro()
        {
            // Arrange
            fixture._clientApi.DefaultRequestHeaders.Clear();
            fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", fixture.GerarToken(new Permissao[] { Permissao.AS_C }));
            filtro.AtualizaCodigoDre(codigoDRE);
            filtro.AtualizaCodigoUe(codigoUE);
            var jsonFiltro = new StringContent(JsonConvert.SerializeObject(filtro), Encoding.UTF8, "application/json");

            // Act
            var result = await fixture._clientApi.PostAsync($"api/v1/unidades-escolares/funcionarios", jsonFiltro);

            // Assert
            Assert.True(fixture.ValidarStatusCodeComSucesso(result));
        }
        public async void ObterComponenteCurricularePorAnosEModalidade()
        {
            // Arrange
            // Act
            fixture._clientApi.DefaultRequestHeaders.Clear();
            fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", fixture.GerarToken(new Permissao[] { }));

            var codigoUe = "094765";
            var result   = await fixture._clientApi.GetAsync($"api/v1/componentes-curriculares/ues/{codigoUe}/modalidades/5/anos/2020/anos-escolares?anosEscolares=1");

            // Assert
            Assert.True(fixture.ValidarStatusCodeComSucesso(result));
        }