riseup-squad18/MEDICONNECT 2/CHECKLIST-TESTES.md

7.1 KiB

Checklist de Testes - MediConnect

🎯 Testes Funcionais

1. Autenticação

Login

  • Login de admin funcionando
  • Login de médico (Dr. Fernando) funcionando
  • Login de paciente (Aurora) funcionando
  • Token JWT sendo retornado corretamente
  • Refresh token funcionando

Recuperação de Senha

  • Email de recuperação sendo enviado
  • Token de recuperação detectado na URL
  • Reset de senha funcionando (senha diferente da anterior)
  • Erro 422 tratado quando senha é igual à anterior
  • Redirecionamento para página de reset funcionando

2. Gestão de Usuários

Criação de Paciente

  • Edge Function create-user-with-password funcionando
  • Paciente criado com auth user
  • Registro na tabela patients criado
  • user_id vinculado corretamente ao auth.users.id
  • Credenciais de login funcionando após criação

Usuário Teste:

Médicos

  • Dr. Fernando no sistema
  • User ID vinculado corretamente
  • Doctor ID identificado
  • CRM registrado

Médico Teste:

3. Disponibilidade Médica

Criação de Disponibilidade

  • Script de criação funcionando
  • Campo weekday usando strings em inglês
  • Formato de horário correto (HH:MM:SS)
  • Disponibilidade criada para todos os dias da semana
  • Horário: 07:00 - 19:00
  • Duração de slot: 30 minutos
  • Tipo: presencial

Status:

  • 7 dias configurados (Domingo a Sábado)
  • Dr. Fernando disponível das 07:00 às 19:00

4. Agendamento de Consultas

Criação de Consulta

  • API de appointments funcionando
  • Campo scheduled_at usando ISO 8601 DateTime
  • Consulta criada com status "requested"
  • Order number gerado automaticamente (APT-YYYY-NNNN)
  • Duração de 30 minutos configurada
  • Tipo presencial configurado

Consulta Teste:

  • Paciente: Aurora
  • Médico: Dr. Fernando
  • Data: 03/11/2025 às 10:00
  • Order Number: APT-2025-00027
  • ID: cb4f608f-e580-437f-8653-75ec74621065

5. Frontend - Componentes

AgendamentoConsulta.tsx

  • Usando appointmentService correto
  • Campo scheduled_at implementado
  • Formato ISO 8601 DateTime
  • Integração com availability service
  • Integração com exceptions service
  • SMS notification configurado

Outros Componentes

  • BookAppointment.tsx - não usado (pode ser removido)
  • AgendamentoConsultaSimples.tsx - não usado (pode ser removido)

🔧 Configurações Verificadas

API Config

  • src/services/api/config.ts - URLs corretas
  • SUPABASE_ANON_KEY atualizada
  • Endpoints configurados corretamente

Services

  • appointmentService - usando campos corretos
  • availabilityService - usando weekday strings
  • authService - recuperação de senha funcionando
  • patientService - CRUD funcionando
  • doctorService - CRUD funcionando
  • Todos exportados em src/services/index.ts

🧪 Testes Pendentes

Fluxo Completo de Agendamento

  • Paciente faz login
  • Paciente busca médicos disponíveis
  • Paciente visualiza horários disponíveis
  • Paciente agenda consulta
  • Consulta aparece na lista do paciente
  • Médico visualiza consulta na agenda
  • Notificação SMS enviada

Check-in e Atendimento

  • Check-in de paciente
  • Status da consulta muda para "checked_in"
  • Médico inicia atendimento
  • Status muda para "in_progress"
  • Preenchimento de prontuário
  • Finalização da consulta
  • Status muda para "completed"

Cancelamento

  • Paciente cancela consulta
  • Médico cancela consulta
  • Status muda para "cancelled"
  • Motivo do cancelamento registrado
  • Horário fica disponível novamente

Exceções de Disponibilidade

  • Criar exceção (feriado, folga)
  • Exceção bloqueia horários
  • Listar exceções
  • Remover exceção

📊 Métricas e Relatórios

  • Dashboard de consultas
  • Estatísticas de atendimento
  • Relatório de faturamento
  • Exportação de dados

🔐 Segurança

Autenticação

  • JWT tokens funcionando
  • Refresh tokens implementados
  • Session storage configurado
  • Expiração de tokens tratada
  • Logout funcionando corretamente

Autorização

  • RLS (Row Level Security) configurado no Supabase
  • Paciente só vê suas próprias consultas
  • Médico só vê consultas atribuídas
  • Admin tem acesso total
  • Secretária tem permissões específicas

🌐 Deploy e Performance

  • Build de produção funcionando
  • Deploy no Cloudflare Pages
  • URLs de produção configuradas
  • Performance otimizada
  • Lazy loading de componentes
  • Cache configurado

📱 Responsividade

  • Desktop (1920x1080)
  • Laptop (1366x768)
  • Tablet (768x1024)
  • Mobile (375x667)

Acessibilidade

  • Menu de acessibilidade funcionando
  • Contraste de cores ajustável
  • Tamanho de fonte ajustável
  • Leitura de tela compatível
  • Navegação por teclado

🐛 Bugs Conhecidos

Nenhum bug crítico identificado até o momento.

📝 Notas Importantes

Campos Corretos nas APIs

  1. appointments.scheduled_at

    • NÃO: appointment_date e appointment_time separados
    • SIM: scheduled_at com ISO 8601 DateTime
  2. doctor_availability.weekday

    • NÃO: Números 0-6
    • SIM: Strings "sunday", "monday", etc.
  3. patients.user_id

    • ⚠️ DEVE estar vinculado ao auth.users.id
    • Sem isso, queries por user_id falham
  4. Password Recovery

    • ⚠️ Nova senha DEVE ser diferente da anterior
    • Erro 422 com error_code: "same_password" se igual

Scripts Úteis

# Login como usuário
node get-fernando-user-id.cjs

# Buscar dados de paciente
node get-aurora-info.cjs

# Criar disponibilidade
node create-fernando-availability.cjs

# Criar consulta
node create-aurora-appointment.cjs

# Corrigir user_id
node fix-aurora-user-id.cjs

🚀 Próximas Funcionalidades

  1. Telemedicina

    • Integração com serviço de videochamada
    • Sala de espera virtual
    • Gravação de consultas (opcional)
  2. Prontuário Eletrônico

    • CRUD completo de prontuários
    • Histórico de consultas
    • Anexos e exames
    • Prescrições médicas
  3. Notificações

    • SMS via Twilio configurado
    • Email notifications
    • Push notifications (PWA)
    • Lembretes de consulta
  4. Pagamentos

    • Integração com gateway de pagamento
    • Registro de pagamentos
    • Emissão de recibos
    • Relatório financeiro
  5. Telemática

    • Assinatura digital de documentos
    • Certificação digital A1/A3
    • Integração com e-SUS
    • Compliance LGPD

Última atualização: 27/10/2025 Status: APIs configuradas e funcionando Próximo passo: Testar fluxo completo no frontend