From 334433075f15588f420b9819ee8dd977ca3234dc Mon Sep 17 00:00:00 2001 From: Mauro Costa Date: Fri, 26 Jan 2024 15:41:22 -0300 Subject: [PATCH 1/6] =?UTF-8?q?feat:=20melhoria=20da=20mensagem=20na=20alt?= =?UTF-8?q?era=C3=A7=C3=A3o=20da=20ordem=20dos=20documentos=20do=20process?= =?UTF-8?q?o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit foi alterado a mensagem de alteração da ordem de documentos no tramite de um processo e includo testes funcionais para tramite e devolução desse processo com alteração da ordem de documentos --- Makefile | 5 +- src/rn/ProcessoEletronicoRN.php | 44 +++++ tests_sei3/funcional/bootstrap.php | 10 + tests_sei3/funcional/composer.json | 9 +- tests_sei3/funcional/docker-compose.yml | 20 +- .../src/fixtures/AssinaturaFixture.php | 51 ++++++ .../src/fixtures/AtividadeFixture.php | 41 +++++ .../src/fixtures/AtributoAndamentoFixture.php | 31 ++++ .../src/fixtures/DocumentoConteudoFixture.php | 32 ++++ .../src/fixtures/DocumentoFixture.php | 97 ++++++++++ .../funcional/src/fixtures/FixtureBase.php | 42 +++++ .../src/fixtures/ParticipanteFixture.php | 37 ++++ .../src/fixtures/ProcedimentoFixture.php | 39 ++++ .../src/fixtures/ProtocoloFixture.php | 78 ++++++++ .../fixtures/RelProtocoloAssuntoFixture.php | 26 +++ .../fixtures/RelProtocoloProtocoloFixture.php | 28 +++ .../src/fixtures/SecaoDocumentoFixture.php | 173 ++++++++++++++++++ .../src/paginas/PaginaReordenarProcesso.php | 46 +++++ .../funcional/tests/CenarioBaseTestCase.php | 2 + ...TramiteReordenarDocumentosProcessoTest.php | 169 +++++++++++++++++ tests_sei4/funcional/bootstrap.php | 10 + tests_sei4/funcional/composer.json | 9 +- tests_sei4/funcional/docker-compose.yml | 21 ++- .../src/fixtures/AssinaturaFixture.php | 51 ++++++ .../src/fixtures/AtividadeFixture.php | 41 +++++ .../src/fixtures/AtributoAndamentoFixture.php | 31 ++++ .../src/fixtures/DocumentoConteudoFixture.php | 32 ++++ .../src/fixtures/DocumentoFixture.php | 97 ++++++++++ .../funcional/src/fixtures/FixtureBase.php | 42 +++++ .../src/fixtures/ParticipanteFixture.php | 37 ++++ .../src/fixtures/ProcedimentoFixture.php | 39 ++++ .../src/fixtures/ProtocoloFixture.php | 78 ++++++++ .../fixtures/RelProtocoloAssuntoFixture.php | 26 +++ .../fixtures/RelProtocoloProtocoloFixture.php | 28 +++ .../src/fixtures/SecaoDocumentoFixture.php | 173 ++++++++++++++++++ .../src/paginas/PaginaReordenarProcesso.php | 46 +++++ .../funcional/tests/CenarioBaseTestCase.php | 2 + ...TramiteReordenarDocumentosProcessoTest.php | 169 +++++++++++++++++ tests_super/funcional/bootstrap.php | 10 + tests_super/funcional/composer.json | 9 +- tests_super/funcional/docker-compose.yml | 20 +- .../src/fixtures/AssinaturaFixture.php | 52 ++++++ .../src/fixtures/AtividadeFixture.php | 41 +++++ .../src/fixtures/AtributoAndamentoFixture.php | 31 ++++ .../src/fixtures/DocumentoConteudoFixture.php | 32 ++++ .../src/fixtures/DocumentoFixture.php | 97 ++++++++++ .../funcional/src/fixtures/FixtureBase.php | 42 +++++ .../src/fixtures/ParticipanteFixture.php | 37 ++++ .../src/fixtures/ProcedimentoFixture.php | 39 ++++ .../src/fixtures/ProtocoloFixture.php | 78 ++++++++ .../fixtures/RelProtocoloAssuntoFixture.php | 26 +++ .../fixtures/RelProtocoloProtocoloFixture.php | 28 +++ .../src/fixtures/SecaoDocumentoFixture.php | 173 ++++++++++++++++++ .../src/paginas/PaginaReordenarProcesso.php | 46 +++++ .../funcional/tests/CenarioBaseTestCase.php | 2 + ...TramiteReordenarDocumentosProcessoTest.php | 169 +++++++++++++++++ 56 files changed, 2830 insertions(+), 14 deletions(-) create mode 100644 tests_sei3/funcional/src/fixtures/AssinaturaFixture.php create mode 100644 tests_sei3/funcional/src/fixtures/AtividadeFixture.php create mode 100644 tests_sei3/funcional/src/fixtures/AtributoAndamentoFixture.php create mode 100644 tests_sei3/funcional/src/fixtures/DocumentoConteudoFixture.php create mode 100644 tests_sei3/funcional/src/fixtures/DocumentoFixture.php create mode 100644 tests_sei3/funcional/src/fixtures/FixtureBase.php create mode 100644 tests_sei3/funcional/src/fixtures/ParticipanteFixture.php create mode 100644 tests_sei3/funcional/src/fixtures/ProcedimentoFixture.php create mode 100644 tests_sei3/funcional/src/fixtures/ProtocoloFixture.php create mode 100644 tests_sei3/funcional/src/fixtures/RelProtocoloAssuntoFixture.php create mode 100644 tests_sei3/funcional/src/fixtures/RelProtocoloProtocoloFixture.php create mode 100644 tests_sei3/funcional/src/fixtures/SecaoDocumentoFixture.php create mode 100644 tests_sei3/funcional/src/paginas/PaginaReordenarProcesso.php create mode 100644 tests_sei3/funcional/tests/TramiteReordenarDocumentosProcessoTest.php create mode 100644 tests_sei4/funcional/src/fixtures/AssinaturaFixture.php create mode 100644 tests_sei4/funcional/src/fixtures/AtividadeFixture.php create mode 100644 tests_sei4/funcional/src/fixtures/AtributoAndamentoFixture.php create mode 100644 tests_sei4/funcional/src/fixtures/DocumentoConteudoFixture.php create mode 100644 tests_sei4/funcional/src/fixtures/DocumentoFixture.php create mode 100644 tests_sei4/funcional/src/fixtures/FixtureBase.php create mode 100644 tests_sei4/funcional/src/fixtures/ParticipanteFixture.php create mode 100644 tests_sei4/funcional/src/fixtures/ProcedimentoFixture.php create mode 100644 tests_sei4/funcional/src/fixtures/ProtocoloFixture.php create mode 100644 tests_sei4/funcional/src/fixtures/RelProtocoloAssuntoFixture.php create mode 100644 tests_sei4/funcional/src/fixtures/RelProtocoloProtocoloFixture.php create mode 100644 tests_sei4/funcional/src/fixtures/SecaoDocumentoFixture.php create mode 100644 tests_sei4/funcional/src/paginas/PaginaReordenarProcesso.php create mode 100644 tests_sei4/funcional/tests/TramiteReordenarDocumentosProcessoTest.php create mode 100644 tests_super/funcional/src/fixtures/AssinaturaFixture.php create mode 100644 tests_super/funcional/src/fixtures/AtividadeFixture.php create mode 100644 tests_super/funcional/src/fixtures/AtributoAndamentoFixture.php create mode 100644 tests_super/funcional/src/fixtures/DocumentoConteudoFixture.php create mode 100644 tests_super/funcional/src/fixtures/DocumentoFixture.php create mode 100644 tests_super/funcional/src/fixtures/FixtureBase.php create mode 100644 tests_super/funcional/src/fixtures/ParticipanteFixture.php create mode 100644 tests_super/funcional/src/fixtures/ProcedimentoFixture.php create mode 100644 tests_super/funcional/src/fixtures/ProtocoloFixture.php create mode 100644 tests_super/funcional/src/fixtures/RelProtocoloAssuntoFixture.php create mode 100644 tests_super/funcional/src/fixtures/RelProtocoloProtocoloFixture.php create mode 100644 tests_super/funcional/src/fixtures/SecaoDocumentoFixture.php create mode 100644 tests_super/funcional/src/paginas/PaginaReordenarProcesso.php create mode 100644 tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php diff --git a/Makefile b/Makefile index 20d1d0433..344b04b64 100755 --- a/Makefile +++ b/Makefile @@ -173,7 +173,7 @@ down: .env # make teste=TramiteProcessoComDevolucaoTest test-functional -test-functional: .env $(FILE_VENDOR_FUNCIONAL) up +test-functional: .env $(FILE_VENDOR_FUNCIONAL) up vendor $(CMD_COMPOSE_FUNC) run --rm php-test-functional /tests/vendor/bin/phpunit -c /tests/phpunit.xml $(addprefix /tests/tests/,$(addsuffix .php,$(teste))) ; @@ -238,4 +238,7 @@ tramitar-pendencias-silent: stop-test-container: docker stop $$(docker ps -a -q --filter="name=php-test") +vendor: composer.json + $(CMD_COMPOSE_FUNC) run -w /tests php-test-functional bash -c './composer.phar install' + diff --git a/src/rn/ProcessoEletronicoRN.php b/src/rn/ProcessoEletronicoRN.php index 3792e9ffb..721fea000 100755 --- a/src/rn/ProcessoEletronicoRN.php +++ b/src/rn/ProcessoEletronicoRN.php @@ -673,6 +673,50 @@ public function enviarProcesso($parametros) } } + /** + * Validar qual documento mudou na ordem do processo + * + * @param int $dblIdProcedimento + * @param string $strMensagem + * @param array $params + * @return string + */ + private function validarMudancaOrdemDocumentos($dblIdProcedimento, $strMensagem, $params = null) + { + $objProcessoEletronicoDTO = new ProcessoEletronicoDTO(); + $objProcessoEletronicoDTO->setDblIdProcedimento($dblIdProcedimento); + + $objProcessoEletronicoRN = new ProcessoEletronicoRN(); + $objUltimoTramiteDTO = $objProcessoEletronicoRN->consultarUltimoTramite($objProcessoEletronicoDTO); + $numIdTramite = $objUltimoTramiteDTO->getNumIdTramite(); + + if (!is_null($numIdTramite) && $numIdTramite > 0) { + $objAtividadeDTO = new AtividadeDTO(); + $objAtividadeDTO->setDblIdProtocolo($dblIdProcedimento); + $objAtividadeDTO->setNumIdTarefa(TarefaRN::$TI_PROCESSO_ALTERACAO_ORDEM_ARVORE); + $objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC); + $objAtividadeDTO->retNumIdAtividade(); + $objAtividadeDTO->retDblIdProcedimentoProtocolo(); + + $objAtividadeRN = new AtividadeRN(); + $arrObjAtividadeDTO = $objAtividadeRN->contarRN0035($objAtividadeDTO); + + $msg = "Houve uma alteração na ordem dos documentos no processo, o que impede o reenvio de um processo que já foi tramitado pela plataforma. " . + "Portanto, é recomendado reordenar os documentos de acordo com a ordem original. " . + "Caso você seja um usuário sem permissão para reordenar o processo, é necessário entrar em contato internamente para identificar quem possui essa permissão."; + + if ($arrObjAtividadeDTO > 0) { + $strMensagem = str_replace( + 'hash de ao menos um componente digital não confere', + $msg, + $strMensagem + ); + } + } + + return $strMensagem; + } + private function validarTramitaEmAndamento($parametros, $strMensagem) { if (strpos($strMensagem, 'já possui trâmite em andamento')) { diff --git a/tests_sei3/funcional/bootstrap.php b/tests_sei3/funcional/bootstrap.php index 8fb3da6b3..641c255a5 100755 --- a/tests_sei3/funcional/bootstrap.php +++ b/tests_sei3/funcional/bootstrap.php @@ -2,6 +2,16 @@ require_once __DIR__ . '/vendor/autoload.php'; +require_once __DIR__ . '/sei/src/sei/web/SEI.php'; + +define("DIR_SEI_WEB", __DIR__ . '/sei/src/sei/web/'); +define("DIR_TEST", __DIR__ ); +define("DIR_PROJECT", __DIR__ . '/..' ); +define("DIR_INFRA", __DIR__ . '/../src/infra/infra_php' ); + +error_reporting(E_ERROR); +restore_error_handler(); + //Classes utilitárias para manipulação dos dados do SEI require_once __DIR__ . '/src/utils/DatabaseUtils.php'; require_once __DIR__ . '/src/utils/ParameterUtils.php'; diff --git a/tests_sei3/funcional/composer.json b/tests_sei3/funcional/composer.json index 274ffe178..8aadad5d9 100755 --- a/tests_sei3/funcional/composer.json +++ b/tests_sei3/funcional/composer.json @@ -7,10 +7,17 @@ "autoload": { "classmap": [ - "src/" + "src/", + "sei/modpen/" ] }, + "autoload-dev": { + "psr-4": { + "Tests\\": "sei/" + } + }, + "require-dev": { "phpunit/phpunit": "8.*", "phpunit/php-code-coverage": "*", diff --git a/tests_sei3/funcional/docker-compose.yml b/tests_sei3/funcional/docker-compose.yml index cf413e750..6f90badf5 100755 --- a/tests_sei3/funcional/docker-compose.yml +++ b/tests_sei3/funcional/docker-compose.yml @@ -45,15 +45,20 @@ services: image: processoeletronico/vagrant_sei4_httpd container_name: php-test-functional depends_on: - - org1-database - org2-database + - org1-database - selenium volumes: - ${SEI_PATH}/sei:/opt/sei - ${SEI_PATH}/sip:/opt/sip - ${SEI_PATH}/infra:/opt/infra - - ./assets/config:/opt/sei/config/mod-pen - .:/tests + - ${SEI_PATH}/../tests:/tests/sei + - ${SEI_PATH}/../src:/tests/sei/src + - ./src/fixtures:/tests/sei/modpen/fixtures + - ../../src/bd:/tests/sei/modpen/bd + - ../../src/dto:/tests/sei/modpen/dto + - ./assets/config:/opt/sei/config/mod-pen - /tmp:/tmp environment: - XDEBUG_CONFIG=client_host=host.docker.internal client_port=9000 start_with_request=0 @@ -67,11 +72,20 @@ services: - ORG1_CERTIFICADO_SENHA=${ORG1_CERTIFICADO_SENHA} - ORG2_CERTIFICADO=${ORG2_CERTIFICADO} - ORG2_CERTIFICADO_SENHA=${ORG2_CERTIFICADO_SENHA} + - DATABASE_TYPE=${ORG1_DATABASE_TYPE} + - DATABASE_HOST=${ORG1_DATABASE_HOST} + - DATABASE_PORT=${ORG1_DATABASE_GUEST_PORT} + - SEI_CHAVE_ACESSO=${ORG1_APP_SEI_CHAVE_ACESSO} + - SEI_DATABASE_NAME=${SEI_DATABASE_NAME} + - SIP_CHAVE_ACESSO=${ORG1_APP_SIP_CHAVE_ACESSO} + - SIP_DATABASE_NAME=${SIP_DATABASE_NAME} + - SIP_DATABASE_USER=${SIP_DATABASE_USER} + - SIP_DATABASE_PASSWORD=${SIP_DATABASE_PASSWORD} extra_hosts: - "host.docker.internal:host-gateway" links: - - org1-database:${ORG1_DATABASE_NAME} - org2-database:${ORG1_DATABASE_NAME} + - org1-database:${ORG1_DATABASE_NAME} - selenium:selenium command: "true" diff --git a/tests_sei3/funcional/src/fixtures/AssinaturaFixture.php b/tests_sei3/funcional/src/fixtures/AssinaturaFixture.php new file mode 100644 index 000000000..0656ddcfb --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/AssinaturaFixture.php @@ -0,0 +1,51 @@ +getObjInfraIBanco()->getValorSequencia('seq_assinatura'); + + $objAssinaturaDTO = new \AssinaturaDTO(); + $objAssinaturaDTO->setDblIdDocumento($dados['IdDocumento'] ?: 4); + $objAssinaturaDTO->setNumIdAtividade($dados['IdAtividade'] ?: null); + $objAssinaturaDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); + $objAssinaturaDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objAssinaturaDTO->setNumIdTarjaAssinatura($dados['IdTarjaAssinatura'] ?: self::ID_TARJA_ASSINATURA); + $objAssinaturaDTO->setStrAgrupador($dados['Agrupador'] ?: null); + $objAssinaturaDTO->setStrStaFormaAutenticacao($dados['StaFormaAutenticacao'] ?: 'S'); + $objAssinaturaDTO->setStrNome($dados['Nome'] ?: 'Usuário de Testes'); + $objAssinaturaDTO->setStrTratamento($dados['Tratamento'] ?: self::TRATAMENTO); + $objAssinaturaDTO->setDblCpf($dados['Cpf'] ?: null); + $objAssinaturaDTO->setStrP7sBase64($dados['P7sBase64'] ?: null); + $objAssinaturaDTO->setStrNumeroSerieCertificado($dados['NumeroSerieCertificado'] ?: null); + $objAssinaturaDTO->setStrSinAtivo($dados['SinAtivo'] ?: 'S'); + $objAssinaturaDTO->setOrdDthAberturaAtividade(InfraDTO::$TIPO_ORDENACAO_ASC); + + $objAssinaturaDB = new \AssinaturaBD(\BancoSEI::getInstance()); + $objAssinaturaDB->cadastrar($objAssinaturaDTO); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeFixture->cadastrar( + [ + 'IdProtocolo' => $dados['IdProtocolo'], + 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO, + ] + ); + + + return $objAssinaturaDTO; + } +} diff --git a/tests_sei3/funcional/src/fixtures/AtividadeFixture.php b/tests_sei3/funcional/src/fixtures/AtividadeFixture.php new file mode 100644 index 000000000..1c01dc683 --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/AtividadeFixture.php @@ -0,0 +1,41 @@ +objAtividadeDTO = new \AtividadeDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objAtividadeDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); + $this->objAtividadeDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $this->objAtividadeDTO->setNumIdUnidadeOrigem($dados['IdUnidadeOrigem'] ?: 110000001); + $this->objAtividadeDTO->setNumIdUsuario($dados['IdUsuario'] ?: null); + $this->objAtividadeDTO->setNumIdUsuarioOrigem($dados['IdUsuarioOrigem'] ?: 100000001); + $this->objAtividadeDTO->setDthAbertura($dados['Abertura'] ?: InfraData::getStrDataHoraAtual()); + $this->objAtividadeDTO->setDthConclusao($dados['Conclusao'] ?: null); + $this->objAtividadeDTO->setNumIdTarefa($dados['IdTarefa'] ?: 1); + $this->objAtividadeDTO->setNumIdUsuarioAtribuicao($dados['IdUsuarioAtribuicao'] ?: null); + $this->objAtividadeDTO->setNumIdUsuarioConclusao($dados['IdUsuarioConclusao'] ?: null); + $this->objAtividadeDTO->setStrSinInicial($dados['SinInicial'] ?: 'S'); + $this->objAtividadeDTO->setNumIdUsuarioVisualizacao($dados['IdUsuarioVisualizacao'] ?: null); + $this->objAtividadeDTO->setNumTipoVisualizacao($dados['TipoVisualizacao'] ?: 0); + $this->objAtividadeDTO->setDtaPrazo($dados['Prazo'] ?: null); + + $objProtocoloDB = new \AtividadeBD(\BancoSEI::getInstance()); + $objProtocoloDB->cadastrar($this->objAtividadeDTO); + + return $this->objAtividadeDTO; + } +} diff --git a/tests_sei3/funcional/src/fixtures/AtributoAndamentoFixture.php b/tests_sei3/funcional/src/fixtures/AtributoAndamentoFixture.php new file mode 100644 index 000000000..3b7a48c87 --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/AtributoAndamentoFixture.php @@ -0,0 +1,31 @@ +objAtributoAndamentoDTO = new \AtributoAndamentoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objAtributoAndamentoDTO->setNumIdAtividade($dados['IdAtividade']); + $this->objAtributoAndamentoDTO->setStrNome($dados['Nome'] ?: 'NIVEL_ACESSO'); + $this->objAtributoAndamentoDTO->setStrValor($dados['Valor'] ?: null); + $this->objAtributoAndamentoDTO->setStrIdOrigem($dados['IdOrigem'] ?: 0); + + $objAtributoAndamentoDB = new \AtributoAndamentoBD(\BancoSEI::getInstance()); + $objAtributoAndamentoDB->cadastrar($this->objAtributoAndamentoDTO); + + return $this->objAtributoAndamentoDTO; + } +} diff --git a/tests_sei3/funcional/src/fixtures/DocumentoConteudoFixture.php b/tests_sei3/funcional/src/fixtures/DocumentoConteudoFixture.php new file mode 100644 index 000000000..da5e1ff52 --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/DocumentoConteudoFixture.php @@ -0,0 +1,32 @@ +objDocumentoConteudoDTO = new \DocumentoConteudoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objDocumentoConteudoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); + $this->objDocumentoConteudoDTO->setStrConteudo($dados['Conteudo'] ?: 'Conteudo'); + $this->objDocumentoConteudoDTO->setStrConteudoAssinatura($dados['ConteudoAssinatura'] ?: null); + $this->objDocumentoConteudoDTO->setStrCrcAssinatura($dados['CrcAssinatura'] ?: null); + $this->objDocumentoConteudoDTO->setStrQrCodeAssinatura($dados['QrCodeAssinatura'] ?: null); + + $objProtocoloConteudoDB = new \DocumentoConteudoBD(\BancoSEI::getInstance()); + $objProtocoloConteudoDB->cadastrar($this->objDocumentoConteudoDTO); + + return $this->objDocumentoConteudoDTO; + } +} \ No newline at end of file diff --git a/tests_sei3/funcional/src/fixtures/DocumentoFixture.php b/tests_sei3/funcional/src/fixtures/DocumentoFixture.php new file mode 100644 index 000000000..15cb0bc56 --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/DocumentoFixture.php @@ -0,0 +1,97 @@ +objDocumentoDTO = new \DocumentoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $protocoloFixture = new \ProtocoloFixture(); + $protocoloDTO = $protocoloFixture->cadastrar([ + 'StaProtocolo' => \ProtocoloRN::$TP_DOCUMENTO_GERADO, + 'documento' => true, + ]); + + $this->objDocumentoDTO->setDblIdDocumento($protocoloDTO->getDblIdProtocolo()); + $this->objDocumentoDTO->setDblIdDocumentoEdoc($dados['IdDocumentoEdoc'] ?: null); + $this->objDocumentoDTO->setDblIdProcedimento($dados['IdProcedimento']); + $this->objDocumentoDTO->setNumIdSerie($dados['IdSerie'] ?: self::MODELO_ACORDAO); + $this->objDocumentoDTO->setNumIdUnidadeResponsavel($dados['IdUnidadeResponsavel'] ?: 110000001); + $this->objDocumentoDTO->setNumIdConjuntoEstilos($dados['IdConjuntoEstilos'] ?: 81); + $this->objDocumentoDTO->setNumIdTipoConferencia($dados['IdTipoConferencia'] ?: null); + $this->objDocumentoDTO->setStrSinArquivamento($dados['SinArquivamento'] ?: 'N'); + $this->objDocumentoDTO->setStrNumero($dados['Numero'] ?: 1); + $this->objDocumentoDTO->setStrSinBloqueado($dados['SinBloqueado'] ?: 'N'); + $this->objDocumentoDTO->setStrStaDocumento($dados['StaDocumento'] ?: DocumentoRN::$TD_EDITOR_INTERNO); + $this->objDocumentoDTO->setStrNomeArvore($dados['SinBloqueado'] ?? 'teste'); + + $objDocumentoDB = new \DocumentoBD(\BancoSEI::getInstance()); + $objDocumentoDB->cadastrar($this->objDocumentoDTO); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->cadastrar( + [ + 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), + 'IdTarefa' => TarefaRN::$TI_GERACAO_DOCUMENTO, + ] + ); + + $objParticipanteFixture = new \ParticipanteFixture(); + $objParticipanteFixture->carregar([ + 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), + ]); + + $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); + $objAtributoAndamentoFixture->carregarVariados([ + [ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade(), + 'Nome' => 'DOCUMENTO', + 'Valor' => $protocoloDTO->getStrProtocoloFormatado(), + 'IdOrigem' => $dados['IdProtocolo'], + ], + [ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ] + ]); + + $objDocumentoConteudoFixture = new \DocumentoConteudoFixture(); + $objDocumentoConteudoFixture->cadastrar( + [ + 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), + ] + ); + + $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); + $objProtocoloAssuntoFixture->carregar([ + 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), + 'IdAssunto' => 2 + ]); + + $ObjProtocoloProtocoloFixture = new \RelProtocoloProtocoloFixture(); + $ObjProtocoloProtocoloFixture->cadastrar( + [ + 'IdProtocolo' => $dados['IdProtocolo'], + 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), + ] + ); + + $secaoDocumentoFixture = new \SecaoDocumentoFixture(); + $listaSecao = $secaoDocumentoFixture->conteudoEstatico($this->objDocumentoDTO->getDblIdDocumento()); + + $secaoDocumentoFixture->carregarVariados($listaSecao); + + return $this->objDocumentoDTO; + } +} \ No newline at end of file diff --git a/tests_sei3/funcional/src/fixtures/FixtureBase.php b/tests_sei3/funcional/src/fixtures/FixtureBase.php new file mode 100644 index 000000000..c980f93bd --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/FixtureBase.php @@ -0,0 +1,42 @@ +cadastrar($parametros["dados"]); + + if (isset($parametros["callback"])) { + $parametros["callback"]($dto); + } + + return $dto; + } + + public function carregar($dados = null, $callback = null){ + $dados = $dados ?: []; + return $this->cadastrarInterno([ + 'dados' => $dados, + 'callback' => $callback + ]); + } + + public function carregarVarios($dados = null, $quantidade = 1){ + $resultado = array(); + for ($i=0; $i < $quantidade; $i++) { + $resultado[] = $this->carregar($dados); + } + + return $resultado; + } + + public function carregarVariados($dados){ + $resultado = []; + foreach ($dados as $dado) { + $resultado[] = $this->carregar($dado); + } + + return $resultado; + } +} diff --git a/tests_sei3/funcional/src/fixtures/ParticipanteFixture.php b/tests_sei3/funcional/src/fixtures/ParticipanteFixture.php new file mode 100644 index 000000000..cdc1611d7 --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/ParticipanteFixture.php @@ -0,0 +1,37 @@ +objParticipanteDTO = new \ParticipanteDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + + $this->objParticipanteDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); + $this->objParticipanteDTO->setStrStaParticipacao($dados['StaParticipacao'] ?: self::INTERESSADO); + $this->objParticipanteDTO->setNumIdContato($dados['IdContato'] ?: 100000006); + $this->objParticipanteDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $this->objParticipanteDTO->setNumSequencia($dados['Sequencia'] ?: 0); + + + $objParticipanteDB = new \ParticipanteBD(\BancoSEI::getInstance()); + $objParticipanteDB->cadastrar($this->objParticipanteDTO); + + return $this->objParticipanteDTO; + } +} diff --git a/tests_sei3/funcional/src/fixtures/ProcedimentoFixture.php b/tests_sei3/funcional/src/fixtures/ProcedimentoFixture.php new file mode 100644 index 000000000..9ec6691c0 --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/ProcedimentoFixture.php @@ -0,0 +1,39 @@ +objProcedimentoDTO = new \ProcedimentoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objProcedimentoDTO->setDblIdProcedimento($dados["IdProtocolo"] ?: null); + $this->objProcedimentoDTO->setNumIdTipoProcedimento( + $dados["IdTipoProcedimento"] ?: self::TIPO_PROCEDIMENTO_PADRAO + ); + $this->objProcedimentoDTO->setStrStaOuvidoria($dados["StaOuvidoria"] ?: '-'); + $this->objProcedimentoDTO->setStrSinCiencia($dados["SinCiencia"] ?: 'N'); + + $objProcedimentoDB = new \ProcedimentoBD(\BancoSEI::getInstance()); + $objProcedimentoDB->cadastrar($this->objProcedimentoDTO); + + return $this->objProcedimentoDTO; + } + +} \ No newline at end of file diff --git a/tests_sei3/funcional/src/fixtures/ProtocoloFixture.php b/tests_sei3/funcional/src/fixtures/ProtocoloFixture.php new file mode 100644 index 000000000..02aaa260f --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/ProtocoloFixture.php @@ -0,0 +1,78 @@ +objProtocoloRN = new \ProtocoloRN(); + $this->objProtocoloDTO = new \ProtocoloDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $documento = $dados['documento'] ?: false; + + $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); + + $strProtocoloFormatado = $this->getProtocoloTeste($dados['IdProtocolo'], $documento); + $strProtocoloSemFormato = preg_replace("/[^0-9]/", "", $strProtocoloFormatado); + + $this->objProtocoloDTO->setDblIdProtocolo($dados['IdProtocolo']); + $this->objProtocoloDTO->setStrIdProtocoloFederacao($dados["IdProtocoloFederacao"] ?: null); + $this->objProtocoloDTO->setDblIdProtocoloAgrupador($dados["IdProtocolo"] ?: 2); + $this->objProtocoloDTO->setStrProtocoloFormatado($dados["ProtocoloFormatado"] ?: $strProtocoloFormatado); + $this->objProtocoloDTO->setStrProtocoloFormatadoPesquisa($strProtocoloSemFormato); + $this->objProtocoloDTO->setStrProtocoloFormatadoPesqInv(strrev($strProtocoloSemFormato)); + $this->objProtocoloDTO->setStrDescricao($dados["Descricao"] ?: "teste"); + $this->objProtocoloDTO->setStrStaProtocolo($dados["StaProtocolo"] ?: $this->objProtocoloRN::$TP_PROCEDIMENTO); + $this->objProtocoloDTO->setStrStaEstado($dados["StaEstado"] ?: $this->objProtocoloRN::$TE_NORMAL); + $this->objProtocoloDTO->setStrStaNivelAcessoGlobal( + $dados["StaNivelAcessoGlobal"] ?: $this->objProtocoloRN::$NA_PUBLICO + ); + $this->objProtocoloDTO->setStrStaNivelAcessoLocal( + $dados["StaNivelAcessoLocal"] ?: $this->objProtocoloRN::$NA_PUBLICO + ); + $this->objProtocoloDTO->setStrStaNivelAcessoOriginal($dados["StaNivelAcessoOriginal"] ?: null); + $this->objProtocoloDTO->setNumIdUnidadeGeradora($dados["IdUnidadeGeradora"] ?: "110000001"); + $this->objProtocoloDTO->setNumIdUsuarioGerador($dados["IdUsuarioGerador"] ?: "100000001"); + $this->objProtocoloDTO->setDtaGeracao($dados["Geracao"] ?: InfraData::getStrDataAtual()); + $this->objProtocoloDTO->setDtaInclusao($dados["Inclusao"] ?: InfraData::getStrDataAtual()); + $this->objProtocoloDTO->setStrCodigoBarras($dados["CodigoBarras"] ?: "XXXXXXXXXXXXXXXXXXXXXXXX"); + $this->objProtocoloDTO->setNumIdHipoteseLegal($dados["IdHipoteseLegal"] ?: null); + $this->objProtocoloDTO->setStrStaGrauSigilo($dados["StaGrauSigilo"] ?: null); + $this->objProtocoloDTO->retDblIdProtocolo(); + $this->objProtocoloDTO->retStrProtocoloFormatado(); + + $objProtocoloDB = new \ProtocoloBD(\BancoSEI::getInstance()); + $objProtocoloDB->cadastrar($this->objProtocoloDTO); + + return $this->objProtocoloDTO; + } + + protected function cadastrarVariados($dados = []) + { + foreach ($dados as $dado) { + $this->cadastrar($dado); + } + } + + private function getProtocoloTeste($protocolo, $documento = false) + { + $numSequencial = str_pad($protocolo, 6, 0, STR_PAD_LEFT); + if ($documento == true) { + return $numSequencial; + } + + $anoAtual = date('Y'); + + return "99990.{$numSequencial}/{$anoAtual}-00"; + } +} diff --git a/tests_sei3/funcional/src/fixtures/RelProtocoloAssuntoFixture.php b/tests_sei3/funcional/src/fixtures/RelProtocoloAssuntoFixture.php new file mode 100644 index 000000000..9f91f0644 --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/RelProtocoloAssuntoFixture.php @@ -0,0 +1,26 @@ +setDblIdProtocolo($dados['IdProtocolo']); + $objRelProtocoloAssuntoDTO->setNumIdAssuntoProxy($dados['IdAssunto'] ?: 2); + $objRelProtocoloAssuntoDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objRelProtocoloAssuntoDTO->setNumSequencia($dados['Sequencia'] ?: 0); + + $objRelProtocoloAssuntoDB = new \RelProtocoloAssuntoBD(\BancoSEI::getInstance()); + $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloAssuntoDTO); + + return $objRelProtocoloAssuntoDTO; + } +} diff --git a/tests_sei3/funcional/src/fixtures/RelProtocoloProtocoloFixture.php b/tests_sei3/funcional/src/fixtures/RelProtocoloProtocoloFixture.php new file mode 100644 index 000000000..41fd2d8e3 --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/RelProtocoloProtocoloFixture.php @@ -0,0 +1,28 @@ +setDblIdProtocolo1($dados['IdProtocolo']); + $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($dados['IdDocumento']); + $objRelProtocoloProtocoloDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); + $objRelProtocoloProtocoloDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objRelProtocoloProtocoloDTO->setStrSinCiencia($dados['Ciencia'] ?: 'N'); + $objRelProtocoloProtocoloDTO->setNumSequencia($dados['Sequencia'] ?: 0); + $objRelProtocoloProtocoloDTO->setStrStaAssociacao($dados['Associacao'] ?: 1); + $objRelProtocoloProtocoloDTO->setDthAssociacao(InfraData::getStrDataHoraAtual()); + + $objRelProtocoloAssuntoDB = new \RelProtocoloProtocoloBD(\BancoSEI::getInstance()); + $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloProtocoloDTO); + + return $objRelProtocoloProtocoloDTO; + } +} diff --git a/tests_sei3/funcional/src/fixtures/SecaoDocumentoFixture.php b/tests_sei3/funcional/src/fixtures/SecaoDocumentoFixture.php new file mode 100644 index 000000000..8a13ff752 --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/SecaoDocumentoFixture.php @@ -0,0 +1,173 @@ +objProtocoloRN = new \ProtocoloRN(); + $this->objProtocoloDTO = new \ProtocoloDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $documento = $dados['documento'] ?: false; + + $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); + + $objSecaoDocumentoDTO = new SecaoDocumentoDTO(); + + $objSecaoDocumentoDTO->setNumOrdem($dados['Ordem'] ?: 0); + $objSecaoDocumentoDTO->setStrSinSomenteLeitura($dados['SomenteLeitura'] ?: null); + $objSecaoDocumentoDTO->setStrSinAssinatura($dados['Assinatura'] ?: null); + $objSecaoDocumentoDTO->setStrSinPrincipal($dados['Principal'] ?: null); + $objSecaoDocumentoDTO->setStrSinDinamica($dados['Dinamica'] ?: null); + $objSecaoDocumentoDTO->setStrSinCabecalho($dados['Cabecalho'] ?: null); + $objSecaoDocumentoDTO->setStrSinRodape($dados['Rodape'] ?: null); + $objSecaoDocumentoDTO->setStrSinHtml($dados['Html'] ?: null); + $objSecaoDocumentoDTO->setNumIdSecaoModelo($dados['IdSecaoModelo'] ?: null); + $objSecaoDocumentoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); + $objSecaoDocumentoDTO->setNumIdBaseConhecimento($dados['IdBaseConhecimento'] ?: null); + $objSecaoDocumentoDTO->setStrConteudo($dados['Conteudo'] ?: null); + + + $objProtocoloDB = new \SecaoDocumentoBD(\BancoSEI::getInstance()); + $objProtocoloDB->cadastrar($objSecaoDocumentoDTO); + + return $objSecaoDocumentoDTO; + } + + public function conteudoEstatico($IdDocumento) + { + return [ + [ + 'IdSecaoModelo' => 323, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 0, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'S', + 'Rodape' => 'N', + 'Conteudo' => '

  

