From 616b930aec396ad10d9030eadfb223e25a389bba Mon Sep 17 00:00:00 2001 From: Paul Richard Pereira Martins dos Anjos Date: Wed, 9 Oct 2024 17:58:45 -0300 Subject: [PATCH] feat: adicionado teste que valida status de conclusao do tramite em bloco (sei41) --- ...DeTramiteSituacaoProcessoConcluidoTest.php | 245 ++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100755 tests_sei41/funcional/tests/TramiteBlocoDeTramiteSituacaoProcessoConcluidoTest.php diff --git a/tests_sei41/funcional/tests/TramiteBlocoDeTramiteSituacaoProcessoConcluidoTest.php b/tests_sei41/funcional/tests/TramiteBlocoDeTramiteSituacaoProcessoConcluidoTest.php new file mode 100755 index 00000000..481509ae --- /dev/null +++ b/tests_sei41/funcional/tests/TramiteBlocoDeTramiteSituacaoProcessoConcluidoTest.php @@ -0,0 +1,245 @@ +definirContextoTeste(CONTEXTO_ORGAO_A); + self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); + $processoTeste = $this->gerarDadosProcessoTeste(self::$remetente); + $documentoTeste = $this->gerarDadosDocumentoInternoTeste(self::$remetente); + + // Cadastrar novo processo de teste + $objProtocoloDTO = $this->cadastrarProcessoFixture($processoTeste); + $this->cadastrarDocumentoInternoFixture($documentoTeste, $objProtocoloDTO->getDblIdProtocolo()); + + $objBlocoDeTramiteFixture = new \BlocoDeTramiteFixture(); + $objBlocoDeTramiteDTO = $objBlocoDeTramiteFixture->carregar(); + + $objBlocoDeTramiteProtocoloFixture = new \BlocoDeTramiteProtocoloFixture(); + $objBlocoDeTramiteProtocoloFixtureDTO = $objBlocoDeTramiteProtocoloFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdBloco' => $objBlocoDeTramiteDTO->getNumId() + ]); + + $this->acessarSistema(self::$remetente['URL'], self::$remetente['SIGLA_UNIDADE'], self::$remetente['LOGIN'], self::$remetente['SENHA']); + + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + $this->paginaCadastrarProcessoEmBloco->bntTramitarBloco(); + $this->paginaCadastrarProcessoEmBloco->tramitarProcessoExternamente( + self::$destinatario['REP_ESTRUTURAS'], self::$destinatario['NOME_UNIDADE'], + self::$destinatario['SIGLA_UNIDADE_HIERARQUIA'], false, + function ($testCase) { + try { + $testCase->frame('ifrEnvioProcesso'); + $mensagemSucesso = mb_convert_encoding('Processo(s) aguardando envio. Favor acompanhar a tramitação por meio do bloco, na funcionalidade \'Blocos de Trâmite Externo\'', 'UTF-8', 'ISO-8859-1'); + $testCase->assertStringContainsString($mensagemSucesso, $testCase->byCssSelector('body')->text()); + $btnFechar = $testCase->byXPath("//input[@id='btnFechar']"); + $btnFechar->click(); + } finally { + try { + $testCase->frame(null); + $testCase->frame("ifrVisualizacao"); + } catch (Exception $e) { + } + } + + return true; + } + ); + + $this->waitUntil(function ($testCase) use ($objProtocoloDTO) { + sleep(5); + $testCase->refresh(); + + $colunaEstado = $testCase->elements($testCase->using('xpath')->value('//table[@id="tblBlocos"]/tbody/tr/td[3]')); + $this->assertEquals(utf8_encode("Concluído"), $colunaEstado[0]->text()); + + $objPenBlocoProcessoDTO = new \PenBlocoProcessoDTO(); + $objPenBlocoProcessoDTO->setDblIdProtocolo($objProtocoloDTO->getDblIdProtocolo()); + $objPenBlocoProcessoDTO->retNumIdAndamento(); + $objPenBlocoProcessoDTO->setNumMaxRegistrosRetorno(1); + + $objBD = new \PenBlocoProcessoBD(\BancoSEI::getInstance()); + $objPenBlocoProcesso = $objBD->consultar($objPenBlocoProcessoDTO); + + $this->assertEquals(6, $objPenBlocoProcesso->getNumIdAndamento()); + return true; + }, PEN_WAIT_TIMEOUT); + } + + /** + * Teste pra validar mensagem de documento não assinado ao ser inserido em bloco + * + * @group envio + * @large + * + * @return void + */ + public function test_validar_situacao_do_processo_no_bloco_status7() + { + self::$remetente = $this->definirContextoTeste(CONTEXTO_ORGAO_A); + self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); + $processoTeste = $this->gerarDadosProcessoTeste(self::$remetente); + $documentoTeste = $this->gerarDadosDocumentoInternoTeste(self::$remetente); + + // Cadastrar novo processo de teste + $objProtocoloDTO = $this->cadastrarProcessoFixture($processoTeste); + $this->cadastrarDocumentoInternoFixture($documentoTeste, $objProtocoloDTO->getDblIdProtocolo()); + + $objBlocoDeTramiteFixture = new \BlocoDeTramiteFixture(); + $objBlocoDeTramiteDTO = $objBlocoDeTramiteFixture->carregar(); + + $objBlocoDeTramiteProtocoloFixture = new \BlocoDeTramiteProtocoloFixture(); + $objBlocoDeTramiteProtocoloFixtureDTO = $objBlocoDeTramiteProtocoloFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdBloco' => $objBlocoDeTramiteDTO->getNumId() + ]); + + $this->acessarSistema(self::$remetente['URL'], self::$remetente['SIGLA_UNIDADE'], self::$remetente['LOGIN'], self::$remetente['SENHA']); + + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + $this->paginaCadastrarProcessoEmBloco->bntTramitarBloco(); + $this->paginaCadastrarProcessoEmBloco->tramitarProcessoExternamente( + self::$destinatario['REP_ESTRUTURAS'], self::$destinatario['NOME_UNIDADE'], + self::$destinatario['SIGLA_UNIDADE_HIERARQUIA'], false, + function ($testCase) { + try { + $testCase->frame('ifrEnvioProcesso'); + $mensagemSucesso = mb_convert_encoding('Processo(s) aguardando envio. Favor acompanhar a tramitação por meio do bloco, na funcionalidade \'Blocos de Trâmite Externo\'', 'UTF-8', 'ISO-8859-1'); + $testCase->assertStringContainsString($mensagemSucesso, $testCase->byCssSelector('body')->text()); + $btnFechar = $testCase->byXPath("//input[@id='btnFechar']"); + $btnFechar->click(); + } finally { + try { + $testCase->frame(null); + $testCase->frame("ifrVisualizacao"); + } catch (Exception $e) { + } + } + + return true; + } + ); + + $this->paginaBase->navegarParaControleProcesso(); + $this->abrirProcesso($objProtocoloDTO->getStrProtocoloFormatado()); + $this->paginaProcesso->cancelarTramitacaoExterna(); + $this->paginaTramitar->alertTextAndClose(true); + + $this->paginaBase->navegarParaControleProcesso(); + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + $this->waitUntil(function ($testCase) use ($objProtocoloDTO) { + sleep(5); + $testCase->refresh(); + + $colunaEstado = $testCase->elements($testCase->using('xpath')->value('//table[@id="tblBlocos"]/tbody/tr/td[3]')); + $this->assertEquals(utf8_encode("Concluído"), $colunaEstado[0]->text()); + + $objPenBlocoProcessoDTO = new \PenBlocoProcessoDTO(); + $objPenBlocoProcessoDTO->setDblIdProtocolo($objProtocoloDTO->getDblIdProtocolo()); + $objPenBlocoProcessoDTO->retNumIdAndamento(); + $objPenBlocoProcessoDTO->setNumMaxRegistrosRetorno(1); + + $objBD = new \PenBlocoProcessoBD(\BancoSEI::getInstance()); + $objPenBlocoProcesso = $objBD->consultar($objPenBlocoProcessoDTO); + + $this->assertEquals(7, $objPenBlocoProcesso->getNumIdAndamento()); + return true; + }, PEN_WAIT_TIMEOUT); + } + + /** + * Teste pra validar mensagem de documento não assinado ao ser inserido em bloco + * + * @group envio + * @large + * + * @return void + */ + public function test_validar_situacao_do_processo_no_bloco_status9() + { + self::$remetente = $this->definirContextoTeste(CONTEXTO_ORGAO_A); + self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); + $processoTeste = $this->gerarDadosProcessoTeste(self::$remetente); + $documentoTeste = $this->gerarDadosDocumentoExternoTeste($remetente, 'arquivo_extensao_nao_permitida.docx'); + + // Cadastrar novo processo de teste + $objProtocoloDTO = $this->cadastrarProcessoFixture($processoTeste); + $this->cadastrarDocumentoExternoFixture($documentoTeste, $objProtocoloDTO->getDblIdProtocolo()); + + $objBlocoDeTramiteFixture = new \BlocoDeTramiteFixture(); + $objBlocoDeTramiteDTO = $objBlocoDeTramiteFixture->carregar(); + + $objBlocoDeTramiteProtocoloFixture = new \BlocoDeTramiteProtocoloFixture(); + $objBlocoDeTramiteProtocoloFixtureDTO = $objBlocoDeTramiteProtocoloFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdBloco' => $objBlocoDeTramiteDTO->getNumId() + ]); + + $this->acessarSistema(self::$remetente['URL'], self::$remetente['SIGLA_UNIDADE'], self::$remetente['LOGIN'], self::$remetente['SENHA']); + + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + $this->paginaCadastrarProcessoEmBloco->bntTramitarBloco(); + $this->paginaCadastrarProcessoEmBloco->tramitarProcessoExternamente( + self::$destinatario['REP_ESTRUTURAS'], self::$destinatario['NOME_UNIDADE'], + self::$destinatario['SIGLA_UNIDADE_HIERARQUIA'], false, + function ($testCase) { + try { + $testCase->frame('ifrEnvioProcesso'); + $mensagemSucesso = mb_convert_encoding('Processo(s) aguardando envio. Favor acompanhar a tramitação por meio do bloco, na funcionalidade \'Blocos de Trâmite Externo\'', 'UTF-8', 'ISO-8859-1'); + $testCase->assertStringContainsString($mensagemSucesso, $testCase->byCssSelector('body')->text()); + $btnFechar = $testCase->byXPath("//input[@id='btnFechar']"); + $btnFechar->click(); + } finally { + try { + $testCase->frame(null); + $testCase->frame("ifrVisualizacao"); + } catch (Exception $e) { + } + } + + return true; + } + ); + + $this->waitUntil(function ($testCase) use ($objProtocoloDTO) { + sleep(5); + $testCase->refresh(); + + $colunaEstado = $testCase->elements($testCase->using('xpath')->value('//table[@id="tblBlocos"]/tbody/tr/td[3]')); + $this->assertEquals(utf8_encode("Concluído"), $colunaEstado[0]->text()); + + $objPenBlocoProcessoDTO = new \PenBlocoProcessoDTO(); + $objPenBlocoProcessoDTO->setDblIdProtocolo($objProtocoloDTO->getDblIdProtocolo()); + $objPenBlocoProcessoDTO->retNumIdAndamento(); + $objPenBlocoProcessoDTO->setNumMaxRegistrosRetorno(1); + + $objBD = new \PenBlocoProcessoBD(\BancoSEI::getInstance()); + $objPenBlocoProcesso = $objBD->consultar($objPenBlocoProcessoDTO); + + $this->assertEquals(9, $objPenBlocoProcesso->getNumIdAndamento()); + return true; + }, PEN_WAIT_TIMEOUT); + } + +}