Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.gov.al.saude.rhd.core.domain;

import static br.gov.al.saude.test.ConstantesTestHelper.CronogramaConstantes.ANO_2013;
import static br.gov.al.saude.test.ConstantesTestHelper.GrupoAvaliacaoConstantes.DESCRICAO_GRUPO_AVALIACAO_TI_GRUPO_DE_DESENVOLVEDORES;
import static br.gov.al.saude.test.ConstantesTestHelper.GrupoAvaliacaoConstantes.DESCRICAO_GRUPO_AVALIACAO_TI_GRUPO_DOS_ANALISTAS;
import static br.gov.al.saude.test.ConstantesTestHelper.GrupoAvaliacaoConstantes.SEQUENCIAL_GRUPO_AVALIACAO_06;
import static br.gov.al.saude.test.ConstantesTestHelper.GrupoAvaliacaoConstantes.SEQUENCIAL_GRUPO_AVALIACAO_ANALISTAS_2013_3;
import static br.gov.al.saude.test.ConstantesTestHelper.PessoaConstantes.NOME_PESSOA_JOAO_GALDINO;
import static br.gov.al.saude.test.ConstantesTestHelper.PessoaConstantes.NOME_PESSOA_LUCIANO_BARBOSA;
import static br.gov.al.saude.test.ConstantesTestHelper.PessoaConstantes.SEQUENCIAL_PESSOA_LUCIANO_BARBOSA_1;
import static br.gov.al.saude.test.ConstantesTestHelper.QualificacaoServidorConstantes.CARGA_HORARIA_20;
import static br.gov.al.saude.test.ConstantesTestHelper.QualificacaoServidorConstantes.DATA_FINAL_08_05_2013;
import static br.gov.al.saude.test.ConstantesTestHelper.QualificacaoServidorConstantes.DATA_INICIAL_06_05_2013;
import static br.gov.al.saude.test.ConstantesTestHelper.QualificacaoServidorConstantes.DESCRICAO_II_CONGRESSO_MEDICINA_LEGAL;
import static br.gov.al.saude.test.ConstantesTestHelper.QualificacaoServidorConstantes.INSTITUICAO_CENTRO_CONVENCOES;
import static br.gov.al.saude.test.ConstantesTestHelper.ServidorConstantes.CODIGO_UNIDADE_HGE_5;
import static br.gov.al.saude.test.ConstantesTestHelper.ServidorConstantes.DESCRICAO_UNIDADE_HGE;
import static br.gov.al.saude.test.ConstantesTestHelper.ServidorConstantes.DIGITO_MATRICULA_0;
import static br.gov.al.saude.test.ConstantesTestHelper.ServidorConstantes.MATRICULA_JOAO_GALDINO_3352655;
import static br.gov.al.saude.test.ConstantesTestHelper.ServidorConstantes.MATRICULA_LUCIANO_BARBOSA_111201;
import static br.gov.al.saude.test.ConstantesTestHelper.SolicitacaoRevisaoConstantes.DATA_CADASTRO_22_05_2013;
import static br.gov.al.saude.test.ConstantesTestHelper.SolicitacaoRevisaoConstantes.DESCRICAO_SOLICITACAO_NAO_FALTEI_TANTOS_DIAS;
import static br.gov.al.saude.test.ConstantesTestHelper.SolicitacaoRevisaoConstantes.NOTA_AVALIACAO_0;
import net.sf.jasperreports.engine.JasperPrint;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import br.gov.al.saude.rhd.core.domain.emissorrelatorio.relatorio.GeradorRelatorio;
import br.gov.al.saude.rhd.parametros.ParametroEmissaoRelatorioDTO;
import br.gov.al.saude.test.AbstractUnitTests;
import br.gov.al.saude.test.aceitacao.helper.CenarioTestHelper;
import br.gov.al.saude.test.aceitacao.usecase.emitirrelatorioqualificacao.montadorcontexto.MontadorContextoEmitirRelatorioQualificacao;
import br.gov.al.saude.test.aceitacao.usecase.emitirrelatorioreconsideracao.montadorcontexto.MontadorContextoEmitirRelatorioReconsideracao;
import br.gov.al.saude.test.builder.ParametroEmissaoRelatorioBuilder;
import br.gov.al.saude.test.util.VerificadorMensagem;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:testContext.xml")
public class GeradorRelatorioImplTest extends AbstractUnitTests {