+

@descricao_orgao_maiusculas@

+

  

', + 'Html' => 'S' + ], + [ + 'IdSecaoModelo' => 252, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 10, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => '@serie@ nº @numeracao_serie@/@ano@', + 'Html' => 'N' + ], + [ + 'IdSecaoModelo' => 253, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 20, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => 'Processo nº @processo@', + 'Html' => 'N' + ], + [ + 'IdSecaoModelo' => 254, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 30, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => 'Recorrente/Interessado: @interessados_virgula_espaco_maiusculas@', + 'Html' => 'N' + + ], + [ + 'IdSecaoModelo' => 257, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 40, + 'SomenteLeitura' => 'N', + 'Assinatura' => 'N', + 'Principal' => 'S', + 'Dinamica' => 'N', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => '

CNPJ/MF Nº XX.XXX.XXX/XXXX-DV

+

Conselheiro Relator: [Digite aqui o Nome Completo]

+

Fórum Deliberativo: Reunião nº [indique o número], de DD de mmmmmm de aaaaa

+

EMENTA

+

DIGITE O TEXTO EM CAIXA ALTA

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

ACÓRDÃO

+

Vistos, relatados e discutidos os presentes autos, acordam os membros do Conselho Diretor, por unanimidade, nos termos da Análise nº XX/AAAA-GCxx, de dd de mmmmmm de aaaaa, integrante deste Acórdão:

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

Participaram da deliberação o Presidente [nome completo] e os Conselheiros [nome completo de cada Conselheiro participante].

+

Ausente, justificadamente, o Conselheiro [nome completo], por motivo de [indicar o motivo].

+ ', + 'Html' => 'S' + ], + [ + 'IdSecaoModelo' => 255, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 50, + 'SomenteLeitura' => 'N', + 'Assinatura' => 'S', + 'Principal' => 'N', + 'Dinamica' => 'N', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => null, + 'Html' => 'N' + ], + [ + 'IdSecaoModelo' => 324, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 1000, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'S', + 'Conteudo' => '
+ + + + + +
Referência: Processo nº @processo@SEI nº @documento@
', + 'Html' => 'S' + ] + ]; + } +} diff --git a/tests_sei3/funcional/src/paginas/PaginaReordenarProcesso.php b/tests_sei3/funcional/src/paginas/PaginaReordenarProcesso.php new file mode 100644 index 000000000..30885bc27 --- /dev/null +++ b/tests_sei3/funcional/src/paginas/PaginaReordenarProcesso.php @@ -0,0 +1,46 @@ +test->frame(null); + $this->test->frame("ifrVisualizacao"); + $this->test->byXPath(utf8_encode("//img[@alt='Ordenar Árvore do Processo']"))->click(); + } + + public function irParaTramitarProcesso() + { + $this->test->frame(null); + $this->test->frame("ifrVisualizacao"); + $this->test->byXPath(utf8_encode("//img[@alt='Envio Externo de Processo']"))->click(); + } + + public function clicarOptionReordenar(int $index = 0) + { + $options = $this->test->byId('selRelProtocoloProtocolo') + ->elements($this->test->using('css selector')->value('option')); + $options[$index]->click(); + } + + public function moverParaBaixo(int $vezes = 1) + { + $botaoParaBaixo = $this->test->byXPath(utf8_encode("//img[@alt='Mover Abaixo Protocolo Selecionado']")); + for ($i=0; $i < $vezes; $i++) { + $botaoParaBaixo->click(); + } + } + + public function moverParaCima(int $vezes = 1) + { + $botaoParaCima = $this->test->byXPath(utf8_encode("//img[@alt='Mover Acima Protocolo Selecionado']")); + for ($i=0; $i < $vezes; $i++) { + $botaoParaCima->click(); + } + } + + public function salvar() + { + $this->test->byXPath("//button[@name='sbmSalvar']")->click(); + } +} diff --git a/tests_sei3/funcional/tests/CenarioBaseTestCase.php b/tests_sei3/funcional/tests/CenarioBaseTestCase.php index 235f37a86..f2d484e40 100755 --- a/tests_sei3/funcional/tests/CenarioBaseTestCase.php +++ b/tests_sei3/funcional/tests/CenarioBaseTestCase.php @@ -44,6 +44,7 @@ class CenarioBaseTestCase extends Selenium2TestCase protected $paginaTramiteMapeamentoOrgaoExterno = null; protected $paginaExportarTiposProcesso = null; protected $paginaTipoProcessoReativar = null; + protected $paginaReordenarProcesso = null; public function setUpPage(): void { @@ -66,6 +67,7 @@ public function setUpPage(): void $this->paginaCadastroOrgaoExterno = new PaginaCadastroOrgaoExterno($this); $this->paginaExportarTiposProcesso = new PaginaExportarTiposProcesso($this); $this->paginaTipoProcessoReativar = new PaginaTipoProcessoReativar($this); + $this->paginaReordenarProcesso = new PaginaReordenarProcesso($this); $this->currentWindow()->maximize(); } diff --git a/tests_sei3/funcional/tests/TramiteReordenarDocumentosProcessoTest.php b/tests_sei3/funcional/tests/TramiteReordenarDocumentosProcessoTest.php new file mode 100644 index 000000000..8a7fa2f93 --- /dev/null +++ b/tests_sei3/funcional/tests/TramiteReordenarDocumentosProcessoTest.php @@ -0,0 +1,169 @@ +definirContextoTeste(CONTEXTO_ORGAO_A); + self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); + + $penMapUnidadesFixture = new \PenMapUnidadesFixture(CONTEXTO_ORGAO_A, [ + 'id' => self::$remetente['ID_ESTRUTURA'], + 'sigla' => self::$remetente['SIGLA_ESTRUTURA'], + 'nome' => self::$remetente['NOME_UNIDADE'] + ]); + $penMapUnidadesFixture->cadastrar(); + + $parametros = []; + $objProtocoloFixture = new \ProtocoloFixture(); + $this->objProtocoloDTO = $objProtocoloFixture->carregar($parametros, function($objProtocoloDTO) { + + $objProcedimentoFixture = new \ProcedimentoFixture(); + $objProcedimentoDTO = $objProcedimentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() + ]); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + ]); + + $objParticipanteFixture = new \ParticipanteFixture(); + $objParticipanteFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + ]); + + $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); + $objProtocoloAssuntoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() + ]); + + $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); + $objAtributoAndamentoFixture->carregar([ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ]); + + $tiposDocumentos = array(81, 8, 34); + foreach ($tiposDocumentos as $tipoDocumento) { + $objDocumentoFixture = new \DocumentoFixture(); + $objDocumentoDTO = $objDocumentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdProcedimento' => $objProcedimentoDTO->getDblIdProcedimento(), + 'IdSerie' => $tipoDocumento + ]); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO + ]); + + $objAssinaturaFixture = new \AssinaturaFixture(); + $objAssinaturaFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdDocumento' => $objDocumentoDTO->getDblIdDocumento(), + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ]); + } + }); + + } + + /** + * Testa a funcionalidade de reordernar documento + * + * @return true + */ + public function test_reordenar_documentos_remetente_devolucao() + { + //Aumenta o tempo de timeout devido á quantidade de arquivos + $this->setSeleniumServerRequestsTimeout(6000); + + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + + $this->abrirProcesso($this->objProtocoloDTO->getStrProtocoloFormatado()); + $this->tramitarProcessoExternamente( + ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], + self::$destinatario['REP_ESTRUTURAS'], + self::$destinatario['NOME_UNIDADE'], + self::$destinatario['SIGLA_UNIDADE_HIERARQUIA'], + false + ); + + $this->sairSistema(); + $this->acessarSistema( + self::$destinatario['URL'], + self::$destinatario['SIGLA_UNIDADE'], + self::$destinatario['LOGIN'], + self::$destinatario['SENHA'] + ); + + $this->waitUntil(function ($testCase) { + sleep(5); + $this->abrirProcesso($this->objProtocoloDTO->getStrProtocoloFormatado()); + return true; + }, PEN_WAIT_TIMEOUT); + + $this->paginaReordenarProcesso->irParaPaginaMudarOrdem(); + $this->paginaReordenarProcesso->clicarOptionReordenar(); + $this->paginaReordenarProcesso->moverParaBaixo(2); + $this->paginaReordenarProcesso->salvar(); + sleep(3); + + $callbackEnvio = function ($testCase) { + $testCase->frame('ifrEnvioProcesso'); + $mensagemSucesso = utf8_encode('Inconsistência identificada no documento de ordem'); + $testCase->assertStringContainsString($mensagemSucesso, $testCase->byCssSelector('body')->text()); + sleep(2); + $testCase->byXPath("//input[@id='btnFechar']")->click(); + + return true; + }; + + $this->tramitarProcessoExternamente( + ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], + self::$remetente['REP_ESTRUTURAS'], + self::$remetente['NOME_UNIDADE'], + self::$remetente['SIGLA_UNIDADE_HIERARQUIA'], + false, + $callbackEnvio + ); + + $this->paginaReordenarProcesso->irParaPaginaMudarOrdem(); + $this->paginaReordenarProcesso->clicarOptionReordenar(2); + $this->paginaReordenarProcesso->moverParaCima(2); + $this->paginaReordenarProcesso->salvar(); + sleep(3); + + $this->tramitarProcessoExternamente( + ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], + self::$remetente['REP_ESTRUTURAS'], + self::$remetente['NOME_UNIDADE'], + self::$remetente['SIGLA_UNIDADE_HIERARQUIA'], + false + ); + + $this->sairSistema(); + } +} diff --git a/tests_sei4/funcional/bootstrap.php b/tests_sei4/funcional/bootstrap.php index 8fb3da6b3..641c255a5 100755 --- a/tests_sei4/funcional/bootstrap.php +++ b/tests_sei4/funcional/bootstrap.php @@ -2,6 +2,16 @@ require_once __DIR__ . '/vendor/autoload.php'; +require_once __DIR__ . '/sei/src/sei/web/SEI.php'; + +define("DIR_SEI_WEB", __DIR__ . '/sei/src/sei/web/'); +define("DIR_TEST", __DIR__ ); +define("DIR_PROJECT", __DIR__ . '/..' ); +define("DIR_INFRA", __DIR__ . '/../src/infra/infra_php' ); + +error_reporting(E_ERROR); +restore_error_handler(); + //Classes utilitárias para manipulação dos dados do SEI require_once __DIR__ . '/src/utils/DatabaseUtils.php'; require_once __DIR__ . '/src/utils/ParameterUtils.php'; diff --git a/tests_sei4/funcional/composer.json b/tests_sei4/funcional/composer.json index ee2f2e658..187f89cf9 100755 --- a/tests_sei4/funcional/composer.json +++ b/tests_sei4/funcional/composer.json @@ -7,10 +7,17 @@ "autoload": { "classmap": [ - "src/" + "src/", + "sei/modpen/" ] }, + "autoload-dev": { + "psr-4": { + "Tests\\": "sei/" + } + }, + "require-dev": { "phpunit/phpunit": "8.*", "phpunit/php-code-coverage": "*", diff --git a/tests_sei4/funcional/docker-compose.yml b/tests_sei4/funcional/docker-compose.yml index faf26fa00..6447c6782 100755 --- a/tests_sei4/funcional/docker-compose.yml +++ b/tests_sei4/funcional/docker-compose.yml @@ -44,15 +44,20 @@ services: php-test-functional: image: processoeletronico/vagrant_sei4_httpd:${ENVIRONMENT_VERSION} depends_on: - - org1-database - org2-database + - org1-database - selenium volumes: - ${SEI_PATH}/sei:/opt/sei - ${SEI_PATH}/sip:/opt/sip - ${SEI_PATH}/infra:/opt/infra - - ./assets/config:/opt/sei/config/mod-pen - .:/tests + - ${SEI_PATH}/../tests:/tests/sei + - ${SEI_PATH}/../src:/tests/sei/src + - ./src/fixtures:/tests/sei/modpen/fixtures + - ../../src/bd:/tests/sei/modpen/bd + - ../../src/dto:/tests/sei/modpen/dto + - ./assets/config:/opt/sei/config/mod-pen - /tmp:/tmp environment: - XDEBUG_CONFIG=client_host=host.docker.internal client_port=9003 start_with_request=0 @@ -66,12 +71,20 @@ services: - ORG1_CERTIFICADO_SENHA=${ORG1_CERTIFICADO_SENHA} - ORG2_CERTIFICADO=${ORG2_CERTIFICADO} - ORG2_CERTIFICADO_SENHA=${ORG2_CERTIFICADO_SENHA} - + - DATABASE_TYPE=${ORG1_DATABASE_TYPE} + - DATABASE_HOST=${ORG1_DATABASE_HOST} + - DATABASE_PORT=${ORG1_DATABASE_GUEST_PORT} + - SEI_CHAVE_ACESSO=${ORG1_APP_SEI_CHAVE_ACESSO} + - SEI_DATABASE_NAME=${SEI_DATABASE_NAME} + - SIP_CHAVE_ACESSO=${ORG1_APP_SIP_CHAVE_ACESSO} + - SIP_DATABASE_NAME=${SIP_DATABASE_NAME} + - SIP_DATABASE_USER=${SIP_DATABASE_USER} + - SIP_DATABASE_PASSWORD=${SIP_DATABASE_PASSWORD} extra_hosts: - "host.docker.internal:host-gateway" links: - - org1-database:${ORG1_DATABASE_HOST} - org2-database:${ORG2_DATABASE_HOST} + - org1-database:${ORG1_DATABASE_HOST} - selenium:selenium command: "true" diff --git a/tests_sei4/funcional/src/fixtures/AssinaturaFixture.php b/tests_sei4/funcional/src/fixtures/AssinaturaFixture.php new file mode 100644 index 000000000..0656ddcfb --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/AssinaturaFixture.php @@ -0,0 +1,51 @@ +getObjInfraIBanco()->getValorSequencia('seq_assinatura'); + + $objAssinaturaDTO = new \AssinaturaDTO(); + $objAssinaturaDTO->setDblIdDocumento($dados['IdDocumento'] ?: 4); + $objAssinaturaDTO->setNumIdAtividade($dados['IdAtividade'] ?: null); + $objAssinaturaDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); + $objAssinaturaDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objAssinaturaDTO->setNumIdTarjaAssinatura($dados['IdTarjaAssinatura'] ?: self::ID_TARJA_ASSINATURA); + $objAssinaturaDTO->setStrAgrupador($dados['Agrupador'] ?: null); + $objAssinaturaDTO->setStrStaFormaAutenticacao($dados['StaFormaAutenticacao'] ?: 'S'); + $objAssinaturaDTO->setStrNome($dados['Nome'] ?: 'Usuário de Testes'); + $objAssinaturaDTO->setStrTratamento($dados['Tratamento'] ?: self::TRATAMENTO); + $objAssinaturaDTO->setDblCpf($dados['Cpf'] ?: null); + $objAssinaturaDTO->setStrP7sBase64($dados['P7sBase64'] ?: null); + $objAssinaturaDTO->setStrNumeroSerieCertificado($dados['NumeroSerieCertificado'] ?: null); + $objAssinaturaDTO->setStrSinAtivo($dados['SinAtivo'] ?: 'S'); + $objAssinaturaDTO->setOrdDthAberturaAtividade(InfraDTO::$TIPO_ORDENACAO_ASC); + + $objAssinaturaDB = new \AssinaturaBD(\BancoSEI::getInstance()); + $objAssinaturaDB->cadastrar($objAssinaturaDTO); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeFixture->cadastrar( + [ + 'IdProtocolo' => $dados['IdProtocolo'], + 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO, + ] + ); + + + return $objAssinaturaDTO; + } +} diff --git a/tests_sei4/funcional/src/fixtures/AtividadeFixture.php b/tests_sei4/funcional/src/fixtures/AtividadeFixture.php new file mode 100644 index 000000000..1c01dc683 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/AtividadeFixture.php @@ -0,0 +1,41 @@ +objAtividadeDTO = new \AtividadeDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objAtividadeDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); + $this->objAtividadeDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $this->objAtividadeDTO->setNumIdUnidadeOrigem($dados['IdUnidadeOrigem'] ?: 110000001); + $this->objAtividadeDTO->setNumIdUsuario($dados['IdUsuario'] ?: null); + $this->objAtividadeDTO->setNumIdUsuarioOrigem($dados['IdUsuarioOrigem'] ?: 100000001); + $this->objAtividadeDTO->setDthAbertura($dados['Abertura'] ?: InfraData::getStrDataHoraAtual()); + $this->objAtividadeDTO->setDthConclusao($dados['Conclusao'] ?: null); + $this->objAtividadeDTO->setNumIdTarefa($dados['IdTarefa'] ?: 1); + $this->objAtividadeDTO->setNumIdUsuarioAtribuicao($dados['IdUsuarioAtribuicao'] ?: null); + $this->objAtividadeDTO->setNumIdUsuarioConclusao($dados['IdUsuarioConclusao'] ?: null); + $this->objAtividadeDTO->setStrSinInicial($dados['SinInicial'] ?: 'S'); + $this->objAtividadeDTO->setNumIdUsuarioVisualizacao($dados['IdUsuarioVisualizacao'] ?: null); + $this->objAtividadeDTO->setNumTipoVisualizacao($dados['TipoVisualizacao'] ?: 0); + $this->objAtividadeDTO->setDtaPrazo($dados['Prazo'] ?: null); + + $objProtocoloDB = new \AtividadeBD(\BancoSEI::getInstance()); + $objProtocoloDB->cadastrar($this->objAtividadeDTO); + + return $this->objAtividadeDTO; + } +} diff --git a/tests_sei4/funcional/src/fixtures/AtributoAndamentoFixture.php b/tests_sei4/funcional/src/fixtures/AtributoAndamentoFixture.php new file mode 100644 index 000000000..3b7a48c87 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/AtributoAndamentoFixture.php @@ -0,0 +1,31 @@ +objAtributoAndamentoDTO = new \AtributoAndamentoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objAtributoAndamentoDTO->setNumIdAtividade($dados['IdAtividade']); + $this->objAtributoAndamentoDTO->setStrNome($dados['Nome'] ?: 'NIVEL_ACESSO'); + $this->objAtributoAndamentoDTO->setStrValor($dados['Valor'] ?: null); + $this->objAtributoAndamentoDTO->setStrIdOrigem($dados['IdOrigem'] ?: 0); + + $objAtributoAndamentoDB = new \AtributoAndamentoBD(\BancoSEI::getInstance()); + $objAtributoAndamentoDB->cadastrar($this->objAtributoAndamentoDTO); + + return $this->objAtributoAndamentoDTO; + } +} diff --git a/tests_sei4/funcional/src/fixtures/DocumentoConteudoFixture.php b/tests_sei4/funcional/src/fixtures/DocumentoConteudoFixture.php new file mode 100644 index 000000000..da5e1ff52 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/DocumentoConteudoFixture.php @@ -0,0 +1,32 @@ +objDocumentoConteudoDTO = new \DocumentoConteudoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objDocumentoConteudoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); + $this->objDocumentoConteudoDTO->setStrConteudo($dados['Conteudo'] ?: 'Conteudo'); + $this->objDocumentoConteudoDTO->setStrConteudoAssinatura($dados['ConteudoAssinatura'] ?: null); + $this->objDocumentoConteudoDTO->setStrCrcAssinatura($dados['CrcAssinatura'] ?: null); + $this->objDocumentoConteudoDTO->setStrQrCodeAssinatura($dados['QrCodeAssinatura'] ?: null); + + $objProtocoloConteudoDB = new \DocumentoConteudoBD(\BancoSEI::getInstance()); + $objProtocoloConteudoDB->cadastrar($this->objDocumentoConteudoDTO); + + return $this->objDocumentoConteudoDTO; + } +} \ No newline at end of file diff --git a/tests_sei4/funcional/src/fixtures/DocumentoFixture.php b/tests_sei4/funcional/src/fixtures/DocumentoFixture.php new file mode 100644 index 000000000..15cb0bc56 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/DocumentoFixture.php @@ -0,0 +1,97 @@ +objDocumentoDTO = new \DocumentoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $protocoloFixture = new \ProtocoloFixture(); + $protocoloDTO = $protocoloFixture->cadastrar([ + 'StaProtocolo' => \ProtocoloRN::$TP_DOCUMENTO_GERADO, + 'documento' => true, + ]); + + $this->objDocumentoDTO->setDblIdDocumento($protocoloDTO->getDblIdProtocolo()); + $this->objDocumentoDTO->setDblIdDocumentoEdoc($dados['IdDocumentoEdoc'] ?: null); + $this->objDocumentoDTO->setDblIdProcedimento($dados['IdProcedimento']); + $this->objDocumentoDTO->setNumIdSerie($dados['IdSerie'] ?: self::MODELO_ACORDAO); + $this->objDocumentoDTO->setNumIdUnidadeResponsavel($dados['IdUnidadeResponsavel'] ?: 110000001); + $this->objDocumentoDTO->setNumIdConjuntoEstilos($dados['IdConjuntoEstilos'] ?: 81); + $this->objDocumentoDTO->setNumIdTipoConferencia($dados['IdTipoConferencia'] ?: null); + $this->objDocumentoDTO->setStrSinArquivamento($dados['SinArquivamento'] ?: 'N'); + $this->objDocumentoDTO->setStrNumero($dados['Numero'] ?: 1); + $this->objDocumentoDTO->setStrSinBloqueado($dados['SinBloqueado'] ?: 'N'); + $this->objDocumentoDTO->setStrStaDocumento($dados['StaDocumento'] ?: DocumentoRN::$TD_EDITOR_INTERNO); + $this->objDocumentoDTO->setStrNomeArvore($dados['SinBloqueado'] ?? 'teste'); + + $objDocumentoDB = new \DocumentoBD(\BancoSEI::getInstance()); + $objDocumentoDB->cadastrar($this->objDocumentoDTO); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->cadastrar( + [ + 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), + 'IdTarefa' => TarefaRN::$TI_GERACAO_DOCUMENTO, + ] + ); + + $objParticipanteFixture = new \ParticipanteFixture(); + $objParticipanteFixture->carregar([ + 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), + ]); + + $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); + $objAtributoAndamentoFixture->carregarVariados([ + [ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade(), + 'Nome' => 'DOCUMENTO', + 'Valor' => $protocoloDTO->getStrProtocoloFormatado(), + 'IdOrigem' => $dados['IdProtocolo'], + ], + [ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ] + ]); + + $objDocumentoConteudoFixture = new \DocumentoConteudoFixture(); + $objDocumentoConteudoFixture->cadastrar( + [ + 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), + ] + ); + + $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); + $objProtocoloAssuntoFixture->carregar([ + 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), + 'IdAssunto' => 2 + ]); + + $ObjProtocoloProtocoloFixture = new \RelProtocoloProtocoloFixture(); + $ObjProtocoloProtocoloFixture->cadastrar( + [ + 'IdProtocolo' => $dados['IdProtocolo'], + 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), + ] + ); + + $secaoDocumentoFixture = new \SecaoDocumentoFixture(); + $listaSecao = $secaoDocumentoFixture->conteudoEstatico($this->objDocumentoDTO->getDblIdDocumento()); + + $secaoDocumentoFixture->carregarVariados($listaSecao); + + return $this->objDocumentoDTO; + } +} \ No newline at end of file diff --git a/tests_sei4/funcional/src/fixtures/FixtureBase.php b/tests_sei4/funcional/src/fixtures/FixtureBase.php new file mode 100644 index 000000000..c980f93bd --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/FixtureBase.php @@ -0,0 +1,42 @@ +cadastrar($parametros["dados"]); + + if (isset($parametros["callback"])) { + $parametros["callback"]($dto); + } + + return $dto; + } + + public function carregar($dados = null, $callback = null){ + $dados = $dados ?: []; + return $this->cadastrarInterno([ + 'dados' => $dados, + 'callback' => $callback + ]); + } + + public function carregarVarios($dados = null, $quantidade = 1){ + $resultado = array(); + for ($i=0; $i < $quantidade; $i++) { + $resultado[] = $this->carregar($dados); + } + + return $resultado; + } + + public function carregarVariados($dados){ + $resultado = []; + foreach ($dados as $dado) { + $resultado[] = $this->carregar($dado); + } + + return $resultado; + } +} diff --git a/tests_sei4/funcional/src/fixtures/ParticipanteFixture.php b/tests_sei4/funcional/src/fixtures/ParticipanteFixture.php new file mode 100644 index 000000000..cdc1611d7 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/ParticipanteFixture.php @@ -0,0 +1,37 @@ +objParticipanteDTO = new \ParticipanteDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + + $this->objParticipanteDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); + $this->objParticipanteDTO->setStrStaParticipacao($dados['StaParticipacao'] ?: self::INTERESSADO); + $this->objParticipanteDTO->setNumIdContato($dados['IdContato'] ?: 100000006); + $this->objParticipanteDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $this->objParticipanteDTO->setNumSequencia($dados['Sequencia'] ?: 0); + + + $objParticipanteDB = new \ParticipanteBD(\BancoSEI::getInstance()); + $objParticipanteDB->cadastrar($this->objParticipanteDTO); + + return $this->objParticipanteDTO; + } +} diff --git a/tests_sei4/funcional/src/fixtures/ProcedimentoFixture.php b/tests_sei4/funcional/src/fixtures/ProcedimentoFixture.php new file mode 100644 index 000000000..9ec6691c0 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/ProcedimentoFixture.php @@ -0,0 +1,39 @@ +objProcedimentoDTO = new \ProcedimentoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objProcedimentoDTO->setDblIdProcedimento($dados["IdProtocolo"] ?: null); + $this->objProcedimentoDTO->setNumIdTipoProcedimento( + $dados["IdTipoProcedimento"] ?: self::TIPO_PROCEDIMENTO_PADRAO + ); + $this->objProcedimentoDTO->setStrStaOuvidoria($dados["StaOuvidoria"] ?: '-'); + $this->objProcedimentoDTO->setStrSinCiencia($dados["SinCiencia"] ?: 'N'); + + $objProcedimentoDB = new \ProcedimentoBD(\BancoSEI::getInstance()); + $objProcedimentoDB->cadastrar($this->objProcedimentoDTO); + + return $this->objProcedimentoDTO; + } + +} \ No newline at end of file diff --git a/tests_sei4/funcional/src/fixtures/ProtocoloFixture.php b/tests_sei4/funcional/src/fixtures/ProtocoloFixture.php new file mode 100644 index 000000000..02aaa260f --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/ProtocoloFixture.php @@ -0,0 +1,78 @@ +objProtocoloRN = new \ProtocoloRN(); + $this->objProtocoloDTO = new \ProtocoloDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $documento = $dados['documento'] ?: false; + + $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); + + $strProtocoloFormatado = $this->getProtocoloTeste($dados['IdProtocolo'], $documento); + $strProtocoloSemFormato = preg_replace("/[^0-9]/", "", $strProtocoloFormatado); + + $this->objProtocoloDTO->setDblIdProtocolo($dados['IdProtocolo']); + $this->objProtocoloDTO->setStrIdProtocoloFederacao($dados["IdProtocoloFederacao"] ?: null); + $this->objProtocoloDTO->setDblIdProtocoloAgrupador($dados["IdProtocolo"] ?: 2); + $this->objProtocoloDTO->setStrProtocoloFormatado($dados["ProtocoloFormatado"] ?: $strProtocoloFormatado); + $this->objProtocoloDTO->setStrProtocoloFormatadoPesquisa($strProtocoloSemFormato); + $this->objProtocoloDTO->setStrProtocoloFormatadoPesqInv(strrev($strProtocoloSemFormato)); + $this->objProtocoloDTO->setStrDescricao($dados["Descricao"] ?: "teste"); + $this->objProtocoloDTO->setStrStaProtocolo($dados["StaProtocolo"] ?: $this->objProtocoloRN::$TP_PROCEDIMENTO); + $this->objProtocoloDTO->setStrStaEstado($dados["StaEstado"] ?: $this->objProtocoloRN::$TE_NORMAL); + $this->objProtocoloDTO->setStrStaNivelAcessoGlobal( + $dados["StaNivelAcessoGlobal"] ?: $this->objProtocoloRN::$NA_PUBLICO + ); + $this->objProtocoloDTO->setStrStaNivelAcessoLocal( + $dados["StaNivelAcessoLocal"] ?: $this->objProtocoloRN::$NA_PUBLICO + ); + $this->objProtocoloDTO->setStrStaNivelAcessoOriginal($dados["StaNivelAcessoOriginal"] ?: null); + $this->objProtocoloDTO->setNumIdUnidadeGeradora($dados["IdUnidadeGeradora"] ?: "110000001"); + $this->objProtocoloDTO->setNumIdUsuarioGerador($dados["IdUsuarioGerador"] ?: "100000001"); + $this->objProtocoloDTO->setDtaGeracao($dados["Geracao"] ?: InfraData::getStrDataAtual()); + $this->objProtocoloDTO->setDtaInclusao($dados["Inclusao"] ?: InfraData::getStrDataAtual()); + $this->objProtocoloDTO->setStrCodigoBarras($dados["CodigoBarras"] ?: "XXXXXXXXXXXXXXXXXXXXXXXX"); + $this->objProtocoloDTO->setNumIdHipoteseLegal($dados["IdHipoteseLegal"] ?: null); + $this->objProtocoloDTO->setStrStaGrauSigilo($dados["StaGrauSigilo"] ?: null); + $this->objProtocoloDTO->retDblIdProtocolo(); + $this->objProtocoloDTO->retStrProtocoloFormatado(); + + $objProtocoloDB = new \ProtocoloBD(\BancoSEI::getInstance()); + $objProtocoloDB->cadastrar($this->objProtocoloDTO); + + return $this->objProtocoloDTO; + } + + protected function cadastrarVariados($dados = []) + { + foreach ($dados as $dado) { + $this->cadastrar($dado); + } + } + + private function getProtocoloTeste($protocolo, $documento = false) + { + $numSequencial = str_pad($protocolo, 6, 0, STR_PAD_LEFT); + if ($documento == true) { + return $numSequencial; + } + + $anoAtual = date('Y'); + + return "99990.{$numSequencial}/{$anoAtual}-00"; + } +} diff --git a/tests_sei4/funcional/src/fixtures/RelProtocoloAssuntoFixture.php b/tests_sei4/funcional/src/fixtures/RelProtocoloAssuntoFixture.php new file mode 100644 index 000000000..9f91f0644 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/RelProtocoloAssuntoFixture.php @@ -0,0 +1,26 @@ +setDblIdProtocolo($dados['IdProtocolo']); + $objRelProtocoloAssuntoDTO->setNumIdAssuntoProxy($dados['IdAssunto'] ?: 2); + $objRelProtocoloAssuntoDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objRelProtocoloAssuntoDTO->setNumSequencia($dados['Sequencia'] ?: 0); + + $objRelProtocoloAssuntoDB = new \RelProtocoloAssuntoBD(\BancoSEI::getInstance()); + $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloAssuntoDTO); + + return $objRelProtocoloAssuntoDTO; + } +} diff --git a/tests_sei4/funcional/src/fixtures/RelProtocoloProtocoloFixture.php b/tests_sei4/funcional/src/fixtures/RelProtocoloProtocoloFixture.php new file mode 100644 index 000000000..41fd2d8e3 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/RelProtocoloProtocoloFixture.php @@ -0,0 +1,28 @@ +setDblIdProtocolo1($dados['IdProtocolo']); + $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($dados['IdDocumento']); + $objRelProtocoloProtocoloDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); + $objRelProtocoloProtocoloDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objRelProtocoloProtocoloDTO->setStrSinCiencia($dados['Ciencia'] ?: 'N'); + $objRelProtocoloProtocoloDTO->setNumSequencia($dados['Sequencia'] ?: 0); + $objRelProtocoloProtocoloDTO->setStrStaAssociacao($dados['Associacao'] ?: 1); + $objRelProtocoloProtocoloDTO->setDthAssociacao(InfraData::getStrDataHoraAtual()); + + $objRelProtocoloAssuntoDB = new \RelProtocoloProtocoloBD(\BancoSEI::getInstance()); + $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloProtocoloDTO); + + return $objRelProtocoloProtocoloDTO; + } +} diff --git a/tests_sei4/funcional/src/fixtures/SecaoDocumentoFixture.php b/tests_sei4/funcional/src/fixtures/SecaoDocumentoFixture.php new file mode 100644 index 000000000..8a13ff752 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/SecaoDocumentoFixture.php @@ -0,0 +1,173 @@ +objProtocoloRN = new \ProtocoloRN(); + $this->objProtocoloDTO = new \ProtocoloDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $documento = $dados['documento'] ?: false; + + $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); + + $objSecaoDocumentoDTO = new SecaoDocumentoDTO(); + + $objSecaoDocumentoDTO->setNumOrdem($dados['Ordem'] ?: 0); + $objSecaoDocumentoDTO->setStrSinSomenteLeitura($dados['SomenteLeitura'] ?: null); + $objSecaoDocumentoDTO->setStrSinAssinatura($dados['Assinatura'] ?: null); + $objSecaoDocumentoDTO->setStrSinPrincipal($dados['Principal'] ?: null); + $objSecaoDocumentoDTO->setStrSinDinamica($dados['Dinamica'] ?: null); + $objSecaoDocumentoDTO->setStrSinCabecalho($dados['Cabecalho'] ?: null); + $objSecaoDocumentoDTO->setStrSinRodape($dados['Rodape'] ?: null); + $objSecaoDocumentoDTO->setStrSinHtml($dados['Html'] ?: null); + $objSecaoDocumentoDTO->setNumIdSecaoModelo($dados['IdSecaoModelo'] ?: null); + $objSecaoDocumentoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); + $objSecaoDocumentoDTO->setNumIdBaseConhecimento($dados['IdBaseConhecimento'] ?: null); + $objSecaoDocumentoDTO->setStrConteudo($dados['Conteudo'] ?: null); + + + $objProtocoloDB = new \SecaoDocumentoBD(\BancoSEI::getInstance()); + $objProtocoloDB->cadastrar($objSecaoDocumentoDTO); + + return $objSecaoDocumentoDTO; + } + + public function conteudoEstatico($IdDocumento) + { + return [ + [ + 'IdSecaoModelo' => 323, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 0, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'S', + 'Rodape' => 'N', + 'Conteudo' => '

  

