# 🚀 Guia Rápido de Testes - SIGEFP **Para testadores e desenvolvedores** **Versão:** 1.0 --- ## 📋 Checklist de Testes por Módulo Use este guia para verificar rapidamente se cada funcionalidade está funcionando corretamente. --- ## ✅ Módulo Administração ### Utilizadores - [ ] Criar utilizador com dados válidos - [ ] Tentar criar com username duplicado (deve dar erro) - [ ] Tentar criar com email inválido (deve dar erro) - [ ] Editar utilizador existente - [ ] Atribuir perfis a utilizador - [ ] Desativar utilizador ### Perfis - [ ] Criar perfil com código único - [ ] Tentar criar com código duplicado (deve dar erro) - [ ] Atribuir permissões ao perfil - [ ] Editar perfil existente ### Auditoria - [ ] Consultar todos os logs - [ ] Filtrar por utilizador - [ ] Filtrar por módulo - [ ] Filtrar por período - [ ] Exportar logs --- ## ✅ Módulo Organização ### Ministérios - [ ] Criar ministério - [ ] Tentar criar com código duplicado (deve dar erro) - [ ] Editar ministério - [ ] Buscar ministério ### Unidades Orgânicas - [ ] Criar unidade de nível 1 (sem pai) - [ ] Criar unidade de nível 2 (com pai) - [ ] Verificar hierarquia - [ ] Filtrar por ministério ### Cargos - [ ] Criar cargo - [ ] Tentar criar com código duplicado (deve dar erro) - [ ] Editar cargo - [ ] Buscar cargo --- ## ✅ Módulo RH & Folha ### Agentes - [ ] Criar agente completo - [ ] Tentar criar com matrícula duplicada (deve dar erro) - [ ] Editar agente - [ ] Visualizar detalhes completos - [ ] Filtrar por status - [ ] Filtrar por ministério - [ ] Exportar lista (PDF/Excel) ### Contratos - [ ] Criar contrato permanente - [ ] Criar contrato temporário - [ ] Tentar criar dois contratos ativos (deve dar erro) - [ ] Editar contrato - [ ] Filtrar por agente ### Contas Bancárias - [ ] Criar conta bancária - [ ] Marcar como primária - [ ] Tentar criar segunda primária (deve desmarcar anterior) - [ ] Editar conta ### Grelha Salarial - [ ] Visualizar estrutura completa - [ ] Criar categoria - [ ] Criar grau - [ ] Criar escalão - [ ] Definir valor para escalão ### Períodos de Folha - [ ] Criar período - [ ] Abrir período (DRAFT → OPEN) - [ ] Tentar abrir dois períodos (deve dar erro) - [ ] Fechar período (OPEN → CLOSED) ### Processamento - [ ] Criar processamento - [ ] Processar folha (calcular itens) - [ ] Verificar cálculos: - [ ] Vencimento base - [ ] Proventos (abono) - [ ] Descontos (INPS, IRPS, Selo) - [ ] Gerar ordens de pagamento - [ ] Exportar folha ### Regras de Imposto - [ ] Visualizar regras ativas - [ ] Criar regra de INPS - [ ] Criar regra de Selo - [ ] Desativar regra antiga ### Escalões IRPS - [ ] Visualizar escalões - [ ] Criar novo escalão - [ ] Verificar que não há sobreposição - [ ] Editar escalão ### Avaliações - [ ] Visualizar avaliações - [ ] Finalizar avaliação DRAFT - [ ] Verificar cálculo de menção - [ ] Filtrar por agente - [ ] Filtrar por ano --- ## ✅ Módulo Orçamento ### Exercícios Fiscais - [ ] Criar exercício - [ ] Abrir exercício (DRAFT → OPEN) - [ ] Tentar abrir dois exercícios (deve dar erro) - [ ] Fechar exercício (OPEN → CLOSED) ### Linhas Orçamentais - [ ] Criar linha - [ ] Verificar saldos iniciais - [ ] Após processar folha, verificar comprometimento - [ ] Após liquidação, verificar saldo liquidado - [ ] Após pagamento, verificar saldo pago ### Execução - [ ] Visualizar todos os movimentos - [ ] Filtrar por linha - [ ] Filtrar por período - [ ] Filtrar por tipo (COMMITMENT, LIQUIDATION, PAYMENT) - [ ] Verificar sequência correta --- ## ✅ Módulo Tesouraria ### Lotes de Pagamento - [ ] Criar lote - [ ] Atualizar status (CREATED → SENT_TO_BANK) - [ ] Atualizar status (SENT_TO_BANK → CONFIRMED) - [ ] Filtrar por período - [ ] Filtrar por ministério ### Ordens de Pagamento - [ ] Visualizar ordens geradas - [ ] Verificar valores (bruto vs líquido) - [ ] Filtrar por lote - [ ] Filtrar por status - [ ] Visualizar detalhes ### Confirmações - [ ] Registrar confirmação - [ ] Marcar como PAID - [ ] Verificar criação de PAYMENT no orçamento - [ ] Verificar atualização de saldo - [ ] Filtrar por status --- ## ✅ Módulo Dados Comuns ### Bancos - [ ] Criar banco - [ ] Tentar criar com código duplicado (deve dar erro) - [ ] Editar banco - [ ] Verificar uso em contas bancárias --- ## 🔄 Fluxo Integrado Completo ### Teste End-to-End **Pré-requisitos:** - [ ] Banco criado - [ ] Ministério criado - [ ] Unidade orgânica criada - [ ] Cargo criado **Passos:** 1. [ ] Criar exercício fiscal 2025 e abrir 2. [ ] Criar linha orçamentária (valor: 10.000.000 XOF) 3. [ ] Criar período de folha Janeiro 2025 e abrir 4. [ ] Criar agente completo 5. [ ] Criar contrato (salário: 600.000 XOF) 6. [ ] Criar conta bancária primária 7. [ ] Criar processamento de folha 8. [ ] Processar folha 9. [ ] Verificar: - [ ] Itens calculados corretamente - [ ] COMMITMENT criado - [ ] Saldo disponível atualizado 10. [ ] Gerar ordens de pagamento 11. [ ] Criar lote de pagamento 12. [ ] Enviar lote ao banco 13. [ ] Registrar confirmação (PAID) 14. [ ] Verificar: - [ ] PAYMENT criado - [ ] Saldo disponível atualizado **Resultado Esperado:** - ✅ Todos os passos executados sem erros - ✅ Valores calculados corretamente - ✅ Integração funcionando - ✅ Saldos corretos --- ## 🧮 Teste de Cálculos ### Cenário: Agente com Salário 600.000 XOF **Dados:** - Salário base: 600.000 XOF - 2 dependentes (abono: 2.000 XOF cada) - INPS: 7% - Selo: 0.3% - IRPS: conforme escalões **Cálculos Esperados:** - Vencimento Base: **600.000 XOF** - Abono de Família: **4.000 XOF** (2 × 2.000) - Total Bruto: **604.000 XOF** - INPS (7%): **42.280 XOF** - Selo (0.3%): **1.812 XOF** - Base IRPS: **561.720 XOF** (604.000 - 42.280) - IRPS: **~46.172 XOF** (conforme escalão) - Total Descontos: **~90.264 XOF** - Valor Líquido: **~513.736 XOF** **Verificações:** - [ ] Vencimento base correto - [ ] Abono calculado corretamente - [ ] INPS calculado corretamente - [ ] Selo calculado corretamente - [ ] IRPS calculado corretamente - [ ] Valor líquido correto --- ## ⚠️ Teste de Validações ### Cenários de Erro Esperados - [ ] Criar agente com matrícula duplicada → **ERRO** - [ ] Criar contrato sem agente → **ERRO** - [ ] Processar folha com período fechado → **ERRO** - [ ] Criar linha com exercício fechado → **ERRO** - [ ] Gerar ordens sem folha processada → **ERRO** - [ ] Registrar pagamento sem ordem → **ERRO** - [ ] Abrir dois períodos para mesmo mês → **ERRO** - [ ] Abrir dois exercícios → **ERRO** - [ ] Criar dois contratos ativos para mesmo agente → **ERRO** - [ ] Criar duas contas primárias para mesmo agente → **ERRO** **Verificações:** - [ ] Mensagem de erro apropriada exibida - [ ] Dados não foram salvos - [ ] Sistema permanece em estado consistente --- ## 📊 Teste de Integração Orçamentária ### Cenário: Folha de 800.000 XOF em linha com 1.000.000 XOF **Passos:** 1. [ ] Criar linha com saldo: 1.000.000 XOF 2. [ ] Processar folha bruto: 800.000 XOF 3. [ ] Verificar COMMITMENT: 800.000 XOF 4. [ ] Verificar saldo disponível: 200.000 XOF 5. [ ] Processar liquidação 6. [ ] Verificar LIQUIDATION: 800.000 XOF 7. [ ] Confirmar pagamento líquido: 700.000 XOF 8. [ ] Verificar PAYMENT: 700.000 XOF 9. [ ] Verificar saldo disponível: 200.000 XOF (mantido) **Verificações:** - [ ] COMMITMENT criado corretamente - [ ] LIQUIDATION criado corretamente - [ ] PAYMENT criado corretamente - [ ] Saldos atualizados corretamente - [ ] Sequência respeitada --- ## 🔍 Checklist de Coerência e Lógica ### Validações de Negócio - [ ] Período deve estar aberto para processar folha - [ ] Exercício deve estar aberto para criar linhas - [ ] Agente deve ter contrato ativo - [ ] Agente deve ter conta bancária primária - [ ] Linha deve ter saldo disponível - [ ] Folha deve estar COMPLETED para gerar ordens - [ ] Ordem deve estar em lote para enviar - [ ] Status só pode avançar (não retroceder) ### Integridade de Dados - [ ] IDs referenciados existem - [ ] Relacionamentos são válidos - [ ] Valores não são negativos - [ ] Datas são válidas (não futuras onde aplicável) - [ ] Códigos são únicos - [ ] Status são consistentes ### Cálculos - [ ] Vencimento = valor do escalão - [ ] Proventos somados corretamente - [ ] Descontos calculados corretamente - [ ] Valor líquido = bruto - descontos - [ ] Saldo disponível = alocado - comprometido - [ ] Percentuais aplicados corretamente --- ## 📝 Notas para Testes 1. **Use dados de teste** do banco (`insert_all_test_data.sql` e `insert_functional_test_data.sql`) 2. **Teste em ordem** recomendada (Dados Comuns → Organização → Orçamento → RH → Folha → Tesouraria) 3. **Verifique logs** do backend para erros 4. **Compare valores** com cálculos manuais 5. **Teste casos extremos** (valores zero, valores muito altos, datas inválidas) 6. **Teste validações** tentando ações inválidas 7. **Verifique integração** entre módulos --- **Guia gerado em:** 2025-01-XX **Versão:** 1.0