===== Classes Persistentes e Tabelas Envolvidas =====
^ Classe ^ Tabela |
| br.ufrn.sipac.protocolo.dominio.Processo | administrativo.protocolo.processo |
| br.ufrn.sipac.protocolo.dominio.Movimento | administrativo.protocolo.movimento |
====== Plano de Teste ======
Sistema: SIPAC
Módulo: Protocolo
Link(s): Processos -> Cadastro -> Alterar Processo
Usuário: jbb (Gestor Documentos), cicera (Unidade Protocolizadora)
Papel que usuário deve ter: ProtocoloPapeis.GESTOR_DOCUMENTOS ou Unidade do usuário seja protocolizadora.
===== Cenários de Teste =====
* Verificar se é informado o radical do processo pelo sistema corretamente no cadastro. (Ver 2º item abaixo)
* Verificar se o carimbo da natureza do processo esta aparecendo na capa do processo, apenas no caso de um processo de natureza ostensiva não deve apresentar carimbo.
* Pode-se verificar se o processo foi cadastrado corretamente através do caso de uso //**SIPAC -> Protocolo -> Consultas/Relatórios -> Consultas -> Processo Detalhado**//
* Verificar se o log gerado contém todas as mudanças ocorridas durante a alteração do processo ([[#principais_regras_de_negócio|RN06]]):
* Tipo do Processo
* Assunto do Processo
* Assunto Detalhado
* Natureza do Processo
* Observação
* Documentos (quais foram inseridos e removidos)
* Interessados (quais foram inseridos e removidos)
* Arquivos (quais foram inseridos e removidos)
* Verificar os processo passíveis de alteração de acordo com o parâmetro PERMITE_ALTERAR_PROCESSOS_TRAMITADOS ([[#Principais Regras de Negócio| RN02 ]])
* Verificar os processo passíveis de alteração de acordo com o parâmetro RESTRINGIR_ALTERACAO_PROCESSO_OCORRENCIA_AO_CADASTRADOR_OU_ADMINISTRADOR ([[#Principais Regras de Negócio| RN10 ]])
* Remover documentos ( protocolados ou não) que já pertenciam ao processo, ou seja, inseridos no processo antes da alteração, verificando a ([[#principais_regras_de_negócio|RN09]]).
===== Dados para o Teste =====
Para alterar o parâmetro da **RN02**, podemos usar:
UPDATE comum.parametro SET valor = 'true' WHERE nome = 'PERMITE_ALTERAR_PROCESSOS_TRAMITADOS'
Para a **RN03**, podemos usar:
* Para encontrar usuários com a permissão de cadastrar processo e que apresentam mais de uma unidade, usamos :
SELECT pa.nome, u.login
FROM comum.usuario_unidade uu
JOIN comum.usuario u ON u.id_usuario = uu.id_usuario
JOIN comum.pessoa p ON p.id_pessoa = u.id_pessoa
JOIN comum.unidade un ON un.id_unidade = uu.id_unidade
JOIN comum.permissao pe ON pe.id_usuario = u.id_usuario
JOIN comum.papel pa ON pa.id = pe.id_papel
WHERE pe.id_papel = 15
GROUP BY pe.id_unidade_papel, pa.nome, u.login, uu.id_usuario
ORDER BY u.login
* Para saber quais das unidades o usuário tem permissão de cadastro de processo, usamos:
SELECT pa.nome, u.login, un.codigo_unidade, un.nome
FROM comum.usuario u
JOIN comum.permissao pe ON pe.id_usuario = u.id_usuario
JOIN comum.papel pa ON pa.id = pe.id_papel
JOIN comum.unidade un ON un.id_unidade = pe.id_unidade_papel
WHERE u.login like ''
AND pe.id_papel = 15
Caso nenhuma unidade seja mostrada, significa que não tem restrição de unidade.
Para sabermos os usuários das unidades protocolizadoras usamos:
SELECT u.login, un.nome
FROM comum.usuario u
JOIN comum.unidade un ON un.id_unidade = u.id_unidade
WHERE un.protocolizadora = true
Para a **RN04**, podemos saber se um processo é externo verificando seu atributo:
SELECT p.*
FROM protocolo p
WHERE p.processo_externo = true;
Para a **RN07**, utilizar o caso de uso de [[desenvolvimento:especificacoes:sipac:portal_administrativo:casos_de_uso:protocolo:consultas:processo_detalhado|Processo Detalhado]], na seção "Alterações Ocorridas no Processo", o log estará na coluna 'OBS'.
Para verificar a **RN08**, seguir os seguintes passos:
- [[cadastrar_processo|Cadastrar]] um novo processo.
- Verificar que o mesmo pode ser consultado em Alterar Processo.
- Realizar uma [[desenvolvimento:especificacoes:sipac:protocolo:casos_de_uso:processos:arquivo_cancelamento_diligencia:solicitar_cancelamento|solicitação de cancelamento]] no processo que cadastrou.
- Acessar novamente o caso de uso Alterar Processo e verificar que o processo não é mais mostrado.
Para alterar o parâmetro da **RN10**, podemos usar:
UPDATE comum.parametro SET valor = 'true' WHERE nome = 'RESTRINGIR_ALTERACAO_PROCESSO_OCORRENCIA_AO_CADASTRADOR_OU_ADMINISTRADOR'