+

@descricao_orgao_maiusculas@

+

  

', + 'Html' => 'S' + ], + [ + 'IdSecaoModelo' => 252, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 10, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => '@serie@ nº @numeracao_serie@/@ano@', + 'Html' => 'N' + ], + [ + 'IdSecaoModelo' => 253, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 20, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => 'Processo nº @processo@', + 'Html' => 'N' + ], + [ + 'IdSecaoModelo' => 254, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 30, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => 'Recorrente/Interessado: @interessados_virgula_espaco_maiusculas@', + 'Html' => 'N' + + ], + [ + 'IdSecaoModelo' => 257, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 40, + 'SomenteLeitura' => 'N', + 'Assinatura' => 'N', + 'Principal' => 'S', + 'Dinamica' => 'N', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => '

CNPJ/MF Nº XX.XXX.XXX/XXXX-DV

+

Conselheiro Relator: [Digite aqui o Nome Completo]

+

Fórum Deliberativo: Reunião nº [indique o número], de DD de mmmmmm de aaaaa

+

EMENTA

+

DIGITE O TEXTO EM CAIXA ALTA

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

ACÓRDÃO

+

Vistos, relatados e discutidos os presentes autos, acordam os membros do Conselho Diretor, por unanimidade, nos termos da Análise nº XX/AAAA-GCxx, de dd de mmmmmm de aaaaa, integrante deste Acórdão:

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

Participaram da deliberação o Presidente [nome completo] e os Conselheiros [nome completo de cada Conselheiro participante].

+

Ausente, justificadamente, o Conselheiro [nome completo], por motivo de [indicar o motivo].

