Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Alterado a mensagem de erro apresentada ao tentar realizar um t… #334

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/rn/ProcessoEletronicoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -652,7 +652,12 @@ 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 Tramita.GOV.BR 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)));
}
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.';
}
Expand Down
48 changes: 48 additions & 0 deletions tests_super/funcional/tests/CenarioBaseTestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,54 @@ protected function tramitarProcessoExternamente($protocolo, $repositorio, $unida
sleep(1);
}

protected function tramitarProcessoExternamenteGestorNaoResponsavelUnidade ($repositorio, $unidadeDestino, $unidadeDestinoHierarquia) {

$bancoOrgaoA = new DatabaseUtils(CONTEXTO_ORGAO_A);
$bancoOrgaoA->execute("update md_pen_unidade set id_unidade_rh=? where id_unidade=?", array('151105', '110000001'));

// Acessar funcionalidade de trâmite externo
try {
$this->paginaTramitarProcessoEmLote->navegarControleProcessos();
} catch (Exception $e) {
$this->paginaProcesso->navegarParaTramitarProcesso();
}

// Preencher parâmetros do trâmite
$this->paginaTramitar->repositorio($repositorio);
$this->paginaTramitar->unidade($unidadeDestino, $unidadeDestinoHierarquia);
$this->paginaTramitar->tramitar();

$callbackEnvio = function ($testCase) {
try {
$testCase->frame('ifrEnvioProcesso');
$mensagemValidacao = utf8_encode('Por favor, observe o seguinte procedimento para realizar o mapeamento adequado: Acesse a funcionalidade Administração, em seguida selecione Tramita.GOV.BR 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.');
$testCase->assertStringContainsString($mensagemValidacao, $testCase->byCssSelector('body')->text());
$btnFechar = $testCase->byXPath("//input[@id='btnFechar']");
$btnFechar->click();
} finally {
try {
$this->frame(null);
$this->frame("ifrVisualizacao");
} catch (Exception $e) {
}
}

return true;
};

try {
$this->waitUntil($callbackEnvio, PEN_WAIT_TIMEOUT);
} finally {
try {
$this->frame(null);
$this->frame("ifrVisualizacao");
} catch (Exception $e) {
}
}

$bancoOrgaoA->execute("update md_pen_unidade set id_unidade_rh=? where id_unidade=?", array(CONTEXTO_ORGAO_A_ID_ESTRUTURA, '110000001'));
}

protected function tramitarProcessoInternamente($unidadeDestino)
{
// Acessar funcionalidade de trâmite interno
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php

class TramiteProcessoGestorNaoResponsavelPelaUnidadeMapeadaTest extends CenarioBaseTestCase
{
public static $remetente;
public static $processoTeste;
public static $documentoTeste;
public static $protocoloTeste;

/**
* Teste de cancelamento de trâmite com processo (em lote) contendo documento gerado (interno)
*
* @group envio
* @large
*
* @Depends CenarioBaseTestCase::setUpBeforeClass
*
* @return void
*/
public function test_tramite_gestor_nao_responsavel_unidade()
{
// Configuração dos dados para teste do cenário
self::$remetente = $this->definirContextoTeste(CONTEXTO_ORGAO_A);
self::$processoTeste = $this->gerarDadosProcessoTeste(self::$remetente);
self::$documentoTeste = $this->gerarDadosDocumentoInternoTeste(self::$remetente);
$estruturaOrgaoDestino = utf8_encode('Órgãos/ Entidades Legados');
$unidadeDestino = utf8_encode('super.orgao5.tramita.processoeletronico.gov.br');

$this->acessarSistema(self::$remetente['URL'], self::$remetente['SIGLA_UNIDADE'], self::$remetente['LOGIN'], self::$remetente['SENHA']);
self::$protocoloTeste = $this->cadastrarProcesso(self::$processoTeste);
$this->cadastrarDocumentoInterno(self::$documentoTeste);
$this->assinarDocumento(self::$remetente['ORGAO'], self::$remetente['CARGO_ASSINATURA'], self::$remetente['SENHA']);
$this->tramitarProcessoExternamenteGestorNaoResponsavelUnidade($estruturaOrgaoDestino, $unidadeDestino, '');
}

}
Loading