===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.protocolo.dominio.Processo | administrativo.protocolo.processo | | br.ufrn.sipac.protocolo.dominio.Documento | administrativo.protocolo.documento| | br.ufrn.sipac.cadastro.dominio.Unidade | administrativo.comum.unidade | | br.ufrn.sipac.protocolo.dominio.OrgaoExternoProtocolo| administrativo.protocolo.orgao_externo_protocolo | | br.ufrn.sipac.protocolo.dominio.MovimentoDocumento | administrativo.protocolo.movimento_documento | | br.ufrn.sipac.protocolo.dominio.ClassificacaoConarq (Assunto) | administrativo.protocolo.classificacao_conarq | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Protocolo Link(s): Processos -> Cadastro -> Autuar Processo Usuário: marcilia, paulinho, bruma Papel que usuário deve ter: ProtocoloPapeis.CADASTRAR_PROTOCOLO ===== Cenários de Teste ===== * Verificar se no final da atuação o protocolo do processo é o mesmo do documento selecionado. ===== Dados para o Teste ===== Para **RN01**. A consulta abaixo traz os documentos que estão na unidade do usuário os quais não estão associados a um processo e, no caso dos memorandos eletrônicos, este esteja autenticado. SELECT d.* FROM protocolo.documento d JOIN protocolo.movimento_documento m ON m.idmovimento_documento = d.id_movimento_atual JOIN comum.unidade u ON u.id_unidade = m.codigounidadedestino WHERE m.datarecebimentodestino IS NOT NULL AND u.codigo_unidade = AND (d.idtipodocumento != 976 OR (d.idtipodocumento = 976 AND d.data_autenticacao IS NOT NULL)) -- 976: Memorando Eletrônico AND d.id_processo IS NULL ORDER BY d.iddocumento; Para a **RN02**, podemos usar: * Para encontrar usuários com a permissão de cadastrar protocolo 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 = 6 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 cadastrar protocolo, 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 = 6