+ ', + 'Html' => 'S' + ], + [ + 'IdSecaoModelo' => 255, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 50, + 'SomenteLeitura' => 'N', + 'Assinatura' => 'S', + 'Principal' => 'N', + 'Dinamica' => 'N', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => null, + 'Html' => 'N' + ], + [ + 'IdSecaoModelo' => 324, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 1000, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'S', + 'Conteudo' => '
+ + + + + +
Referência: Processo nº @processo@SEI nº @documento@
', + 'Html' => 'S' + ] + ]; + } +} diff --git a/tests_sei4/funcional/src/paginas/PaginaReordenarProcesso.php b/tests_sei4/funcional/src/paginas/PaginaReordenarProcesso.php new file mode 100644 index 000000000..30885bc27 --- /dev/null +++ b/tests_sei4/funcional/src/paginas/PaginaReordenarProcesso.php @@ -0,0 +1,46 @@ +test->frame(null); + $this->test->frame("ifrVisualizacao"); + $this->test->byXPath(utf8_encode("//img[@alt='Ordenar Árvore do Processo']"))->click(); + } + + public function irParaTramitarProcesso() + { + $this->test->frame(null); + $this->test->frame("ifrVisualizacao"); + $this->test->byXPath(utf8_encode("//img[@alt='Envio Externo de Processo']"))->click(); + } + + public function clicarOptionReordenar(int $index = 0) + { + $options = $this->test->byId('selRelProtocoloProtocolo') + ->elements($this->test->using('css selector')->value('option')); + $options[$index]->click(); + } + + public function moverParaBaixo(int $vezes = 1) + { + $botaoParaBaixo = $this->test->byXPath(utf8_encode("//img[@alt='Mover Abaixo Protocolo Selecionado']")); + for ($i=0; $i < $vezes; $i++) { + $botaoParaBaixo->click(); + } + } + + public function moverParaCima(int $vezes = 1) + { + $botaoParaCima = $this->test->byXPath(utf8_encode("//img[@alt='Mover Acima Protocolo Selecionado']")); + for ($i=0; $i < $vezes; $i++) { + $botaoParaCima->click(); + } + } + + public function salvar() + { + $this->test->byXPath("//button[@name='sbmSalvar']")->click(); + } +} diff --git a/tests_sei4/funcional/tests/CenarioBaseTestCase.php b/tests_sei4/funcional/tests/CenarioBaseTestCase.php index 9521cd56b..4d833ef09 100755 --- a/tests_sei4/funcional/tests/CenarioBaseTestCase.php +++ b/tests_sei4/funcional/tests/CenarioBaseTestCase.php @@ -43,6 +43,7 @@ class CenarioBaseTestCase extends Selenium2TestCase protected $paginaCadastroMapEnvioCompDigitais = null; protected $paginaExportarTiposProcesso = null; protected $paginaTipoProcessoReativar = null; + protected $paginaReordenarProcesso = null; public function setUpPage(): void { @@ -65,6 +66,7 @@ public function setUpPage(): void $this->paginaCadastroOrgaoExterno = new PaginaCadastroOrgaoExterno($this); $this->paginaExportarTiposProcesso = new PaginaExportarTiposProcesso($this); $this->paginaTipoProcessoReativar = new PaginaTipoProcessoReativar($this); + $this->paginaReordenarProcesso = new PaginaReordenarProcesso($this); $this->currentWindow()->maximize(); } diff --git a/tests_sei4/funcional/tests/TramiteReordenarDocumentosProcessoTest.php b/tests_sei4/funcional/tests/TramiteReordenarDocumentosProcessoTest.php new file mode 100644 index 000000000..8a7fa2f93 --- /dev/null +++ b/tests_sei4/funcional/tests/TramiteReordenarDocumentosProcessoTest.php @@ -0,0 +1,169 @@ +definirContextoTeste(CONTEXTO_ORGAO_A); + self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); + + $penMapUnidadesFixture = new \PenMapUnidadesFixture(CONTEXTO_ORGAO_A, [ + 'id' => self::$remetente['ID_ESTRUTURA'], + 'sigla' => self::$remetente['SIGLA_ESTRUTURA'], + 'nome' => self::$remetente['NOME_UNIDADE'] + ]); + $penMapUnidadesFixture->cadastrar(); + + $parametros = []; + $objProtocoloFixture = new \ProtocoloFixture(); + $this->objProtocoloDTO = $objProtocoloFixture->carregar($parametros, function($objProtocoloDTO) { + + $objProcedimentoFixture = new \ProcedimentoFixture(); + $objProcedimentoDTO = $objProcedimentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() + ]); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + ]); + + $objParticipanteFixture = new \ParticipanteFixture(); + $objParticipanteFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + ]); + + $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); + $objProtocoloAssuntoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() + ]); + + $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); + $objAtributoAndamentoFixture->carregar([ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ]); + + $tiposDocumentos = array(81, 8, 34); + foreach ($tiposDocumentos as $tipoDocumento) { + $objDocumentoFixture = new \DocumentoFixture(); + $objDocumentoDTO = $objDocumentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdProcedimento' => $objProcedimentoDTO->getDblIdProcedimento(), + 'IdSerie' => $tipoDocumento + ]); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO + ]); + + $objAssinaturaFixture = new \AssinaturaFixture(); + $objAssinaturaFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdDocumento' => $objDocumentoDTO->getDblIdDocumento(), + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ]); + } + }); + + } + + /** + * Testa a funcionalidade de reordernar documento + * + * @return true + */ + public function test_reordenar_documentos_remetente_devolucao() + { + //Aumenta o tempo de timeout devido á quantidade de arquivos + $this->setSeleniumServerRequestsTimeout(6000); + + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + + $this->abrirProcesso($this->objProtocoloDTO->getStrProtocoloFormatado()); + $this->tramitarProcessoExternamente( + ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], + self::$destinatario['REP_ESTRUTURAS'], + self::$destinatario['NOME_UNIDADE'], + self::$destinatario['SIGLA_UNIDADE_HIERARQUIA'], + false + ); + + $this->sairSistema(); + $this->acessarSistema( + self::$destinatario['URL'], + self::$destinatario['SIGLA_UNIDADE'], + self::$destinatario['LOGIN'], + self::$destinatario['SENHA'] + ); + + $this->waitUntil(function ($testCase) { + sleep(5); + $this->abrirProcesso($this->objProtocoloDTO->getStrProtocoloFormatado()); + return true; + }, PEN_WAIT_TIMEOUT); + + $this->paginaReordenarProcesso->irParaPaginaMudarOrdem(); + $this->paginaReordenarProcesso->clicarOptionReordenar(); + $this->paginaReordenarProcesso->moverParaBaixo(2); + $this->paginaReordenarProcesso->salvar(); + sleep(3); + + $callbackEnvio = function ($testCase) { + $testCase->frame('ifrEnvioProcesso'); + $mensagemSucesso = utf8_encode('Inconsistência identificada no documento de ordem'); + $testCase->assertStringContainsString($mensagemSucesso, $testCase->byCssSelector('body')->text()); + sleep(2); + $testCase->byXPath("//input[@id='btnFechar']")->click(); + + return true; + }; + + $this->tramitarProcessoExternamente( + ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], + self::$remetente['REP_ESTRUTURAS'], + self::$remetente['NOME_UNIDADE'], + self::$remetente['SIGLA_UNIDADE_HIERARQUIA'], + false, + $callbackEnvio + ); + + $this->paginaReordenarProcesso->irParaPaginaMudarOrdem(); + $this->paginaReordenarProcesso->clicarOptionReordenar(2); + $this->paginaReordenarProcesso->moverParaCima(2); + $this->paginaReordenarProcesso->salvar(); + sleep(3); + + $this->tramitarProcessoExternamente( + ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], + self::$remetente['REP_ESTRUTURAS'], + self::$remetente['NOME_UNIDADE'], + self::$remetente['SIGLA_UNIDADE_HIERARQUIA'], + false + ); + + $this->sairSistema(); + } +} diff --git a/tests_super/funcional/bootstrap.php b/tests_super/funcional/bootstrap.php index 8fb3da6b3..641c255a5 100755 --- a/tests_super/funcional/bootstrap.php +++ b/tests_super/funcional/bootstrap.php @@ -2,6 +2,16 @@ require_once __DIR__ . '/vendor/autoload.php'; +require_once __DIR__ . '/sei/src/sei/web/SEI.php'; + +define("DIR_SEI_WEB", __DIR__ . '/sei/src/sei/web/'); +define("DIR_TEST", __DIR__ ); +define("DIR_PROJECT", __DIR__ . '/..' ); +define("DIR_INFRA", __DIR__ . '/../src/infra/infra_php' ); + +error_reporting(E_ERROR); +restore_error_handler(); + //Classes utilitárias para manipulação dos dados do SEI require_once __DIR__ . '/src/utils/DatabaseUtils.php'; require_once __DIR__ . '/src/utils/ParameterUtils.php'; diff --git a/tests_super/funcional/composer.json b/tests_super/funcional/composer.json index ee2f2e658..187f89cf9 100755 --- a/tests_super/funcional/composer.json +++ b/tests_super/funcional/composer.json @@ -7,10 +7,17 @@ "autoload": { "classmap": [ - "src/" + "src/", + "sei/modpen/" ] }, + "autoload-dev": { + "psr-4": { + "Tests\\": "sei/" + } + }, + "require-dev": { "phpunit/phpunit": "8.*", "phpunit/php-code-coverage": "*", diff --git a/tests_super/funcional/docker-compose.yml b/tests_super/funcional/docker-compose.yml index 275413621..ec07bd8ab 100755 --- a/tests_super/funcional/docker-compose.yml +++ b/tests_super/funcional/docker-compose.yml @@ -44,15 +44,20 @@ services: php-test-functional: image: processoeletronico/vagrant_super4_httpd:${ENVIRONMENT_VERSION} depends_on: - - org1-database - org2-database + - org1-database - selenium volumes: - ${SEI_PATH}/sei:/opt/sei - ${SEI_PATH}/sip:/opt/sip - ${SEI_PATH}/infra:/opt/infra - - ./assets/config:/opt/sei/config/mod-pen - .:/tests + - ${SEI_PATH}/../tests:/tests/sei + - ${SEI_PATH}/../src:/tests/sei/src + - ./src/fixtures:/tests/sei/modpen/fixtures + - ../../src/bd:/tests/sei/modpen/bd + - ../../src/dto:/tests/sei/modpen/dto + - ./assets/config:/opt/sei/config/mod-pen - /tmp:/tmp environment: - XDEBUG_CONFIG=client_host=host.docker.internal client_port=9003 start_with_request=0 @@ -66,11 +71,20 @@ services: - ORG1_CERTIFICADO_SENHA=${ORG1_CERTIFICADO_SENHA} - ORG2_CERTIFICADO=${ORG2_CERTIFICADO} - ORG2_CERTIFICADO_SENHA=${ORG2_CERTIFICADO_SENHA} + - DATABASE_TYPE=${ORG1_DATABASE_TYPE} + - DATABASE_HOST=${ORG1_DATABASE_HOST} + - DATABASE_PORT=${ORG1_DATABASE_GUEST_PORT} + - SEI_CHAVE_ACESSO=${ORG1_APP_SEI_CHAVE_ACESSO} + - SEI_DATABASE_NAME=${SEI_DATABASE_NAME} + - SIP_CHAVE_ACESSO=${ORG1_APP_SIP_CHAVE_ACESSO} + - SIP_DATABASE_NAME=${SIP_DATABASE_NAME} + - SIP_DATABASE_USER=${SIP_DATABASE_USER} + - SIP_DATABASE_PASSWORD=${SIP_DATABASE_PASSWORD} extra_hosts: - "host.docker.internal:host-gateway" links: - - org1-database:${ORG1_DATABASE_HOST} - org2-database:${ORG2_DATABASE_HOST} + - org1-database:${ORG1_DATABASE_HOST} - selenium:selenium command: "true" diff --git a/tests_super/funcional/src/fixtures/AssinaturaFixture.php b/tests_super/funcional/src/fixtures/AssinaturaFixture.php new file mode 100644 index 000000000..f73ce5c95 --- /dev/null +++ b/tests_super/funcional/src/fixtures/AssinaturaFixture.php @@ -0,0 +1,52 @@ +getObjInfraIBanco()->getValorSequencia('seq_assinatura'); + + $objAssinaturaDTO = new \AssinaturaDTO(); + $objAssinaturaDTO->setDblIdDocumento($dados['IdDocumento'] ?: 4); + $objAssinaturaDTO->setNumIdAtividade($dados['IdAtividade'] ?: null); + $objAssinaturaDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); + $objAssinaturaDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objAssinaturaDTO->setNumIdTarjaAssinatura($dados['IdTarjaAssinatura'] ?: self::ID_TARJA_ASSINATURA); + $objAssinaturaDTO->setStrAgrupador($dados['Agrupador'] ?: null); + $objAssinaturaDTO->setStrStaFormaAutenticacao($dados['StaFormaAutenticacao'] ?: 'S'); + $objAssinaturaDTO->setStrNome($dados['Nome'] ?: 'Usuário de Testes'); + $objAssinaturaDTO->setStrTratamento($dados['Tratamento'] ?: self::TRATAMENTO); + $objAssinaturaDTO->setDblCpf($dados['Cpf'] ?: null); + $objAssinaturaDTO->setStrP7sBase64($dados['P7sBase64'] ?: null); + $objAssinaturaDTO->setStrNumeroSerieCertificado($dados['NumeroSerieCertificado'] ?: null); + $objAssinaturaDTO->setStrSinAtivo($dados['SinAtivo'] ?: 'S'); + $objAssinaturaDTO->setStrModuloOrigem($dados['ModuloOrigem'] ?: null); + $objAssinaturaDTO->setOrdDthAberturaAtividade(InfraDTO::$TIPO_ORDENACAO_ASC); + + $objAssinaturaDB = new \AssinaturaBD(\BancoSEI::getInstance()); + $objAssinaturaDB->cadastrar($objAssinaturaDTO); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeFixture->cadastrar( + [ + 'IdProtocolo' => $dados['IdProtocolo'], + 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO, + ] + ); + + + return $objAssinaturaDTO; + } +} diff --git a/tests_super/funcional/src/fixtures/AtividadeFixture.php b/tests_super/funcional/src/fixtures/AtividadeFixture.php new file mode 100644 index 000000000..1c01dc683 --- /dev/null +++ b/tests_super/funcional/src/fixtures/AtividadeFixture.php @@ -0,0 +1,41 @@ +objAtividadeDTO = new \AtividadeDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objAtividadeDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); + $this->objAtividadeDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $this->objAtividadeDTO->setNumIdUnidadeOrigem($dados['IdUnidadeOrigem'] ?: 110000001); + $this->objAtividadeDTO->setNumIdUsuario($dados['IdUsuario'] ?: null); + $this->objAtividadeDTO->setNumIdUsuarioOrigem($dados['IdUsuarioOrigem'] ?: 100000001); + $this->objAtividadeDTO->setDthAbertura($dados['Abertura'] ?: InfraData::getStrDataHoraAtual()); + $this->objAtividadeDTO->setDthConclusao($dados['Conclusao'] ?: null); + $this->objAtividadeDTO->setNumIdTarefa($dados['IdTarefa'] ?: 1); + $this->objAtividadeDTO->setNumIdUsuarioAtribuicao($dados['IdUsuarioAtribuicao'] ?: null); + $this->objAtividadeDTO->setNumIdUsuarioConclusao($dados['IdUsuarioConclusao'] ?: null); + $this->objAtividadeDTO->setStrSinInicial($dados['SinInicial'] ?: 'S'); + $this->objAtividadeDTO->setNumIdUsuarioVisualizacao($dados['IdUsuarioVisualizacao'] ?: null); + $this->objAtividadeDTO->setNumTipoVisualizacao($dados['TipoVisualizacao'] ?: 0); + $this->objAtividadeDTO->setDtaPrazo($dados['Prazo'] ?: null); + + $objProtocoloDB = new \AtividadeBD(\BancoSEI::getInstance()); + $objProtocoloDB->cadastrar($this->objAtividadeDTO); + + return $this->objAtividadeDTO; + } +} diff --git a/tests_super/funcional/src/fixtures/AtributoAndamentoFixture.php b/tests_super/funcional/src/fixtures/AtributoAndamentoFixture.php new file mode 100644 index 000000000..3b7a48c87 --- /dev/null +++ b/tests_super/funcional/src/fixtures/AtributoAndamentoFixture.php @@ -0,0 +1,31 @@ +objAtributoAndamentoDTO = new \AtributoAndamentoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objAtributoAndamentoDTO->setNumIdAtividade($dados['IdAtividade']); + $this->objAtributoAndamentoDTO->setStrNome($dados['Nome'] ?: 'NIVEL_ACESSO'); + $this->objAtributoAndamentoDTO->setStrValor($dados['Valor'] ?: null); + $this->objAtributoAndamentoDTO->setStrIdOrigem($dados['IdOrigem'] ?: 0); + + $objAtributoAndamentoDB = new \AtributoAndamentoBD(\BancoSEI::getInstance()); + $objAtributoAndamentoDB->cadastrar($this->objAtributoAndamentoDTO); + + return $this->objAtributoAndamentoDTO; + } +} diff --git a/tests_super/funcional/src/fixtures/DocumentoConteudoFixture.php b/tests_super/funcional/src/fixtures/DocumentoConteudoFixture.php new file mode 100644 index 000000000..da5e1ff52 --- /dev/null +++ b/tests_super/funcional/src/fixtures/DocumentoConteudoFixture.php @@ -0,0 +1,32 @@ +objDocumentoConteudoDTO = new \DocumentoConteudoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objDocumentoConteudoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); + $this->objDocumentoConteudoDTO->setStrConteudo($dados['Conteudo'] ?: 'Conteudo'); + $this->objDocumentoConteudoDTO->setStrConteudoAssinatura($dados['ConteudoAssinatura'] ?: null); + $this->objDocumentoConteudoDTO->setStrCrcAssinatura($dados['CrcAssinatura'] ?: null); + $this->objDocumentoConteudoDTO->setStrQrCodeAssinatura($dados['QrCodeAssinatura'] ?: null); + + $objProtocoloConteudoDB = new \DocumentoConteudoBD(\BancoSEI::getInstance()); + $objProtocoloConteudoDB->cadastrar($this->objDocumentoConteudoDTO); + + return $this->objDocumentoConteudoDTO; + } +} \ No newline at end of file diff --git a/tests_super/funcional/src/fixtures/DocumentoFixture.php b/tests_super/funcional/src/fixtures/DocumentoFixture.php new file mode 100644 index 000000000..15cb0bc56 --- /dev/null +++ b/tests_super/funcional/src/fixtures/DocumentoFixture.php @@ -0,0 +1,97 @@ +objDocumentoDTO = new \DocumentoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $protocoloFixture = new \ProtocoloFixture(); + $protocoloDTO = $protocoloFixture->cadastrar([ + 'StaProtocolo' => \ProtocoloRN::$TP_DOCUMENTO_GERADO, + 'documento' => true, + ]); + + $this->objDocumentoDTO->setDblIdDocumento($protocoloDTO->getDblIdProtocolo()); + $this->objDocumentoDTO->setDblIdDocumentoEdoc($dados['IdDocumentoEdoc'] ?: null); + $this->objDocumentoDTO->setDblIdProcedimento($dados['IdProcedimento']); + $this->objDocumentoDTO->setNumIdSerie($dados['IdSerie'] ?: self::MODELO_ACORDAO); + $this->objDocumentoDTO->setNumIdUnidadeResponsavel($dados['IdUnidadeResponsavel'] ?: 110000001); + $this->objDocumentoDTO->setNumIdConjuntoEstilos($dados['IdConjuntoEstilos'] ?: 81); + $this->objDocumentoDTO->setNumIdTipoConferencia($dados['IdTipoConferencia'] ?: null); + $this->objDocumentoDTO->setStrSinArquivamento($dados['SinArquivamento'] ?: 'N'); + $this->objDocumentoDTO->setStrNumero($dados['Numero'] ?: 1); + $this->objDocumentoDTO->setStrSinBloqueado($dados['SinBloqueado'] ?: 'N'); + $this->objDocumentoDTO->setStrStaDocumento($dados['StaDocumento'] ?: DocumentoRN::$TD_EDITOR_INTERNO); + $this->objDocumentoDTO->setStrNomeArvore($dados['SinBloqueado'] ?? 'teste'); + + $objDocumentoDB = new \DocumentoBD(\BancoSEI::getInstance()); + $objDocumentoDB->cadastrar($this->objDocumentoDTO); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->cadastrar( + [ + 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), + 'IdTarefa' => TarefaRN::$TI_GERACAO_DOCUMENTO, + ] + ); + + $objParticipanteFixture = new \ParticipanteFixture(); + $objParticipanteFixture->carregar([ + 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), + ]); + + $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); + $objAtributoAndamentoFixture->carregarVariados([ + [ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade(), + 'Nome' => 'DOCUMENTO', + 'Valor' => $protocoloDTO->getStrProtocoloFormatado(), + 'IdOrigem' => $dados['IdProtocolo'], + ], + [ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ] + ]); + + $objDocumentoConteudoFixture = new \DocumentoConteudoFixture(); + $objDocumentoConteudoFixture->cadastrar( + [ + 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), + ] + ); + + $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); + $objProtocoloAssuntoFixture->carregar([ + 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), + 'IdAssunto' => 2 + ]); + + $ObjProtocoloProtocoloFixture = new \RelProtocoloProtocoloFixture(); + $ObjProtocoloProtocoloFixture->cadastrar( + [ + 'IdProtocolo' => $dados['IdProtocolo'], + 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), + ] + ); + + $secaoDocumentoFixture = new \SecaoDocumentoFixture(); + $listaSecao = $secaoDocumentoFixture->conteudoEstatico($this->objDocumentoDTO->getDblIdDocumento()); + + $secaoDocumentoFixture->carregarVariados($listaSecao); + + return $this->objDocumentoDTO; + } +} \ No newline at end of file diff --git a/tests_super/funcional/src/fixtures/FixtureBase.php b/tests_super/funcional/src/fixtures/FixtureBase.php new file mode 100644 index 000000000..c980f93bd --- /dev/null +++ b/tests_super/funcional/src/fixtures/FixtureBase.php @@ -0,0 +1,42 @@ +cadastrar($parametros["dados"]); + + if (isset($parametros["callback"])) { + $parametros["callback"]($dto); + } + + return $dto; + } + + public function carregar($dados = null, $callback = null){ + $dados = $dados ?: []; + return $this->cadastrarInterno([ + 'dados' => $dados, + 'callback' => $callback + ]); + } + + public function carregarVarios($dados = null, $quantidade = 1){ + $resultado = array(); + for ($i=0; $i < $quantidade; $i++) { + $resultado[] = $this->carregar($dados); + } + + return $resultado; + } + + public function carregarVariados($dados){ + $resultado = []; + foreach ($dados as $dado) { + $resultado[] = $this->carregar($dado); + } + + return $resultado; + } +} diff --git a/tests_super/funcional/src/fixtures/ParticipanteFixture.php b/tests_super/funcional/src/fixtures/ParticipanteFixture.php new file mode 100644 index 000000000..cdc1611d7 --- /dev/null +++ b/tests_super/funcional/src/fixtures/ParticipanteFixture.php @@ -0,0 +1,37 @@ +objParticipanteDTO = new \ParticipanteDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + + $this->objParticipanteDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); + $this->objParticipanteDTO->setStrStaParticipacao($dados['StaParticipacao'] ?: self::INTERESSADO); + $this->objParticipanteDTO->setNumIdContato($dados['IdContato'] ?: 100000006); + $this->objParticipanteDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $this->objParticipanteDTO->setNumSequencia($dados['Sequencia'] ?: 0); + + + $objParticipanteDB = new \ParticipanteBD(\BancoSEI::getInstance()); + $objParticipanteDB->cadastrar($this->objParticipanteDTO); + + return $this->objParticipanteDTO; + } +} diff --git a/tests_super/funcional/src/fixtures/ProcedimentoFixture.php b/tests_super/funcional/src/fixtures/ProcedimentoFixture.php new file mode 100644 index 000000000..9ec6691c0 --- /dev/null +++ b/tests_super/funcional/src/fixtures/ProcedimentoFixture.php @@ -0,0 +1,39 @@ +objProcedimentoDTO = new \ProcedimentoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $this->objProcedimentoDTO->setDblIdProcedimento($dados["IdProtocolo"] ?: null); + $this->objProcedimentoDTO->setNumIdTipoProcedimento( + $dados["IdTipoProcedimento"] ?: self::TIPO_PROCEDIMENTO_PADRAO + ); + $this->objProcedimentoDTO->setStrStaOuvidoria($dados["StaOuvidoria"] ?: '-'); + $this->objProcedimentoDTO->setStrSinCiencia($dados["SinCiencia"] ?: 'N'); + + $objProcedimentoDB = new \ProcedimentoBD(\BancoSEI::getInstance()); + $objProcedimentoDB->cadastrar($this->objProcedimentoDTO); + + return $this->objProcedimentoDTO; + } + +} \ No newline at end of file diff --git a/tests_super/funcional/src/fixtures/ProtocoloFixture.php b/tests_super/funcional/src/fixtures/ProtocoloFixture.php new file mode 100644 index 000000000..02aaa260f --- /dev/null +++ b/tests_super/funcional/src/fixtures/ProtocoloFixture.php @@ -0,0 +1,78 @@ +objProtocoloRN = new \ProtocoloRN(); + $this->objProtocoloDTO = new \ProtocoloDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $documento = $dados['documento'] ?: false; + + $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); + + $strProtocoloFormatado = $this->getProtocoloTeste($dados['IdProtocolo'], $documento); + $strProtocoloSemFormato = preg_replace("/[^0-9]/", "", $strProtocoloFormatado); + + $this->objProtocoloDTO->setDblIdProtocolo($dados['IdProtocolo']); + $this->objProtocoloDTO->setStrIdProtocoloFederacao($dados["IdProtocoloFederacao"] ?: null); + $this->objProtocoloDTO->setDblIdProtocoloAgrupador($dados["IdProtocolo"] ?: 2); + $this->objProtocoloDTO->setStrProtocoloFormatado($dados["ProtocoloFormatado"] ?: $strProtocoloFormatado); + $this->objProtocoloDTO->setStrProtocoloFormatadoPesquisa($strProtocoloSemFormato); + $this->objProtocoloDTO->setStrProtocoloFormatadoPesqInv(strrev($strProtocoloSemFormato)); + $this->objProtocoloDTO->setStrDescricao($dados["Descricao"] ?: "teste"); + $this->objProtocoloDTO->setStrStaProtocolo($dados["StaProtocolo"] ?: $this->objProtocoloRN::$TP_PROCEDIMENTO); + $this->objProtocoloDTO->setStrStaEstado($dados["StaEstado"] ?: $this->objProtocoloRN::$TE_NORMAL); + $this->objProtocoloDTO->setStrStaNivelAcessoGlobal( + $dados["StaNivelAcessoGlobal"] ?: $this->objProtocoloRN::$NA_PUBLICO + ); + $this->objProtocoloDTO->setStrStaNivelAcessoLocal( + $dados["StaNivelAcessoLocal"] ?: $this->objProtocoloRN::$NA_PUBLICO + ); + $this->objProtocoloDTO->setStrStaNivelAcessoOriginal($dados["StaNivelAcessoOriginal"] ?: null); + $this->objProtocoloDTO->setNumIdUnidadeGeradora($dados["IdUnidadeGeradora"] ?: "110000001"); + $this->objProtocoloDTO->setNumIdUsuarioGerador($dados["IdUsuarioGerador"] ?: "100000001"); + $this->objProtocoloDTO->setDtaGeracao($dados["Geracao"] ?: InfraData::getStrDataAtual()); + $this->objProtocoloDTO->setDtaInclusao($dados["Inclusao"] ?: InfraData::getStrDataAtual()); + $this->objProtocoloDTO->setStrCodigoBarras($dados["CodigoBarras"] ?: "XXXXXXXXXXXXXXXXXXXXXXXX"); + $this->objProtocoloDTO->setNumIdHipoteseLegal($dados["IdHipoteseLegal"] ?: null); + $this->objProtocoloDTO->setStrStaGrauSigilo($dados["StaGrauSigilo"] ?: null); + $this->objProtocoloDTO->retDblIdProtocolo(); + $this->objProtocoloDTO->retStrProtocoloFormatado(); + + $objProtocoloDB = new \ProtocoloBD(\BancoSEI::getInstance()); + $objProtocoloDB->cadastrar($this->objProtocoloDTO); + + return $this->objProtocoloDTO; + } + + protected function cadastrarVariados($dados = []) + { + foreach ($dados as $dado) { + $this->cadastrar($dado); + } + } + + private function getProtocoloTeste($protocolo, $documento = false) + { + $numSequencial = str_pad($protocolo, 6, 0, STR_PAD_LEFT); + if ($documento == true) { + return $numSequencial; + } + + $anoAtual = date('Y'); + + return "99990.{$numSequencial}/{$anoAtual}-00"; + } +} diff --git a/tests_super/funcional/src/fixtures/RelProtocoloAssuntoFixture.php b/tests_super/funcional/src/fixtures/RelProtocoloAssuntoFixture.php new file mode 100644 index 000000000..9f91f0644 --- /dev/null +++ b/tests_super/funcional/src/fixtures/RelProtocoloAssuntoFixture.php @@ -0,0 +1,26 @@ +setDblIdProtocolo($dados['IdProtocolo']); + $objRelProtocoloAssuntoDTO->setNumIdAssuntoProxy($dados['IdAssunto'] ?: 2); + $objRelProtocoloAssuntoDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objRelProtocoloAssuntoDTO->setNumSequencia($dados['Sequencia'] ?: 0); + + $objRelProtocoloAssuntoDB = new \RelProtocoloAssuntoBD(\BancoSEI::getInstance()); + $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloAssuntoDTO); + + return $objRelProtocoloAssuntoDTO; + } +} diff --git a/tests_super/funcional/src/fixtures/RelProtocoloProtocoloFixture.php b/tests_super/funcional/src/fixtures/RelProtocoloProtocoloFixture.php new file mode 100644 index 000000000..41fd2d8e3 --- /dev/null +++ b/tests_super/funcional/src/fixtures/RelProtocoloProtocoloFixture.php @@ -0,0 +1,28 @@ +setDblIdProtocolo1($dados['IdProtocolo']); + $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($dados['IdDocumento']); + $objRelProtocoloProtocoloDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); + $objRelProtocoloProtocoloDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objRelProtocoloProtocoloDTO->setStrSinCiencia($dados['Ciencia'] ?: 'N'); + $objRelProtocoloProtocoloDTO->setNumSequencia($dados['Sequencia'] ?: 0); + $objRelProtocoloProtocoloDTO->setStrStaAssociacao($dados['Associacao'] ?: 1); + $objRelProtocoloProtocoloDTO->setDthAssociacao(InfraData::getStrDataHoraAtual()); + + $objRelProtocoloAssuntoDB = new \RelProtocoloProtocoloBD(\BancoSEI::getInstance()); + $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloProtocoloDTO); + + return $objRelProtocoloProtocoloDTO; + } +} diff --git a/tests_super/funcional/src/fixtures/SecaoDocumentoFixture.php b/tests_super/funcional/src/fixtures/SecaoDocumentoFixture.php new file mode 100644 index 000000000..8a13ff752 --- /dev/null +++ b/tests_super/funcional/src/fixtures/SecaoDocumentoFixture.php @@ -0,0 +1,173 @@ +objProtocoloRN = new \ProtocoloRN(); + $this->objProtocoloDTO = new \ProtocoloDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + $documento = $dados['documento'] ?: false; + + $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); + + $objSecaoDocumentoDTO = new SecaoDocumentoDTO(); + + $objSecaoDocumentoDTO->setNumOrdem($dados['Ordem'] ?: 0); + $objSecaoDocumentoDTO->setStrSinSomenteLeitura($dados['SomenteLeitura'] ?: null); + $objSecaoDocumentoDTO->setStrSinAssinatura($dados['Assinatura'] ?: null); + $objSecaoDocumentoDTO->setStrSinPrincipal($dados['Principal'] ?: null); + $objSecaoDocumentoDTO->setStrSinDinamica($dados['Dinamica'] ?: null); + $objSecaoDocumentoDTO->setStrSinCabecalho($dados['Cabecalho'] ?: null); + $objSecaoDocumentoDTO->setStrSinRodape($dados['Rodape'] ?: null); + $objSecaoDocumentoDTO->setStrSinHtml($dados['Html'] ?: null); + $objSecaoDocumentoDTO->setNumIdSecaoModelo($dados['IdSecaoModelo'] ?: null); + $objSecaoDocumentoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); + $objSecaoDocumentoDTO->setNumIdBaseConhecimento($dados['IdBaseConhecimento'] ?: null); + $objSecaoDocumentoDTO->setStrConteudo($dados['Conteudo'] ?: null); + + + $objProtocoloDB = new \SecaoDocumentoBD(\BancoSEI::getInstance()); + $objProtocoloDB->cadastrar($objSecaoDocumentoDTO); + + return $objSecaoDocumentoDTO; + } + + public function conteudoEstatico($IdDocumento) + { + return [ + [ + 'IdSecaoModelo' => 323, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 0, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'S', + 'Rodape' => 'N', + 'Conteudo' => '

  

+

@descricao_orgao_maiusculas@

+

  

', + 'Html' => 'S' + ], + [ + 'IdSecaoModelo' => 252, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 10, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => '@serie@ nº @numeracao_serie@/@ano@', + 'Html' => 'N' + ], + [ + 'IdSecaoModelo' => 253, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 20, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => 'Processo nº @processo@', + 'Html' => 'N' + ], + [ + 'IdSecaoModelo' => 254, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 30, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => 'Recorrente/Interessado: @interessados_virgula_espaco_maiusculas@', + 'Html' => 'N' + + ], + [ + 'IdSecaoModelo' => 257, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 40, + 'SomenteLeitura' => 'N', + 'Assinatura' => 'N', + 'Principal' => 'S', + 'Dinamica' => 'N', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => '

CNPJ/MF Nº XX.XXX.XXX/XXXX-DV

+

Conselheiro Relator: [Digite aqui o Nome Completo]

+

Fórum Deliberativo: Reunião nº [indique o número], de DD de mmmmmm de aaaaa

+

EMENTA

+

DIGITE O TEXTO EM CAIXA ALTA

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

ACÓRDÃO

+

Vistos, relatados e discutidos os presentes autos, acordam os membros do Conselho Diretor, por unanimidade, nos termos da Análise nº XX/AAAA-GCxx, de dd de mmmmmm de aaaaa, integrante deste Acórdão:

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

Clique aqui para digitar o texto.

+

Participaram da deliberação o Presidente [nome completo] e os Conselheiros [nome completo de cada Conselheiro participante].

+

Ausente, justificadamente, o Conselheiro [nome completo], por motivo de [indicar o motivo].

