Files
sigrhapf/Documents/sigfip/sigefp/GUIA_RAPIDO_TESTES.md
2026-05-19 11:45:46 +00:00

353 lines
9.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🚀 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