Files

353 lines
9.0 KiB
Markdown
Raw Permalink Normal View History

# 🚀 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