+ ', + 'Html' => 'S' + ], + [ + 'IdSecaoModelo' => 255, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 50, + 'SomenteLeitura' => 'N', + 'Assinatura' => 'S', + 'Principal' => 'N', + 'Dinamica' => 'N', + 'Cabecalho' => 'N', + 'Rodape' => 'N', + 'Conteudo' => null, + 'Html' => 'N' + ], + [ + 'IdSecaoModelo' => 324, + 'IdDocumento' => $IdDocumento, + 'Ordem' => 1000, + 'SomenteLeitura' => 'S', + 'Assinatura' => 'N', + 'Principal' => 'N', + 'Dinamica' => 'S', + 'Cabecalho' => 'N', + 'Rodape' => 'S', + 'Conteudo' => '
+ + + + + +
Referência: Processo nº @processo@SEI nº @documento@
', + 'Html' => 'S' + ] + ]; + } +} diff --git a/tests_super/funcional/src/paginas/PaginaReordenarProcesso.php b/tests_super/funcional/src/paginas/PaginaReordenarProcesso.php new file mode 100644 index 000000000..30885bc27 --- /dev/null +++ b/tests_super/funcional/src/paginas/PaginaReordenarProcesso.php @@ -0,0 +1,46 @@ +test->frame(null); + $this->test->frame("ifrVisualizacao"); + $this->test->byXPath(utf8_encode("//img[@alt='Ordenar Árvore do Processo']"))->click(); + } + + public function irParaTramitarProcesso() + { + $this->test->frame(null); + $this->test->frame("ifrVisualizacao"); + $this->test->byXPath(utf8_encode("//img[@alt='Envio Externo de Processo']"))->click(); + } + + public function clicarOptionReordenar(int $index = 0) + { + $options = $this->test->byId('selRelProtocoloProtocolo') + ->elements($this->test->using('css selector')->value('option')); + $options[$index]->click(); + } + + public function moverParaBaixo(int $vezes = 1) + { + $botaoParaBaixo = $this->test->byXPath(utf8_encode("//img[@alt='Mover Abaixo Protocolo Selecionado']")); + for ($i=0; $i < $vezes; $i++) { + $botaoParaBaixo->click(); + } + } + + public function moverParaCima(int $vezes = 1) + { + $botaoParaCima = $this->test->byXPath(utf8_encode("//img[@alt='Mover Acima Protocolo Selecionado']")); + for ($i=0; $i < $vezes; $i++) { + $botaoParaCima->click(); + } + } + + public function salvar() + { + $this->test->byXPath("//button[@name='sbmSalvar']")->click(); + } +} diff --git a/tests_super/funcional/tests/CenarioBaseTestCase.php b/tests_super/funcional/tests/CenarioBaseTestCase.php index 580060e64..3d40c86f5 100755 --- a/tests_super/funcional/tests/CenarioBaseTestCase.php +++ b/tests_super/funcional/tests/CenarioBaseTestCase.php @@ -44,6 +44,7 @@ class CenarioBaseTestCase extends Selenium2TestCase protected $paginaExportarTiposProcesso = null; protected $paginaTipoProcessoReativar = null; protected $paginaCadastroOrgaoExterno = null; + protected $paginaReordenarProcesso = null; public function setUpPage(): void { @@ -67,6 +68,7 @@ public function setUpPage(): void $this->paginaExportarTiposProcesso = new PaginaExportarTiposProcesso($this); $this->paginaTipoProcessoReativar = new PaginaTipoProcessoReativar($this); $this->paginaCadastroOrgaoExterno = new PaginaCadastroOrgaoExterno($this); + $this->paginaReordenarProcesso = new PaginaReordenarProcesso($this); $this->currentWindow()->maximize(); } diff --git a/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php b/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php new file mode 100644 index 000000000..8a7fa2f93 --- /dev/null +++ b/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php @@ -0,0 +1,169 @@ +definirContextoTeste(CONTEXTO_ORGAO_A); + self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); + + $penMapUnidadesFixture = new \PenMapUnidadesFixture(CONTEXTO_ORGAO_A, [ + 'id' => self::$remetente['ID_ESTRUTURA'], + 'sigla' => self::$remetente['SIGLA_ESTRUTURA'], + 'nome' => self::$remetente['NOME_UNIDADE'] + ]); + $penMapUnidadesFixture->cadastrar(); + + $parametros = []; + $objProtocoloFixture = new \ProtocoloFixture(); + $this->objProtocoloDTO = $objProtocoloFixture->carregar($parametros, function($objProtocoloDTO) { + + $objProcedimentoFixture = new \ProcedimentoFixture(); + $objProcedimentoDTO = $objProcedimentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() + ]); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + ]); + + $objParticipanteFixture = new \ParticipanteFixture(); + $objParticipanteFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + ]); + + $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); + $objProtocoloAssuntoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() + ]); + + $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); + $objAtributoAndamentoFixture->carregar([ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ]); + + $tiposDocumentos = array(81, 8, 34); + foreach ($tiposDocumentos as $tipoDocumento) { + $objDocumentoFixture = new \DocumentoFixture(); + $objDocumentoDTO = $objDocumentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdProcedimento' => $objProcedimentoDTO->getDblIdProcedimento(), + 'IdSerie' => $tipoDocumento + ]); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO + ]); + + $objAssinaturaFixture = new \AssinaturaFixture(); + $objAssinaturaFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdDocumento' => $objDocumentoDTO->getDblIdDocumento(), + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ]); + } + }); + + } + + /** + * Testa a funcionalidade de reordernar documento + * + * @return true + */ + public function test_reordenar_documentos_remetente_devolucao() + { + //Aumenta o tempo de timeout devido á quantidade de arquivos + $this->setSeleniumServerRequestsTimeout(6000); + + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + + $this->abrirProcesso($this->objProtocoloDTO->getStrProtocoloFormatado()); + $this->tramitarProcessoExternamente( + ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], + self::$destinatario['REP_ESTRUTURAS'], + self::$destinatario['NOME_UNIDADE'], + self::$destinatario['SIGLA_UNIDADE_HIERARQUIA'], + false + ); + + $this->sairSistema(); + $this->acessarSistema( + self::$destinatario['URL'], + self::$destinatario['SIGLA_UNIDADE'], + self::$destinatario['LOGIN'], + self::$destinatario['SENHA'] + ); + + $this->waitUntil(function ($testCase) { + sleep(5); + $this->abrirProcesso($this->objProtocoloDTO->getStrProtocoloFormatado()); + return true; + }, PEN_WAIT_TIMEOUT); + + $this->paginaReordenarProcesso->irParaPaginaMudarOrdem(); + $this->paginaReordenarProcesso->clicarOptionReordenar(); + $this->paginaReordenarProcesso->moverParaBaixo(2); + $this->paginaReordenarProcesso->salvar(); + sleep(3); + + $callbackEnvio = function ($testCase) { + $testCase->frame('ifrEnvioProcesso'); + $mensagemSucesso = utf8_encode('Inconsistência identificada no documento de ordem'); + $testCase->assertStringContainsString($mensagemSucesso, $testCase->byCssSelector('body')->text()); + sleep(2); + $testCase->byXPath("//input[@id='btnFechar']")->click(); + + return true; + }; + + $this->tramitarProcessoExternamente( + ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], + self::$remetente['REP_ESTRUTURAS'], + self::$remetente['NOME_UNIDADE'], + self::$remetente['SIGLA_UNIDADE_HIERARQUIA'], + false, + $callbackEnvio + ); + + $this->paginaReordenarProcesso->irParaPaginaMudarOrdem(); + $this->paginaReordenarProcesso->clicarOptionReordenar(2); + $this->paginaReordenarProcesso->moverParaCima(2); + $this->paginaReordenarProcesso->salvar(); + sleep(3); + + $this->tramitarProcessoExternamente( + ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], + self::$remetente['REP_ESTRUTURAS'], + self::$remetente['NOME_UNIDADE'], + self::$remetente['SIGLA_UNIDADE_HIERARQUIA'], + false + ); + + $this->sairSistema(); + } +} From 0399f512143eb8f9944386d48c82f5607bc08d14 Mon Sep 17 00:00:00 2001 From: Mauro Costa Date: Tue, 6 Feb 2024 11:01:31 -0300 Subject: [PATCH 2/6] =?UTF-8?q?feat:=20altera=C3=A7=C3=A3o=20de=20mensagem?= =?UTF-8?q?=20para=20acoreda=20em=20issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rn/ProcessoEletronicoRN.php | 26 ++++++++----------- ...TramiteReordenarDocumentosProcessoTest.php | 7 ++++- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/rn/ProcessoEletronicoRN.php b/src/rn/ProcessoEletronicoRN.php index 721fea000..fd0826650 100755 --- a/src/rn/ProcessoEletronicoRN.php +++ b/src/rn/ProcessoEletronicoRN.php @@ -652,24 +652,20 @@ public function enviarProcesso($parametros) }); } catch (\SoapFault $e) { - $naoRespEstruturaOrg = 'Transação não autorizada, pois o sistema não é responsável pela estrutura organizacional remetente'; - if (InfraString::formatarJavaScript(utf8_decode($e->faultstring)) == $naoRespEstruturaOrg) { - $strMensagem = "Por favor, observe o seguinte procedimento para realizar o mapeamento adequado: Acesse a funcionalidade Administração, em seguida selecione Processo Eletrônico Nacional e, por fim, proceda ao mapeamento utilizando somente as unidades pertinentes ao seu órgão/entidade na funcionalidade Mapeamento de Unidades. Certifique-se de seguir esse processo para garantir a correta execução do mapeamento."; - } else { - $strMensagem = str_replace(array("\n", "\r"), ' ', InfraString::formatarJavaScript(utf8_decode($e->faultstring))); - } + $strMensagem = str_replace(array("\n", "\r"), ' ', InfraString::formatarJavaScript(utf8_decode($e->faultstring))); if ($e instanceof \SoapFault && !empty($e->detail->interoperabilidadeException->codigoErro) && $e->detail->interoperabilidadeException->codigoErro == '0005') { - $$strMensagem .= 'O código mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' está incorreto.'; + $strMensagem .= 'O código mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' está incorreto.'; } - - $e->faultstring = $this->validarTramitaEmAndamento($parametros, $strMensagem); - $strMensagem = $e->faultstring; - $strDetalhes = str_replace(array("\n", "\r"), ' ', InfraString::formatarJavaScript($this->tratarFalhaWebService($e))); - throw new InfraException($strMensagem, $e, $strDetalhes); + $strDetalhes = str_replace(array("\n", "\r"), ' ', InfraString::formatarJavaScript($this->tratarFalhaWebService($e))); + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e)); + if (strpos(strtolower($strMensagem), "hash de ao menos um componente digital não confere")) { + $strMensagem = $this->validarMudancaOrdemDocumentos($parametros->dblIdProcedimento, $strMensagem, $parametros); + } + throw new InfraException($strMensagem, $e, $strDetalhes); } catch (\Exception $e) { - $mensagem = "Falha no envio externo do processo. Verifique log de erros do sistema para maiores informações."; - $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e)); - throw new InfraException($mensagem, $e, $detalhes); + $mensagem = "Falha no envio externo do processo. Verifique log de erros do sistema para maiores informações."; + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e)); + throw new InfraException($mensagem, $e, $detalhes); } } diff --git a/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php b/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php index 8a7fa2f93..7cc6a153c 100644 --- a/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php +++ b/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php @@ -133,7 +133,12 @@ public function test_reordenar_documentos_remetente_devolucao() $callbackEnvio = function ($testCase) { $testCase->frame('ifrEnvioProcesso'); - $mensagemSucesso = utf8_encode('Inconsistência identificada no documento de ordem'); + $mensagemHash = "Houve uma alteração na ordem dos documentos no processo, " + . "o que impede o reenvio de um processo que já foi tramitado pela plataforma. " + . "Portanto, é recomendado reordenar os documentos de acordo com a ordem original. " + . "Caso você seja um usuário sem permissão para reordenar o processo, é necessário " + . "entrar em contato internamente para identificar quem possui essa permissão."; + $mensagemSucesso = utf8_encode($mensagemHash); $testCase->assertStringContainsString($mensagemSucesso, $testCase->byCssSelector('body')->text()); sleep(2); $testCase->byXPath("//input[@id='btnFechar']")->click(); From e247d3f0275cbc6d71f4ce17698e5d4cc31abedb Mon Sep 17 00:00:00 2001 From: Mauro Costa Date: Fri, 9 Feb 2024 10:52:21 -0300 Subject: [PATCH 3/6] =?UTF-8?q?feat:=20altera=C3=A7=C3=A3o=20de=20fixtures?= =?UTF-8?q?=20para=20o=20sei?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 3 +- composer.json | 5 + tests_sei3/funcional/bootstrap.php | 10 - tests_sei3/funcional/composer.json | 9 +- tests_sei4/funcional/bootstrap.php | 2 +- tests_sei4/funcional/docker-compose.yml | 6 +- .../src/fixtures/AssinaturaFixture.php | 51 ------ .../src/fixtures/AtividadeFixture.php | 41 ----- .../src/fixtures/AtributoAndamentoFixture.php | 31 ---- .../src/fixtures/DocumentoConteudoFixture.php | 32 ---- .../src/fixtures/DocumentoFixture.php | 97 ---------- .../funcional/src/fixtures/FixtureBase.php | 25 ++- .../ImportacaoTiposProcessoFixture.php | 65 ------- .../src/fixtures/ParticipanteFixture.php | 37 ---- .../src/fixtures/ProcedimentoFixture.php | 39 ---- .../src/fixtures/ProtocoloFixture.php | 78 -------- .../fixtures/RelProtocoloAssuntoFixture.php | 26 --- .../fixtures/RelProtocoloProtocoloFixture.php | 28 --- .../src/fixtures/SecaoDocumentoFixture.php | 173 ------------------ ...TramiteReordenarDocumentosProcessoTest.php | 28 ++- tests_super/funcional/bootstrap.php | 2 +- tests_super/funcional/docker-compose.yml | 7 +- .../src/fixtures/AssinaturaFixture.php | 52 ------ .../src/fixtures/AtividadeFixture.php | 41 ----- .../src/fixtures/AtributoAndamentoFixture.php | 31 ---- .../src/fixtures/DocumentoConteudoFixture.php | 32 ---- .../src/fixtures/DocumentoFixture.php | 97 ---------- .../funcional/src/fixtures/FixtureBase.php | 25 ++- .../ImportacaoTiposProcessoFixture.php | 65 ------- .../src/fixtures/ParticipanteFixture.php | 37 ---- .../src/fixtures/ProcedimentoFixture.php | 39 ---- .../src/fixtures/ProtocoloFixture.php | 78 -------- .../fixtures/RelProtocoloAssuntoFixture.php | 26 --- .../fixtures/RelProtocoloProtocoloFixture.php | 28 --- .../src/fixtures/SecaoDocumentoFixture.php | 173 ------------------ ...TramiteReordenarDocumentosProcessoTest.php | 28 ++- 36 files changed, 103 insertions(+), 1444 deletions(-) delete mode 100644 tests_sei4/funcional/src/fixtures/AssinaturaFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/AtividadeFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/AtributoAndamentoFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/DocumentoConteudoFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/DocumentoFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/ParticipanteFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/ProcedimentoFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/ProtocoloFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/RelProtocoloAssuntoFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/RelProtocoloProtocoloFixture.php delete mode 100644 tests_sei4/funcional/src/fixtures/SecaoDocumentoFixture.php delete mode 100644 tests_super/funcional/src/fixtures/AssinaturaFixture.php delete mode 100644 tests_super/funcional/src/fixtures/AtividadeFixture.php delete mode 100644 tests_super/funcional/src/fixtures/AtributoAndamentoFixture.php delete mode 100644 tests_super/funcional/src/fixtures/DocumentoConteudoFixture.php delete mode 100644 tests_super/funcional/src/fixtures/DocumentoFixture.php delete mode 100644 tests_super/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php delete mode 100644 tests_super/funcional/src/fixtures/ParticipanteFixture.php delete mode 100644 tests_super/funcional/src/fixtures/ProcedimentoFixture.php delete mode 100644 tests_super/funcional/src/fixtures/ProtocoloFixture.php delete mode 100644 tests_super/funcional/src/fixtures/RelProtocoloAssuntoFixture.php delete mode 100644 tests_super/funcional/src/fixtures/RelProtocoloProtocoloFixture.php delete mode 100644 tests_super/funcional/src/fixtures/SecaoDocumentoFixture.php diff --git a/Makefile b/Makefile index 0f164c45d..e59f2064f 100755 --- a/Makefile +++ b/Makefile @@ -165,9 +165,10 @@ update: ## Atualiza banco de dados através dos scripts de atualização do sist destroy: .env + @$(CMD_COMPOSE_FUNC) exec org1-http bash -c "rm -rf /var/sei/arquivos/*" + @$(CMD_COMPOSE_FUNC) exec org2-http bash -c "rm -rf /var/sei/arquivos/*" $(CMD_COMPOSE_FUNC) down --volumes - down: .env $(CMD_COMPOSE_FUNC) stop diff --git a/composer.json b/composer.json index 6bf33bc8f..09c77f29a 100755 --- a/composer.json +++ b/composer.json @@ -5,6 +5,11 @@ "php": "7.3.12" } }, + "autoload-dev": { + "psr-4": { + "TestDTO\\": "src" + } + }, "require-dev": { "php": "7.3.12", "phpunit/phpunit": "*", diff --git a/tests_sei3/funcional/bootstrap.php b/tests_sei3/funcional/bootstrap.php index 641c255a5..8fb3da6b3 100755 --- a/tests_sei3/funcional/bootstrap.php +++ b/tests_sei3/funcional/bootstrap.php @@ -2,16 +2,6 @@ require_once __DIR__ . '/vendor/autoload.php'; -require_once __DIR__ . '/sei/src/sei/web/SEI.php'; - -define("DIR_SEI_WEB", __DIR__ . '/sei/src/sei/web/'); -define("DIR_TEST", __DIR__ ); -define("DIR_PROJECT", __DIR__ . '/..' ); -define("DIR_INFRA", __DIR__ . '/../src/infra/infra_php' ); - -error_reporting(E_ERROR); -restore_error_handler(); - //Classes utilitárias para manipulação dos dados do SEI require_once __DIR__ . '/src/utils/DatabaseUtils.php'; require_once __DIR__ . '/src/utils/ParameterUtils.php'; diff --git a/tests_sei3/funcional/composer.json b/tests_sei3/funcional/composer.json index 8aadad5d9..dbb65d18f 100755 --- a/tests_sei3/funcional/composer.json +++ b/tests_sei3/funcional/composer.json @@ -7,16 +7,9 @@ "autoload": { "classmap": [ - "src/", - "sei/modpen/" + "src/" ] }, - - "autoload-dev": { - "psr-4": { - "Tests\\": "sei/" - } - }, "require-dev": { "phpunit/phpunit": "8.*", diff --git a/tests_sei4/funcional/bootstrap.php b/tests_sei4/funcional/bootstrap.php index 641c255a5..99ebfad79 100755 --- a/tests_sei4/funcional/bootstrap.php +++ b/tests_sei4/funcional/bootstrap.php @@ -4,7 +4,7 @@ require_once __DIR__ . '/sei/src/sei/web/SEI.php'; -define("DIR_SEI_WEB", __DIR__ . '/sei/src/sei/web/'); +define("DIR_SEI_WEB", __DIR__ . '/sei/src/sei/web/' ); define("DIR_TEST", __DIR__ ); define("DIR_PROJECT", __DIR__ . '/..' ); define("DIR_INFRA", __DIR__ . '/../src/infra/infra_php' ); diff --git a/tests_sei4/funcional/docker-compose.yml b/tests_sei4/funcional/docker-compose.yml index 6447c6782..fbe22e0a2 100755 --- a/tests_sei4/funcional/docker-compose.yml +++ b/tests_sei4/funcional/docker-compose.yml @@ -55,10 +55,12 @@ services: - ${SEI_PATH}/../tests:/tests/sei - ${SEI_PATH}/../src:/tests/sei/src - ./src/fixtures:/tests/sei/modpen/fixtures - - ../../src/bd:/tests/sei/modpen/bd - ../../src/dto:/tests/sei/modpen/dto + - ../../src/bd:/tests/sei/modpen/bd - ./assets/config:/opt/sei/config/mod-pen - /tmp:/tmp + - /tmp/sei_arquivos_1:/var/sei/arquivos/${ORG1_DATABASE_HOST} + - /tmp/sei_arquivos_2:/var/sei/arquivos/${ORG2_DATABASE_HOST} environment: - XDEBUG_CONFIG=client_host=host.docker.internal client_port=9003 start_with_request=0 - XDEBUG_SESSION=default @@ -71,6 +73,7 @@ services: - ORG1_CERTIFICADO_SENHA=${ORG1_CERTIFICADO_SENHA} - ORG2_CERTIFICADO=${ORG2_CERTIFICADO} - ORG2_CERTIFICADO_SENHA=${ORG2_CERTIFICADO_SENHA} + - DATABASE_IMAGE=${ORG1_DATABASE_IMAGE} - DATABASE_TYPE=${ORG1_DATABASE_TYPE} - DATABASE_HOST=${ORG1_DATABASE_HOST} - DATABASE_PORT=${ORG1_DATABASE_GUEST_PORT} @@ -80,6 +83,7 @@ services: - SIP_DATABASE_NAME=${SIP_DATABASE_NAME} - SIP_DATABASE_USER=${SIP_DATABASE_USER} - SIP_DATABASE_PASSWORD=${SIP_DATABASE_PASSWORD} + - TEST_FILES_PATH=${TEST_FILES_PATH} extra_hosts: - "host.docker.internal:host-gateway" links: diff --git a/tests_sei4/funcional/src/fixtures/AssinaturaFixture.php b/tests_sei4/funcional/src/fixtures/AssinaturaFixture.php deleted file mode 100644 index 0656ddcfb..000000000 --- a/tests_sei4/funcional/src/fixtures/AssinaturaFixture.php +++ /dev/null @@ -1,51 +0,0 @@ -getObjInfraIBanco()->getValorSequencia('seq_assinatura'); - - $objAssinaturaDTO = new \AssinaturaDTO(); - $objAssinaturaDTO->setDblIdDocumento($dados['IdDocumento'] ?: 4); - $objAssinaturaDTO->setNumIdAtividade($dados['IdAtividade'] ?: null); - $objAssinaturaDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); - $objAssinaturaDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $objAssinaturaDTO->setNumIdTarjaAssinatura($dados['IdTarjaAssinatura'] ?: self::ID_TARJA_ASSINATURA); - $objAssinaturaDTO->setStrAgrupador($dados['Agrupador'] ?: null); - $objAssinaturaDTO->setStrStaFormaAutenticacao($dados['StaFormaAutenticacao'] ?: 'S'); - $objAssinaturaDTO->setStrNome($dados['Nome'] ?: 'Usuário de Testes'); - $objAssinaturaDTO->setStrTratamento($dados['Tratamento'] ?: self::TRATAMENTO); - $objAssinaturaDTO->setDblCpf($dados['Cpf'] ?: null); - $objAssinaturaDTO->setStrP7sBase64($dados['P7sBase64'] ?: null); - $objAssinaturaDTO->setStrNumeroSerieCertificado($dados['NumeroSerieCertificado'] ?: null); - $objAssinaturaDTO->setStrSinAtivo($dados['SinAtivo'] ?: 'S'); - $objAssinaturaDTO->setOrdDthAberturaAtividade(InfraDTO::$TIPO_ORDENACAO_ASC); - - $objAssinaturaDB = new \AssinaturaBD(\BancoSEI::getInstance()); - $objAssinaturaDB->cadastrar($objAssinaturaDTO); - - $objAtividadeFixture = new \AtividadeFixture(); - $objAtividadeFixture->cadastrar( - [ - 'IdProtocolo' => $dados['IdProtocolo'], - 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO, - ] - ); - - - return $objAssinaturaDTO; - } -} diff --git a/tests_sei4/funcional/src/fixtures/AtividadeFixture.php b/tests_sei4/funcional/src/fixtures/AtividadeFixture.php deleted file mode 100644 index 1c01dc683..000000000 --- a/tests_sei4/funcional/src/fixtures/AtividadeFixture.php +++ /dev/null @@ -1,41 +0,0 @@ -objAtividadeDTO = new \AtividadeDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objAtividadeDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); - $this->objAtividadeDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $this->objAtividadeDTO->setNumIdUnidadeOrigem($dados['IdUnidadeOrigem'] ?: 110000001); - $this->objAtividadeDTO->setNumIdUsuario($dados['IdUsuario'] ?: null); - $this->objAtividadeDTO->setNumIdUsuarioOrigem($dados['IdUsuarioOrigem'] ?: 100000001); - $this->objAtividadeDTO->setDthAbertura($dados['Abertura'] ?: InfraData::getStrDataHoraAtual()); - $this->objAtividadeDTO->setDthConclusao($dados['Conclusao'] ?: null); - $this->objAtividadeDTO->setNumIdTarefa($dados['IdTarefa'] ?: 1); - $this->objAtividadeDTO->setNumIdUsuarioAtribuicao($dados['IdUsuarioAtribuicao'] ?: null); - $this->objAtividadeDTO->setNumIdUsuarioConclusao($dados['IdUsuarioConclusao'] ?: null); - $this->objAtividadeDTO->setStrSinInicial($dados['SinInicial'] ?: 'S'); - $this->objAtividadeDTO->setNumIdUsuarioVisualizacao($dados['IdUsuarioVisualizacao'] ?: null); - $this->objAtividadeDTO->setNumTipoVisualizacao($dados['TipoVisualizacao'] ?: 0); - $this->objAtividadeDTO->setDtaPrazo($dados['Prazo'] ?: null); - - $objProtocoloDB = new \AtividadeBD(\BancoSEI::getInstance()); - $objProtocoloDB->cadastrar($this->objAtividadeDTO); - - return $this->objAtividadeDTO; - } -} diff --git a/tests_sei4/funcional/src/fixtures/AtributoAndamentoFixture.php b/tests_sei4/funcional/src/fixtures/AtributoAndamentoFixture.php deleted file mode 100644 index 3b7a48c87..000000000 --- a/tests_sei4/funcional/src/fixtures/AtributoAndamentoFixture.php +++ /dev/null @@ -1,31 +0,0 @@ -objAtributoAndamentoDTO = new \AtributoAndamentoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objAtributoAndamentoDTO->setNumIdAtividade($dados['IdAtividade']); - $this->objAtributoAndamentoDTO->setStrNome($dados['Nome'] ?: 'NIVEL_ACESSO'); - $this->objAtributoAndamentoDTO->setStrValor($dados['Valor'] ?: null); - $this->objAtributoAndamentoDTO->setStrIdOrigem($dados['IdOrigem'] ?: 0); - - $objAtributoAndamentoDB = new \AtributoAndamentoBD(\BancoSEI::getInstance()); - $objAtributoAndamentoDB->cadastrar($this->objAtributoAndamentoDTO); - - return $this->objAtributoAndamentoDTO; - } -} diff --git a/tests_sei4/funcional/src/fixtures/DocumentoConteudoFixture.php b/tests_sei4/funcional/src/fixtures/DocumentoConteudoFixture.php deleted file mode 100644 index da5e1ff52..000000000 --- a/tests_sei4/funcional/src/fixtures/DocumentoConteudoFixture.php +++ /dev/null @@ -1,32 +0,0 @@ -objDocumentoConteudoDTO = new \DocumentoConteudoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objDocumentoConteudoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); - $this->objDocumentoConteudoDTO->setStrConteudo($dados['Conteudo'] ?: 'Conteudo'); - $this->objDocumentoConteudoDTO->setStrConteudoAssinatura($dados['ConteudoAssinatura'] ?: null); - $this->objDocumentoConteudoDTO->setStrCrcAssinatura($dados['CrcAssinatura'] ?: null); - $this->objDocumentoConteudoDTO->setStrQrCodeAssinatura($dados['QrCodeAssinatura'] ?: null); - - $objProtocoloConteudoDB = new \DocumentoConteudoBD(\BancoSEI::getInstance()); - $objProtocoloConteudoDB->cadastrar($this->objDocumentoConteudoDTO); - - return $this->objDocumentoConteudoDTO; - } -} \ No newline at end of file diff --git a/tests_sei4/funcional/src/fixtures/DocumentoFixture.php b/tests_sei4/funcional/src/fixtures/DocumentoFixture.php deleted file mode 100644 index 15cb0bc56..000000000 --- a/tests_sei4/funcional/src/fixtures/DocumentoFixture.php +++ /dev/null @@ -1,97 +0,0 @@ -objDocumentoDTO = new \DocumentoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $protocoloFixture = new \ProtocoloFixture(); - $protocoloDTO = $protocoloFixture->cadastrar([ - 'StaProtocolo' => \ProtocoloRN::$TP_DOCUMENTO_GERADO, - 'documento' => true, - ]); - - $this->objDocumentoDTO->setDblIdDocumento($protocoloDTO->getDblIdProtocolo()); - $this->objDocumentoDTO->setDblIdDocumentoEdoc($dados['IdDocumentoEdoc'] ?: null); - $this->objDocumentoDTO->setDblIdProcedimento($dados['IdProcedimento']); - $this->objDocumentoDTO->setNumIdSerie($dados['IdSerie'] ?: self::MODELO_ACORDAO); - $this->objDocumentoDTO->setNumIdUnidadeResponsavel($dados['IdUnidadeResponsavel'] ?: 110000001); - $this->objDocumentoDTO->setNumIdConjuntoEstilos($dados['IdConjuntoEstilos'] ?: 81); - $this->objDocumentoDTO->setNumIdTipoConferencia($dados['IdTipoConferencia'] ?: null); - $this->objDocumentoDTO->setStrSinArquivamento($dados['SinArquivamento'] ?: 'N'); - $this->objDocumentoDTO->setStrNumero($dados['Numero'] ?: 1); - $this->objDocumentoDTO->setStrSinBloqueado($dados['SinBloqueado'] ?: 'N'); - $this->objDocumentoDTO->setStrStaDocumento($dados['StaDocumento'] ?: DocumentoRN::$TD_EDITOR_INTERNO); - $this->objDocumentoDTO->setStrNomeArvore($dados['SinBloqueado'] ?? 'teste'); - - $objDocumentoDB = new \DocumentoBD(\BancoSEI::getInstance()); - $objDocumentoDB->cadastrar($this->objDocumentoDTO); - - $objAtividadeFixture = new \AtividadeFixture(); - $objAtividadeDTO = $objAtividadeFixture->cadastrar( - [ - 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), - 'IdTarefa' => TarefaRN::$TI_GERACAO_DOCUMENTO, - ] - ); - - $objParticipanteFixture = new \ParticipanteFixture(); - $objParticipanteFixture->carregar([ - 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), - ]); - - $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); - $objAtributoAndamentoFixture->carregarVariados([ - [ - 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade(), - 'Nome' => 'DOCUMENTO', - 'Valor' => $protocoloDTO->getStrProtocoloFormatado(), - 'IdOrigem' => $dados['IdProtocolo'], - ], - [ - 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() - ] - ]); - - $objDocumentoConteudoFixture = new \DocumentoConteudoFixture(); - $objDocumentoConteudoFixture->cadastrar( - [ - 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), - ] - ); - - $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); - $objProtocoloAssuntoFixture->carregar([ - 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), - 'IdAssunto' => 2 - ]); - - $ObjProtocoloProtocoloFixture = new \RelProtocoloProtocoloFixture(); - $ObjProtocoloProtocoloFixture->cadastrar( - [ - 'IdProtocolo' => $dados['IdProtocolo'], - 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), - ] - ); - - $secaoDocumentoFixture = new \SecaoDocumentoFixture(); - $listaSecao = $secaoDocumentoFixture->conteudoEstatico($this->objDocumentoDTO->getDblIdDocumento()); - - $secaoDocumentoFixture->carregarVariados($listaSecao); - - return $this->objDocumentoDTO; - } -} \ No newline at end of file diff --git a/tests_sei4/funcional/src/fixtures/FixtureBase.php b/tests_sei4/funcional/src/fixtures/FixtureBase.php index c980f93bd..347b9984c 100644 --- a/tests_sei4/funcional/src/fixtures/FixtureBase.php +++ b/tests_sei4/funcional/src/fixtures/FixtureBase.php @@ -23,11 +23,11 @@ public function carregar($dados = null, $callback = null){ } public function carregarVarios($dados = null, $quantidade = 1){ - $resultado = array(); + $resultado = []; for ($i=0; $i < $quantidade; $i++) { $resultado[] = $this->carregar($dados); } - + return $resultado; } @@ -35,8 +35,27 @@ public function carregarVariados($dados){ $resultado = []; foreach ($dados as $dado) { $resultado[] = $this->carregar($dado); - } + } return $resultado; } + + protected function listarInternoControlado($parametros){ + $dto = $this->listar($parametros["dados"]); + + if (isset($parametros["callback"])) { + $parametros["callback"]($dto); + } + + return $dto; + } + + public function buscar($dados = null, $callback = null){ + $dados = $dados ?: []; + return $this->listarInterno([ + 'dados' => $dados, + 'callback' => $callback + ]); + } + } diff --git a/tests_sei4/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php b/tests_sei4/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php deleted file mode 100644 index bbd5c017f..000000000 --- a/tests_sei4/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php +++ /dev/null @@ -1,65 +0,0 @@ -getTiposProcessos($dados['idMapeamento'], $dados['sinAtivo']); - - foreach ($tiposProcessos as $tipoProcesso) { - $bancoOrgaoA->execute( - "INSERT INTO md_pen_map_tipo_processo (id, id_map_orgao, id_tipo_processo_origem, nome_tipo_processo, sin_ativo, id_unidade, dth_criacao) ". - "VALUES(?,?,?,?,?,?,?)", - array( - $tipoProcesso[0], - $tipoProcesso[1], - $tipoProcesso[2], - $tipoProcesso[3], - $tipoProcesso[4], - $tipoProcesso[5], - $tipoProcesso[6] - ) - ); - } - - return $tiposProcessos; - } - - public function deletar($dados = []): void - { - $bancoOrgaoA = new DatabaseUtils(self::$contexto); - $tiposProcessos = $this->getTiposProcessos($dados['idMapeamento']); - - foreach ($tiposProcessos as $tipoProcesso) { - $bancoOrgaoA->execute( - "DELETE FROM md_pen_map_tipo_processo WHERE id = ?", - array($tipoProcesso[0]) - ); - } - - } - - public function getTiposProcessos(int $idMapeamento, string $sinAtivo = 'S') - { - $tiposProcessos = array(); - - $tiposProcessos[] = [9997, $idMapeamento, 100000347, utf8_encode('Acompanhamento Legislativo: Câmara dos Deputados'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; - $tiposProcessos[] = [9998, $idMapeamento, 100000348, utf8_encode('Acompanhamento Legislativo: Congresso Nacional'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; - $tiposProcessos[] = [9999, $idMapeamento, 100000425, utf8_encode('mauro teste'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; - - return $tiposProcessos; - } -} diff --git a/tests_sei4/funcional/src/fixtures/ParticipanteFixture.php b/tests_sei4/funcional/src/fixtures/ParticipanteFixture.php deleted file mode 100644 index cdc1611d7..000000000 --- a/tests_sei4/funcional/src/fixtures/ParticipanteFixture.php +++ /dev/null @@ -1,37 +0,0 @@ -objParticipanteDTO = new \ParticipanteDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - - $this->objParticipanteDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); - $this->objParticipanteDTO->setStrStaParticipacao($dados['StaParticipacao'] ?: self::INTERESSADO); - $this->objParticipanteDTO->setNumIdContato($dados['IdContato'] ?: 100000006); - $this->objParticipanteDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $this->objParticipanteDTO->setNumSequencia($dados['Sequencia'] ?: 0); - - - $objParticipanteDB = new \ParticipanteBD(\BancoSEI::getInstance()); - $objParticipanteDB->cadastrar($this->objParticipanteDTO); - - return $this->objParticipanteDTO; - } -} diff --git a/tests_sei4/funcional/src/fixtures/ProcedimentoFixture.php b/tests_sei4/funcional/src/fixtures/ProcedimentoFixture.php deleted file mode 100644 index 9ec6691c0..000000000 --- a/tests_sei4/funcional/src/fixtures/ProcedimentoFixture.php +++ /dev/null @@ -1,39 +0,0 @@ -objProcedimentoDTO = new \ProcedimentoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objProcedimentoDTO->setDblIdProcedimento($dados["IdProtocolo"] ?: null); - $this->objProcedimentoDTO->setNumIdTipoProcedimento( - $dados["IdTipoProcedimento"] ?: self::TIPO_PROCEDIMENTO_PADRAO - ); - $this->objProcedimentoDTO->setStrStaOuvidoria($dados["StaOuvidoria"] ?: '-'); - $this->objProcedimentoDTO->setStrSinCiencia($dados["SinCiencia"] ?: 'N'); - - $objProcedimentoDB = new \ProcedimentoBD(\BancoSEI::getInstance()); - $objProcedimentoDB->cadastrar($this->objProcedimentoDTO); - - return $this->objProcedimentoDTO; - } - -} \ No newline at end of file diff --git a/tests_sei4/funcional/src/fixtures/ProtocoloFixture.php b/tests_sei4/funcional/src/fixtures/ProtocoloFixture.php deleted file mode 100644 index 02aaa260f..000000000 --- a/tests_sei4/funcional/src/fixtures/ProtocoloFixture.php +++ /dev/null @@ -1,78 +0,0 @@ -objProtocoloRN = new \ProtocoloRN(); - $this->objProtocoloDTO = new \ProtocoloDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $documento = $dados['documento'] ?: false; - - $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); - - $strProtocoloFormatado = $this->getProtocoloTeste($dados['IdProtocolo'], $documento); - $strProtocoloSemFormato = preg_replace("/[^0-9]/", "", $strProtocoloFormatado); - - $this->objProtocoloDTO->setDblIdProtocolo($dados['IdProtocolo']); - $this->objProtocoloDTO->setStrIdProtocoloFederacao($dados["IdProtocoloFederacao"] ?: null); - $this->objProtocoloDTO->setDblIdProtocoloAgrupador($dados["IdProtocolo"] ?: 2); - $this->objProtocoloDTO->setStrProtocoloFormatado($dados["ProtocoloFormatado"] ?: $strProtocoloFormatado); - $this->objProtocoloDTO->setStrProtocoloFormatadoPesquisa($strProtocoloSemFormato); - $this->objProtocoloDTO->setStrProtocoloFormatadoPesqInv(strrev($strProtocoloSemFormato)); - $this->objProtocoloDTO->setStrDescricao($dados["Descricao"] ?: "teste"); - $this->objProtocoloDTO->setStrStaProtocolo($dados["StaProtocolo"] ?: $this->objProtocoloRN::$TP_PROCEDIMENTO); - $this->objProtocoloDTO->setStrStaEstado($dados["StaEstado"] ?: $this->objProtocoloRN::$TE_NORMAL); - $this->objProtocoloDTO->setStrStaNivelAcessoGlobal( - $dados["StaNivelAcessoGlobal"] ?: $this->objProtocoloRN::$NA_PUBLICO - ); - $this->objProtocoloDTO->setStrStaNivelAcessoLocal( - $dados["StaNivelAcessoLocal"] ?: $this->objProtocoloRN::$NA_PUBLICO - ); - $this->objProtocoloDTO->setStrStaNivelAcessoOriginal($dados["StaNivelAcessoOriginal"] ?: null); - $this->objProtocoloDTO->setNumIdUnidadeGeradora($dados["IdUnidadeGeradora"] ?: "110000001"); - $this->objProtocoloDTO->setNumIdUsuarioGerador($dados["IdUsuarioGerador"] ?: "100000001"); - $this->objProtocoloDTO->setDtaGeracao($dados["Geracao"] ?: InfraData::getStrDataAtual()); - $this->objProtocoloDTO->setDtaInclusao($dados["Inclusao"] ?: InfraData::getStrDataAtual()); - $this->objProtocoloDTO->setStrCodigoBarras($dados["CodigoBarras"] ?: "XXXXXXXXXXXXXXXXXXXXXXXX"); - $this->objProtocoloDTO->setNumIdHipoteseLegal($dados["IdHipoteseLegal"] ?: null); - $this->objProtocoloDTO->setStrStaGrauSigilo($dados["StaGrauSigilo"] ?: null); - $this->objProtocoloDTO->retDblIdProtocolo(); - $this->objProtocoloDTO->retStrProtocoloFormatado(); - - $objProtocoloDB = new \ProtocoloBD(\BancoSEI::getInstance()); - $objProtocoloDB->cadastrar($this->objProtocoloDTO); - - return $this->objProtocoloDTO; - } - - protected function cadastrarVariados($dados = []) - { - foreach ($dados as $dado) { - $this->cadastrar($dado); - } - } - - private function getProtocoloTeste($protocolo, $documento = false) - { - $numSequencial = str_pad($protocolo, 6, 0, STR_PAD_LEFT); - if ($documento == true) { - return $numSequencial; - } - - $anoAtual = date('Y'); - - return "99990.{$numSequencial}/{$anoAtual}-00"; - } -} diff --git a/tests_sei4/funcional/src/fixtures/RelProtocoloAssuntoFixture.php b/tests_sei4/funcional/src/fixtures/RelProtocoloAssuntoFixture.php deleted file mode 100644 index 9f91f0644..000000000 --- a/tests_sei4/funcional/src/fixtures/RelProtocoloAssuntoFixture.php +++ /dev/null @@ -1,26 +0,0 @@ -setDblIdProtocolo($dados['IdProtocolo']); - $objRelProtocoloAssuntoDTO->setNumIdAssuntoProxy($dados['IdAssunto'] ?: 2); - $objRelProtocoloAssuntoDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $objRelProtocoloAssuntoDTO->setNumSequencia($dados['Sequencia'] ?: 0); - - $objRelProtocoloAssuntoDB = new \RelProtocoloAssuntoBD(\BancoSEI::getInstance()); - $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloAssuntoDTO); - - return $objRelProtocoloAssuntoDTO; - } -} diff --git a/tests_sei4/funcional/src/fixtures/RelProtocoloProtocoloFixture.php b/tests_sei4/funcional/src/fixtures/RelProtocoloProtocoloFixture.php deleted file mode 100644 index 41fd2d8e3..000000000 --- a/tests_sei4/funcional/src/fixtures/RelProtocoloProtocoloFixture.php +++ /dev/null @@ -1,28 +0,0 @@ -setDblIdProtocolo1($dados['IdProtocolo']); - $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($dados['IdDocumento']); - $objRelProtocoloProtocoloDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); - $objRelProtocoloProtocoloDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $objRelProtocoloProtocoloDTO->setStrSinCiencia($dados['Ciencia'] ?: 'N'); - $objRelProtocoloProtocoloDTO->setNumSequencia($dados['Sequencia'] ?: 0); - $objRelProtocoloProtocoloDTO->setStrStaAssociacao($dados['Associacao'] ?: 1); - $objRelProtocoloProtocoloDTO->setDthAssociacao(InfraData::getStrDataHoraAtual()); - - $objRelProtocoloAssuntoDB = new \RelProtocoloProtocoloBD(\BancoSEI::getInstance()); - $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloProtocoloDTO); - - return $objRelProtocoloProtocoloDTO; - } -} diff --git a/tests_sei4/funcional/src/fixtures/SecaoDocumentoFixture.php b/tests_sei4/funcional/src/fixtures/SecaoDocumentoFixture.php deleted file mode 100644 index 8a13ff752..000000000 --- a/tests_sei4/funcional/src/fixtures/SecaoDocumentoFixture.php +++ /dev/null @@ -1,173 +0,0 @@ -objProtocoloRN = new \ProtocoloRN(); - $this->objProtocoloDTO = new \ProtocoloDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $documento = $dados['documento'] ?: false; - - $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); - - $objSecaoDocumentoDTO = new SecaoDocumentoDTO(); - - $objSecaoDocumentoDTO->setNumOrdem($dados['Ordem'] ?: 0); - $objSecaoDocumentoDTO->setStrSinSomenteLeitura($dados['SomenteLeitura'] ?: null); - $objSecaoDocumentoDTO->setStrSinAssinatura($dados['Assinatura'] ?: null); - $objSecaoDocumentoDTO->setStrSinPrincipal($dados['Principal'] ?: null); - $objSecaoDocumentoDTO->setStrSinDinamica($dados['Dinamica'] ?: null); - $objSecaoDocumentoDTO->setStrSinCabecalho($dados['Cabecalho'] ?: null); - $objSecaoDocumentoDTO->setStrSinRodape($dados['Rodape'] ?: null); - $objSecaoDocumentoDTO->setStrSinHtml($dados['Html'] ?: null); - $objSecaoDocumentoDTO->setNumIdSecaoModelo($dados['IdSecaoModelo'] ?: null); - $objSecaoDocumentoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); - $objSecaoDocumentoDTO->setNumIdBaseConhecimento($dados['IdBaseConhecimento'] ?: null); - $objSecaoDocumentoDTO->setStrConteudo($dados['Conteudo'] ?: null); - - - $objProtocoloDB = new \SecaoDocumentoBD(\BancoSEI::getInstance()); - $objProtocoloDB->cadastrar($objSecaoDocumentoDTO); - - return $objSecaoDocumentoDTO; - } - - public function conteudoEstatico($IdDocumento) - { - return [ - [ - 'IdSecaoModelo' => 323, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 0, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'S', - 'Rodape' => 'N', - 'Conteudo' => '

  

