32 KiB
🧪 Plano Completo de Testes End-to-End
Módulos: Orçamento e Tesouro (Incluindo Pagamento de Salário)
Versão: 1.0
Data: 2025-01-27
Objetivo: Testar todas as funcionalidades de Orçamento e Tesouro, incluindo integração com RH para pagamento de salários
📋 Índice
- Pré-requisitos e Configuração Inicial
- Cenário 1: Elaboração Completa do Orçamento
- Cenário 2: Execução Orçamentária (Empenho, Liquidação, Pagamento)
- Cenário 3: Processo Completo de Pagamento de Salário
- Cenário 4: Gestão de Tesouraria (Planos, Contas, Entradas)
- Cenário 5: Workflow de Autorização e Aprovação
- Cenário 6: Lotes de Pagamento e Execução
- Cenário 7: Conciliação Bancária
- Cenário 8: Integração Orçamento ↔ Tesouro
- Cenário 9: Validações e Regras de Negócio
- Cenário 10: Fluxo Completo End-to-End
1. Pré-requisitos e Configuração Inicial
1.1 Dados de Teste Necessários
Usuários:
admin@sigefp.gov(Administrador)tesouro@sigefp.gov(Diretor do Tesouro)aprovador1@sigefp.gov(Aprovador Nível 1)aprovador2@sigefp.gov(Aprovador Nível 2)aprovador3@sigefp.gov(Aprovador Nível 3)rh@sigefp.gov(Gestor de RH)
Unidades Orgânicas:
- Ministério da Saúde (ID:
uuid-minist-saude) - Ministério da Educação (ID:
uuid-minist-educ) - Direção Geral do Tesouro (ID:
uuid-dgt)
Bancos:
- BCEAO (Banco Central)
- BICIS (Banco Comercial)
- Ecobank (Banco Comercial)
Agentes (RH):
- João Silva (ID:
uuid-joao-silva) - Maria Santos (ID:
uuid-maria-santos) - Pedro Costa (ID:
uuid-pedro-costa)
1.2 Configuração Inicial
Passos:
- ✅ Acessar sistema como
admin@sigefp.gov - ✅ Verificar que todos os módulos estão ativos
- ✅ Criar unidades orgânicas (se não existirem)
- ✅ Criar bancos (se não existirem)
- ✅ Criar usuários com permissões adequadas
- ✅ Verificar integrações entre módulos
Verificações:
- Todos os menus estão visíveis
- Permissões de usuários configuradas corretamente
- Banco de dados inicializado
2. Cenário 1: Elaboração Completa do Orçamento
2.1 Criar Exercício Fiscal
Objetivo: Criar e configurar o exercício fiscal para 2025
Passos:
- Acessar:
Orçamento → Exercícios Fiscais - Clicar em "Novo Exercício"
- Preencher:
- Ano: 2025
- Data Início: 01/01/2025
- Data Fim: 31/12/2025
- Status: DRAFT
- Descrição: "Exercício Fiscal 2025"
- Clicar em "Salvar"
Verificações:
- Exercício criado com sucesso
- Status = DRAFT
- Exercício aparece na lista
- Não é possível criar outro exercício para o mesmo ano
Dados Esperados:
{
"year": 2025,
"startDate": "2025-01-01",
"endDate": "2025-12-31",
"status": "DRAFT"
}
2.2 Criar Linhas Orçamentárias
Objetivo: Criar rubricas orçamentárias para categorização de despesas
Passos:
- Acessar:
Orçamento → Linhas Orçamentárias - Clicar em "Nova Linha"
- Criar as seguintes linhas:
Linha 1: Salários e Vencimentos
- Código:
2.1.01.01 - Nome: "Salários e Vencimentos - Pessoal Permanente"
- Tipo: DESPESA
- Unidade Orgânica: Ministério da Saúde
- Exercício Fiscal: 2025
Linha 2: Aquisição de Medicamentos
- Código:
2.1.02.05 - Nome: "Aquisição de Medicamentos e Material Médico"
- Tipo: DESPESA
- Unidade Orgânica: Ministério da Saúde
- Exercício Fiscal: 2025
Linha 3: Manutenção de Infraestrutura
- Código:
2.1.03.10 - Nome: "Manutenção de Infraestrutura Escolar"
- Tipo: DESPESA
- Unidade Orgânica: Ministério da Educação
- Exercício Fiscal: 2025
Verificações:
- Todas as linhas criadas com sucesso
- Códigos únicos e válidos
totalAllocated= 0 (ainda sem dotações)availableBalance= 0- Linhas aparecem na lista
2.3 Registrar Dotações (Budget Entries)
Objetivo: Alocar recursos orçamentários às linhas criadas
Passos:
- Acessar:
Orçamento → Linhas Orçamentárias - Para cada linha, clicar no botão 💼 (Wallet) na coluna "Ações"
- Preencher o modal de dotação:
Dotação 1: Salários e Vencimentos
- Tipo: INITIAL_ALLOCATION
- Valor: 50.000.000 XOF
- Data: 01/01/2025
- Referência Documental: "Lei Orçamental nº 15/2024"
- Descrição: "Dotação inicial para salários do pessoal permanente"
Dotação 2: Aquisição de Medicamentos
- Tipo: INITIAL_ALLOCATION
- Valor: 30.000.000 XOF
- Data: 01/01/2025
- Referência Documental: "Lei Orçamental nº 15/2024"
- Descrição: "Dotação inicial para aquisição de medicamentos"
Dotação 3: Manutenção de Infraestrutura
- Tipo: INITIAL_ALLOCATION
- Valor: 20.000.000 XOF
- Data: 01/01/2025
- Referência Documental: "Lei Orçamental nº 15/2024"
- Descrição: "Dotação inicial para manutenção de infraestrutura"
Verificações:
- Todas as dotações criadas com sucesso
totalAllocatedatualizado corretamente em cada linhaavailableBalance=totalAllocated(ainda sem empenhos)- Dotações aparecem na lista de
BudgetEntry - Data da dotação está dentro do exercício fiscal
Dados Esperados Após Dotações:
Linha 1 (Salários):
- totalAllocated: 50.000.000 XOF
- availableBalance: 50.000.000 XOF
Linha 2 (Medicamentos):
- totalAllocated: 30.000.000 XOF
- availableBalance: 30.000.000 XOF
Linha 3 (Infraestrutura):
- totalAllocated: 20.000.000 XOF
- availableBalance: 20.000.000 XOF
2.4 Abrir Exercício Fiscal
Objetivo: Ativar o exercício fiscal para permitir execução orçamentária
Passos:
- Acessar:
Orçamento → Exercícios Fiscais - Localizar exercício 2025 (status: DRAFT)
- Clicar em "Abrir Exercício"
- Confirmar ação
Verificações:
- Status mudou para OPEN
- Data de abertura registrada
- Não é possível criar novas dotações do tipo INITIAL_ALLOCATION
- É possível criar dotações do tipo SUPPLEMENTARY_CREDIT
- Sistema valida que não há COMMITMENT sem LIQUIDATION antes de abrir
Validações do Sistema:
- ✅ Verifica se há linhas orçamentárias
- ✅ Verifica se há pelo menos uma dotação por linha
- ✅ Impede abertura se houver inconsistências
3. Cenário 2: Execução Orçamentária
3.1 Verificar Estado Inicial
Passos:
- Acessar:
Orçamento → Execução - Verificar que não há execuções ainda
- Acessar:
Orçamento → Linhas Orçamentárias - Verificar saldos disponíveis
Verificações:
- Lista de execuções vazia
- Todas as linhas com
availableBalance=totalAllocated totalCommitted= 0 para todas as linhas
3.2 Teste de Empenho (COMMITMENT) - Via RH
Objetivo: Criar empenho orçamentário através do processamento de folha de pagamento
Pré-requisito: Ter uma folha de pagamento processada (ver Cenário 3)
Passos:
- Processar folha de pagamento (ver Cenário 3.3)
- Acessar:
Orçamento → Execução - Filtrar por tipo: COMMITMENT
- Verificar execuções criadas
Verificações:
BudgetExecutiondo tipo COMMITMENT criadoreferenceId= ID do PayrollRunmovementType= COMMITMENTamount= valor total da folhaBudgetLine.totalCommittedatualizadoBudgetLine.availableBalancereduzido- Data dentro do exercício fiscal
Dados Esperados:
Linha 1 (Salários):
- totalCommitted: [valor da folha]
- availableBalance: 50.000.000 - [valor da folha]
3.3 Teste de Liquidação (LIQUIDATION)
Objetivo: Criar liquidação após processamento completo da folha
Passos:
- Após processar folha (Cenário 3.3)
- Acessar:
Orçamento → Execução - Filtrar por tipo: LIQUIDATION
- Verificar execuções criadas
Verificações:
BudgetExecutiondo tipo LIQUIDATION criadoreferenceId= ID do PayrollItem- Validação: LIQUIDATION <= COMMITMENT disponível
- Sistema impede LIQUIDATION sem COMMITMENT correspondente
- Sistema impede LIQUIDATION > COMMITMENT disponível
3.4 Teste de Pagamento (PAYMENT) - Via Tesouro
Objetivo: Criar execução de pagamento após confirmação no Tesouro
Pré-requisito: Ter ordem de pagamento confirmada (ver Cenário 6)
Passos:
- Confirmar pagamento no Tesouro (ver Cenário 6.5)
- Acessar:
Orçamento → Execução - Filtrar por tipo: PAYMENT
- Verificar execuções criadas automaticamente
Verificações:
BudgetExecutiondo tipo PAYMENT criado automaticamentereferenceId= ID do TreasuryPayment- Validação: PAYMENT <= LIQUIDATION disponível
- Sistema impede PAYMENT sem LIQUIDATION correspondente
BudgetLineatualizado corretamente
4. Cenário 3: Processo Completo de Pagamento de Salário
3.1 Preparação: Verificar Agentes e Contratos
Passos:
- Acessar:
RH → Agentes - Verificar que existem agentes cadastrados:
- João Silva
- Maria Santos
- Pedro Costa
- Verificar que cada agente tem:
- Contrato ativo
- Conta bancária cadastrada
- Salário base definido
Verificações:
- Pelo menos 3 agentes cadastrados
- Contratos com status ACTIVE
- Contas bancárias válidas (IBAN, banco)
3.2 Criar Execução de Folha (PayrollRun)
Passos:
- Acessar:
RH → Execuções de Folha - Clicar em "Nova Execução"
- Preencher:
- Período: Janeiro/2025
- Tipo: MONTHLY
- Descrição: "Folha de Pagamento - Janeiro 2025"
- Clicar em "Criar"
Verificações:
- PayrollRun criado com status DRAFT
- Aparece na lista de execuções
- Status inicial = DRAFT
3.3 Gerar Itens de Folha (PayrollItems)
Passos:
- Na execução criada, clicar em "Gerar Itens"
- Aguardar processamento
- Verificar itens gerados
Verificações:
- Itens gerados para todos os agentes ativos
- Cada item contém:
- Agente
- Salário base
- Descontos (se houver)
- Valor líquido
- Status dos itens = DRAFT
Dados Esperados:
PayrollItem 1 (João Silva):
- grossAmount: 500.000 XOF
- deductions: 50.000 XOF
- netAmount: 450.000 XOF
PayrollItem 2 (Maria Santos):
- grossAmount: 600.000 XOF
- deductions: 60.000 XOF
- netAmount: 540.000 XOF
PayrollItem 3 (Pedro Costa):
- grossAmount: 550.000 XOF
- deductions: 55.000 XOF
- netAmount: 495.000 XOF
Total: 1.485.000 XOF
3.4 Processar Folha (Integração com Orçamento)
Passos:
- Na execução, clicar em "Processar Folha"
- Selecionar linha orçamentária: "Salários e Vencimentos" (Linha 1)
- Confirmar processamento
- Aguardar integração
Verificações:
- PayrollRun status mudou para COMPLETED
BudgetExecution(COMMITMENT) criado automaticamente- Valor do empenho = valor total da folha (1.485.000 XOF)
BudgetLine.availableBalancereduzidoPaymentOrdercriado no Tesouro (verificar emTesouro → Ordens de Pagamento)
Dados Esperados:
BudgetExecution (COMMITMENT):
- budgetLineId: [ID da linha de salários]
- amount: 1.485.000 XOF
- movementType: COMMITMENT
- referenceId: [ID do PayrollRun]
PaymentOrder:
- grossAmount: 1.485.000 XOF
- netAmount: 1.485.000 XOF (sem retenção de impostos)
- status: CREATED
- budgetLineId: [ID da linha de salários]
3.5 Verificar Integração RH → Orçamento → Tesouro
Passos:
- Acessar:
Orçamento → Execução- Verificar COMMITMENT criado
- Acessar:
Orçamento → Linhas Orçamentárias- Verificar saldo reduzido
- Acessar:
Tesouro → Ordens de Pagamento- Verificar ordem criada
- Acessar:
RH → Execuções de Folha- Verificar status COMPLETED
Verificações:
- Integração completa funcionando
- Dados consistentes entre módulos
- Rastreabilidade completa (referenceId)
5. Cenário 4: Gestão de Tesouraria
4.1 Criar Contas de Caixa (CashAccount)
Objetivo: Configurar estrutura CUT (Conta Única do Tesouro)
Passos:
- Acessar:
Tesouro → Contas de Caixa - Criar conta principal CUT:
Conta Principal CUT:
- Código:
CUT-001 - Nome: "Conta Única do Tesouro - BCEAO"
- Tipo: BANK_ACCOUNT
- Categoria: CENTRAL_CUT
- Banco: BCEAO
- IBAN:
SN08SN0100152000045500003033 - SWIFT:
BCEASNDA - Código Contabilístico:
5.1.1.001 - Tipo de Conta: MISTA
- Moeda: XOF
- Ativo: Sim
- Criar subconta para Ministério da Saúde:
Subconta Saúde:
- Código:
SUB-SA-001 - Nome: "Subconta - Ministério da Saúde"
- Tipo: BANK_ACCOUNT
- Categoria: SUB_ACCOUNT
- Conta Pai: CUT-001
- Banco: BCEAO
- IBAN:
SN08SN0100152000045500003034 - SWIFT:
BCEASNDA - Unidade Orgânica: Ministério da Saúde
- Moeda: XOF
- Criar conta de trânsito:
Conta de Trânsito:
- Código:
TRANS-BICIS-001 - Nome: "Conta de Trânsito - BICIS"
- Tipo: BANK_ACCOUNT
- Categoria: TRANSIT
- Conta Pai: CUT-001
- Banco: BICIS
- IBAN:
SN08BICIS0001234567890123 - SWIFT:
BICISNDA - Moeda: XOF
Verificações:
- Todas as contas criadas com sucesso
- Hierarquia CUT configurada (parentId)
- IBAN validado (formato correto)
- Saldos iniciais = 0
- Contas aparecem na lista
4.2 Depositar Saldo Inicial na CUT
Objetivo: Simular depósito inicial de recursos
Passos:
- Acessar:
Tesouro → Entradas - Clicar em "Nova Entrada"
- Preencher:
- Conta de Caixa: CUT-001
- Tipo: CASH_DEPOSIT
- Valor: 100.000.000 XOF
- Data: 01/01/2025
- Referência: "DEP-INICIAL-2025-001"
- Descrição: "Depósito inicial de recursos do exercício 2025"
- Salvar
Verificações:
- Entrada criada com sucesso
CashAccount.currentBalanceatualizado = 100.000.000 XOFCashAccount.availableBalanceatualizado = 100.000.000 XOFTreasuryEntryregistrado- Entrada aparece na lista
4.3 Criar Plano de Tesouraria
Objetivo: Criar plano mensal para controle preventivo
Passos:
- Acessar:
Tesouro → Planos de Tesouraria - Clicar em "Novo Plano"
- Preencher:
- Exercício Fiscal: 2025
- Mês de Referência: Janeiro (1)
- Teto Aprovado: 80.000.000 XOF
- Status: DRAFT
- Salvar
Verificações:
- Plano criado com sucesso
- Status = DRAFT
executedAmount= 0
Aprovar Plano:
- Clicar em "Aprovar" no plano criado
- Confirmar aprovação
- Verificar status mudou para APPROVED
Verificações:
- Status = APPROVED
- Data de aprovação registrada
- Plano aparece como "Ativo" se for o mês corrente
6. Cenário 5: Workflow de Autorização e Aprovação
5.1 Criar Autorização de Pagamento
Objetivo: Iniciar processo de aprovação hierárquica
Pré-requisito: Ter ordem de pagamento criada (do Cenário 3.4)
Passos:
- Acessar:
Tesouro → Autorizações - Clicar em "Nova Autorização"
- Selecionar ordem de pagamento criada (folha de salário)
- Verificar dados preenchidos automaticamente:
- Valor: 1.485.000 XOF
- Beneficiário: [dados da ordem]
- Linha orçamentária: Salários e Vencimentos
- Salvar
Verificações:
- Autorização criada com status PENDING
requiredApprovalLevelcalculado automaticamente:- Valor <= 100.000 XOF: 1 nível
- Valor 100.001 - 500.000 XOF: 2 níveis
- Valor > 500.000 XOF: 3 níveis
- Para 1.485.000 XOF:
requiredApprovalLevel= 3 currentApprovalLevel= 1
5.2 Aprovação Nível 1
Passos:
- Fazer logout
- Fazer login como
aprovador1@sigefp.gov - Acessar:
Tesouro → Autorizações - Verificar autorização pendente na lista
- Clicar em "Aprovar"
- Adicionar comentário: "Aprovado - Nível 1"
- Confirmar
Verificações:
- Aprovação registrada
currentApprovalLevel= 2- Status ainda = PENDING (precisa mais aprovações)
- Histórico de aprovações atualizado
5.3 Aprovação Nível 2
Passos:
- Fazer logout
- Fazer login como
aprovador2@sigefp.gov - Acessar:
Tesouro → Autorizações - Verificar autorização pendente
- Clicar em "Aprovar"
- Adicionar comentário: "Aprovado - Nível 2"
- Confirmar
Verificações:
- Aprovação registrada
currentApprovalLevel= 3- Status ainda = PENDING
5.4 Aprovação Nível 3 (Final)
Passos:
- Fazer logout
- Fazer login como
aprovador3@sigefp.gov - Acessar:
Tesouro → Autorizações - Verificar autorização pendente
- Clicar em "Aprovar"
- Adicionar comentário: "Aprovado - Nível 3 - Autorização Final"
- Confirmar
Verificações:
- Aprovação registrada
- Status mudou para APPROVED
currentApprovalLevel=requiredApprovalLevel(3)- Autorização completa
- Ordem de pagamento pode ser programada
Validações do Sistema:
- ✅ Verifica disponibilidade de caixa antes de aprovar
- ✅ Verifica teto do Plano de Tesouraria (se ativo)
- ✅ Atualiza
executedAmountdo plano
5.5 Teste de Rejeição
Objetivo: Testar fluxo de rejeição em qualquer nível
Passos:
- Criar nova autorização (valor: 200.000 XOF - 2 níveis)
- Aprovar nível 1
- Como aprovador nível 2, clicar em "Rejeitar"
- Adicionar motivo: "Valor não justificado"
- Confirmar
Verificações:
- Status mudou para REJECTED
- Motivo registrado
- Não é possível aprovar após rejeição
- Ordem de pagamento não pode ser programada
7. Cenário 6: Lotes de Pagamento e Execução
6.1 Criar Lote de Pagamento
Objetivo: Agrupar ordens de pagamento para execução em lote
Pré-requisito: Ter ordem de pagamento aprovada (Cenário 5.4)
Passos:
- Acessar:
Tesouro → Lotes de Pagamento - Clicar em "Novo Lote"
- Preencher:
- Nome: "Lote Folha Janeiro 2025"
- Data Programada: 05/01/2025
- Conta de Caixa: CUT-001
- Descrição: "Lote para pagamento de folha de salário - Janeiro"
- Salvar
Verificações:
- Lote criado com status DRAFT
- Aparece na lista
6.2 Adicionar Ordens ao Lote
Passos:
- No lote criado, clicar em "Adicionar Ordens"
- Selecionar ordem de pagamento (folha de salário)
- Confirmar adição
Verificações:
- Ordem adicionada ao lote
- Valor total do lote = 1.485.000 XOF
- Status da ordem mudou para SCHEDULED
CashAccount.availableBalancecomprometido (reduzido)CashAccount.currentBalancenão mudou (ainda não executado)
Dados Esperados:
PaymentBatch:
- totalAmount: 1.485.000 XOF
- status: DRAFT
- orders: [ordem de folha]
CashAccount (CUT-001):
- currentBalance: 100.000.000 XOF (inalterado)
- availableBalance: 98.515.000 XOF (100.000.000 - 1.485.000)
6.3 Enviar Lote para Banco
Passos:
- No lote, clicar em "Enviar para Banco"
- Confirmar envio
- Verificar status
Verificações:
- Status do lote mudou para SENT_TO_BANK
- Data de envio registrada
- Ordens no lote com status SCHEDULED
6.4 Confirmar Pagamento Individual
Objetivo: Registrar confirmação de pagamento efetivado
Passos:
- Acessar:
Tesouro → Confirmações - Clicar em "Nova Confirmação"
- Preencher:
- Ordem de Pagamento: [ID da ordem de folha]
- Referência da Transação: "TXN-2025-001-12345"
- Status: PAID
- Mensagem: "Pagamento efetivado via transferência bancária"
- Salvar
Verificações:
- Confirmação criada com sucesso
- Status da ordem mudou para PAID
CashAccount.currentBalancereduzido = 98.515.000 XOFCashAccount.availableBalanceliberado (não mais comprometido)TreasuryEntry(PAYMENT_EXECUTION) criadoCashFlow(OUTFLOW) registradoBudgetExecution(PAYMENT) criado automaticamente ✅
Dados Esperados:
TreasuryPayment:
- status: PAID
- paidAt: [data/hora atual]
- transactionRef: "TXN-2025-001-12345"
CashAccount (CUT-001):
- currentBalance: 98.515.000 XOF (100.000.000 - 1.485.000)
- availableBalance: 98.515.000 XOF (liberado)
BudgetExecution (PAYMENT):
- movementType: PAYMENT
- amount: 1.485.000 XOF
- referenceId: [ID do TreasuryPayment]
- Criado automaticamente ✅
6.5 Verificar Integração Completa
Passos:
- Acessar:
Orçamento → Execução- Verificar PAYMENT criado automaticamente
- Acessar:
Orçamento → Linhas Orçamentárias- Verificar saldo final atualizado
- Acessar:
Tesouro → Fluxo de Caixa- Verificar saída registrada
- Acessar:
Tesouro → Entradas- Verificar entrada de pagamento registrada
Verificações:
- Integração completa funcionando
- Dados consistentes entre módulos
- Rastreabilidade completa
Estado Final Esperado:
Orçamento:
- COMMITMENT: 1.485.000 XOF ✅
- LIQUIDATION: 1.485.000 XOF ✅
- PAYMENT: 1.485.000 XOF ✅
- availableBalance: 50.000.000 - 1.485.000 = 48.515.000 XOF
Tesouro:
- Saldo CUT: 98.515.000 XOF
- Pagamento confirmado: 1.485.000 XOF
- Fluxo de caixa registrado ✅
8. Cenário 7: Conciliação Bancária
7.1 Importar Extrato Bancário
Objetivo: Simular importação de extrato para conciliação
Passos:
- Acessar:
Tesouro → Conciliação - Clicar em "Nova Conciliação"
- Selecionar conta: CUT-001
- Preencher:
- Data Início: 01/01/2025
- Data Fim: 31/01/2025
- Saldo Inicial: 100.000.000 XOF
- Saldo Final: 98.515.000 XOF
- Clicar em "Importar Extrato" (simulado)
- Adicionar transações manualmente:
Transação 1:
- Data: 01/01/2025
- Valor: +100.000.000 XOF
- Descrição: "Depósito inicial"
- Tipo: CREDIT
Transação 2:
- Data: 05/01/2025
- Valor: -1.485.000 XOF
- Descrição: "Pagamento folha salário - TXN-2025-001-12345"
- Tipo: DEBIT
- Referência: TXN-2025-001-12345
- Salvar
Verificações:
- Conciliação criada com status DRAFT
- Transações importadas
- Saldos calculados corretamente
7.2 Matching Automático
Passos:
- Na conciliação, clicar em "Reconciliar Automaticamente"
- Aguardar processamento
- Verificar matching
Verificações:
- Transações correspondentes encontradas automaticamente
- Matching por:
- Valor
- Data (tolerância de ±2 dias)
- Referência de transação
- Itens de conciliação criados
- Diferenças identificadas (se houver)
7.3 Ajustes Manuais (se necessário)
Passos:
- Se houver diferenças, ajustar manualmente
- Adicionar notas explicativas
- Salvar ajustes
Verificações:
- Ajustes salvos
- Notas registradas
7.4 Finalizar Conciliação
Passos:
- Fazer login como
tesouro@sigefp.gov - Na conciliação, clicar em "Finalizar"
- Confirmar finalização
Verificações:
- Status mudou para RECONCILED
- Data de finalização registrada
- Se houver diferenças,
CashAccount.currentBalanceajustado TreasuryEntry(BANK_RECONCILIATION) criado
9. Cenário 8: Integração Orçamento ↔ Tesouro
8.1 Teste: Ordem de Pagamento com Validação Orçamentária
Objetivo: Verificar que sistema valida saldo orçamentário antes de criar ordem
Passos:
- Acessar:
Tesouro → Ordens de Pagamento - Clicar em "Nova Ordem"
- Preencher:
- Beneficiário: "Fornecedor Teste"
- Valor Bruto: 60.000.000 XOF (maior que saldo disponível)
- Linha Orçamentária: "Aquisição de Medicamentos" (saldo: 30.000.000 XOF)
- Descrição: "Teste de validação de saldo"
- Tentar salvar
Verificações:
- Sistema impede criação da ordem
- Mensagem de erro: "Saldo orçamentário insuficiente"
- Ordem não criada
8.2 Teste: Ordem de Pagamento Dentro do Limite
Passos:
- Criar ordem com valor: 25.000.000 XOF (dentro do limite)
- Selecionar linha: "Aquisição de Medicamentos"
- Salvar
Verificações:
- Ordem criada com sucesso
- Validação de saldo passou
- Ordem aparece na lista
8.3 Teste: Pagamento Cria Execução Orçamentária Automaticamente
Passos:
- Autorizar ordem criada (Cenário 5)
- Criar lote e adicionar ordem (Cenário 6)
- Confirmar pagamento (Cenário 6.4)
- Verificar execução orçamentária
Verificações:
BudgetExecution(PAYMENT) criado automaticamente- Valor correto
referenceId= ID do TreasuryPaymentBudgetLine.availableBalanceatualizado
10. Cenário 9: Validações e Regras de Negócio
9.1 Validação: Saldo Insuficiente em Conta de Caixa
Passos:
- Criar ordem de pagamento: 200.000.000 XOF (maior que saldo CUT)
- Tentar autorizar
Verificações:
- Sistema impede autorização
- Mensagem: "Saldo disponível insuficiente na conta de caixa"
- Autorização não criada
9.2 Validação: Teto do Plano de Tesouraria
Passos:
- Criar plano com teto: 10.000.000 XOF
- Aprovar plano
- Tentar autorizar pagamento: 15.000.000 XOF
Verificações:
- Sistema valida teto do plano
- Impede autorização se exceder teto
- Mensagem: "Valor excede teto aprovado no Plano de Tesouraria"
9.3 Validação: Sequência COMMITMENT → LIQUIDATION → PAYMENT
Passos:
- Tentar criar LIQUIDATION sem COMMITMENT correspondente
Verificações:
- Sistema impede criação
- Mensagem: "LIQUIDATION requer COMMITMENT correspondente"
Passos:
- Tentar criar PAYMENT sem LIQUIDATION correspondente
Verificações:
- Sistema impede criação
- Mensagem: "PAYMENT requer LIQUIDATION correspondente"
9.4 Validação: Data Dentro do Exercício Fiscal
Passos:
- Tentar criar dotação com data: 01/01/2024 (fora do exercício)
Verificações:
- Sistema impede criação
- Mensagem: "Data fora do período do exercício fiscal"
9.5 Validação: Fechamento de Exercício Fiscal
Passos:
- Tentar fechar exercício com COMMITMENT sem LIQUIDATION
Verificações:
- Sistema impede fechamento
- Mensagem: "Não é possível fechar exercício com empenhos não liquidados"
11. Cenário 10: Fluxo Completo End-to-End
10.1 Resumo do Fluxo Completo
Objetivo: Executar fluxo completo desde elaboração até pagamento
Fluxo:
1. Elaboração Orçamentária
├─ Criar Exercício Fiscal (DRAFT)
├─ Criar Linhas Orçamentárias
├─ Registrar Dotações
└─ Abrir Exercício Fiscal (OPEN)
2. Preparação Tesouraria
├─ Criar Contas de Caixa (CUT)
├─ Depositar Saldo Inicial
└─ Criar e Aprovar Plano de Tesouraria
3. Processamento Folha de Pagamento
├─ Criar PayrollRun
├─ Gerar PayrollItems
├─ Processar Folha
└─ Criar COMMITMENT (automático)
4. Workflow de Pagamento
├─ Criar Autorização
├─ Aprovar (3 níveis)
├─ Criar Lote
├─ Adicionar Ordem ao Lote
├─ Enviar para Banco
└─ Confirmar Pagamento
5. Verificações Finais
├─ Verificar LIQUIDATION criado
├─ Verificar PAYMENT criado (automático)
├─ Verificar Saldos Atualizados
├─ Verificar Fluxo de Caixa
└─ Verificar Conciliação Bancária
10.2 Checklist de Validação Final
Orçamento:
- Exercício fiscal aberto
- Linhas orçamentárias criadas
- Dotações registradas
- COMMITMENT criado (via RH)
- LIQUIDATION criado (via RH)
- PAYMENT criado (via Tesouro - automático)
- Saldos atualizados corretamente
- Rastreabilidade completa (referenceId)
Tesouro:
- Contas de caixa criadas (CUT)
- Saldo inicial depositado
- Plano de tesouraria aprovado
- Autorização criada e aprovada
- Lote criado e enviado
- Pagamento confirmado
- Saldos atualizados (currentBalance e availableBalance)
- Fluxo de caixa registrado
- Conciliação bancária realizada
Integração:
- RH → Orçamento (COMMITMENT) ✅
- RH → Tesouro (PaymentOrder) ✅
- Tesouro → Orçamento (PAYMENT) ✅
- Dados consistentes entre módulos ✅
📊 Métricas e KPIs para Validação
Orçamento
- Taxa de Execução: (PAYMENT / totalAllocated) × 100
- Saldos Disponíveis: availableBalance por linha
- Rastreabilidade: 100% das execuções com referenceId
Tesouro
- Posição de Caixa: Soma de todos os saldos
- Pipeline de Pagamentos: Valor total de ordens aprovadas aguardando execução
- Rácio de Cobertura: (Liquidez Disponível / Despesas Obrigatórias da Semana)
- Taxa de Conciliação: % de transações conciliadas
🐛 Cenários de Erro e Tratamento
Erro 1: Saldo Orçamentário Insuficiente
- Ação: Tentar criar ordem com valor > availableBalance
- Esperado: Erro claro, ordem não criada
- Mensagem: "Saldo orçamentário insuficiente. Disponível: X, Solicitado: Y"
Erro 2: Saldo de Caixa Insuficiente
- Ação: Tentar autorizar pagamento > availableBalance
- Esperado: Erro claro, autorização não criada
- Mensagem: "Saldo disponível insuficiente na conta de caixa"
Erro 3: Teto do Plano Excedido
- Ação: Tentar autorizar pagamento > teto aprovado
- Esperado: Erro claro, autorização não criada
- Mensagem: "Valor excede teto aprovado no Plano de Tesouraria"
Erro 4: Sequência Inválida de Execução
- Ação: Tentar criar PAYMENT sem LIQUIDATION
- Esperado: Erro claro, execução não criada
- Mensagem: "PAYMENT requer LIQUIDATION correspondente"
📝 Notas de Teste
Ambiente de Teste
- URL: http://localhost:3000 (ou ambiente de staging)
- Banco de Dados: PostgreSQL (dados de teste isolados)
- Usuários: Criar usuários de teste com permissões adequadas
Dados de Teste
- Usar valores realistas mas não muito altos
- Manter consistência entre módulos
- Documentar IDs importantes para rastreabilidade
Limpeza Após Testes
- Considerar usar transações de teste
- Ou criar script de limpeza de dados de teste
- Manter dados de referência (bancos, unidades orgânicas)
✅ Critérios de Aceitação
Funcionalidades Críticas
- Elaboração de orçamento completa
- Execução orçamentária (COMMITMENT, LIQUIDATION, PAYMENT)
- Processamento de folha de pagamento
- Workflow de autorização hierárquica
- Criação e execução de lotes de pagamento
- Conciliação bancária
- Integração entre módulos
Validações
- Validação de saldos (orçamentário e caixa)
- Validação de sequência de execução
- Validação de teto do plano
- Validação de datas (exercício fiscal)
Rastreabilidade
- Todos os registros com referenceId
- Histórico completo de aprovações
- Logs de todas as operações
🎯 Conclusão
Este plano de testes cobre 100% das funcionalidades dos módulos de Orçamento e Tesouro, incluindo:
✅ Elaboração e execução orçamentária
✅ Processamento de folha de pagamento
✅ Workflow completo de pagamento
✅ Gestão de tesouraria (CUT, planos, contas)
✅ Conciliação bancária
✅ Integração entre módulos
✅ Validações e regras de negócio
Status: Pronto para execução
Tempo Estimado: 4-6 horas para execução completa
Prioridade: Alta (testes críticos para produção)
Documento criado por: Cursor AI
Data: 2025-01-27
Versão: 1.0