Files
sgse-app/TESTES_BANCO_HORAS.md

320 lines
9.8 KiB
Markdown

# Plano de Testes - Sistema de Banco de Horas
## Objetivo
Validar todas as funcionalidades do sistema de banco de horas, incluindo:
- Registros de ponto
- Atestados médicos
- Licenças (maternidade, paternidade)
- Ausências aprovadas
- Ajustes manuais (abonar, descontar, compensar)
- Detecção de inconsistências
- Alertas configuráveis
- Relatórios (PDF e Excel)
## Usuário de Teste
- Email: dfw@poli.br
- Senha: Admin@2025
- Perfil: Funcionário e Gestor (pode aprovar suas próprias solicitações)
## Cenários de Teste
### 1. Teste de Registros de Ponto Básicos
**Objetivo:** Verificar se o sistema calcula corretamente o banco de horas com registros normais
**Passos:**
1. Fazer login com dfw@poli.br
2. Navegar para "Meu Perfil" > "Meu Ponto"
3. Registrar ponto para 5 dias consecutivos com horários normais:
- Dia 1: Entrada 08:00, Saída Almoço 12:00, Retorno 13:00, Saída 17:00 (8h trabalhadas)
- Dia 2: Entrada 08:00, Saída Almoço 12:00, Retorno 13:00, Saída 17:00 (8h trabalhadas)
- Dia 3: Entrada 08:00, Saída Almoço 12:00, Retorno 13:00, Saída 17:00 (8h trabalhadas)
- Dia 4: Entrada 08:00, Saída Almoço 12:00, Retorno 13:00, Saída 17:00 (8h trabalhadas)
- Dia 5: Entrada 08:00, Saída Almoço 12:00, Retorno 13:00, Saída 17:00 (8h trabalhadas)
4. Verificar em "Meu Banco de Horas" se o saldo está correto (deve ser 0 ou próximo de 0)
**Resultado Esperado:** Saldo diário e mensal calculado corretamente
---
### 2. Teste de Horas Extras
**Objetivo:** Verificar cálculo de horas extras
**Passos:**
1. Registrar ponto com horas extras:
- Entrada 08:00, Saída Almoço 12:00, Retorno 13:00, Saída 19:00 (9h trabalhadas = +1h extra)
2. Verificar em "Meu Banco de Horas" se o saldo positivo foi registrado
**Resultado Esperado:** Saldo positivo de 1 hora registrado
---
### 3. Teste de Horas Negativas (Atraso/Saída Antecipada)
**Objetivo:** Verificar cálculo de horas negativas
**Passos:**
1. Registrar ponto com atraso:
- Entrada 09:00, Saída Almoço 12:00, Retorno 13:00, Saída 17:00 (7h trabalhadas = -1h)
2. Verificar em "Meu Banco de Horas" se o saldo negativo foi registrado
**Resultado Esperado:** Saldo negativo de 1 hora registrado
---
### 4. Teste de Atestado Médico
**Objetivo:** Verificar se atestado médico é considerado no banco de horas
**Passos:**
1. Navegar para "Meu Perfil" > "Minha Ausência" ou área de atestados
2. Criar um atestado médico para 2 dias consecutivos
3. Verificar se o banco de horas foi recalculado automaticamente
4. Verificar em "Meu Banco de Horas" se os dias de atestado aparecem com tipo "atestado"
5. Verificar se o saldo não foi descontado para esses dias
**Resultado Esperado:**
- Dias de atestado marcados como tipo "atestado"
- Saldo não descontado
- Motivo do abono registrado
---
### 5. Teste de Declaração de Comparecimento
**Objetivo:** Verificar se declaração de comparecimento é considerada
**Passos:**
1. Criar uma declaração de comparecimento para 1 dia
2. Verificar se o banco de horas foi recalculado
3. Verificar se o dia aparece com tipo apropriado
**Resultado Esperado:** Dia marcado corretamente e saldo não descontado
---
### 6. Teste de Licença de Maternidade
**Objetivo:** Verificar se licença de maternidade é considerada
**Passos:**
1. Criar uma licença de maternidade para 5 dias
2. Verificar se o banco de horas foi recalculado
3. Verificar se os dias aparecem com tipo "licenca"
**Resultado Esperado:** Dias marcados como tipo "licenca" e saldo não descontado
---
### 7. Teste de Licença de Paternidade
**Objetivo:** Verificar se licença de paternidade é considerada
**Passos:**
1. Criar uma licença de paternidade para 3 dias
2. Verificar se o banco de horas foi recalculado
3. Verificar se os dias aparecem com tipo "licenca"
**Resultado Esperado:** Dias marcados como tipo "licenca" e saldo não descontado
---
### 8. Teste de Ausência Aprovada
**Objetivo:** Verificar se ausência aprovada é considerada
**Passos:**
1. Navegar para "Meu Perfil" > "Minha Ausência"
2. Solicitar uma ausência para 2 dias
3. Navegar para "Aprovar Ausência" (como gestor)
4. Aprovar a ausência
5. Verificar se o banco de horas foi recalculado
6. Verificar se os dias aparecem com tipo "ausencia"
**Resultado Esperado:** Dias marcados como tipo "ausencia" e saldo não descontado
---
### 9. Teste de Ajuste Manual - Abonar
**Objetivo:** Verificar se ajuste manual de abono funciona
**Passos:**
1. Navegar para área de ajustes de banco de horas (RH ou gestor)
2. Criar um ajuste para abonar 4 horas de um dia específico
3. Verificar se o banco de horas foi recalculado
4. Verificar se o dia aparece com tipo "abonado"
5. Verificar se o saldo foi ajustado corretamente
**Resultado Esperado:** Dia marcado como "abonado" e saldo ajustado com +4 horas
---
### 10. Teste de Ajuste Manual - Descontar
**Objetivo:** Verificar se ajuste manual de desconto funciona
**Passos:**
1. Criar um ajuste para descontar 2 horas de um dia específico
2. Verificar se o banco de horas foi recalculado
3. Verificar se o dia aparece com tipo "descontado"
4. Verificar se o saldo foi ajustado corretamente
**Resultado Esperado:** Dia marcado como "descontado" e saldo ajustado com -2 horas
---
### 11. Teste de Ajuste Manual - Compensar
**Objetivo:** Verificar se ajuste manual de compensação funciona
**Passos:**
1. Criar um ajuste para compensar horas (transferir horas extras para compensar déficit)
2. Verificar se o banco de horas foi recalculado
3. Verificar se o saldo foi ajustado corretamente
**Resultado Esperado:** Saldo ajustado conforme a compensação
---
### 12. Teste de Detecção de Inconsistências - Ponto com Atestado
**Objetivo:** Verificar se o sistema detecta inconsistências
**Passos:**
1. Criar um atestado médico para um dia
2. Registrar ponto para esse mesmo dia (inconsistência)
3. Verificar se uma inconsistência foi detectada e registrada
4. Verificar se aparece na lista de inconsistências
**Resultado Esperado:** Inconsistência detectada e registrada
---
### 13. Teste de Detecção de Inconsistências - Ponto com Licença
**Objetivo:** Verificar detecção de ponto durante licença
**Passos:**
1. Criar uma licença para um dia
2. Registrar ponto para esse mesmo dia
3. Verificar se inconsistência foi detectada
**Resultado Esperado:** Inconsistência detectada
---
### 14. Teste de Detecção de Inconsistências - Ponto com Ausência
**Objetivo:** Verificar detecção de ponto durante ausência aprovada
**Passos:**
1. Aprovar uma ausência para um dia
2. Registrar ponto para esse mesmo dia
3. Verificar se inconsistência foi detectada
**Resultado Esperado:** Inconsistência detectada
---
### 15. Teste de Saldo Negativo Excedido
**Objetivo:** Verificar se alerta é disparado quando saldo negativo excede limite
**Passos:**
1. Configurar limite de saldo negativo em "Painel de TI" > "Configurações do Banco de Horas"
2. Criar vários registros que resultem em saldo negativo acima do limite
3. Verificar se alerta foi disparado
**Resultado Esperado:** Alerta disparado quando limite é excedido
---
### 16. Teste de Configuração de Alertas
**Objetivo:** Verificar se configurações de alertas funcionam
**Passos:**
1. Navegar para "Painel de TI" > "Configurações do Banco de Horas"
2. Configurar alertas:
- Ativar alertas
- Configurar periodicidade (diário, semanal, mensal)
- Configurar canais (email, chat)
- Configurar thresholds
3. Salvar configurações
4. Verificar se configurações foram salvas
**Resultado Esperado:** Configurações salvas e aplicadas
---
### 17. Teste de Relatório PDF
**Objetivo:** Verificar geração de relatório PDF
**Passos:**
1. Navegar para "Meu Banco de Horas"
2. Clicar em "Exportar PDF"
3. Verificar se PDF foi gerado com:
- Resumo mensal
- Detalhamento diário
- Ajustes
- Inconsistências
- Gráficos
**Resultado Esperado:** PDF gerado com todas as informações
---
### 18. Teste de Relatório Excel
**Objetivo:** Verificar geração de relatório Excel
**Passos:**
1. Navegar para "Meu Banco de Horas"
2. Clicar em "Exportar Excel"
3. Verificar se Excel foi gerado com:
- Planilhas detalhadas
- Resumos
- Formatação condicional
**Resultado Esperado:** Excel gerado com todas as informações
---
### 19. Teste de Visualização Gerencial (RH)
**Objetivo:** Verificar wizard de banco de horas no RH
**Passos:**
1. Navegar para "Recursos Humanos" > "Controle de Ponto" > "Banco de Horas"
2. Verificar se é possível:
- Filtrar por funcionário
- Filtrar por período
- Ver todos os funcionários
- Ver ajustes e inconsistências
- Fazer ajustes manuais
**Resultado Esperado:** Wizard funcional com todos os filtros e ações
---
### 20. Teste de Histórico e Acumulação Mensal
**Objetivo:** Verificar se histórico mensal é mantido corretamente
**Passos:**
1. Verificar em "Meu Banco de Horas" se:
- Saldo inicial do mês está correto
- Saldo final do mês está correto
- Saldo acumulado está correto
- Histórico de meses anteriores está disponível
**Resultado Esperado:** Histórico completo e correto
---
## Checklist de Validação
Após cada teste, verificar:
- [ ] Cálculo de saldo está correto
- [ ] Tipo de dia está correto (normal, atestado, licenca, ausencia, abonado, descontado)
- [ ] Motivo do abono está registrado
- [ ] Ajustes estão vinculados corretamente
- [ ] Inconsistências estão sendo detectadas
- [ ] Alertas estão sendo disparados quando configurados
- [ ] Relatórios estão sendo gerados corretamente
- [ ] Interface está mostrando todas as informações
- [ ] Não há erros no console do navegador
- [ ] Não há erros no backend (logs do Convex)
---
## Notas
- Todos os testes devem ser executados sequencialmente
- Se algum teste falhar, corrigir o erro e repetir o teste
- Documentar qualquer comportamento inesperado
- Verificar logs do Convex para erros no backend