Files
sgse-app/TESTAR_FERIAS_PASSO_A_PASSO.md

6.7 KiB

🧪 TESTAR SISTEMA DE FÉRIAS - PASSO A PASSO

Data: 30 de outubro de 2025
Objetivo: Criar funcionário de teste e validar todo o fluxo de férias


🚀 PASSO 1: Criar Funcionário de Teste para TI Master

Opção A: Via Convex Dashboard (Recomendado)

  1. Acesse o Convex Dashboard:

    https://dashboard.convex.dev
    
  2. Vá para a seção "Functions"

  3. Encontre a função: criarFuncionarioTeste:criarFuncionarioParaTIMaster

  4. Execute com estes argumentos:

    {
      "usuarioEmail": "ti.master@sgse.pe.gov.br"
    }
    
  5. Você verá o resultado:

    {
      "sucesso": true,
      "funcionarioId": "abc123..."
    }
    

Opção B: Via Console do Browser

  1. Abra o console do navegador (F12)

  2. Cole e execute este código:

    // No console do navegador, dentro do sistema SGSE
    const convex = window.convex; // ou acesse o client Convex do app
    
    await convex.mutation(api.criarFuncionarioTeste.criarFuncionarioParaTIMaster, {
      usuarioEmail: "ti.master@sgse.pe.gov.br"
    });
    

PASSO 2: Verificar Criação do Funcionário

  1. Recarregue a página do perfil

    • Pressione F5 ou Ctrl+R
  2. Verifique se o erro sumiu

    • Acesse: Perfil > Minhas Férias
    • Agora deve aparecer o Dashboard de Férias

🧪 PASSO 3: Testar Fluxo Completo de Solicitação

3.1. Visualizar Dashboard

✅ Deve mostrar:
   - 4 Cards estatísticos (Disponível, Usado, Pendente, Total)
   - 2 Gráficos de pizza
   - Tabela de histórico de saldos
   - Botão "Solicitar Novas Férias"

3.2. Iniciar Wizard de Solicitação

  1. Click em "Solicitar Novas Férias"

  2. PASSO 1 - Ano & Saldo:

    ✅ Escolha o ano: 2024 ou 2025
    ✅ Verifique o saldo disponível: 30 dias
    ✅ Veja o regime: "CLT - Consolidação das Leis do Trabalho"
    ✅ Click em "Próximo"
    
  3. PASSO 2 - Selecionar Períodos:

    ✅ Arraste no calendário para selecionar o primeiro período
    ✅ Adicione mais períodos (até 3 para CLT)
    ✅ Observe as validações em tempo real:
       - Verde: tudo certo ✅
       - Vermelho: erro (ex: período muito curto) ❌
       - Amarelo: aviso (ex: saldo baixo) ⚠️
    ✅ Click em "Próximo"
    
  4. PASSO 3 - Confirmação:

    ✅ Revise todos os períodos
    ✅ Adicione observação (opcional)
    ✅ Click em "Enviar Solicitação"
    
  5. Sucesso!

    ✅ Toast verde: "Solicitação enviada com sucesso! 🎉"
    ✅ Retorna ao dashboard
    ✅ Atualiza estatísticas
    

🧪 PASSO 4: Testar Validações CLT

Teste 1: Período muito curto

Tente criar: 3 dias
Resultado esperado: "Período de 3 dias é inválido. Mínimo: 5 dias corridos (CLT)"

Teste 2: Muitos períodos

Tente criar: 4 períodos
Resultado esperado: "Máximo de 3 períodos permitidos para CLT"

Teste 3: Sem período principal

Crie 3 períodos:
- 10 dias
- 10 dias
- 10 dias
Resultado esperado: "Ao dividir férias em CLT, um período deve ter no mínimo 14 dias corridos"

Teste 4: Solicitação válida

Crie 3 períodos:
- 15 dias (Principal)
- 10 dias
- 5 dias
Resultado esperado: "✅ Períodos válidos! Total: 30 dias"