-

@descricao_orgao_maiusculas@

-

  

', - 'Html' => 'S' - ], - [ - 'IdSecaoModelo' => 252, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 10, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => '@serie@ nº @numeracao_serie@/@ano@', - 'Html' => 'N' - ], - [ - 'IdSecaoModelo' => 253, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 20, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => 'Processo nº @processo@', - 'Html' => 'N' - ], - [ - 'IdSecaoModelo' => 254, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 30, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => 'Recorrente/Interessado: @interessados_virgula_espaco_maiusculas@', - 'Html' => 'N' - - ], - [ - 'IdSecaoModelo' => 257, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 40, - 'SomenteLeitura' => 'N', - 'Assinatura' => 'N', - 'Principal' => 'S', - 'Dinamica' => 'N', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => '

CNPJ/MF Nº XX.XXX.XXX/XXXX-DV

-

Conselheiro Relator: [Digite aqui o Nome Completo]

-

Fórum Deliberativo: Reunião nº [indique o número], de DD de mmmmmm de aaaaa

-

EMENTA

-

DIGITE O TEXTO EM CAIXA ALTA

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

ACÓRDÃO

-

Vistos, relatados e discutidos os presentes autos, acordam os membros do Conselho Diretor, por unanimidade, nos termos da Análise nº XX/AAAA-GCxx, de dd de mmmmmm de aaaaa, integrante deste Acórdão:

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

Participaram da deliberação o Presidente [nome completo] e os Conselheiros [nome completo de cada Conselheiro participante].

-

Ausente, justificadamente, o Conselheiro [nome completo], por motivo de [indicar o motivo].