        @Autowired
        private GeradorRelatorio geradorRelatorio;
       
        @Autowired
        private CenarioTestHelper cenarioTestHelper;

        @Autowired
        private MontadorContextoEmitirRelatorioQualificacao montadorContextoEmitirRelatorioQualificacao;

        @Autowired
        private MontadorContextoEmitirRelatorioReconsideracao montatoContextoEmitirRelatorioReconsideracao;

        @Before
        public void inicializarContexto() {
                cenarioTestHelper.limparBanco();
        }
       
        @Test
        public void aoEmitirRelatorioQualificacaoDeveriaGerarRelatorio() throws Exception {
                montadorContextoEmitirRelatorioQualificacao.montarContextoEmitirRelatorioQualificacao();
                ParametroEmissaoRelatorioDTO parametroEmissaoRelatorio = new ParametroEmissaoRelatorioBuilder()
                                                                         .comCronograma(ANO_2013)
                                                                         .comUnidadeExercicio(CODIGO_UNIDADE_HGE_5)
                                                                         .comGrupoAvaliacao(SEQUENCIAL_GRUPO_AVALIACAO_ANALISTAS_2013_3)
                                                                         .comMatriculaServidor(MATRICULA_JOAO_GALDINO_3352655)
                                                                         .comUsuario(SEQUENCIAL_PESSOA_LUCIANO_BARBOSA_1)
                                                                         .build();
                JasperPrint relatorioGerado = geradorRelatorio.emitirRelatorioQualificacao(parametroEmissaoRelatorio);
                String resultado = extrairTextoDoJasperPrint(relatorioGerado);
                VerificadorMensagem.verificarMensagemContida("Deveria emitir relatório de qualificações",
                                new String[] {DESCRICAO_UNIDADE_HGE, DESCRICAO_GRUPO_AVALIACAO_TI_GRUPO_DOS_ANALISTAS,
                                                          NOME_PESSOA_JOAO_GALDINO, MATRICULA_JOAO_GALDINO_3352655 + "-" + DIGITO_MATRICULA_0, "111.251.445-65",
                                                          DESCRICAO_II_CONGRESSO_MEDICINA_LEGAL, "Participação em Eventos", CARGA_HORARIA_20,
                                                          INSTITUICAO_CENTRO_CONVENCOES, DATA_INICIAL_06_05_2013, DATA_FINAL_08_05_2013,
                                                          "5", "5"}, resultado);
        }
       
        @Test
        public void aoEmitirRelatorioReconsideracaoDeveriaGerarRelatorio() throws Exception {
                montatoContextoEmitirRelatorioReconsideracao.montarContextoEmitirRelatorioReconsideracao();
                ParametroEmissaoRelatorioDTO parametroEmissaoRelatorio = new ParametroEmissaoRelatorioBuilder()
                                                                                                                                         .comCronograma(ANO_2013)
                                                                                                                                         .comUnidadeExercicio(CODIGO_UNIDADE_HGE_5)
                                                                                                                                         .comGrupoAvaliacao(SEQUENCIAL_GRUPO_AVALIACAO_06)
                                                                                                                                         .comMatriculaServidor(MATRICULA_LUCIANO_BARBOSA_111201)
                                                                                                                                         .comUsuario(SEQUENCIAL_PESSOA_LUCIANO_BARBOSA_1)
                                                                                                                                         .build();
               
                JasperPrint relatorioGerado = geradorRelatorio.emitirRelatorioReconsideracao(parametroEmissaoRelatorio);
                String resultado = extrairTextoDoJasperPrint(relatorioGerado);
                VerificadorMensagem.verificarMensagemContida("Deveria emitir relatório de reconsiderações",
                                new String[] {DESCRICAO_UNIDADE_HGE, DESCRICAO_GRUPO_AVALIACAO_TI_GRUPO_DE_DESENVOLVEDORES,
                                                          NOME_PESSOA_LUCIANO_BARBOSA, MATRICULA_LUCIANO_BARBOSA_111201 + "-" + DIGITO_MATRICULA_0, "208.566.014-21",
                                                          "Assiduidade", NOTA_AVALIACAO_0, DATA_CADASTRO_22_05_2013, DESCRICAO_SOLICITACAO_NAO_FALTEI_TANTOS_DIAS}, resultado);
        }
}