1. Fases do Produto
Fase 1 - Fundacao e Seguranca
- Login Admin, Medico e Paciente
- JWT + sessao, expiracao e logout
- Primeiro acesso via Mailjet
- RBAC com 5 niveis
Fase 2 - Cadastros Base
- Especialidades, Medicos, Unidades, Consultorios
- Tipos de slot, Pacientes, Usuarios
- Validacoes de duplicidade e integridade
Fase 3 - Agenda Operacional
- Grade de agenda e distribuicao de slots
- Geracao em massa e validacao de conflitos
- Gestao de dias cancelados/restaurados
Fase 4 - Jornada de Agendamento
- Solicitacao pelo paciente
- Triagem e confirmacao pela operacao
- Reagendamento e cancelamento
- Historico e exportacao de calendario
Fase 5 - Backlog e Priorizacao
- Fila de espera com prioridade
- Filtros por status/especialidade/prioridade
- Conversao backlog para agendamento
Fase 6/7 - Mensageria, Resiliencia e Escala
- WhatsApp HSM + notificacoes in-app
- Email Mailjet para onboarding
- Cron de lembretes 7d/3d/24h e pos-consulta
- Health check multi-banco e auditoria
2. Cobertura por Aplicacao
| Aplicacao | Funcionalidades contempladas | Pontos de teste obrigatorios |
|---|---|---|
| ADM | Dashboard, Operacao, Configuracoes, Grade, Slots, Agendamentos, Backlog, Usuarios, RBAC. | CRUD completo, filtros combinados, inativacao, regras de permissao, consistencia entre telas e API. |
| MEDICO | Login, agenda pessoal, aprovacao/revisao de slots, pacientes do dia, chat, notificacoes. | Escopo de dados por medico, filtros por periodo/status, confirmacao de leitura de mensagens e alertas. |
| PACIENTE | Cadastro com OTP, login, solicitacao de agendamento, minhas solicitacoes, historico, perfil. | Fluxo completo de solicitacao, cancelamento proprio, filtros pessoais e protecao de dados de terceiros. |
| API | Rotas de auth, negocio, mensageria, webhook, health e uploads. | Contrato HTTP, validacao de payload, idempotencia, status codes e degradacao controlada. |
3. Matriz CRUD, Filtros, Inativacao e Seguranca
| Modulo | Insercao | Consulta | Atualizacao | Delecao | Inativacao | Filtros | Mensageria | Seguranca |
|---|---|---|---|---|---|---|---|---|
| Administracao | Sim | Sim | Sim | Sim (logica) | Sim | Sim | Sim | Sim |
| Medico | Sim | Sim | Sim | Parcial | Sim | Sim | Sim | Sim |
| Paciente | Sim | Sim | Sim | Sim (escopo proprio) | Parcial | Sim | Sim | Sim |
| API Hono | Sim | Sim | Sim | Sim (controlada) | Sim | Sim | Sim | Sim |
| Backlog | Sim | Sim | Sim | Sim | Sim | Sim | Sim | Sim |
| Grade/Slots | Sim | Sim | Sim | Sim | Sim | Sim | Parcial | Sim |
Parcial = comportamento depende de perfil ou regra de negocio.
4. Sequencia Recomendada de Teste
- Login e sessao (ADM, MEDICO, PACIENTE)
- Fluxo ponta a ponta: paciente solicita, ADM confirma, medico visualiza
- CRUD + filtros + inativacao nos modulos de configuracao
- Mensageria (WhatsApp, Mailjet, notificacoes in-app)
- Seguranca (RBAC, token, injeccao, CORS, auditoria)
- Resiliencia e cron (7d, 3d, 24h, pos-consulta)
5. Exemplos de Testes Anteriores (Mesmo Formato)
Exemplos reaproveitados do roteiro historico no formato passo e resultado esperado.
5.1 Login do Administrador
| # | Passo | Resultado Esperado |
|---|---|---|
| 1 | Acessar a URL do painel ADM | Tela de login exibida |
| 2 | Inserir e-mail valido e senha correta | Redireciona para dashboard e cria sessao |
| 3 | Inserir senha incorreta | Mensagem de credenciais invalidas sem vazar detalhes |
5.2 Registro Paciente com OTP (WhatsApp)
| # | Passo | Resultado Esperado |
|---|---|---|
| 1 | Preencher CPF e telefone no cadastro | Campos validados com formato correto |
| 2 | Enviar codigo de verificacao | Disparo de OTP via WhatsApp HSM_37 |
| 3 | Informar codigo dentro da validade | Telefone validado e cadastro finalizado |
5.3 Filtros Operacionais em Agendamentos
| # | Passo | Resultado Esperado |
|---|---|---|
| 1 | Filtrar por status | Lista retorna somente status selecionado |
| 2 | Filtrar por especialidade + periodo | Retorno consistente com combinacao aplicada |
| 3 | Filtrar por medico | Apenas agendamentos do medico selecionado |
5.4 Inativacao e Regra de Negocio
| # | Passo | Resultado Esperado |
|---|---|---|
| 1 | Inativar medico ativo | Medico nao aparece para novos agendamentos |
| 2 | Tentar agendar slot indisponivel | API retorna conflito (409) |
| 3 | Reativar medico | Medico volta ao fluxo operacional |