Skip to content

Commit

Permalink
feat: adicionar teste para o SEI4
Browse files Browse the repository at this point in the history
  • Loading branch information
mrglaydson committed Mar 1, 2024
1 parent c7e3c12 commit 7edea9c
Show file tree
Hide file tree
Showing 25 changed files with 1,696 additions and 1 deletion.
49 changes: 49 additions & 0 deletions tests_sei4/funcional/src/fixtures/AnexoProcessoFixture.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?php

class AnexoProcessoFixture extends FixtureBase
{
protected $objAssinaturaDTO;

protected function inicializarObjInfraIBanco()
{
return \BancoSEI::getInstance();
}

protected function cadastrar($dados = [])
{
$objAtividadeFixture = new AtividadeFixture();
$objAtividadeFixture->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;

}
}
74 changes: 74 additions & 0 deletions tests_sei4/funcional/src/fixtures/Anexofixture.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?php

class AnexoFixture extends FixtureBase
{
protected $objAnexoDTO;

protected function inicializarObjInfraIBanco()
{
return \BancoSEI::getInstance();
}

protected function cadastrar($dados = [])
{
$dados['Nome'] = $dados['Nome'] ?: 'arquivo_pequeno_A.pdf';

$objAnexoDTO = new \AnexoDTO();
$objAnexoDTO->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();
}
}

}
55 changes: 55 additions & 0 deletions tests_sei4/funcional/src/fixtures/AssinaturaFixture.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php

use InfraData;

class AssinaturaFixture extends \FixtureBase
{
protected $objAssinaturaDTO;

CONST TRATAMENTO = 'Presidente, Substituto';
CONST ID_TARJA_ASSINATURA = 2;

protected function inicializarObjInfraIBanco()
{
return \BancoSEI::getInstance();
}

protected function cadastrar($dados = [])
{

$objAtividadeFixture = new \AtividadeFixture();
$objAtividadeDTO = $objAtividadeFixture->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;
}
}
42 changes: 42 additions & 0 deletions tests_sei4/funcional/src/fixtures/AtividadeFixture.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php

use InfraData;

class AtividadeFixture extends \FixtureBase
{
protected $objAtividadeDTO;

public function __construct()
{
$this->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;
}
}
32 changes: 32 additions & 0 deletions tests_sei4/funcional/src/fixtures/AtributoAndamentoFixture.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

// use Tests\Funcional\Fixture;
use InfraData;

class AtributoAndamentoFixture extends \FixtureBase
{
protected $objAtributoAndamentoDTO;

public function __construct()
{
$this->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;
}
}
43 changes: 43 additions & 0 deletions tests_sei4/funcional/src/fixtures/BlocoDeTramiteFixture.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?php

use InfraData;

class BlocoDeTramiteFixture extends \FixtureBase
{
protected $objBlocoDeTramiteDTO;

CONST TRATAMENTO = 'Presidente, Substituto';
CONST ID_TARJA_ASSINATURA = 2;

protected function inicializarObjInfraIBanco()
{
return \BancoSEI::getInstance();
}

protected function cadastrar($dados = [])
{
$objBlocoDeTramiteDTO = new \TramiteEmBlocoDTO();

$objBlocoDeTramiteDTO->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);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

class BlocoDeTramiteProtocoloFixture extends \FixtureBase
{
protected $objBlocoDeTramiteProtocoloDTO;

public function __construct()
{
$this->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;
}
}
44 changes: 44 additions & 0 deletions tests_sei4/funcional/src/fixtures/ContatoFixture.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?php

class ContatoFixture extends FixtureBase
{
protected $objContatoDTO;

public function __construct()
{
$this->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;
}

}
Loading

0 comments on commit 7edea9c

Please sign in to comment.