Appearance
Monitoramento de Horas - Plano de testes
Escopo
Testes do modulo de monitoramento de horas, incluindo visao do tomador (lista de prestadores, detalhes, resumos), visao do prestador (lancamento de horas, horas retroativas), CRUD de entradas de trabalho (tarefas com duracao) e exportacao de relatorios.
Pre-condicoes
- Usuario autenticado com empresa selecionada
- Contrato ativo entre tomador e prestador
- Pelo menos um prestador vinculado ao tomador
- MSW configurado com handlers de monitoramento
Cenarios de teste
Visao do tomador
| # | Cenario | Passos | Resultado esperado | Prioridade |
|---|---|---|---|---|
| 1 | Listar prestadores com horas | 1. Acessar modulo de monitoramento como tomador 2. Verificar lista de prestadores | Lista exibe prestadores com total de horas registradas, nome e status | Alta |
| 2 | Detalhe do prestador | 1. Na lista de prestadores 2. Clicar em um prestador | Pagina de detalhe com informacoes do prestador e resumos de horas | Alta |
| 3 | Resumo diario de horas | 1. Na pagina de detalhe do prestador 2. Selecionar visualizacao "Diario" | Resumo exibe horas por dia do periodo selecionado | Alta |
| 4 | Resumo semanal de horas | 1. Na pagina de detalhe do prestador 2. Selecionar visualizacao "Semanal" | Resumo exibe total de horas por semana | Media |
| 5 | Resumo mensal de horas | 1. Na pagina de detalhe do prestador 2. Selecionar visualizacao "Mensal" | Resumo exibe total de horas por mes | Media |
| 6 | Filtrar prestadores por nome | 1. Na lista de prestadores 2. Digitar nome no campo de busca | Lista filtrada exibe apenas prestadores que contem o texto buscado | Media |
Visao do prestador - Lancamento de horas
| # | Cenario | Passos | Resultado esperado | Prioridade |
|---|---|---|---|---|
| 7 | Lancar horas do dia atual | 1. Acessar modulo de horas como prestador 2. Selecionar data atual 3. Clicar em "Adicionar entrada" 4. Preencher tarefa e duracao 5. Salvar | Entrada de horas registrada para o dia atual. Total do dia atualizado | Alta |
| 8 | Adicionar tarefa com descricao e duracao | 1. Na tela de lancamento de horas 2. Preencher campo "Descricao da tarefa" 3. Definir duracao (ex: 2h30) 4. Salvar | Tarefa registrada com descricao e duracao corretas | Alta |
| 9 | Adicionar multiplas tarefas no mesmo dia | 1. Lancar primeira tarefa (2h) 2. Lancar segunda tarefa (3h) 3. Lancar terceira tarefa (1h30) | Todas as tarefas listadas. Total do dia = 6h30 | Alta |
| 10 | Editar entrada existente | 1. Na lista de entradas do dia 2. Clicar em "Editar" na entrada 3. Alterar duracao de 2h para 3h 4. Salvar | Entrada atualizada. Total do dia recalculado | Alta |
| 11 | Excluir entrada | 1. Na lista de entradas do dia 2. Clicar em "Excluir" na entrada 3. Confirmar | Entrada removida. Total do dia recalculado | Alta |
Horas retroativas
| # | Cenario | Passos | Resultado esperado | Prioridade |
|---|---|---|---|---|
| 12 | Solicitar horas retroativas (dentro de 30 dias) | 1. Acessar modulo de horas como prestador 2. Selecionar data de 15 dias atras 3. Preencher entrada de horas 4. Salvar como solicitacao retroativa | Solicitacao criada com status "Pendente de aprovacao" | Alta |
| 13 | Tomador aprova horas retroativas | 1. Acessar modulo como tomador 2. Visualizar solicitacoes pendentes 3. Clicar em "Aprovar" na solicitacao | Horas retroativas aprovadas e registradas. Totais atualizados | Alta |
| 14 | Tomador recusa horas retroativas | 1. Acessar modulo como tomador 2. Visualizar solicitacoes pendentes 3. Clicar em "Recusar" 4. Informar motivo | Solicitacao recusada com motivo. Prestador notificado | Alta |
| 15 | Prestador reenvia horas retroativas recusadas | 1. Acessar modulo como prestador 2. Visualizar solicitacao recusada 3. Editar e reenviar | Nova solicitacao criada para aprovacao | Media |
| 16 | Tentar lancar horas retroativas (> 30 dias) | 1. Acessar modulo como prestador 2. Selecionar data de 35 dias atras 3. Tentar lancar horas | Acao bloqueada com mensagem informando limite de 30 dias para horas retroativas | Alta |
Exportacao de relatorios
| # | Cenario | Passos | Resultado esperado | Prioridade |
|---|---|---|---|---|
| 17 | Exportar relatorio de horas | 1. Acessar monitoramento como tomador 2. Selecionar periodo 3. Clicar em "Exportar" | Arquivo de relatorio gerado e baixado com dados do periodo selecionado | Media |
| 18 | Exportar relatorio de prestador especifico | 1. Acessar detalhe de um prestador 2. Selecionar periodo 3. Clicar em "Exportar" | Relatorio gerado apenas com dados do prestador selecionado | Media |
Cenarios negativos
| # | Cenario | Passos | Resultado esperado |
|---|---|---|---|
| 1 | Lancar horas sem descricao | Tentar salvar entrada sem campo de descricao preenchido | Validacao exibida. Entrada nao salva |
| 2 | Lancar horas com duracao zero | Tentar salvar entrada com duracao 0h | Validacao exibida. Duracao minima requerida |
| 3 | Lancar horas em data futura | Selecionar data futura e tentar lancar | Acao bloqueada. Apenas data atual ou passada (ate 30 dias) permitida |
| 4 | API fora do ar ao salvar entrada | Simular erro 500 ao salvar | Mensagem de erro. Dados do formulario preservados |
| 5 | Duplo clique em salvar | Clicar rapidamente duas vezes no botao salvar | Apenas uma requisicao enviada |
Casos extremos
| # | Cenario | Resultado esperado |
|---|---|---|
| 1 | Prestador sem nenhuma entrada de horas | Tela exibe estado vazio com mensagem orientativa |
| 2 | Dia com 24+ horas registradas | Sistema aceita ou informa limite (conforme regra de negocio) |
| 3 | Descricao de tarefa com 1000+ caracteres | Sistema aceita ou trunca com informacao |
| 4 | 50+ entradas no mesmo dia | Lista exibe todas sem problemas de performance |
| 5 | Relatorio de periodo de 1 ano | Exportacao funciona (possivelmente com loading longo) |
| 6 | Horas retroativas no limite exato de 30 dias | Sistema aceita lancamento no dia limite |
Criterios de aceite
- [ ] Tomador visualiza lista de prestadores com horas
- [ ] Resumos diario, semanal e mensal exibidos corretamente
- [ ] Prestador lanca horas do dia atual com tarefas e duracao
- [ ] Multiplas tarefas podem ser adicionadas no mesmo dia
- [ ] CRUD de entradas funciona (criar, editar, excluir)
- [ ] Totais recalculados apos qualquer alteracao
- [ ] Horas retroativas requerem aprovacao do tomador
- [ ] Limite de 30 dias para horas retroativas e respeitado
- [ ] Lancamento em datas futuras e bloqueado
- [ ] Exportacao de relatorios funciona
- [ ] Fluxo de aprovacao/recusa de horas retroativas funcional