- ', - 'Html' => 'S' - ], - [ - 'IdSecaoModelo' => 255, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 50, - 'SomenteLeitura' => 'N', - 'Assinatura' => 'S', - 'Principal' => 'N', - 'Dinamica' => 'N', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => null, - 'Html' => 'N' - ], - [ - 'IdSecaoModelo' => 324, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 1000, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'S', - 'Conteudo' => '
- - - - - -
Referência: Processo nº @processo@SEI nº @documento@
', - 'Html' => 'S' - ] - ]; - } -} diff --git a/tests_sei4/funcional/tests/TramiteReordenarDocumentosProcessoTest.php b/tests_sei4/funcional/tests/TramiteReordenarDocumentosProcessoTest.php index 8a7fa2f93..32c281548 100644 --- a/tests_sei4/funcional/tests/TramiteReordenarDocumentosProcessoTest.php +++ b/tests_sei4/funcional/tests/TramiteReordenarDocumentosProcessoTest.php @@ -1,5 +1,14 @@ cadastrar(); $parametros = []; - $objProtocoloFixture = new \ProtocoloFixture(); + $objProtocoloFixture = new ProtocoloFixture(); $this->objProtocoloDTO = $objProtocoloFixture->carregar($parametros, function($objProtocoloDTO) { - $objProcedimentoFixture = new \ProcedimentoFixture(); + $objProcedimentoFixture = new ProcedimentoFixture(); $objProcedimentoDTO = $objProcedimentoFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() ]); - $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeFixture = new AtividadeFixture(); $objAtividadeDTO = $objAtividadeFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), ]); - $objParticipanteFixture = new \ParticipanteFixture(); + $objParticipanteFixture = new ParticipanteFixture(); $objParticipanteFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdContato' => 100000006 ]); - $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); + $objProtocoloAssuntoFixture = new RelProtocoloAssuntoFixture(); $objProtocoloAssuntoFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() ]); - $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); + $objAtributoAndamentoFixture = new AtributoAndamentoFixture(); $objAtributoAndamentoFixture->carregar([ 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() ]); $tiposDocumentos = array(81, 8, 34); foreach ($tiposDocumentos as $tipoDocumento) { - $objDocumentoFixture = new \DocumentoFixture(); + $objDocumentoFixture = new DocumentoFixture(); $objDocumentoDTO = $objDocumentoFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), 'IdProcedimento' => $objProcedimentoDTO->getDblIdProcedimento(), 'IdSerie' => $tipoDocumento ]); - $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeFixture = new AtividadeFixture(); $objAtividadeDTO = $objAtividadeFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO ]); - $objAssinaturaFixture = new \AssinaturaFixture(); + $objAssinaturaFixture = new AssinaturaFixture(); $objAssinaturaFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), 'IdDocumento' => $objDocumentoDTO->getDblIdDocumento(), diff --git a/tests_super/funcional/bootstrap.php b/tests_super/funcional/bootstrap.php index 641c255a5..99ebfad79 100755 --- a/tests_super/funcional/bootstrap.php +++ b/tests_super/funcional/bootstrap.php @@ -4,7 +4,7 @@ require_once __DIR__ . '/sei/src/sei/web/SEI.php'; -define("DIR_SEI_WEB", __DIR__ . '/sei/src/sei/web/'); +define("DIR_SEI_WEB", __DIR__ . '/sei/src/sei/web/' ); define("DIR_TEST", __DIR__ ); define("DIR_PROJECT", __DIR__ . '/..' ); define("DIR_INFRA", __DIR__ . '/../src/infra/infra_php' ); diff --git a/tests_super/funcional/docker-compose.yml b/tests_super/funcional/docker-compose.yml index ec07bd8ab..cd82963c1 100755 --- a/tests_super/funcional/docker-compose.yml +++ b/tests_super/funcional/docker-compose.yml @@ -55,10 +55,13 @@ services: - ${SEI_PATH}/../tests:/tests/sei - ${SEI_PATH}/../src:/tests/sei/src - ./src/fixtures:/tests/sei/modpen/fixtures - - ../../src/bd:/tests/sei/modpen/bd - ../../src/dto:/tests/sei/modpen/dto + - ../../src/bd:/tests/sei/modpen/bd - ./assets/config:/opt/sei/config/mod-pen - /tmp:/tmp + - /tmp/sei_arquivos_1:/var/sei/arquivos/${ORG1_DATABASE_HOST} + - /tmp/sei_arquivos_2:/var/sei/arquivos/${ORG2_DATABASE_HOST} + - /tmp:/tmp environment: - XDEBUG_CONFIG=client_host=host.docker.internal client_port=9003 start_with_request=0 - XDEBUG_SESSION=default @@ -71,6 +74,7 @@ services: - ORG1_CERTIFICADO_SENHA=${ORG1_CERTIFICADO_SENHA} - ORG2_CERTIFICADO=${ORG2_CERTIFICADO} - ORG2_CERTIFICADO_SENHA=${ORG2_CERTIFICADO_SENHA} + - DATABASE_IMAGE=${ORG1_DATABASE_IMAGE} - DATABASE_TYPE=${ORG1_DATABASE_TYPE} - DATABASE_HOST=${ORG1_DATABASE_HOST} - DATABASE_PORT=${ORG1_DATABASE_GUEST_PORT} @@ -99,6 +103,7 @@ services: - ./assets/config/ConfiguracaoSip.php:/opt/sip/config/ConfiguracaoSip.php:ro - ../unitario:/tests - ../../src:/opt/sei/web/modulos/pen + - /tmp/sei_arquivos_1:/var/sei/arquivos environment: - XDEBUG_CONFIG=client_host=host.docker.internal client_port=9003 start_with_request=0 - XDEBUG_SESSION=default diff --git a/tests_super/funcional/src/fixtures/AssinaturaFixture.php b/tests_super/funcional/src/fixtures/AssinaturaFixture.php deleted file mode 100644 index f73ce5c95..000000000 --- a/tests_super/funcional/src/fixtures/AssinaturaFixture.php +++ /dev/null @@ -1,52 +0,0 @@ -getObjInfraIBanco()->getValorSequencia('seq_assinatura'); - - $objAssinaturaDTO = new \AssinaturaDTO(); - $objAssinaturaDTO->setDblIdDocumento($dados['IdDocumento'] ?: 4); - $objAssinaturaDTO->setNumIdAtividade($dados['IdAtividade'] ?: null); - $objAssinaturaDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); - $objAssinaturaDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $objAssinaturaDTO->setNumIdTarjaAssinatura($dados['IdTarjaAssinatura'] ?: self::ID_TARJA_ASSINATURA); - $objAssinaturaDTO->setStrAgrupador($dados['Agrupador'] ?: null); - $objAssinaturaDTO->setStrStaFormaAutenticacao($dados['StaFormaAutenticacao'] ?: 'S'); - $objAssinaturaDTO->setStrNome($dados['Nome'] ?: 'Usuário de Testes'); - $objAssinaturaDTO->setStrTratamento($dados['Tratamento'] ?: self::TRATAMENTO); - $objAssinaturaDTO->setDblCpf($dados['Cpf'] ?: null); - $objAssinaturaDTO->setStrP7sBase64($dados['P7sBase64'] ?: null); - $objAssinaturaDTO->setStrNumeroSerieCertificado($dados['NumeroSerieCertificado'] ?: null); - $objAssinaturaDTO->setStrSinAtivo($dados['SinAtivo'] ?: 'S'); - $objAssinaturaDTO->setStrModuloOrigem($dados['ModuloOrigem'] ?: null); - $objAssinaturaDTO->setOrdDthAberturaAtividade(InfraDTO::$TIPO_ORDENACAO_ASC); - - $objAssinaturaDB = new \AssinaturaBD(\BancoSEI::getInstance()); - $objAssinaturaDB->cadastrar($objAssinaturaDTO); - - $objAtividadeFixture = new \AtividadeFixture(); - $objAtividadeFixture->cadastrar( - [ - 'IdProtocolo' => $dados['IdProtocolo'], - 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO, - ] - ); - - - return $objAssinaturaDTO; - } -} diff --git a/tests_super/funcional/src/fixtures/AtividadeFixture.php b/tests_super/funcional/src/fixtures/AtividadeFixture.php deleted file mode 100644 index 1c01dc683..000000000 --- a/tests_super/funcional/src/fixtures/AtividadeFixture.php +++ /dev/null @@ -1,41 +0,0 @@ -objAtividadeDTO = new \AtividadeDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objAtividadeDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); - $this->objAtividadeDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $this->objAtividadeDTO->setNumIdUnidadeOrigem($dados['IdUnidadeOrigem'] ?: 110000001); - $this->objAtividadeDTO->setNumIdUsuario($dados['IdUsuario'] ?: null); - $this->objAtividadeDTO->setNumIdUsuarioOrigem($dados['IdUsuarioOrigem'] ?: 100000001); - $this->objAtividadeDTO->setDthAbertura($dados['Abertura'] ?: InfraData::getStrDataHoraAtual()); - $this->objAtividadeDTO->setDthConclusao($dados['Conclusao'] ?: null); - $this->objAtividadeDTO->setNumIdTarefa($dados['IdTarefa'] ?: 1); - $this->objAtividadeDTO->setNumIdUsuarioAtribuicao($dados['IdUsuarioAtribuicao'] ?: null); - $this->objAtividadeDTO->setNumIdUsuarioConclusao($dados['IdUsuarioConclusao'] ?: null); - $this->objAtividadeDTO->setStrSinInicial($dados['SinInicial'] ?: 'S'); - $this->objAtividadeDTO->setNumIdUsuarioVisualizacao($dados['IdUsuarioVisualizacao'] ?: null); - $this->objAtividadeDTO->setNumTipoVisualizacao($dados['TipoVisualizacao'] ?: 0); - $this->objAtividadeDTO->setDtaPrazo($dados['Prazo'] ?: null); - - $objProtocoloDB = new \AtividadeBD(\BancoSEI::getInstance()); - $objProtocoloDB->cadastrar($this->objAtividadeDTO); - - return $this->objAtividadeDTO; - } -} diff --git a/tests_super/funcional/src/fixtures/AtributoAndamentoFixture.php b/tests_super/funcional/src/fixtures/AtributoAndamentoFixture.php deleted file mode 100644 index 3b7a48c87..000000000 --- a/tests_super/funcional/src/fixtures/AtributoAndamentoFixture.php +++ /dev/null @@ -1,31 +0,0 @@ -objAtributoAndamentoDTO = new \AtributoAndamentoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objAtributoAndamentoDTO->setNumIdAtividade($dados['IdAtividade']); - $this->objAtributoAndamentoDTO->setStrNome($dados['Nome'] ?: 'NIVEL_ACESSO'); - $this->objAtributoAndamentoDTO->setStrValor($dados['Valor'] ?: null); - $this->objAtributoAndamentoDTO->setStrIdOrigem($dados['IdOrigem'] ?: 0); - - $objAtributoAndamentoDB = new \AtributoAndamentoBD(\BancoSEI::getInstance()); - $objAtributoAndamentoDB->cadastrar($this->objAtributoAndamentoDTO); - - return $this->objAtributoAndamentoDTO; - } -} diff --git a/tests_super/funcional/src/fixtures/DocumentoConteudoFixture.php b/tests_super/funcional/src/fixtures/DocumentoConteudoFixture.php deleted file mode 100644 index da5e1ff52..000000000 --- a/tests_super/funcional/src/fixtures/DocumentoConteudoFixture.php +++ /dev/null @@ -1,32 +0,0 @@ -objDocumentoConteudoDTO = new \DocumentoConteudoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objDocumentoConteudoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); - $this->objDocumentoConteudoDTO->setStrConteudo($dados['Conteudo'] ?: 'Conteudo'); - $this->objDocumentoConteudoDTO->setStrConteudoAssinatura($dados['ConteudoAssinatura'] ?: null); - $this->objDocumentoConteudoDTO->setStrCrcAssinatura($dados['CrcAssinatura'] ?: null); - $this->objDocumentoConteudoDTO->setStrQrCodeAssinatura($dados['QrCodeAssinatura'] ?: null); - - $objProtocoloConteudoDB = new \DocumentoConteudoBD(\BancoSEI::getInstance()); - $objProtocoloConteudoDB->cadastrar($this->objDocumentoConteudoDTO); - - return $this->objDocumentoConteudoDTO; - } -} \ No newline at end of file diff --git a/tests_super/funcional/src/fixtures/DocumentoFixture.php b/tests_super/funcional/src/fixtures/DocumentoFixture.php deleted file mode 100644 index 15cb0bc56..000000000 --- a/tests_super/funcional/src/fixtures/DocumentoFixture.php +++ /dev/null @@ -1,97 +0,0 @@ -objDocumentoDTO = new \DocumentoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $protocoloFixture = new \ProtocoloFixture(); - $protocoloDTO = $protocoloFixture->cadastrar([ - 'StaProtocolo' => \ProtocoloRN::$TP_DOCUMENTO_GERADO, - 'documento' => true, - ]); - - $this->objDocumentoDTO->setDblIdDocumento($protocoloDTO->getDblIdProtocolo()); - $this->objDocumentoDTO->setDblIdDocumentoEdoc($dados['IdDocumentoEdoc'] ?: null); - $this->objDocumentoDTO->setDblIdProcedimento($dados['IdProcedimento']); - $this->objDocumentoDTO->setNumIdSerie($dados['IdSerie'] ?: self::MODELO_ACORDAO); - $this->objDocumentoDTO->setNumIdUnidadeResponsavel($dados['IdUnidadeResponsavel'] ?: 110000001); - $this->objDocumentoDTO->setNumIdConjuntoEstilos($dados['IdConjuntoEstilos'] ?: 81); - $this->objDocumentoDTO->setNumIdTipoConferencia($dados['IdTipoConferencia'] ?: null); - $this->objDocumentoDTO->setStrSinArquivamento($dados['SinArquivamento'] ?: 'N'); - $this->objDocumentoDTO->setStrNumero($dados['Numero'] ?: 1); - $this->objDocumentoDTO->setStrSinBloqueado($dados['SinBloqueado'] ?: 'N'); - $this->objDocumentoDTO->setStrStaDocumento($dados['StaDocumento'] ?: DocumentoRN::$TD_EDITOR_INTERNO); - $this->objDocumentoDTO->setStrNomeArvore($dados['SinBloqueado'] ?? 'teste'); - - $objDocumentoDB = new \DocumentoBD(\BancoSEI::getInstance()); - $objDocumentoDB->cadastrar($this->objDocumentoDTO); - - $objAtividadeFixture = new \AtividadeFixture(); - $objAtividadeDTO = $objAtividadeFixture->cadastrar( - [ - 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), - 'IdTarefa' => TarefaRN::$TI_GERACAO_DOCUMENTO, - ] - ); - - $objParticipanteFixture = new \ParticipanteFixture(); - $objParticipanteFixture->carregar([ - 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), - ]); - - $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); - $objAtributoAndamentoFixture->carregarVariados([ - [ - 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade(), - 'Nome' => 'DOCUMENTO', - 'Valor' => $protocoloDTO->getStrProtocoloFormatado(), - 'IdOrigem' => $dados['IdProtocolo'], - ], - [ - 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() - ] - ]); - - $objDocumentoConteudoFixture = new \DocumentoConteudoFixture(); - $objDocumentoConteudoFixture->cadastrar( - [ - 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), - ] - ); - - $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); - $objProtocoloAssuntoFixture->carregar([ - 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), - 'IdAssunto' => 2 - ]); - - $ObjProtocoloProtocoloFixture = new \RelProtocoloProtocoloFixture(); - $ObjProtocoloProtocoloFixture->cadastrar( - [ - 'IdProtocolo' => $dados['IdProtocolo'], - 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), - ] - ); - - $secaoDocumentoFixture = new \SecaoDocumentoFixture(); - $listaSecao = $secaoDocumentoFixture->conteudoEstatico($this->objDocumentoDTO->getDblIdDocumento()); - - $secaoDocumentoFixture->carregarVariados($listaSecao); - - return $this->objDocumentoDTO; - } -} \ No newline at end of file diff --git a/tests_super/funcional/src/fixtures/FixtureBase.php b/tests_super/funcional/src/fixtures/FixtureBase.php index c980f93bd..347b9984c 100644 --- a/tests_super/funcional/src/fixtures/FixtureBase.php +++ b/tests_super/funcional/src/fixtures/FixtureBase.php @@ -23,11 +23,11 @@ public function carregar($dados = null, $callback = null){ } public function carregarVarios($dados = null, $quantidade = 1){ - $resultado = array(); + $resultado = []; for ($i=0; $i < $quantidade; $i++) { $resultado[] = $this->carregar($dados); } - + return $resultado; } @@ -35,8 +35,27 @@ public function carregarVariados($dados){ $resultado = []; foreach ($dados as $dado) { $resultado[] = $this->carregar($dado); - } + } return $resultado; } + + protected function listarInternoControlado($parametros){ + $dto = $this->listar($parametros["dados"]); + + if (isset($parametros["callback"])) { + $parametros["callback"]($dto); + } + + return $dto; + } + + public function buscar($dados = null, $callback = null){ + $dados = $dados ?: []; + return $this->listarInterno([ + 'dados' => $dados, + 'callback' => $callback + ]); + } + } diff --git a/tests_super/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php b/tests_super/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php deleted file mode 100644 index bbd5c017f..000000000 --- a/tests_super/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php +++ /dev/null @@ -1,65 +0,0 @@ -getTiposProcessos($dados['idMapeamento'], $dados['sinAtivo']); - - foreach ($tiposProcessos as $tipoProcesso) { - $bancoOrgaoA->execute( - "INSERT INTO md_pen_map_tipo_processo (id, id_map_orgao, id_tipo_processo_origem, nome_tipo_processo, sin_ativo, id_unidade, dth_criacao) ". - "VALUES(?,?,?,?,?,?,?)", - array( - $tipoProcesso[0], - $tipoProcesso[1], - $tipoProcesso[2], - $tipoProcesso[3], - $tipoProcesso[4], - $tipoProcesso[5], - $tipoProcesso[6] - ) - ); - } - - return $tiposProcessos; - } - - public function deletar($dados = []): void - { - $bancoOrgaoA = new DatabaseUtils(self::$contexto); - $tiposProcessos = $this->getTiposProcessos($dados['idMapeamento']); - - foreach ($tiposProcessos as $tipoProcesso) { - $bancoOrgaoA->execute( - "DELETE FROM md_pen_map_tipo_processo WHERE id = ?", - array($tipoProcesso[0]) - ); - } - - } - - public function getTiposProcessos(int $idMapeamento, string $sinAtivo = 'S') - { - $tiposProcessos = array(); - - $tiposProcessos[] = [9997, $idMapeamento, 100000347, utf8_encode('Acompanhamento Legislativo: Câmara dos Deputados'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; - $tiposProcessos[] = [9998, $idMapeamento, 100000348, utf8_encode('Acompanhamento Legislativo: Congresso Nacional'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; - $tiposProcessos[] = [9999, $idMapeamento, 100000425, utf8_encode('mauro teste'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; - - return $tiposProcessos; - } -} diff --git a/tests_super/funcional/src/fixtures/ParticipanteFixture.php b/tests_super/funcional/src/fixtures/ParticipanteFixture.php deleted file mode 100644 index cdc1611d7..000000000 --- a/tests_super/funcional/src/fixtures/ParticipanteFixture.php +++ /dev/null @@ -1,37 +0,0 @@ -objParticipanteDTO = new \ParticipanteDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - - $this->objParticipanteDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); - $this->objParticipanteDTO->setStrStaParticipacao($dados['StaParticipacao'] ?: self::INTERESSADO); - $this->objParticipanteDTO->setNumIdContato($dados['IdContato'] ?: 100000006); - $this->objParticipanteDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $this->objParticipanteDTO->setNumSequencia($dados['Sequencia'] ?: 0); - - - $objParticipanteDB = new \ParticipanteBD(\BancoSEI::getInstance()); - $objParticipanteDB->cadastrar($this->objParticipanteDTO); - - return $this->objParticipanteDTO; - } -} diff --git a/tests_super/funcional/src/fixtures/ProcedimentoFixture.php b/tests_super/funcional/src/fixtures/ProcedimentoFixture.php deleted file mode 100644 index 9ec6691c0..000000000 --- a/tests_super/funcional/src/fixtures/ProcedimentoFixture.php +++ /dev/null @@ -1,39 +0,0 @@ -objProcedimentoDTO = new \ProcedimentoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objProcedimentoDTO->setDblIdProcedimento($dados["IdProtocolo"] ?: null); - $this->objProcedimentoDTO->setNumIdTipoProcedimento( - $dados["IdTipoProcedimento"] ?: self::TIPO_PROCEDIMENTO_PADRAO - ); - $this->objProcedimentoDTO->setStrStaOuvidoria($dados["StaOuvidoria"] ?: '-'); - $this->objProcedimentoDTO->setStrSinCiencia($dados["SinCiencia"] ?: 'N'); - - $objProcedimentoDB = new \ProcedimentoBD(\BancoSEI::getInstance()); - $objProcedimentoDB->cadastrar($this->objProcedimentoDTO); - - return $this->objProcedimentoDTO; - } - -} \ No newline at end of file diff --git a/tests_super/funcional/src/fixtures/ProtocoloFixture.php b/tests_super/funcional/src/fixtures/ProtocoloFixture.php deleted file mode 100644 index 02aaa260f..000000000 --- a/tests_super/funcional/src/fixtures/ProtocoloFixture.php +++ /dev/null @@ -1,78 +0,0 @@ -objProtocoloRN = new \ProtocoloRN(); - $this->objProtocoloDTO = new \ProtocoloDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $documento = $dados['documento'] ?: false; - - $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); - - $strProtocoloFormatado = $this->getProtocoloTeste($dados['IdProtocolo'], $documento); - $strProtocoloSemFormato = preg_replace("/[^0-9]/", "", $strProtocoloFormatado); - - $this->objProtocoloDTO->setDblIdProtocolo($dados['IdProtocolo']); - $this->objProtocoloDTO->setStrIdProtocoloFederacao($dados["IdProtocoloFederacao"] ?: null); - $this->objProtocoloDTO->setDblIdProtocoloAgrupador($dados["IdProtocolo"] ?: 2); - $this->objProtocoloDTO->setStrProtocoloFormatado($dados["ProtocoloFormatado"] ?: $strProtocoloFormatado); - $this->objProtocoloDTO->setStrProtocoloFormatadoPesquisa($strProtocoloSemFormato); - $this->objProtocoloDTO->setStrProtocoloFormatadoPesqInv(strrev($strProtocoloSemFormato)); - $this->objProtocoloDTO->setStrDescricao($dados["Descricao"] ?: "teste"); - $this->objProtocoloDTO->setStrStaProtocolo($dados["StaProtocolo"] ?: $this->objProtocoloRN::$TP_PROCEDIMENTO); - $this->objProtocoloDTO->setStrStaEstado($dados["StaEstado"] ?: $this->objProtocoloRN::$TE_NORMAL); - $this->objProtocoloDTO->setStrStaNivelAcessoGlobal( - $dados["StaNivelAcessoGlobal"] ?: $this->objProtocoloRN::$NA_PUBLICO - ); - $this->objProtocoloDTO->setStrStaNivelAcessoLocal( - $dados["StaNivelAcessoLocal"] ?: $this->objProtocoloRN::$NA_PUBLICO - ); - $this->objProtocoloDTO->setStrStaNivelAcessoOriginal($dados["StaNivelAcessoOriginal"] ?: null); - $this->objProtocoloDTO->setNumIdUnidadeGeradora($dados["IdUnidadeGeradora"] ?: "110000001"); - $this->objProtocoloDTO->setNumIdUsuarioGerador($dados["IdUsuarioGerador"] ?: "100000001"); - $this->objProtocoloDTO->setDtaGeracao($dados["Geracao"] ?: InfraData::getStrDataAtual()); - $this->objProtocoloDTO->setDtaInclusao($dados["Inclusao"] ?: InfraData::getStrDataAtual()); - $this->objProtocoloDTO->setStrCodigoBarras($dados["CodigoBarras"] ?: "XXXXXXXXXXXXXXXXXXXXXXXX"); - $this->objProtocoloDTO->setNumIdHipoteseLegal($dados["IdHipoteseLegal"] ?: null); - $this->objProtocoloDTO->setStrStaGrauSigilo($dados["StaGrauSigilo"] ?: null); - $this->objProtocoloDTO->retDblIdProtocolo(); - $this->objProtocoloDTO->retStrProtocoloFormatado(); - - $objProtocoloDB = new \ProtocoloBD(\BancoSEI::getInstance()); - $objProtocoloDB->cadastrar($this->objProtocoloDTO); - - return $this->objProtocoloDTO; - } - - protected function cadastrarVariados($dados = []) - { - foreach ($dados as $dado) { - $this->cadastrar($dado); - } - } - - private function getProtocoloTeste($protocolo, $documento = false) - { - $numSequencial = str_pad($protocolo, 6, 0, STR_PAD_LEFT); - if ($documento == true) { - return $numSequencial; - } - - $anoAtual = date('Y'); - - return "99990.{$numSequencial}/{$anoAtual}-00"; - } -} diff --git a/tests_super/funcional/src/fixtures/RelProtocoloAssuntoFixture.php b/tests_super/funcional/src/fixtures/RelProtocoloAssuntoFixture.php deleted file mode 100644 index 9f91f0644..000000000 --- a/tests_super/funcional/src/fixtures/RelProtocoloAssuntoFixture.php +++ /dev/null @@ -1,26 +0,0 @@ -setDblIdProtocolo($dados['IdProtocolo']); - $objRelProtocoloAssuntoDTO->setNumIdAssuntoProxy($dados['IdAssunto'] ?: 2); - $objRelProtocoloAssuntoDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $objRelProtocoloAssuntoDTO->setNumSequencia($dados['Sequencia'] ?: 0); - - $objRelProtocoloAssuntoDB = new \RelProtocoloAssuntoBD(\BancoSEI::getInstance()); - $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloAssuntoDTO); - - return $objRelProtocoloAssuntoDTO; - } -} diff --git a/tests_super/funcional/src/fixtures/RelProtocoloProtocoloFixture.php b/tests_super/funcional/src/fixtures/RelProtocoloProtocoloFixture.php deleted file mode 100644 index 41fd2d8e3..000000000 --- a/tests_super/funcional/src/fixtures/RelProtocoloProtocoloFixture.php +++ /dev/null @@ -1,28 +0,0 @@ -setDblIdProtocolo1($dados['IdProtocolo']); - $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($dados['IdDocumento']); - $objRelProtocoloProtocoloDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); - $objRelProtocoloProtocoloDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $objRelProtocoloProtocoloDTO->setStrSinCiencia($dados['Ciencia'] ?: 'N'); - $objRelProtocoloProtocoloDTO->setNumSequencia($dados['Sequencia'] ?: 0); - $objRelProtocoloProtocoloDTO->setStrStaAssociacao($dados['Associacao'] ?: 1); - $objRelProtocoloProtocoloDTO->setDthAssociacao(InfraData::getStrDataHoraAtual()); - - $objRelProtocoloAssuntoDB = new \RelProtocoloProtocoloBD(\BancoSEI::getInstance()); - $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloProtocoloDTO); - - return $objRelProtocoloProtocoloDTO; - } -} diff --git a/tests_super/funcional/src/fixtures/SecaoDocumentoFixture.php b/tests_super/funcional/src/fixtures/SecaoDocumentoFixture.php deleted file mode 100644 index 8a13ff752..000000000 --- a/tests_super/funcional/src/fixtures/SecaoDocumentoFixture.php +++ /dev/null @@ -1,173 +0,0 @@ -objProtocoloRN = new \ProtocoloRN(); - $this->objProtocoloDTO = new \ProtocoloDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $documento = $dados['documento'] ?: false; - - $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); - - $objSecaoDocumentoDTO = new SecaoDocumentoDTO(); - - $objSecaoDocumentoDTO->setNumOrdem($dados['Ordem'] ?: 0); - $objSecaoDocumentoDTO->setStrSinSomenteLeitura($dados['SomenteLeitura'] ?: null); - $objSecaoDocumentoDTO->setStrSinAssinatura($dados['Assinatura'] ?: null); - $objSecaoDocumentoDTO->setStrSinPrincipal($dados['Principal'] ?: null); - $objSecaoDocumentoDTO->setStrSinDinamica($dados['Dinamica'] ?: null); - $objSecaoDocumentoDTO->setStrSinCabecalho($dados['Cabecalho'] ?: null); - $objSecaoDocumentoDTO->setStrSinRodape($dados['Rodape'] ?: null); - $objSecaoDocumentoDTO->setStrSinHtml($dados['Html'] ?: null); - $objSecaoDocumentoDTO->setNumIdSecaoModelo($dados['IdSecaoModelo'] ?: null); - $objSecaoDocumentoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); - $objSecaoDocumentoDTO->setNumIdBaseConhecimento($dados['IdBaseConhecimento'] ?: null); - $objSecaoDocumentoDTO->setStrConteudo($dados['Conteudo'] ?: null); - - - $objProtocoloDB = new \SecaoDocumentoBD(\BancoSEI::getInstance()); - $objProtocoloDB->cadastrar($objSecaoDocumentoDTO); - - return $objSecaoDocumentoDTO; - } - - public function conteudoEstatico($IdDocumento) - { - return [ - [ - 'IdSecaoModelo' => 323, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 0, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'S', - 'Rodape' => 'N', - 'Conteudo' => '

  

-

@descricao_orgao_maiusculas@

-

  

', - 'Html' => 'S' - ], - [ - 'IdSecaoModelo' => 252, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 10, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => '@serie@ nº @numeracao_serie@/@ano@', - 'Html' => 'N' - ], - [ - 'IdSecaoModelo' => 253, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 20, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => 'Processo nº @processo@', - 'Html' => 'N' - ], - [ - 'IdSecaoModelo' => 254, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 30, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => 'Recorrente/Interessado: @interessados_virgula_espaco_maiusculas@', - 'Html' => 'N' - - ], - [ - 'IdSecaoModelo' => 257, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 40, - 'SomenteLeitura' => 'N', - 'Assinatura' => 'N', - 'Principal' => 'S', - 'Dinamica' => 'N', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => '

CNPJ/MF Nº XX.XXX.XXX/XXXX-DV

-

Conselheiro Relator: [Digite aqui o Nome Completo]

-

Fórum Deliberativo: Reunião nº [indique o número], de DD de mmmmmm de aaaaa

-

EMENTA

-

DIGITE O TEXTO EM CAIXA ALTA

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

ACÓRDÃO

-

Vistos, relatados e discutidos os presentes autos, acordam os membros do Conselho Diretor, por unanimidade, nos termos da Análise nº XX/AAAA-GCxx, de dd de mmmmmm de aaaaa, integrante deste Acórdão:

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

Participaram da deliberação o Presidente [nome completo] e os Conselheiros [nome completo de cada Conselheiro participante].

-

Ausente, justificadamente, o Conselheiro [nome completo], por motivo de [indicar o motivo].

- ', - 'Html' => 'S' - ], - [ - 'IdSecaoModelo' => 255, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 50, - 'SomenteLeitura' => 'N', - 'Assinatura' => 'S', - 'Principal' => 'N', - 'Dinamica' => 'N', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => null, - 'Html' => 'N' - ], - [ - 'IdSecaoModelo' => 324, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 1000, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'S', - 'Conteudo' => '
- - - - - -
Referência: Processo nº @processo@SEI nº @documento@
', - 'Html' => 'S' - ] - ]; - } -} diff --git a/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php b/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php index 7cc6a153c..ba68eace1 100644 --- a/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php +++ b/tests_super/funcional/tests/TramiteReordenarDocumentosProcessoTest.php @@ -1,5 +1,14 @@ cadastrar(); $parametros = []; - $objProtocoloFixture = new \ProtocoloFixture(); + $objProtocoloFixture = new ProtocoloFixture(); $this->objProtocoloDTO = $objProtocoloFixture->carregar($parametros, function($objProtocoloDTO) { - $objProcedimentoFixture = new \ProcedimentoFixture(); + $objProcedimentoFixture = new ProcedimentoFixture(); $objProcedimentoDTO = $objProcedimentoFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() ]); - $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeFixture = new AtividadeFixture(); $objAtividadeDTO = $objAtividadeFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), ]); - $objParticipanteFixture = new \ParticipanteFixture(); + $objParticipanteFixture = new ParticipanteFixture(); $objParticipanteFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdContato' => 100000006 ]); - $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); + $objProtocoloAssuntoFixture = new RelProtocoloAssuntoFixture(); $objProtocoloAssuntoFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() ]); - $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); + $objAtributoAndamentoFixture = new AtributoAndamentoFixture(); $objAtributoAndamentoFixture->carregar([ 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() ]); $tiposDocumentos = array(81, 8, 34); foreach ($tiposDocumentos as $tipoDocumento) { - $objDocumentoFixture = new \DocumentoFixture(); + $objDocumentoFixture = new DocumentoFixture(); $objDocumentoDTO = $objDocumentoFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), 'IdProcedimento' => $objProcedimentoDTO->getDblIdProcedimento(), 'IdSerie' => $tipoDocumento ]); - $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeFixture = new AtividadeFixture(); $objAtividadeDTO = $objAtividadeFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO ]); - $objAssinaturaFixture = new \AssinaturaFixture(); + $objAssinaturaFixture = new AssinaturaFixture(); $objAssinaturaFixture->carregar([ 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), 'IdDocumento' => $objDocumentoDTO->getDblIdDocumento(), From fa1e4b3af2ea10738c9c0bc35ab652c2fab18ff8 Mon Sep 17 00:00:00 2001 From: Mauro Costa Date: Fri, 9 Feb 2024 10:58:26 -0300 Subject: [PATCH 4/6] =?UTF-8?q?feat:=20altera=C3=A7=C3=A3o=20de=20fixtures?= =?UTF-8?q?=20para=20o=20sei?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests_sei3/funcional/composer.json | 2 +- tests_sei3/funcional/docker-compose.yml | 20 +- .../src/fixtures/AssinaturaFixture.php | 51 ------ .../src/fixtures/AtividadeFixture.php | 41 ----- .../src/fixtures/AtributoAndamentoFixture.php | 31 ---- .../src/fixtures/DocumentoConteudoFixture.php | 32 ---- .../src/fixtures/DocumentoFixture.php | 97 ---------- .../funcional/src/fixtures/FixtureBase.php | 42 ----- .../ImportacaoTiposProcessoFixture.php | 65 ------- .../src/fixtures/ParticipanteFixture.php | 37 ---- .../src/fixtures/ProcedimentoFixture.php | 39 ---- .../src/fixtures/ProtocoloFixture.php | 78 -------- .../fixtures/RelProtocoloAssuntoFixture.php | 26 --- .../fixtures/RelProtocoloProtocoloFixture.php | 28 --- .../src/fixtures/SecaoDocumentoFixture.php | 173 ------------------ .../src/paginas/PaginaReordenarProcesso.php | 46 ----- ...TramiteReordenarDocumentosProcessoTest.php | 169 ----------------- 17 files changed, 4 insertions(+), 973 deletions(-) delete mode 100644 tests_sei3/funcional/src/fixtures/AssinaturaFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/AtividadeFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/AtributoAndamentoFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/DocumentoConteudoFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/DocumentoFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/FixtureBase.php delete mode 100644 tests_sei3/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/ParticipanteFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/ProcedimentoFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/ProtocoloFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/RelProtocoloAssuntoFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/RelProtocoloProtocoloFixture.php delete mode 100644 tests_sei3/funcional/src/fixtures/SecaoDocumentoFixture.php delete mode 100644 tests_sei3/funcional/src/paginas/PaginaReordenarProcesso.php delete mode 100644 tests_sei3/funcional/tests/TramiteReordenarDocumentosProcessoTest.php diff --git a/tests_sei3/funcional/composer.json b/tests_sei3/funcional/composer.json index dbb65d18f..274ffe178 100755 --- a/tests_sei3/funcional/composer.json +++ b/tests_sei3/funcional/composer.json @@ -10,7 +10,7 @@ "src/" ] }, - + "require-dev": { "phpunit/phpunit": "8.*", "phpunit/php-code-coverage": "*", diff --git a/tests_sei3/funcional/docker-compose.yml b/tests_sei3/funcional/docker-compose.yml index 6f90badf5..cf413e750 100755 --- a/tests_sei3/funcional/docker-compose.yml +++ b/tests_sei3/funcional/docker-compose.yml @@ -45,20 +45,15 @@ services: image: processoeletronico/vagrant_sei4_httpd container_name: php-test-functional depends_on: - - org2-database - org1-database + - org2-database - selenium volumes: - ${SEI_PATH}/sei:/opt/sei - ${SEI_PATH}/sip:/opt/sip - ${SEI_PATH}/infra:/opt/infra - - .:/tests - - ${SEI_PATH}/../tests:/tests/sei - - ${SEI_PATH}/../src:/tests/sei/src - - ./src/fixtures:/tests/sei/modpen/fixtures - - ../../src/bd:/tests/sei/modpen/bd - - ../../src/dto:/tests/sei/modpen/dto - ./assets/config:/opt/sei/config/mod-pen + - .:/tests - /tmp:/tmp environment: - XDEBUG_CONFIG=client_host=host.docker.internal client_port=9000 start_with_request=0 @@ -72,20 +67,11 @@ services: - ORG1_CERTIFICADO_SENHA=${ORG1_CERTIFICADO_SENHA} - ORG2_CERTIFICADO=${ORG2_CERTIFICADO} - ORG2_CERTIFICADO_SENHA=${ORG2_CERTIFICADO_SENHA} - - DATABASE_TYPE=${ORG1_DATABASE_TYPE} - - DATABASE_HOST=${ORG1_DATABASE_HOST} - - DATABASE_PORT=${ORG1_DATABASE_GUEST_PORT} - - SEI_CHAVE_ACESSO=${ORG1_APP_SEI_CHAVE_ACESSO} - - SEI_DATABASE_NAME=${SEI_DATABASE_NAME} - - SIP_CHAVE_ACESSO=${ORG1_APP_SIP_CHAVE_ACESSO} - - SIP_DATABASE_NAME=${SIP_DATABASE_NAME} - - SIP_DATABASE_USER=${SIP_DATABASE_USER} - - SIP_DATABASE_PASSWORD=${SIP_DATABASE_PASSWORD} extra_hosts: - "host.docker.internal:host-gateway" links: - - org2-database:${ORG1_DATABASE_NAME} - org1-database:${ORG1_DATABASE_NAME} + - org2-database:${ORG1_DATABASE_NAME} - selenium:selenium command: "true" diff --git a/tests_sei3/funcional/src/fixtures/AssinaturaFixture.php b/tests_sei3/funcional/src/fixtures/AssinaturaFixture.php deleted file mode 100644 index 0656ddcfb..000000000 --- a/tests_sei3/funcional/src/fixtures/AssinaturaFixture.php +++ /dev/null @@ -1,51 +0,0 @@ -getObjInfraIBanco()->getValorSequencia('seq_assinatura'); - - $objAssinaturaDTO = new \AssinaturaDTO(); - $objAssinaturaDTO->setDblIdDocumento($dados['IdDocumento'] ?: 4); - $objAssinaturaDTO->setNumIdAtividade($dados['IdAtividade'] ?: null); - $objAssinaturaDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); - $objAssinaturaDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $objAssinaturaDTO->setNumIdTarjaAssinatura($dados['IdTarjaAssinatura'] ?: self::ID_TARJA_ASSINATURA); - $objAssinaturaDTO->setStrAgrupador($dados['Agrupador'] ?: null); - $objAssinaturaDTO->setStrStaFormaAutenticacao($dados['StaFormaAutenticacao'] ?: 'S'); - $objAssinaturaDTO->setStrNome($dados['Nome'] ?: 'Usuário de Testes'); - $objAssinaturaDTO->setStrTratamento($dados['Tratamento'] ?: self::TRATAMENTO); - $objAssinaturaDTO->setDblCpf($dados['Cpf'] ?: null); - $objAssinaturaDTO->setStrP7sBase64($dados['P7sBase64'] ?: null); - $objAssinaturaDTO->setStrNumeroSerieCertificado($dados['NumeroSerieCertificado'] ?: null); - $objAssinaturaDTO->setStrSinAtivo($dados['SinAtivo'] ?: 'S'); - $objAssinaturaDTO->setOrdDthAberturaAtividade(InfraDTO::$TIPO_ORDENACAO_ASC); - - $objAssinaturaDB = new \AssinaturaBD(\BancoSEI::getInstance()); - $objAssinaturaDB->cadastrar($objAssinaturaDTO); - - $objAtividadeFixture = new \AtividadeFixture(); - $objAtividadeFixture->cadastrar( - [ - 'IdProtocolo' => $dados['IdProtocolo'], - 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO, - ] - ); - - - return $objAssinaturaDTO; - } -} diff --git a/tests_sei3/funcional/src/fixtures/AtividadeFixture.php b/tests_sei3/funcional/src/fixtures/AtividadeFixture.php deleted file mode 100644 index 1c01dc683..000000000 --- a/tests_sei3/funcional/src/fixtures/AtividadeFixture.php +++ /dev/null @@ -1,41 +0,0 @@ -objAtividadeDTO = new \AtividadeDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objAtividadeDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); - $this->objAtividadeDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $this->objAtividadeDTO->setNumIdUnidadeOrigem($dados['IdUnidadeOrigem'] ?: 110000001); - $this->objAtividadeDTO->setNumIdUsuario($dados['IdUsuario'] ?: null); - $this->objAtividadeDTO->setNumIdUsuarioOrigem($dados['IdUsuarioOrigem'] ?: 100000001); - $this->objAtividadeDTO->setDthAbertura($dados['Abertura'] ?: InfraData::getStrDataHoraAtual()); - $this->objAtividadeDTO->setDthConclusao($dados['Conclusao'] ?: null); - $this->objAtividadeDTO->setNumIdTarefa($dados['IdTarefa'] ?: 1); - $this->objAtividadeDTO->setNumIdUsuarioAtribuicao($dados['IdUsuarioAtribuicao'] ?: null); - $this->objAtividadeDTO->setNumIdUsuarioConclusao($dados['IdUsuarioConclusao'] ?: null); - $this->objAtividadeDTO->setStrSinInicial($dados['SinInicial'] ?: 'S'); - $this->objAtividadeDTO->setNumIdUsuarioVisualizacao($dados['IdUsuarioVisualizacao'] ?: null); - $this->objAtividadeDTO->setNumTipoVisualizacao($dados['TipoVisualizacao'] ?: 0); - $this->objAtividadeDTO->setDtaPrazo($dados['Prazo'] ?: null); - - $objProtocoloDB = new \AtividadeBD(\BancoSEI::getInstance()); - $objProtocoloDB->cadastrar($this->objAtividadeDTO); - - return $this->objAtividadeDTO; - } -} diff --git a/tests_sei3/funcional/src/fixtures/AtributoAndamentoFixture.php b/tests_sei3/funcional/src/fixtures/AtributoAndamentoFixture.php deleted file mode 100644 index 3b7a48c87..000000000 --- a/tests_sei3/funcional/src/fixtures/AtributoAndamentoFixture.php +++ /dev/null @@ -1,31 +0,0 @@ -objAtributoAndamentoDTO = new \AtributoAndamentoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objAtributoAndamentoDTO->setNumIdAtividade($dados['IdAtividade']); - $this->objAtributoAndamentoDTO->setStrNome($dados['Nome'] ?: 'NIVEL_ACESSO'); - $this->objAtributoAndamentoDTO->setStrValor($dados['Valor'] ?: null); - $this->objAtributoAndamentoDTO->setStrIdOrigem($dados['IdOrigem'] ?: 0); - - $objAtributoAndamentoDB = new \AtributoAndamentoBD(\BancoSEI::getInstance()); - $objAtributoAndamentoDB->cadastrar($this->objAtributoAndamentoDTO); - - return $this->objAtributoAndamentoDTO; - } -} diff --git a/tests_sei3/funcional/src/fixtures/DocumentoConteudoFixture.php b/tests_sei3/funcional/src/fixtures/DocumentoConteudoFixture.php deleted file mode 100644 index da5e1ff52..000000000 --- a/tests_sei3/funcional/src/fixtures/DocumentoConteudoFixture.php +++ /dev/null @@ -1,32 +0,0 @@ -objDocumentoConteudoDTO = new \DocumentoConteudoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objDocumentoConteudoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); - $this->objDocumentoConteudoDTO->setStrConteudo($dados['Conteudo'] ?: 'Conteudo'); - $this->objDocumentoConteudoDTO->setStrConteudoAssinatura($dados['ConteudoAssinatura'] ?: null); - $this->objDocumentoConteudoDTO->setStrCrcAssinatura($dados['CrcAssinatura'] ?: null); - $this->objDocumentoConteudoDTO->setStrQrCodeAssinatura($dados['QrCodeAssinatura'] ?: null); - - $objProtocoloConteudoDB = new \DocumentoConteudoBD(\BancoSEI::getInstance()); - $objProtocoloConteudoDB->cadastrar($this->objDocumentoConteudoDTO); - - return $this->objDocumentoConteudoDTO; - } -} \ No newline at end of file diff --git a/tests_sei3/funcional/src/fixtures/DocumentoFixture.php b/tests_sei3/funcional/src/fixtures/DocumentoFixture.php deleted file mode 100644 index 15cb0bc56..000000000 --- a/tests_sei3/funcional/src/fixtures/DocumentoFixture.php +++ /dev/null @@ -1,97 +0,0 @@ -objDocumentoDTO = new \DocumentoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $protocoloFixture = new \ProtocoloFixture(); - $protocoloDTO = $protocoloFixture->cadastrar([ - 'StaProtocolo' => \ProtocoloRN::$TP_DOCUMENTO_GERADO, - 'documento' => true, - ]); - - $this->objDocumentoDTO->setDblIdDocumento($protocoloDTO->getDblIdProtocolo()); - $this->objDocumentoDTO->setDblIdDocumentoEdoc($dados['IdDocumentoEdoc'] ?: null); - $this->objDocumentoDTO->setDblIdProcedimento($dados['IdProcedimento']); - $this->objDocumentoDTO->setNumIdSerie($dados['IdSerie'] ?: self::MODELO_ACORDAO); - $this->objDocumentoDTO->setNumIdUnidadeResponsavel($dados['IdUnidadeResponsavel'] ?: 110000001); - $this->objDocumentoDTO->setNumIdConjuntoEstilos($dados['IdConjuntoEstilos'] ?: 81); - $this->objDocumentoDTO->setNumIdTipoConferencia($dados['IdTipoConferencia'] ?: null); - $this->objDocumentoDTO->setStrSinArquivamento($dados['SinArquivamento'] ?: 'N'); - $this->objDocumentoDTO->setStrNumero($dados['Numero'] ?: 1); - $this->objDocumentoDTO->setStrSinBloqueado($dados['SinBloqueado'] ?: 'N'); - $this->objDocumentoDTO->setStrStaDocumento($dados['StaDocumento'] ?: DocumentoRN::$TD_EDITOR_INTERNO); - $this->objDocumentoDTO->setStrNomeArvore($dados['SinBloqueado'] ?? 'teste'); - - $objDocumentoDB = new \DocumentoBD(\BancoSEI::getInstance()); - $objDocumentoDB->cadastrar($this->objDocumentoDTO); - - $objAtividadeFixture = new \AtividadeFixture(); - $objAtividadeDTO = $objAtividadeFixture->cadastrar( - [ - 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), - 'IdTarefa' => TarefaRN::$TI_GERACAO_DOCUMENTO, - ] - ); - - $objParticipanteFixture = new \ParticipanteFixture(); - $objParticipanteFixture->carregar([ - 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), - ]); - - $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); - $objAtributoAndamentoFixture->carregarVariados([ - [ - 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade(), - 'Nome' => 'DOCUMENTO', - 'Valor' => $protocoloDTO->getStrProtocoloFormatado(), - 'IdOrigem' => $dados['IdProtocolo'], - ], - [ - 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() - ] - ]); - - $objDocumentoConteudoFixture = new \DocumentoConteudoFixture(); - $objDocumentoConteudoFixture->cadastrar( - [ - 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), - ] - ); - - $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); - $objProtocoloAssuntoFixture->carregar([ - 'IdProtocolo' => $protocoloDTO->getDblIdProtocolo(), - 'IdAssunto' => 2 - ]); - - $ObjProtocoloProtocoloFixture = new \RelProtocoloProtocoloFixture(); - $ObjProtocoloProtocoloFixture->cadastrar( - [ - 'IdProtocolo' => $dados['IdProtocolo'], - 'IdDocumento' => $this->objDocumentoDTO->getDblIdDocumento(), - ] - ); - - $secaoDocumentoFixture = new \SecaoDocumentoFixture(); - $listaSecao = $secaoDocumentoFixture->conteudoEstatico($this->objDocumentoDTO->getDblIdDocumento()); - - $secaoDocumentoFixture->carregarVariados($listaSecao); - - return $this->objDocumentoDTO; - } -} \ No newline at end of file diff --git a/tests_sei3/funcional/src/fixtures/FixtureBase.php b/tests_sei3/funcional/src/fixtures/FixtureBase.php deleted file mode 100644 index c980f93bd..000000000 --- a/tests_sei3/funcional/src/fixtures/FixtureBase.php +++ /dev/null @@ -1,42 +0,0 @@ -cadastrar($parametros["dados"]); - - if (isset($parametros["callback"])) { - $parametros["callback"]($dto); - } - - return $dto; - } - - public function carregar($dados = null, $callback = null){ - $dados = $dados ?: []; - return $this->cadastrarInterno([ - 'dados' => $dados, - 'callback' => $callback - ]); - } - - public function carregarVarios($dados = null, $quantidade = 1){ - $resultado = array(); - for ($i=0; $i < $quantidade; $i++) { - $resultado[] = $this->carregar($dados); - } - - return $resultado; - } - - public function carregarVariados($dados){ - $resultado = []; - foreach ($dados as $dado) { - $resultado[] = $this->carregar($dado); - } - - return $resultado; - } -} diff --git a/tests_sei3/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php b/tests_sei3/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php deleted file mode 100644 index bbd5c017f..000000000 --- a/tests_sei3/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php +++ /dev/null @@ -1,65 +0,0 @@ -getTiposProcessos($dados['idMapeamento'], $dados['sinAtivo']); - - foreach ($tiposProcessos as $tipoProcesso) { - $bancoOrgaoA->execute( - "INSERT INTO md_pen_map_tipo_processo (id, id_map_orgao, id_tipo_processo_origem, nome_tipo_processo, sin_ativo, id_unidade, dth_criacao) ". - "VALUES(?,?,?,?,?,?,?)", - array( - $tipoProcesso[0], - $tipoProcesso[1], - $tipoProcesso[2], - $tipoProcesso[3], - $tipoProcesso[4], - $tipoProcesso[5], - $tipoProcesso[6] - ) - ); - } - - return $tiposProcessos; - } - - public function deletar($dados = []): void - { - $bancoOrgaoA = new DatabaseUtils(self::$contexto); - $tiposProcessos = $this->getTiposProcessos($dados['idMapeamento']); - - foreach ($tiposProcessos as $tipoProcesso) { - $bancoOrgaoA->execute( - "DELETE FROM md_pen_map_tipo_processo WHERE id = ?", - array($tipoProcesso[0]) - ); - } - - } - - public function getTiposProcessos(int $idMapeamento, string $sinAtivo = 'S') - { - $tiposProcessos = array(); - - $tiposProcessos[] = [9997, $idMapeamento, 100000347, utf8_encode('Acompanhamento Legislativo: Câmara dos Deputados'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; - $tiposProcessos[] = [9998, $idMapeamento, 100000348, utf8_encode('Acompanhamento Legislativo: Congresso Nacional'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; - $tiposProcessos[] = [9999, $idMapeamento, 100000425, utf8_encode('mauro teste'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; - - return $tiposProcessos; - } -} diff --git a/tests_sei3/funcional/src/fixtures/ParticipanteFixture.php b/tests_sei3/funcional/src/fixtures/ParticipanteFixture.php deleted file mode 100644 index cdc1611d7..000000000 --- a/tests_sei3/funcional/src/fixtures/ParticipanteFixture.php +++ /dev/null @@ -1,37 +0,0 @@ -objParticipanteDTO = new \ParticipanteDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - - $this->objParticipanteDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); - $this->objParticipanteDTO->setStrStaParticipacao($dados['StaParticipacao'] ?: self::INTERESSADO); - $this->objParticipanteDTO->setNumIdContato($dados['IdContato'] ?: 100000006); - $this->objParticipanteDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $this->objParticipanteDTO->setNumSequencia($dados['Sequencia'] ?: 0); - - - $objParticipanteDB = new \ParticipanteBD(\BancoSEI::getInstance()); - $objParticipanteDB->cadastrar($this->objParticipanteDTO); - - return $this->objParticipanteDTO; - } -} diff --git a/tests_sei3/funcional/src/fixtures/ProcedimentoFixture.php b/tests_sei3/funcional/src/fixtures/ProcedimentoFixture.php deleted file mode 100644 index 9ec6691c0..000000000 --- a/tests_sei3/funcional/src/fixtures/ProcedimentoFixture.php +++ /dev/null @@ -1,39 +0,0 @@ -objProcedimentoDTO = new \ProcedimentoDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $this->objProcedimentoDTO->setDblIdProcedimento($dados["IdProtocolo"] ?: null); - $this->objProcedimentoDTO->setNumIdTipoProcedimento( - $dados["IdTipoProcedimento"] ?: self::TIPO_PROCEDIMENTO_PADRAO - ); - $this->objProcedimentoDTO->setStrStaOuvidoria($dados["StaOuvidoria"] ?: '-'); - $this->objProcedimentoDTO->setStrSinCiencia($dados["SinCiencia"] ?: 'N'); - - $objProcedimentoDB = new \ProcedimentoBD(\BancoSEI::getInstance()); - $objProcedimentoDB->cadastrar($this->objProcedimentoDTO); - - return $this->objProcedimentoDTO; - } - -} \ No newline at end of file diff --git a/tests_sei3/funcional/src/fixtures/ProtocoloFixture.php b/tests_sei3/funcional/src/fixtures/ProtocoloFixture.php deleted file mode 100644 index 02aaa260f..000000000 --- a/tests_sei3/funcional/src/fixtures/ProtocoloFixture.php +++ /dev/null @@ -1,78 +0,0 @@ -objProtocoloRN = new \ProtocoloRN(); - $this->objProtocoloDTO = new \ProtocoloDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $documento = $dados['documento'] ?: false; - - $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); - - $strProtocoloFormatado = $this->getProtocoloTeste($dados['IdProtocolo'], $documento); - $strProtocoloSemFormato = preg_replace("/[^0-9]/", "", $strProtocoloFormatado); - - $this->objProtocoloDTO->setDblIdProtocolo($dados['IdProtocolo']); - $this->objProtocoloDTO->setStrIdProtocoloFederacao($dados["IdProtocoloFederacao"] ?: null); - $this->objProtocoloDTO->setDblIdProtocoloAgrupador($dados["IdProtocolo"] ?: 2); - $this->objProtocoloDTO->setStrProtocoloFormatado($dados["ProtocoloFormatado"] ?: $strProtocoloFormatado); - $this->objProtocoloDTO->setStrProtocoloFormatadoPesquisa($strProtocoloSemFormato); - $this->objProtocoloDTO->setStrProtocoloFormatadoPesqInv(strrev($strProtocoloSemFormato)); - $this->objProtocoloDTO->setStrDescricao($dados["Descricao"] ?: "teste"); - $this->objProtocoloDTO->setStrStaProtocolo($dados["StaProtocolo"] ?: $this->objProtocoloRN::$TP_PROCEDIMENTO); - $this->objProtocoloDTO->setStrStaEstado($dados["StaEstado"] ?: $this->objProtocoloRN::$TE_NORMAL); - $this->objProtocoloDTO->setStrStaNivelAcessoGlobal( - $dados["StaNivelAcessoGlobal"] ?: $this->objProtocoloRN::$NA_PUBLICO - ); - $this->objProtocoloDTO->setStrStaNivelAcessoLocal( - $dados["StaNivelAcessoLocal"] ?: $this->objProtocoloRN::$NA_PUBLICO - ); - $this->objProtocoloDTO->setStrStaNivelAcessoOriginal($dados["StaNivelAcessoOriginal"] ?: null); - $this->objProtocoloDTO->setNumIdUnidadeGeradora($dados["IdUnidadeGeradora"] ?: "110000001"); - $this->objProtocoloDTO->setNumIdUsuarioGerador($dados["IdUsuarioGerador"] ?: "100000001"); - $this->objProtocoloDTO->setDtaGeracao($dados["Geracao"] ?: InfraData::getStrDataAtual()); - $this->objProtocoloDTO->setDtaInclusao($dados["Inclusao"] ?: InfraData::getStrDataAtual()); - $this->objProtocoloDTO->setStrCodigoBarras($dados["CodigoBarras"] ?: "XXXXXXXXXXXXXXXXXXXXXXXX"); - $this->objProtocoloDTO->setNumIdHipoteseLegal($dados["IdHipoteseLegal"] ?: null); - $this->objProtocoloDTO->setStrStaGrauSigilo($dados["StaGrauSigilo"] ?: null); - $this->objProtocoloDTO->retDblIdProtocolo(); - $this->objProtocoloDTO->retStrProtocoloFormatado(); - - $objProtocoloDB = new \ProtocoloBD(\BancoSEI::getInstance()); - $objProtocoloDB->cadastrar($this->objProtocoloDTO); - - return $this->objProtocoloDTO; - } - - protected function cadastrarVariados($dados = []) - { - foreach ($dados as $dado) { - $this->cadastrar($dado); - } - } - - private function getProtocoloTeste($protocolo, $documento = false) - { - $numSequencial = str_pad($protocolo, 6, 0, STR_PAD_LEFT); - if ($documento == true) { - return $numSequencial; - } - - $anoAtual = date('Y'); - - return "99990.{$numSequencial}/{$anoAtual}-00"; - } -} diff --git a/tests_sei3/funcional/src/fixtures/RelProtocoloAssuntoFixture.php b/tests_sei3/funcional/src/fixtures/RelProtocoloAssuntoFixture.php deleted file mode 100644 index 9f91f0644..000000000 --- a/tests_sei3/funcional/src/fixtures/RelProtocoloAssuntoFixture.php +++ /dev/null @@ -1,26 +0,0 @@ -setDblIdProtocolo($dados['IdProtocolo']); - $objRelProtocoloAssuntoDTO->setNumIdAssuntoProxy($dados['IdAssunto'] ?: 2); - $objRelProtocoloAssuntoDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $objRelProtocoloAssuntoDTO->setNumSequencia($dados['Sequencia'] ?: 0); - - $objRelProtocoloAssuntoDB = new \RelProtocoloAssuntoBD(\BancoSEI::getInstance()); - $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloAssuntoDTO); - - return $objRelProtocoloAssuntoDTO; - } -} diff --git a/tests_sei3/funcional/src/fixtures/RelProtocoloProtocoloFixture.php b/tests_sei3/funcional/src/fixtures/RelProtocoloProtocoloFixture.php deleted file mode 100644 index 41fd2d8e3..000000000 --- a/tests_sei3/funcional/src/fixtures/RelProtocoloProtocoloFixture.php +++ /dev/null @@ -1,28 +0,0 @@ -setDblIdProtocolo1($dados['IdProtocolo']); - $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($dados['IdDocumento']); - $objRelProtocoloProtocoloDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); - $objRelProtocoloProtocoloDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); - $objRelProtocoloProtocoloDTO->setStrSinCiencia($dados['Ciencia'] ?: 'N'); - $objRelProtocoloProtocoloDTO->setNumSequencia($dados['Sequencia'] ?: 0); - $objRelProtocoloProtocoloDTO->setStrStaAssociacao($dados['Associacao'] ?: 1); - $objRelProtocoloProtocoloDTO->setDthAssociacao(InfraData::getStrDataHoraAtual()); - - $objRelProtocoloAssuntoDB = new \RelProtocoloProtocoloBD(\BancoSEI::getInstance()); - $objRelProtocoloAssuntoDB->cadastrar($objRelProtocoloProtocoloDTO); - - return $objRelProtocoloProtocoloDTO; - } -} diff --git a/tests_sei3/funcional/src/fixtures/SecaoDocumentoFixture.php b/tests_sei3/funcional/src/fixtures/SecaoDocumentoFixture.php deleted file mode 100644 index 8a13ff752..000000000 --- a/tests_sei3/funcional/src/fixtures/SecaoDocumentoFixture.php +++ /dev/null @@ -1,173 +0,0 @@ -objProtocoloRN = new \ProtocoloRN(); - $this->objProtocoloDTO = new \ProtocoloDTO(); - } - - protected function inicializarObjInfraIBanco() - { - return \BancoSEI::getInstance(); - } - - protected function cadastrar($dados = []) - { - $documento = $dados['documento'] ?: false; - - $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); - - $objSecaoDocumentoDTO = new SecaoDocumentoDTO(); - - $objSecaoDocumentoDTO->setNumOrdem($dados['Ordem'] ?: 0); - $objSecaoDocumentoDTO->setStrSinSomenteLeitura($dados['SomenteLeitura'] ?: null); - $objSecaoDocumentoDTO->setStrSinAssinatura($dados['Assinatura'] ?: null); - $objSecaoDocumentoDTO->setStrSinPrincipal($dados['Principal'] ?: null); - $objSecaoDocumentoDTO->setStrSinDinamica($dados['Dinamica'] ?: null); - $objSecaoDocumentoDTO->setStrSinCabecalho($dados['Cabecalho'] ?: null); - $objSecaoDocumentoDTO->setStrSinRodape($dados['Rodape'] ?: null); - $objSecaoDocumentoDTO->setStrSinHtml($dados['Html'] ?: null); - $objSecaoDocumentoDTO->setNumIdSecaoModelo($dados['IdSecaoModelo'] ?: null); - $objSecaoDocumentoDTO->setDblIdDocumento($dados['IdDocumento'] ?: null); - $objSecaoDocumentoDTO->setNumIdBaseConhecimento($dados['IdBaseConhecimento'] ?: null); - $objSecaoDocumentoDTO->setStrConteudo($dados['Conteudo'] ?: null); - - - $objProtocoloDB = new \SecaoDocumentoBD(\BancoSEI::getInstance()); - $objProtocoloDB->cadastrar($objSecaoDocumentoDTO); - - return $objSecaoDocumentoDTO; - } - - public function conteudoEstatico($IdDocumento) - { - return [ - [ - 'IdSecaoModelo' => 323, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 0, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'S', - 'Rodape' => 'N', - 'Conteudo' => '

  

-

@descricao_orgao_maiusculas@

-

  

', - 'Html' => 'S' - ], - [ - 'IdSecaoModelo' => 252, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 10, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => '@serie@ nº @numeracao_serie@/@ano@', - 'Html' => 'N' - ], - [ - 'IdSecaoModelo' => 253, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 20, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => 'Processo nº @processo@', - 'Html' => 'N' - ], - [ - 'IdSecaoModelo' => 254, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 30, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => 'Recorrente/Interessado: @interessados_virgula_espaco_maiusculas@', - 'Html' => 'N' - - ], - [ - 'IdSecaoModelo' => 257, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 40, - 'SomenteLeitura' => 'N', - 'Assinatura' => 'N', - 'Principal' => 'S', - 'Dinamica' => 'N', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => '

CNPJ/MF Nº XX.XXX.XXX/XXXX-DV

-

Conselheiro Relator: [Digite aqui o Nome Completo]

-

Fórum Deliberativo: Reunião nº [indique o número], de DD de mmmmmm de aaaaa

-

EMENTA

-

DIGITE O TEXTO EM CAIXA ALTA

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

ACÓRDÃO

-

Vistos, relatados e discutidos os presentes autos, acordam os membros do Conselho Diretor, por unanimidade, nos termos da Análise nº XX/AAAA-GCxx, de dd de mmmmmm de aaaaa, integrante deste Acórdão:

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

Clique aqui para digitar o texto.

-

Participaram da deliberação o Presidente [nome completo] e os Conselheiros [nome completo de cada Conselheiro participante].

-

Ausente, justificadamente, o Conselheiro [nome completo], por motivo de [indicar o motivo].

- ', - 'Html' => 'S' - ], - [ - 'IdSecaoModelo' => 255, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 50, - 'SomenteLeitura' => 'N', - 'Assinatura' => 'S', - 'Principal' => 'N', - 'Dinamica' => 'N', - 'Cabecalho' => 'N', - 'Rodape' => 'N', - 'Conteudo' => null, - 'Html' => 'N' - ], - [ - 'IdSecaoModelo' => 324, - 'IdDocumento' => $IdDocumento, - 'Ordem' => 1000, - 'SomenteLeitura' => 'S', - 'Assinatura' => 'N', - 'Principal' => 'N', - 'Dinamica' => 'S', - 'Cabecalho' => 'N', - 'Rodape' => 'S', - 'Conteudo' => '
- - - - - -
Referência: Processo nº @processo@SEI nº @documento@
', - 'Html' => 'S' - ] - ]; - } -} diff --git a/tests_sei3/funcional/src/paginas/PaginaReordenarProcesso.php b/tests_sei3/funcional/src/paginas/PaginaReordenarProcesso.php deleted file mode 100644 index 30885bc27..000000000 --- a/tests_sei3/funcional/src/paginas/PaginaReordenarProcesso.php +++ /dev/null @@ -1,46 +0,0 @@ -test->frame(null); - $this->test->frame("ifrVisualizacao"); - $this->test->byXPath(utf8_encode("//img[@alt='Ordenar Árvore do Processo']"))->click(); - } - - public function irParaTramitarProcesso() - { - $this->test->frame(null); - $this->test->frame("ifrVisualizacao"); - $this->test->byXPath(utf8_encode("//img[@alt='Envio Externo de Processo']"))->click(); - } - - public function clicarOptionReordenar(int $index = 0) - { - $options = $this->test->byId('selRelProtocoloProtocolo') - ->elements($this->test->using('css selector')->value('option')); - $options[$index]->click(); - } - - public function moverParaBaixo(int $vezes = 1) - { - $botaoParaBaixo = $this->test->byXPath(utf8_encode("//img[@alt='Mover Abaixo Protocolo Selecionado']")); - for ($i=0; $i < $vezes; $i++) { - $botaoParaBaixo->click(); - } - } - - public function moverParaCima(int $vezes = 1) - { - $botaoParaCima = $this->test->byXPath(utf8_encode("//img[@alt='Mover Acima Protocolo Selecionado']")); - for ($i=0; $i < $vezes; $i++) { - $botaoParaCima->click(); - } - } - - public function salvar() - { - $this->test->byXPath("//button[@name='sbmSalvar']")->click(); - } -} diff --git a/tests_sei3/funcional/tests/TramiteReordenarDocumentosProcessoTest.php b/tests_sei3/funcional/tests/TramiteReordenarDocumentosProcessoTest.php deleted file mode 100644 index 8a7fa2f93..000000000 --- a/tests_sei3/funcional/tests/TramiteReordenarDocumentosProcessoTest.php +++ /dev/null @@ -1,169 +0,0 @@ -definirContextoTeste(CONTEXTO_ORGAO_A); - self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); - - $penMapUnidadesFixture = new \PenMapUnidadesFixture(CONTEXTO_ORGAO_A, [ - 'id' => self::$remetente['ID_ESTRUTURA'], - 'sigla' => self::$remetente['SIGLA_ESTRUTURA'], - 'nome' => self::$remetente['NOME_UNIDADE'] - ]); - $penMapUnidadesFixture->cadastrar(); - - $parametros = []; - $objProtocoloFixture = new \ProtocoloFixture(); - $this->objProtocoloDTO = $objProtocoloFixture->carregar($parametros, function($objProtocoloDTO) { - - $objProcedimentoFixture = new \ProcedimentoFixture(); - $objProcedimentoDTO = $objProcedimentoFixture->carregar([ - 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() - ]); - - $objAtividadeFixture = new \AtividadeFixture(); - $objAtividadeDTO = $objAtividadeFixture->carregar([ - 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), - ]); - - $objParticipanteFixture = new \ParticipanteFixture(); - $objParticipanteFixture->carregar([ - 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), - ]); - - $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); - $objProtocoloAssuntoFixture->carregar([ - 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo() - ]); - - $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); - $objAtributoAndamentoFixture->carregar([ - 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() - ]); - - $tiposDocumentos = array(81, 8, 34); - foreach ($tiposDocumentos as $tipoDocumento) { - $objDocumentoFixture = new \DocumentoFixture(); - $objDocumentoDTO = $objDocumentoFixture->carregar([ - 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), - 'IdProcedimento' => $objProcedimentoDTO->getDblIdProcedimento(), - 'IdSerie' => $tipoDocumento - ]); - - $objAtividadeFixture = new \AtividadeFixture(); - $objAtividadeDTO = $objAtividadeFixture->carregar([ - 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), - 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO - ]); - - $objAssinaturaFixture = new \AssinaturaFixture(); - $objAssinaturaFixture->carregar([ - 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), - 'IdDocumento' => $objDocumentoDTO->getDblIdDocumento(), - 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() - ]); - } - }); - - } - - /** - * Testa a funcionalidade de reordernar documento - * - * @return true - */ - public function test_reordenar_documentos_remetente_devolucao() - { - //Aumenta o tempo de timeout devido á quantidade de arquivos - $this->setSeleniumServerRequestsTimeout(6000); - - $this->acessarSistema( - self::$remetente['URL'], - self::$remetente['SIGLA_UNIDADE'], - self::$remetente['LOGIN'], - self::$remetente['SENHA'] - ); - - $this->abrirProcesso($this->objProtocoloDTO->getStrProtocoloFormatado()); - $this->tramitarProcessoExternamente( - ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], - self::$destinatario['REP_ESTRUTURAS'], - self::$destinatario['NOME_UNIDADE'], - self::$destinatario['SIGLA_UNIDADE_HIERARQUIA'], - false - ); - - $this->sairSistema(); - $this->acessarSistema( - self::$destinatario['URL'], - self::$destinatario['SIGLA_UNIDADE'], - self::$destinatario['LOGIN'], - self::$destinatario['SENHA'] - ); - - $this->waitUntil(function ($testCase) { - sleep(5); - $this->abrirProcesso($this->objProtocoloDTO->getStrProtocoloFormatado()); - return true; - }, PEN_WAIT_TIMEOUT); - - $this->paginaReordenarProcesso->irParaPaginaMudarOrdem(); - $this->paginaReordenarProcesso->clicarOptionReordenar(); - $this->paginaReordenarProcesso->moverParaBaixo(2); - $this->paginaReordenarProcesso->salvar(); - sleep(3); - - $callbackEnvio = function ($testCase) { - $testCase->frame('ifrEnvioProcesso'); - $mensagemSucesso = utf8_encode('Inconsistência identificada no documento de ordem'); - $testCase->assertStringContainsString($mensagemSucesso, $testCase->byCssSelector('body')->text()); - sleep(2); - $testCase->byXPath("//input[@id='btnFechar']")->click(); - - return true; - }; - - $this->tramitarProcessoExternamente( - ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], - self::$remetente['REP_ESTRUTURAS'], - self::$remetente['NOME_UNIDADE'], - self::$remetente['SIGLA_UNIDADE_HIERARQUIA'], - false, - $callbackEnvio - ); - - $this->paginaReordenarProcesso->irParaPaginaMudarOrdem(); - $this->paginaReordenarProcesso->clicarOptionReordenar(2); - $this->paginaReordenarProcesso->moverParaCima(2); - $this->paginaReordenarProcesso->salvar(); - sleep(3); - - $this->tramitarProcessoExternamente( - ['PROTOCOLO' => $this->objProtocoloDTO->getDblIdProtocolo()], - self::$remetente['REP_ESTRUTURAS'], - self::$remetente['NOME_UNIDADE'], - self::$remetente['SIGLA_UNIDADE_HIERARQUIA'], - false - ); - - $this->sairSistema(); - } -} From 7a99bb181e19478e15baa2abfa8e2fdb6a0365cd Mon Sep 17 00:00:00 2001 From: Mauro Costa Date: Fri, 9 Feb 2024 11:01:04 -0300 Subject: [PATCH 5/6] feat: recolocando fixture removida --- .../ImportacaoTiposProcessoFixture.php | 65 +++++++++++++++++++ .../funcional/tests/CenarioBaseTestCase.php | 2 - 2 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 tests_sei3/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php diff --git a/tests_sei3/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php b/tests_sei3/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php new file mode 100644 index 000000000..b9c1ebb68 --- /dev/null +++ b/tests_sei3/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php @@ -0,0 +1,65 @@ +getTiposProcessos($dados['idMapeamento'], $dados['sinAtivo']); + + foreach ($tiposProcessos as $tipoProcesso) { + $bancoOrgaoA->execute( + "INSERT INTO md_pen_map_tipo_processo (id, id_map_orgao, id_tipo_processo_origem, nome_tipo_processo, sin_ativo, id_unidade, dth_criacao) ". + "VALUES(?,?,?,?,?,?,?)", + array( + $tipoProcesso[0], + $tipoProcesso[1], + $tipoProcesso[2], + $tipoProcesso[3], + $tipoProcesso[4], + $tipoProcesso[5], + $tipoProcesso[6] + ) + ); + } + + return $tiposProcessos; + } + + public function deletar($dados = []): void + { + $bancoOrgaoA = new DatabaseUtils(self::$contexto); + $tiposProcessos = $this->getTiposProcessos($dados['idMapeamento']); + + foreach ($tiposProcessos as $tipoProcesso) { + $bancoOrgaoA->execute( + "DELETE FROM md_pen_map_tipo_processo WHERE id = ?", + array($tipoProcesso[0]) + ); + } + + } + + public function getTiposProcessos(int $idMapeamento, string $sinAtivo = 'S') + { + $tiposProcessos = array(); + + $tiposProcessos[] = [9997, $idMapeamento, 100000347, utf8_encode('Acompanhamento Legislativo: Câmara dos Deputados'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; + $tiposProcessos[] = [9998, $idMapeamento, 100000348, utf8_encode('Acompanhamento Legislativo: Congresso Nacional'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; + $tiposProcessos[] = [9999, $idMapeamento, 100000425, utf8_encode('mauro teste'), $sinAtivo, 110000001, date('Y-m-d H:i:s')]; + + return $tiposProcessos; + } +} \ No newline at end of file diff --git a/tests_sei3/funcional/tests/CenarioBaseTestCase.php b/tests_sei3/funcional/tests/CenarioBaseTestCase.php index f2d484e40..235f37a86 100755 --- a/tests_sei3/funcional/tests/CenarioBaseTestCase.php +++ b/tests_sei3/funcional/tests/CenarioBaseTestCase.php @@ -44,7 +44,6 @@ class CenarioBaseTestCase extends Selenium2TestCase protected $paginaTramiteMapeamentoOrgaoExterno = null; protected $paginaExportarTiposProcesso = null; protected $paginaTipoProcessoReativar = null; - protected $paginaReordenarProcesso = null; public function setUpPage(): void { @@ -67,7 +66,6 @@ public function setUpPage(): void $this->paginaCadastroOrgaoExterno = new PaginaCadastroOrgaoExterno($this); $this->paginaExportarTiposProcesso = new PaginaExportarTiposProcesso($this); $this->paginaTipoProcessoReativar = new PaginaTipoProcessoReativar($this); - $this->paginaReordenarProcesso = new PaginaReordenarProcesso($this); $this->currentWindow()->maximize(); } From d0b8da77c2aab72f4d4f9fe5ad30021563f849d5 Mon Sep 17 00:00:00 2001 From: Mauro Costa Date: Wed, 28 Feb 2024 14:46:52 -0300 Subject: [PATCH 6/6] =?UTF-8?q?fix:=20corre=C3=A7=C3=A3o=20de=20arquivos?= =?UTF-8?q?=20com=20mapeamento=20que=20n=C3=A3o=20existe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests_sei4/funcional/docker-compose.yml | 2 -- tests_super/funcional/docker-compose.yml | 3 --- 2 files changed, 5 deletions(-) diff --git a/tests_sei4/funcional/docker-compose.yml b/tests_sei4/funcional/docker-compose.yml index fbe22e0a2..81dad2bc4 100755 --- a/tests_sei4/funcional/docker-compose.yml +++ b/tests_sei4/funcional/docker-compose.yml @@ -59,8 +59,6 @@ services: - ../../src/bd:/tests/sei/modpen/bd - ./assets/config:/opt/sei/config/mod-pen - /tmp:/tmp - - /tmp/sei_arquivos_1:/var/sei/arquivos/${ORG1_DATABASE_HOST} - - /tmp/sei_arquivos_2:/var/sei/arquivos/${ORG2_DATABASE_HOST} environment: - XDEBUG_CONFIG=client_host=host.docker.internal client_port=9003 start_with_request=0 - XDEBUG_SESSION=default diff --git a/tests_super/funcional/docker-compose.yml b/tests_super/funcional/docker-compose.yml index cd82963c1..fdf37c125 100755 --- a/tests_super/funcional/docker-compose.yml +++ b/tests_super/funcional/docker-compose.yml @@ -59,9 +59,6 @@ services: - ../../src/bd:/tests/sei/modpen/bd - ./assets/config:/opt/sei/config/mod-pen - /tmp:/tmp - - /tmp/sei_arquivos_1:/var/sei/arquivos/${ORG1_DATABASE_HOST} - - /tmp/sei_arquivos_2:/var/sei/arquivos/${ORG2_DATABASE_HOST} - - /tmp:/tmp environment: - XDEBUG_CONFIG=client_host=host.docker.internal client_port=9003 start_with_request=0 - XDEBUG_SESSION=default