🧪 PASSO 5: Testar Regime Servidor Público PE

5.1. Alterar Regime do Funcionário

Via Convex Dashboard:

// Função: criarFuncionarioTeste:alterarRegimeTrabalho
{
  "funcionarioId": "SEU_FUNCIONARIO_ID",
  "novoRegime": "estatutario_pe"
}

5.2. Testar Validações Servidor PE

Teste 1: 3 períodos

Tente criar: 3 períodos
Resultado esperado: "Máximo de 2 períodos permitidos para Servidor Público Estadual de Pernambuco"

Teste 2: Período curto

Tente criar: 8 dias
Resultado esperado: "Período de 8 dias é inválido. Mínimo: 10 dias corridos (Servidor Público...)"

Teste 3: Solicitação válida

Crie 2 períodos:
- 20 dias
- 10 dias
Resultado esperado: "✅ Períodos válidos! Total: 30 dias"

🎯 PASSO 6: Testar Aprovação de Férias (Gestor)

6.1. Configurar Time e Gestor

Via TI > Times e Membros:

1. Criar um time de teste
2. Adicionar funcionário como membro
3. Configurar você (TI Master) como gestor

6.2. Aprovar Solicitação

Via Perfil > Aprovar Férias:

1. Ver lista de solicitações pendentes
2. Click em "Ver Detalhes"
3. Aprovar / Reprovar / Ajustar
4. Verificar notificação no sino

📊 PASSO 7: Verificar Analytics

Dashboard deve mostrar:

✅ Gráfico de Saldo atualizado
✅ Estatísticas corretas
✅ Histórico de solicitações
✅ Status visual (badges coloridos)

🐛 TROUBLESHOOTING

Problema: "Perfil de funcionário não encontrado"

Solução: Execute o PASSO 1 novamente

Problema: "Você ainda não tem direito a férias"

Solução: Altere a data de admissão:

// Via criarFuncionarioTeste:alterarDataAdmissao
{
  "funcionarioId": "SEU_ID",
  "novaData": "2023-01-01"
}

Problema: Toast não aparece

Solução: Verifique se Sonner está configurado em +layout.svelte

Problema: Calendário não carrega

Solução:

  1. Verifique se FullCalendar foi instalado
  2. Execute: cd apps/web && bun add @fullcalendar/core @fullcalendar/daygrid

Problema: Validação não funciona

Solução:

  1. Verifique o regime de trabalho do funcionário
  2. Confirme que o backend saldoFerias.ts está deployado

CHECKLIST DE TESTES

  • Funcionário criado e associado
  • Dashboard carrega corretamente
  • Wizard abre ao clicar em "Solicitar Férias"
  • Seleção de ano funciona
  • Saldo é exibido corretamente
  • Calendário permite drag & drop
  • Validações CLT funcionam
  • Validações Servidor PE funcionam
  • Toast notifications aparecem
  • Solicitação é criada com sucesso
  • Dashboard atualiza após solicitação
  • Gráficos são renderizados
  • Aprovação de férias funciona (se gestor)

🎉 RESULTADO ESPERADO

Após completar todos os passos, você terá testado:

Backend:

  • Criação de períodos aquisitivos
  • Validações CLT e Servidor PE
  • Reserva e liberação de dias
  • Cálculo de saldo

Frontend:

  • Wizard de 3 passos
  • Calendário interativo
  • Dashboard com analytics
  • Toast notifications
  • Validações em tempo real

📞 PRECISA DE AJUDA?

Se encontrar algum erro:

  1. Verifique o console do navegador (F12)

    • Logs de erro aparecem aqui
  2. Verifique o Convex Dashboard

    • Logs do backend aparecem aqui
  3. Documentação completa:

    • Veja SISTEMA_FERIAS_MODERNO_COMPLETO.md
    • Veja REGRAS_FERIAS_CLT_E_SERVIDOR_PE.md

Boa sorte com os testes! 🚀