diff --git a/tests_sei4/funcional/src/fixtures/AnexoProcessoFixture.php b/tests_sei4/funcional/src/fixtures/AnexoProcessoFixture.php new file mode 100644 index 000000000..a7ebfb91d --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/AnexoProcessoFixture.php @@ -0,0 +1,49 @@ +cadastrar( + [ + 'IdProtocolo' => $dados['IdProtocolo'], + 'IdTarefa' => \TarefaRN::$TI_ANEXADO_PROCESSO,//101 + ] + ); + $objAtividadeFixture->cadastrar( + [ + 'IdProtocolo' => $dados['IdDocumento'], + 'IdTarefa' => \TarefaRN::$TI_ANEXADO_AO_PROCESSO,//102 + 'IdUsuarioConclusao' => $dados['IdUsuarioConclusao'] ?: 100000001, + 'Conclusao' => InfraData::getStrDataHoraAtual(), + + ] + ); + $objAtividadeFixture->cadastrar( + [ + 'IdProtocolo' => $dados['IdDocumento'], + 'IdTarefa' => \TarefaRN::$TI_CONCLUSAO_AUTOMATICA_UNIDADE,//41 + 'IdUsuarioConclusao' => $dados['IdUsuarioConclusao'] ?: 100000001, + 'Conclusao' => InfraData::getStrDataHoraAtual(), + ] + ); + + $parametros = [ + 'IdProtocolo' => $dados['IdProtocolo'], // idprotocolo1 + 'IdDocumento' => $dados['IdDocumento'], // idprotocolo2 + 'Associacao' => 2, + ]; + $objRelProtocoloProtocoloFixture = new RelProtocoloProtocoloFixture(); + $objRelProtocoloProtocoloFixtureDTO = $objRelProtocoloProtocoloFixture->carregar($parametros); + return $objRelProtocoloProtocoloFixtureDTO; + + } +} \ No newline at end of file diff --git a/tests_sei4/funcional/src/fixtures/Anexofixture.php b/tests_sei4/funcional/src/fixtures/Anexofixture.php new file mode 100644 index 000000000..746d98dc6 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/Anexofixture.php @@ -0,0 +1,74 @@ +setNumIdUnidade($dados['IdUnidade'] ?: '110000001'); + $objAnexoDTO->setDblIdProtocolo($dados['IdProtocolo']); + $objAnexoDTO->setNumTamanho($dados['Tamanho'] ?: 16); + $objAnexoDTO->setNumIdBaseConhecimento($dados['IdBaseConhecimento'] ?: null); + $objAnexoDTO->setStrNome($dados['Nome']); + $objAnexoDTO->setDthInclusao($dados['Inclusao'] ?: \InfraData::getStrDataHoraAtual()); + $objAnexoDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); + $objAnexoDTO->setStrSinAtivo($dados['SinAtivo'] ?: 'S'); + $objAnexoDTO->setStrHash($dados['Hash'] ?: 'e307098a01b40de6183583f3163ac6ed'); + + $objAnexoBD = new \AnexoBD(\BancoSEI::getInstance()); + $objAnexoDTO = $objAnexoBD->cadastrar($objAnexoDTO); + $this->realizarUpload($dados['Nome'],$objAnexoDTO->getNumIdAnexo()); + + return $objAnexoDTO; + } + + public function realizarUpload($caminhoOrigem, $nomeDestino) + { + + // Obtém a orgão atual + $org = getenv('DATABASE_HOST'); + + // Obtém a data atual + $dataAtual = date('Y/m/d'); + + // Define os caminhos de destino baseado na data atual e no orgão que será feito o upload + $caminhoDestinoBase = "/var/sei/arquivos/{$org}/{$dataAtual}/"; + $caminhoOrigemBase = '/tmp/'; + + // Cria o diretório de destino se não existir + if (!file_exists($caminhoDestinoBase)) { + mkdir($caminhoDestinoBase, 0777, true); // Cria diretórios recursivamente com permissão 0777 + } + + // Cria o caminho completo de destino + $caminhoDestinoCompleto = $caminhoDestinoBase.$nomeDestino; + + // Cria o caminho completo de origem + $caminhoOrigemCompleto = $caminhoOrigemBase.$caminhoOrigem; + + try { + // Verifica se o arquivo de origem existe + if (!file_exists($caminhoOrigemCompleto)) { + throw new \Exception("O arquivo de origem não existe.\nArquivo=".$caminhoOrigemCompleto); + } + + // Copia o arquivo para o destino + if (!copy($caminhoOrigemCompleto, $caminhoDestinoCompleto)) { + throw new \Exception("Falha ao copiar o arquivo para o destino.\nArquivo=".$caminhoOrigemCompleto."\nDestino=".$caminhoDestinoCompleto); + } + + } catch (\Exception $e) { + echo "\nErro: " . $e->getMessage(); + } + } + +} \ No newline at end of file diff --git a/tests_sei4/funcional/src/fixtures/AssinaturaFixture.php b/tests_sei4/funcional/src/fixtures/AssinaturaFixture.php new file mode 100644 index 000000000..34467094a --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/AssinaturaFixture.php @@ -0,0 +1,55 @@ +cadastrar( + [ + 'IdProtocolo' => $dados['IdProtocolo'], + 'IdTarefa' => TarefaRN::$TI_ASSINATURA_DOCUMENTO, + ] + ); + + + $dados['IdAssinatura'] = $this->getObjInfraIBanco()->getValorSequencia('seq_assinatura'); + + $objAssinaturaDTO = new \AssinaturaDTO(); + $objAssinaturaDTO->setNumIdAssinatura($dados['IdAssinatura'] ?: null); + $objAssinaturaDTO->setDblIdDocumento($dados['IdDocumento'] ?: 4); + $objAssinaturaDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade()); + $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); + + + 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..ff8b553a5 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/AtividadeFixture.php @@ -0,0 +1,42 @@ +objAtividadeDTO = new \AtividadeDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + // $this->objAtividadeDTO->setNumIdAtividade($dados['setNumIdAtividade'] ?: null); + $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'] ?: null); + $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..9eee1bf69 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/AtributoAndamentoFixture.php @@ -0,0 +1,32 @@ +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/BlocoDeTramiteFixture.php b/tests_sei4/funcional/src/fixtures/BlocoDeTramiteFixture.php new file mode 100644 index 000000000..1ee8e3ae6 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/BlocoDeTramiteFixture.php @@ -0,0 +1,43 @@ +setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objBlocoDeTramiteDTO->setNumIdUsuario($dados['IdUsuario'] ?: 100000001); + $objBlocoDeTramiteDTO->setStrDescricao($dados['Descricao'] ?: 'Bloco para envio'); + $objBlocoDeTramiteDTO->setStrIdxBloco($dados['IdxBloco'] ?: 'Bloco para envio'); + $objBlocoDeTramiteDTO->setStrStaTipo($dados['IdxBloco'] ?: 'I'); + $objBlocoDeTramiteDTO->setStrStaEstado($dados['IdxBloco'] ?: 'A'); + + $objBlocoDeTramiteDB = new \TramiteEmBlocoBD(\BancoSEI::getInstance()); + $objBlocoDeTramiteDB->cadastrar($objBlocoDeTramiteDTO); + + return $objBlocoDeTramiteDTO; + } + + public function excluir($id) + { + $dto = new \TramiteEmBlocoDTO(); + $dto->setNumId($id); + $dto->retNumId(); + + $objBD = new \TramiteEmBlocoBD(\BancoSEI::getInstance()); + $objBD->excluir($dto); + } +} diff --git a/tests_sei4/funcional/src/fixtures/BlocoDeTramiteProtocoloFixture.php b/tests_sei4/funcional/src/fixtures/BlocoDeTramiteProtocoloFixture.php new file mode 100644 index 000000000..4bd1148ef --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/BlocoDeTramiteProtocoloFixture.php @@ -0,0 +1,32 @@ +objBlocoDeTramiteProtocoloDTO = new \TramitaEmBlocoProtocoloDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + + $this->objBlocoDeTramiteProtocoloDTO->setDblIdProtocolo($dados['IdProtocolo'] ?: null); + $this->objBlocoDeTramiteProtocoloDTO->setNumIdTramitaEmBloco($dados['IdTramitaEmBloco'] ?: null); + $this->objBlocoDeTramiteProtocoloDTO->setStrAnotacao($dados['Anotacao'] ?: null); + $this->objBlocoDeTramiteProtocoloDTO->setNumSequencia($dados['Sequencia'] ?: null); + $this->objBlocoDeTramiteProtocoloDTO->setStrIdxRelBlocoProtocolo($dados['IdxRelBlocoProtocolo'] ?: null); + + + $objBlocoDeTramiteProtocoloBD = new \TramitaEmBlocoProtocoloBD(\BancoSEI::getInstance()); + $objBlocoDeTramiteProtocoloBD->cadastrar($this->objBlocoDeTramiteProtocoloDTO); + + return $this->objBlocoDeTramiteProtocoloDTO; + } +} diff --git a/tests_sei4/funcional/src/fixtures/ContatoFixture.php b/tests_sei4/funcional/src/fixtures/ContatoFixture.php new file mode 100644 index 000000000..f80e6d891 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/ContatoFixture.php @@ -0,0 +1,44 @@ +objContatoDTO = new \ContatoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + + $dados['IdContato'] = $this->getObjInfraIBanco()->getValorSequencia('seq_contato'); + $dados['Nome'] = $dados['Nome'] ?: 'teste'; + + $this->objContatoDTO->setNumIdContato($dados['IdContato']); + $this->objContatoDTO->setNumIdContatoAssociado($dados['IdContatoAssociado'] ?: $dados['IdContato']); + $this->objContatoDTO->setStrNome($dados['Nome']); + $this->objContatoDTO->setStrNomeRegistroCivil($dados['NomeRegistroCivil'] ?: $dados['Nome']); + // $this->objContatoDTO->setNumIdCargo($dados['IdCargo'] ?: 0); + // $this->objContatoDTO->setNumIdCategoria($dados['IdCategoria'] ?: 110000001); + $this->objContatoDTO->setStrSinAtivo($dados['SinAtivo'] ?: 'S'); + $this->objContatoDTO->setStrIdxContato($dados['IdxContato'] ?: strtolower($dados['Nome'])); + $this->objContatoDTO->setNumIdUnidadeCadastro($dados['IdUnidadeCadastro'] ?: 110000001); + $this->objContatoDTO->setNumIdUsuarioCadastro($dados['IdUsuarioCadastro'] ?: 100000001); + $this->objContatoDTO->setDthCadastro($dados['Cadastro'] ?: \InfraData::getStrDataHoraAtual()); + $this->objContatoDTO->setNumIdTipoContato($dados['IdTipoContato'] ?: 4); + $this->objContatoDTO->setStrStaNatureza($dados['StaNatureza'] ?: 'F'); + $this->objContatoDTO->setStrSinEnderecoAssociado($dados['SinEnderecoAssociado'] ?: 'N'); + + $objContatoBD = new \ContatoBD(\BancoSEI::getInstance()); + $objContatoBD->cadastrar($this->objContatoDTO); + + return $this->objContatoDTO; + } + +} \ No newline at end of file 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..2bbb06c4a --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/DocumentoFixture.php @@ -0,0 +1,104 @@ +objDocumentoDTO = new \DocumentoDTO(); + } + + protected function inicializarObjInfraIBanco() + { + return \BancoSEI::getInstance(); + } + + protected function cadastrar($dados = []) + { + // $dados['IdProtocolo'] = $this->getObjInfraIBanco()->getValorSequencia('seq_protocolo'); + // $dados['IdDocumento'] = $this->getObjInfraIBanco()->getValorSequencia('seq_documento'); + + $protocoloFixture = new \ProtocoloFixture(); + $protocoloDTO = $protocoloFixture->cadastrar( + [ + 'StaProtocolo' => $dados['StaProtocolo'] ?: \ProtocoloRN::$TP_DOCUMENTO_GERADO, + 'Descricao' => $dados['Descricao'], + '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..310964f32 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/FixtureBase.php @@ -0,0 +1,60 @@ +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 = []; + 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; + } + + 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 index bbd5c017f..b9c1ebb68 100644 --- a/tests_sei4/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php +++ b/tests_sei4/funcional/src/fixtures/ImportacaoTiposProcessoFixture.php @@ -62,4 +62,4 @@ public function getTiposProcessos(int $idMapeamento, string $sinAtivo = 'S') return $tiposProcessos; } -} +} \ No newline at end of file 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..e4caba963 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/ProcedimentoFixture.php @@ -0,0 +1,38 @@ +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..cdf14a9a0 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/ProtocoloFixture.php @@ -0,0 +1,72 @@ +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); + + $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/RelBlocoProtocoloFixture.php b/tests_sei4/funcional/src/fixtures/RelBlocoProtocoloFixture.php new file mode 100644 index 000000000..3fb417727 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/RelBlocoProtocoloFixture.php @@ -0,0 +1,30 @@ +getObjInfraIBanco()->getValorSequencia('seq_protocolo'); + // $dados['IdDocumento'] = $this->getObjInfraIBanco()->getValorSequencia('seq_documento'); + + $objRelBlocoProtocoloDTO = new \RelBlocoProtocoloDTO(); + // $objBlocoDTO->setNumIdBloco(); + $objRelBlocoProtocoloDTO->setDblIdProtocolo($IdProtocolo ?: null); + $objRelBlocoProtocoloDTO->setNumIdBloco($dados['IdBloco'] ?: null); + $objRelBlocoProtocoloDTO->setStrAnotacao($dados['Anotacao'] ?: null); + $objRelBlocoProtocoloDTO->setNumSequencia($dados['Sequencia'] ?: 1); + $objRelBlocoProtocoloDTO->setStrIdxRelBlocoProtocolo($IdProtocolo); + + $objRelBlocoProtocoloDB = new \RelBlocoProtocoloBD(\BancoSEI::getInstance()); + $objRelBlocoProtocoloDB->cadastrar($objRelBlocoProtocoloDTO); + + return $objRelBlocoProtocoloDTO; + } +} \ No newline at end of file diff --git a/tests_sei4/funcional/src/fixtures/RelBlocoUnidadeFixture.php b/tests_sei4/funcional/src/fixtures/RelBlocoUnidadeFixture.php new file mode 100644 index 000000000..a6bf9719f --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/RelBlocoUnidadeFixture.php @@ -0,0 +1,38 @@ +setNumIdBloco(); + $objRelBlocoUnidadeDTO->setNumIdUnidade($dados['IdUnidade'] ?: 110000001); + $objRelBlocoUnidadeDTO->setNumIdBloco($dados['IdBloco'] ?: null); + $objRelBlocoUnidadeDTO->setNumIdGrupoBloco($dados['IdGrupoBloco'] ?: null); + $objRelBlocoUnidadeDTO->setNumIdUsuarioRevisao($dados['IdUsuarioRevisao'] ?: null); + $objRelBlocoUnidadeDTO->setNumIdUsuarioPrioridade($dados['IdUsuarioPrioridade'] ?: null); + $objRelBlocoUnidadeDTO->setNumIdUsuarioAtribuicao($dados['IdUsuarioAtribuicao'] ?: null); + $objRelBlocoUnidadeDTO->setNumIdUsuarioComentario($dados['IdUsuarioComentario'] ?: null); + $objRelBlocoUnidadeDTO->setStrSinRetornado($dados['SinRetornado'] ?: 'N'); + $objRelBlocoUnidadeDTO->setStrSinRevisao($dados['SinRevisao'] ?: 'N'); + $objRelBlocoUnidadeDTO->setStrSinPrioridade($dados['SinPrioridade'] ?: 'N'); + $objRelBlocoUnidadeDTO->setStrSinComentario($dados['SinComentario'] ?: 'N'); + $objRelBlocoUnidadeDTO->setStrTextoComentario($dados['TextoComentario'] ?: null); + $objRelBlocoUnidadeDTO->setDthRevisao($dados['Revisao'] ?: null); + $objRelBlocoUnidadeDTO->setDthPrioridade($dados['Prioridade'] ?: null); + $objRelBlocoUnidadeDTO->setDthComentario($dados['Comentario'] ?: null); + + $objBlocoUnidadeDB = new \RelBlocoUnidadeBD(\BancoSEI::getInstance()); + $objBlocoUnidadeDB->cadastrar($objRelBlocoUnidadeDTO); + + return $objRelBlocoUnidadeDTO; + } +} \ No newline at end of file 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..7bf2db754 --- /dev/null +++ b/tests_sei4/funcional/src/fixtures/SecaoDocumentoFixture.php @@ -0,0 +1,182 @@ +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->setNumIdSecaoDocumento(); + + $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' + ] + ]; + } + + // protected function cadastrarVariados($dados = []) + // { + // foreach ($dados as $dado) { + // $this->cadastrar($dado); + // } + // } +} diff --git a/tests_sei4/funcional/tests/TramiteBlocoExternoCadastroTest.php b/tests_sei4/funcional/tests/TramiteBlocoExternoCadastroTest.php new file mode 100644 index 000000000..051b606be --- /dev/null +++ b/tests_sei4/funcional/tests/TramiteBlocoExternoCadastroTest.php @@ -0,0 +1,78 @@ +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(); + + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + $this->paginaCadastrarProcessoEmBloco->novoBlocoDeTramite(); + $this->paginaCadastrarProcessoEmBloco->criarNovoBloco(); + $this->paginaCadastrarProcessoEmBloco->btnSalvar(); + + sleep(1); + $mensagem = $this->paginaCadastrarProcessoEmBloco->buscarMensagemAlerta(); + $this->assertStringContainsString( + utf8_encode('Bloco de Trâmite externo criado com sucesso!'), + $mensagem + ); + } + + /** + * Teste para editar bloco de trâmite externo já criado + * + * @return void + */ + public function test_editar_bloco_de_tramite() + { + self::$remetente = $this->definirContextoTeste(CONTEXTO_ORGAO_A); + self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + $this->paginaCadastrarProcessoEmBloco->editarBlocoDeTramite('Bloco editado para teste automatizado'); + $this->paginaCadastrarProcessoEmBloco->btnSalvar(); + + sleep(1); + $mensagem = $this->paginaCadastrarProcessoEmBloco->buscarMensagemAlerta(); + $this->assertStringContainsString( + utf8_encode('Bloco de trâmite externo alterado com sucesso!'), + $mensagem + ); + } + + public static function tearDownAfterClass(): void + { + // $objBlocoDeTramiteFixture = new \BlocoDeTramiteFixture(); + // $objBlocoDeTramiteFixture->excluir(1); + } +} \ No newline at end of file diff --git a/tests_sei4/funcional/tests/TramiteBlocoExternoLimiteAnexoTest.php b/tests_sei4/funcional/tests/TramiteBlocoExternoLimiteAnexoTest.php new file mode 100644 index 000000000..8f75f5c2b --- /dev/null +++ b/tests_sei4/funcional/tests/TramiteBlocoExternoLimiteAnexoTest.php @@ -0,0 +1,171 @@ +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(); + + } + + /** + * Teste inicial de trâmite de um processo contendo outro anexado + * + * @group envio + * @large + * + * @return void + */ + public function test_tramitar_processo_anexado_da_origem() + { + // Definição de dados de teste do processo principal + self::$documentoTeste1 = $this->gerarDadosDocumentoExternoTeste(self::$remetente, 'arquivo_pequeno_A.pdf'); + self::$documentoTeste2 = $this->gerarDadosDocumentoExternoTeste(self::$remetente, 'arquivo_pequeno_A.pdf'); + + $objBlocoDeTramiteFixture = new \BlocoDeTramiteFixture(); + $objBlocoDeTramiteDTO = $objBlocoDeTramiteFixture->carregar(); + + for ($i = 0; $i < self::$numQtyProcessos; $i++) { + $objProtocoloFixture = new \ProtocoloFixture(); + $objProtocoloFixtureDTO = $objProtocoloFixture->carregar(); + + $objProcedimentoFixture = new \ProcedimentoFixture(); + $objProcedimentoDTO = $objProcedimentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo() + ]); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo(), + 'IdTarefa' => TarefaRN::$TI_GERACAO_PROCEDIMENTO, + ]); + + $objParticipanteFixture = new \ParticipanteFixture(); + $objParticipanteFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo(), + ]); + + $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); + $objProtocoloAssuntoFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo() + ]); + + $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); + $objAtributoAndamentoFixture->carregar([ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ]); + + //Incluir novos documentos relacionados + $objDocumentoFixture = new \DocumentoFixture(); + $objDocumentoDTO = $objDocumentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo(), + 'IdProcedimento' => $objProcedimentoDTO->getDblIdProcedimento(), + 'Descricao' => self::$documentoTeste1['DESCRICAO'], + 'StaProtocolo' => \ProtocoloRN::$TP_DOCUMENTO_RECEBIDO, + 'StaDocumento' => \DocumentoRN::$TD_EXTERNO, + 'IdConjuntoEstilos' => NULL, + ]); + + //Adicionar anexo ao documento + $objAnexoFixture = new \AnexoFixture(); + $objAnexoFixture->carregar([ + 'IdProtocolo' => $objDocumentoDTO->getDblIdDocumento(), + 'Nome' => basename(self::$documentoTeste1['ARQUIVO']), + ]); + + // $objAssinaturaFixture = new \AssinaturaFixture(); + // $objAssinaturaFixture->carregar([ + // 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo(), + // 'IdDocumento' => $objDocumentoDTO->getDblIdDocumento(), + // 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade(), + // ]); + + $objBlocoDeTramiteProtocoloFixture = new \BlocoDeTramiteProtocoloFixture(); + $objBlocoDeTramiteProtocoloFixtureDTO = $objBlocoDeTramiteProtocoloFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo(), + 'IdTramitaEmBloco' => $objBlocoDeTramiteDTO->getNumId(), + 'IdxRelBlocoProtocolo' => $objProtocoloFixtureDTO->getStrProtocoloFormatado() + ]); + + self::$protocoloTestePrincipal['PROTOCOLO'] = $objProtocoloFixtureDTO->getStrProtocoloFormatado(); + } + + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + if (self::$tramitar == true) { + $this->paginaCadastrarProcessoEmBloco->bntTramitarBloco(); + $this->paginaCadastrarProcessoEmBloco->tramitarProcessoExternamente( + self::$destinatario['REP_ESTRUTURAS'], self::$destinatario['NOME_UNIDADE'], + self::$destinatario['SIGLA_UNIDADE_HIERARQUIA'], false + ); + sleep(10); + } else { + $this->paginaCadastrarProcessoEmBloco->bntVisualizarProcessos(); + $qtyProcessos = $this->paginaCadastrarProcessoEmBloco->retornarQuantidadeDeProcessosNoBloco(); + + $this->assertEquals($qtyProcessos, self::$numQtyProcessos); + } + } + + public function test_verificar_envio_processo() + { + $orgaosDiferentes = self::$remetente['URL'] != self::$destinatario['URL']; + + $this->acessarSistema(self::$remetente['URL'], self::$remetente['SIGLA_UNIDADE'], self::$remetente['LOGIN'], self::$remetente['SENHA']); + $this->visualizarProcessoTramitadosEmLote($this); + $this->navegarProcessoEmLote(0); + + $this->waitUntil(function ($testCase) use (&$orgaosDiferentes) { + sleep(5); + $testCase->refresh(); + $paginaTramitarProcessoEmLote = new PaginaTramitarProcessoEmLote($testCase); + $testCase->assertStringContainsString(utf8_encode("Nenhum registro encontrado."), $paginaTramitarProcessoEmLote->informacaoLote()); + return true; + }, PEN_WAIT_TIMEOUT_PROCESSAMENTO_EM_LOTE); + + sleep(5); + } + + public function test_verificar_envio_tramite_em_bloco() + { + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + $novoStatus = $this->paginaCadastrarProcessoEmBloco->retornarTextoColunaDaTabelaDeBlocos(); + + if (self::$tramitar == true) { + $this->assertNotEquals('Aberto', $novoStatus); + } else { + $this->assertEquals('Aberto', $novoStatus); + } + } +} \ No newline at end of file diff --git a/tests_sei4/funcional/tests/TramiteBlocoExternoLimiteTest.php b/tests_sei4/funcional/tests/TramiteBlocoExternoLimiteTest.php new file mode 100644 index 000000000..b2342b07b --- /dev/null +++ b/tests_sei4/funcional/tests/TramiteBlocoExternoLimiteTest.php @@ -0,0 +1,164 @@ +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(); + + } + + public function teste_tramite_bloco_externo() + { + + $objBlocoDeTramiteFixture = new \BlocoDeTramiteFixture(); + $objBlocoDeTramiteDTO = $objBlocoDeTramiteFixture->carregar(); + + for ($i = 0; $i < self::$numQtyProcessos; $i++) { + $objProtocoloFixture = new \ProtocoloFixture(); + $objProtocoloFixtureDTO = $objProtocoloFixture->carregar(); + + $objProcedimentoFixture = new \ProcedimentoFixture(); + $objProcedimentoDTO = $objProcedimentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo() + ]); + + $objAtividadeFixture = new \AtividadeFixture(); + $objAtividadeDTO = $objAtividadeFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo(), + 'IdTarefa' => TarefaRN::$TI_GERACAO_PROCEDIMENTO, + ]); + + $objParticipanteFixture = new \ParticipanteFixture(); + $objParticipanteFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo(), + ]); + + $objProtocoloAssuntoFixture = new \RelProtocoloAssuntoFixture(); + $objProtocoloAssuntoFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo() + ]); + + $objAtributoAndamentoFixture = new \AtributoAndamentoFixture(); + $objAtributoAndamentoFixture->carregar([ + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade() + ]); + + $objDocumentoFixture = new \DocumentoFixture(); + $objDocumentoDTO = $objDocumentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo(), + 'IdProcedimento' => $objProcedimentoDTO->getDblIdProcedimento(), + ]); + + $objAssinaturaFixture = new \AssinaturaFixture(); + $objAssinaturaFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo(), + 'IdDocumento' => $objDocumentoDTO->getDblIdDocumento(), + 'IdAtividade' => $objAtividadeDTO->getNumIdAtividade(), + ]); + + $objBlocoDeTramiteProtocoloFixture = new \BlocoDeTramiteProtocoloFixture(); + $objBlocoDeTramiteProtocoloFixtureDTO = $objBlocoDeTramiteProtocoloFixture->carregar([ + 'IdProtocolo' => $objProtocoloFixtureDTO->getDblIdProtocolo(), + 'IdTramitaEmBloco' => $objBlocoDeTramiteDTO->getNumId(), + 'IdxRelBlocoProtocolo' => $objProtocoloFixtureDTO->getStrProtocoloFormatado() + ]); + + self::$protocoloTestePrincipal = $objProtocoloFixtureDTO->getStrProtocoloFormatado(); + } + + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + + if (self::$tramitar == true) { + $this->paginaCadastrarProcessoEmBloco->bntTramitarBloco(); + $this->paginaCadastrarProcessoEmBloco->tramitarProcessoExternamente( + self::$destinatario['REP_ESTRUTURAS'], self::$destinatario['NOME_UNIDADE'], + self::$destinatario['SIGLA_UNIDADE_HIERARQUIA'], false + ); + sleep(5); + + } else { + $this->paginaCadastrarProcessoEmBloco->bntVisualizarProcessos(); + $qtyProcessos = $this->paginaCadastrarProcessoEmBloco->retornarQuantidadeDeProcessosNoBloco(); + + $this->assertEquals($qtyProcessos, self::$numQtyProcessos); + } + } + + /** + * Verificar se o bloco foi enviado + * + * + * @return void + */ + public function test_verificar_envio_processo() + { + $orgaosDiferentes = self::$remetente['URL'] != self::$destinatario['URL']; + + $this->acessarSistema(self::$remetente['URL'], self::$remetente['SIGLA_UNIDADE'], self::$remetente['LOGIN'], self::$remetente['SENHA']); + $this->visualizarProcessoTramitadosEmLote($this); + $this->navegarProcessoEmLote(0); + + $this->waitUntil(function ($testCase) use (&$orgaosDiferentes) { + sleep(5); + $testCase->refresh(); + $paginaTramitarProcessoEmLote = new PaginaTramitarProcessoEmLote($testCase); + $testCase->assertStringContainsString(utf8_encode("Nenhum registro encontrado."), $paginaTramitarProcessoEmLote->informacaoLote()); + return true; + }, PEN_WAIT_TIMEOUT_PROCESSAMENTO_EM_LOTE); + + sleep(5); + } + + /** + * Verificar atualização do bloco + * + * + * @return void + */ + public function test_verificar_envio_tramite_em_bloco() + { + + self::$remetente = $this->definirContextoTeste(CONTEXTO_ORGAO_A); + self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); + + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + $novoStatus = $this->paginaCadastrarProcessoEmBloco->retornarTextoColunaDaTabelaDeBlocos(); + + if (self::$tramitar == true) { + $this->assertNotEquals('Aberto', $novoStatus); + } else { + $this->assertEquals('Aberto', $novoStatus); + } + } +} \ No newline at end of file diff --git a/tests_sei4/funcional/tests/TramiteBlocoExternoProcessoJaIncluidoEmBlocoTest.php b/tests_sei4/funcional/tests/TramiteBlocoExternoProcessoJaIncluidoEmBlocoTest.php new file mode 100644 index 000000000..5d32b5659 --- /dev/null +++ b/tests_sei4/funcional/tests/TramiteBlocoExternoProcessoJaIncluidoEmBlocoTest.php @@ -0,0 +1,161 @@ +definirContextoTeste(CONTEXTO_ORGAO_A); + + $penMapUnidadesFixture = new \PenMapUnidadesFixture(CONTEXTO_ORGAO_A, [ + 'id' => self::$remetente['ID_ESTRUTURA'], + 'sigla' => self::$remetente['SIGLA_ESTRUTURA'], + 'nome' => self::$remetente['NOME_UNIDADE'] + ]); + $penMapUnidadesFixture->cadastrar(); + + $this->cadastrarBlocoDeTramite(); + $this->cadastrarProcessos(); + } + + /** + * Teste de inclusão de processo em bloco + * @return void + */ + public function teste_incluir_processo_em_bloco() + { + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + + $this->paginaBase->navegarParaControleProcesso(); + $this->paginaTramiteEmBloco->selecionarProcessos([$this->objProtocoloDTO->getStrProtocoloFormatado()]); + $this->paginaTramiteEmBloco->selecionarTramiteEmBloco(); + $this->paginaTramiteEmBloco->selecionarBloco($this->objBlocoDeTramiteDTO->getNumId()); + $this->paginaTramiteEmBloco->clicarSalvar(); + sleep(2); + $mensagem = $this->paginaTramiteEmBloco->buscarMensagemAlerta(); + $this->assertStringContainsString( + utf8_encode('Processo(s) incluído(s) com sucesso no bloco ' . $this->objBlocoDeTramiteDTO->getNumId()), + $mensagem + ); + + $this->paginaBase->sairSistema(); + } + + /** + * Teste de inclusão do mesmo processo em bloco + * @return void + */ + public function teste_mesmo_processo_em_bloco() + { + $objBlocoDeTramiteProtocoloFixture = new \BlocoDeTramiteProtocoloFixture(); + $objBlocoDeTramiteProtocoloFixture->carregar([ + 'IdProtocolo' => $this->objProtocoloDTO->getDblIdProtocolo(), + 'IdTramitaEmBloco' => $this->objBlocoDeTramiteDTO->getNumId(), + 'IdxRelBlocoProtocolo' => $this->objProtocoloDTO->getStrProtocoloFormatado() + ]); + + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + + $this->paginaBase->navegarParaControleProcesso(); + $this->paginaTramiteEmBloco->selecionarProcessos([$this->objProtocoloDTO->getStrProtocoloFormatado()]); + $this->paginaTramiteEmBloco->selecionarTramiteEmBloco(); + $this->paginaTramiteEmBloco->selecionarBloco($this->objBlocoDeTramiteDTO->getNumId()); + $this->paginaTramiteEmBloco->clicarSalvar(); + sleep(2); + $mensagem = $this->paginaTramiteEmBloco->buscarMensagemAlerta(); + $this->assertStringContainsString( + utf8_encode( + 'Prezado(a) usuário(a), o processo ' . $this->objProtocoloDTO->getStrProtocoloFormatado() + . ' encontra-se inserido no bloco de número ' . $this->objBlocoDeTramiteDTO->getNumId() . '.' + . ' Para continuar com essa ação é necessário que o processo seja removido do bloco em questão.' + ), + $mensagem + ); + + $this->paginaBase->sairSistema(); + } + + /** + * Cadastra o bloco de tramite + * @return void + */ + private function cadastrarBlocoDeTramite() + { + $objBlocoDeTramiteFixture = new \BlocoDeTramiteFixture(); + $this->objBlocoDeTramiteDTO = $objBlocoDeTramiteFixture->carregar(); + } + + /** + * Cadastra o bloco de tramite + * @return void + */ + private function cadastrarProcessos() + { + $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() + ]); + + $objDocumentoFixture = new \DocumentoFixture(); + $objDocumentoDTO = $objDocumentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdProcedimento' => $objProcedimentoDTO->getDblIdProcedimento(), + ]); + + $objAssinaturaFixture = new \AssinaturaFixture(); + $objAssinaturaFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdDocumento' => $objDocumentoDTO->getDblIdDocumento(), + 'IdAtividade' => $objProtocoloDTO->getDblIdProtocolo() + ]); + } + ); + } +} \ No newline at end of file diff --git a/tests_sei4/funcional/tests/TramiteBlocoExternoTest.php b/tests_sei4/funcional/tests/TramiteBlocoExternoTest.php new file mode 100644 index 000000000..39a00f29c --- /dev/null +++ b/tests_sei4/funcional/tests/TramiteBlocoExternoTest.php @@ -0,0 +1,103 @@ +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 = []; + $this->objProtocoloFixture = new \ProtocoloFixture(); + $this->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() + ]); + + $objDocumentoFixture = new \DocumentoFixture(); + $objDocumentoDTO = $objDocumentoFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdProcedimento' => $objProcedimentoDTO->getDblIdProcedimento(), + ]); + + $objAssinaturaFixture = new \AssinaturaFixture(); + $objAssinaturaFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdDocumento' => $objDocumentoDTO->getDblIdDocumento(), + 'IdAtividade' => $objProtocoloDTO->getDblIdProtocolo() + ]); + + $objBlocoDeTramiteFixture = new \BlocoDeTramiteFixture(); + $objBlocoDeTramiteDTO = $objBlocoDeTramiteFixture->carregar(); + + $objBlocoDeTramiteProtocoloFixture = new \BlocoDeTramiteProtocoloFixture(); + $objBlocoDeTramiteProtocoloFixtureDTO = $objBlocoDeTramiteProtocoloFixture->carregar([ + 'IdProtocolo' => $objProtocoloDTO->getDblIdProtocolo(), + 'IdTramitaEmBloco' => $objBlocoDeTramiteDTO->getNumId(), + 'IdxRelBlocoProtocolo' => $objProtocoloDTO->getStrProtocoloFormatado() + ]); + + }); + + } + + public function teste_tramite_bloco_externo() + { + // Configuração do dados para teste do cenário + self::$remetente = $this->definirContextoTeste(CONTEXTO_ORGAO_A); + self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); + $this->acessarSistema( + self::$remetente['URL'], + self::$remetente['SIGLA_UNIDADE'], + self::$remetente['LOGIN'], + self::$remetente['SENHA'] + ); + + $this->paginaCadastrarProcessoEmBloco->navegarListagemBlocoDeTramite(); + $this->paginaCadastrarProcessoEmBloco->bntTramitarBloco(); + $this->paginaCadastrarProcessoEmBloco->tramitarProcessoExternamente( + self::$destinatario['REP_ESTRUTURAS'], self::$destinatario['NOME_UNIDADE'], + self::$destinatario['SIGLA_UNIDADE_HIERARQUIA'], false + ); + sleep(10); + } +} \ No newline at end of file