220 lines
6.0 KiB
Markdown
220 lines
6.0 KiB
Markdown
# 📊 Scripts de Dados de Teste - SIGEFP
|
|
|
|
Este diretório contém scripts SQL para popular o banco de dados com dados de teste completos.
|
|
|
|
## 📋 Scripts Disponíveis
|
|
|
|
### 1. `insert_all_test_data.sql` (BASE)
|
|
**O que faz:**
|
|
- Cria a estrutura base de dados de teste
|
|
- Popula tabelas fundamentais: ministérios, unidades orgânicas, cargos
|
|
- Cria estrutura salarial completa
|
|
- Adiciona tipos de proventos e descontos
|
|
- Cria agentes, contratos e contas bancárias
|
|
- Cria ano fiscal e linhas orçamentárias
|
|
- Adiciona um período de folha básico
|
|
|
|
**Quando usar:**
|
|
- Primeira carga de dados de teste
|
|
- Reset do banco de dados de desenvolvimento
|
|
- Base para testes unitários
|
|
|
|
**Execução:**
|
|
```sql
|
|
\i sigefp-database/insert_all_test_data.sql
|
|
```
|
|
|
|
---
|
|
|
|
### 2. `insert_functional_test_data.sql` (COMPLEMENTAR)
|
|
**O que faz:**
|
|
- Adiciona períodos de folha adicionais (Fevereiro, Março 2025)
|
|
- Cria execuções de folha completas com status COMPLETED
|
|
- Adiciona itens de folha completos com todos os cálculos:
|
|
- Vencimento Base
|
|
- Abono de Família
|
|
- INPS (7%)
|
|
- IRPS (escalonado)
|
|
- Imposto de Selo (0.3%)
|
|
- Cria execuções orçamentárias (COMMITMENT, LIQUIDATION, PAYMENT)
|
|
- Adiciona lotes de pagamento
|
|
- Cria ordens de pagamento geradas a partir da folha
|
|
- Adiciona confirmações de pagamento do tesouro
|
|
- Completa o fluxo RH → Budget → Treasury
|
|
|
|
**Quando usar:**
|
|
- Após executar `insert_all_test_data.sql`
|
|
- Para testes funcionais completos
|
|
- Para testar fluxos end-to-end
|
|
- Para validar integrações entre módulos
|
|
|
|
**Execução:**
|
|
```sql
|
|
\i sigefp-database/insert_functional_test_data.sql
|
|
```
|
|
|
|
---
|
|
|
|
### 3. `insert_complete_test_data.sql` (ALTERNATIVO)
|
|
**O que faz:**
|
|
- Versão simplificada que usa dados existentes
|
|
- Adiciona dados complementares básicos
|
|
- Útil quando já existe alguma estrutura no banco
|
|
|
|
**Quando usar:**
|
|
- Quando já há dados no banco e quer apenas complementar
|
|
- Para adicionar dados específicos sem sobrescrever
|
|
|
|
---
|
|
|
|
## 🚀 Sequência Recomendada de Execução
|
|
|
|
### Para Testes Completos:
|
|
```sql
|
|
-- 1. Executar script base
|
|
\i sigefp-database/insert_all_test_data.sql
|
|
|
|
-- 2. Executar script complementar para testes funcionais
|
|
\i sigefp-database/insert_functional_test_data.sql
|
|
```
|
|
|
|
### Para Testes Básicos:
|
|
```sql
|
|
-- Apenas o script base
|
|
\i sigefp-database/insert_all_test_data.sql
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 Dados Criados
|
|
|
|
### Após `insert_all_test_data.sql`:
|
|
- ✅ 3 Ministérios
|
|
- ✅ 4 Unidades Orgânicas
|
|
- ✅ 4 Cargos
|
|
- ✅ 3 Bancos
|
|
- ✅ 1 Ano Fiscal (2025)
|
|
- ✅ 3 Linhas Orçamentárias
|
|
- ✅ 3 Alocações Orçamentárias
|
|
- ✅ Estrutura Salarial Completa
|
|
- ✅ 3 Tipos de Proventos
|
|
- ✅ 3 Tipos de Descontos
|
|
- ✅ Regras Globais de Desconto
|
|
- ✅ 5 Escalões de IRPS
|
|
- ✅ 5 Agentes
|
|
- ✅ 3 Contas Bancárias
|
|
- ✅ 2 Contratos
|
|
- ✅ 1 Período de Folha (Janeiro 2025)
|
|
- ✅ 1 Execução de Folha (DRAFT)
|
|
- ✅ 3 Itens de Folha Básicos
|
|
|
|
### Após `insert_functional_test_data.sql`:
|
|
- ✅ +2 Períodos de Folha (Fevereiro, Março)
|
|
- ✅ +2 Execuções de Folha (COMPLETED)
|
|
- ✅ +12 Itens de Folha Completos (com todos os cálculos)
|
|
- ✅ 6 Execuções Orçamentárias (COMMITMENT, LIQUIDATION, PAYMENT)
|
|
- ✅ 2 Lotes de Pagamento
|
|
- ✅ 3 Ordens de Pagamento
|
|
- ✅ 3 Confirmações de Pagamento do Tesouro
|
|
- ✅ Fluxo completo RH → Budget → Treasury
|
|
|
|
---
|
|
|
|
## 🧪 Cenários de Teste Cobertos
|
|
|
|
### ✅ Testes Unitários:
|
|
- Cálculos de INPS, IRPS e Selo
|
|
- Geração de itens de folha
|
|
- Validações de saldo orçamentário
|
|
- Criação de ordens de pagamento
|
|
|
|
### ✅ Testes de Integração:
|
|
- Fluxo completo: Folha → Compromisso → Liquidação → Pagamento
|
|
- Integração RH → Budget
|
|
- Integração Treasury → Budget
|
|
- Validações cruzadas entre módulos
|
|
|
|
### ✅ Testes Funcionais:
|
|
- Processamento de folha completa
|
|
- Geração de lotes de pagamento
|
|
- Confirmação de pagamentos
|
|
- Consultas e relatórios
|
|
- Dashboard com dados reais
|
|
|
|
---
|
|
|
|
## 📝 Notas Importantes
|
|
|
|
1. **Ordem de Execução**: Sempre execute `insert_all_test_data.sql` antes de `insert_functional_test_data.sql`
|
|
|
|
2. **Conflitos**: Os scripts usam `ON CONFLICT DO NOTHING`, então podem ser executados múltiplas vezes sem erro
|
|
|
|
3. **IDs Fixos**: Alguns IDs são fixos (UUIDs) para facilitar testes e referências
|
|
|
|
4. **Dados Realistas**: Os valores são baseados em valores típicos de Guiné-Bissau (em Francos CFA)
|
|
|
|
5. **Cálculos**: Os valores de descontos são calculados corretamente:
|
|
- INPS: 7% sobre o bruto
|
|
- Selo: 0.3% sobre o bruto
|
|
- IRPS: Escalonado conforme faixas (10-25%)
|
|
|
|
---
|
|
|
|
## 🔍 Verificação dos Dados
|
|
|
|
Após executar os scripts, você pode verificar os dados com:
|
|
|
|
```sql
|
|
-- Verificar contagens
|
|
SELECT 'PERIODOS FOLHA' as tipo, COUNT(*)::text as total
|
|
FROM payroll_period WHERE fiscal_year = 2025
|
|
UNION ALL
|
|
SELECT 'EXECUCOES FOLHA', COUNT(*)::text
|
|
FROM payroll_run WHERE period_id IN (
|
|
SELECT id FROM payroll_period WHERE fiscal_year = 2025
|
|
)
|
|
UNION ALL
|
|
SELECT 'ITENS FOLHA', COUNT(*)::text
|
|
FROM payroll_item WHERE payroll_run_id IN (
|
|
SELECT id FROM payroll_run WHERE period_id IN (
|
|
SELECT id FROM payroll_period WHERE fiscal_year = 2025
|
|
)
|
|
)
|
|
UNION ALL
|
|
SELECT 'EXECUCOES ORCAMENTARIAS', COUNT(*)::text
|
|
FROM budget_execution WHERE period_id >= 202501
|
|
UNION ALL
|
|
SELECT 'LOTES PAGAMENTO', COUNT(*)::text
|
|
FROM payment_batch WHERE period_id >= 202501
|
|
UNION ALL
|
|
SELECT 'ORDENS PAGAMENTO', COUNT(*)::text
|
|
FROM payment_order WHERE payment_batch_id IN (
|
|
SELECT id FROM payment_batch WHERE period_id >= 202501
|
|
)
|
|
UNION ALL
|
|
SELECT 'CONFIRMACOES TESOURO', COUNT(*)::text
|
|
FROM treasury_payment WHERE payment_order_id IN (
|
|
SELECT id FROM payment_order WHERE payment_batch_id IN (
|
|
SELECT id FROM payment_batch WHERE period_id >= 202501
|
|
)
|
|
)
|
|
ORDER BY tipo;
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 Próximos Passos
|
|
|
|
Com esses dados, você pode:
|
|
1. ✅ Testar todas as funcionalidades do sistema
|
|
2. ✅ Validar cálculos de folha de pagamento
|
|
3. ✅ Testar integrações entre módulos
|
|
4. ✅ Validar fluxos de negócio completos
|
|
5. ✅ Testar relatórios e dashboards
|
|
6. ✅ Validar regras de negócio do Decreto 12-A/94
|
|
|
|
---
|
|
|
|
**Última atualização:** 2024-12-22
|
|
|