infracloud/docs/QA_PLAN.md

4 KiB

GoHorseJobs - Plano de QA Massivo (30 Atividades)

Este documento descreve os fluxos críticos de teste para garantir a estabilidade e segurança da plataforma.

🔐 Grupo 1: Segurança e Autenticação (HttpOnly & RBAC)

  1. Login Seguro: Validar que após o login, o cookie jwt NÃO é acessível via document.cookie no console.
  2. Expiração de Sessão: Alterar o JWT para expirar em 10 segundos e verificar se o frontend redireciona para /login automaticamente.
  3. Cross-Subdomain Auth: Logar em ghj.rede5.com.br e verificar se a API em api-ghj.rede5.com.br aceita o cookie.
  4. RBAC Candidato: Tentar acessar /api/v1/users com token de candidato e validar o erro 403 Forbidden.
  5. RBAC Admin: Validar que apenas administradores conseguem acessar o dashboard de auditoria.
  6. Logout Total: Clicar em Logout e tentar dar um "Back" no navegador para ver se a sessão foi realmente invalidada.

🐎 Grupo 2: Fluxo de Recrutamento (Empresas & Vagas)

  1. Criação de Vaga: Criar vaga com todos os campos e validar se aparece instantaneamente na Home.
  2. Upload de Logo: Subir um logo de 5MB para a empresa e validar se o redimensionamento automático (Civo Storage) funciona.
  3. Edição de Vaga: Alterar o status de uma vaga de open para closed e verificar se ela some das buscas públicas.
  4. Busca por Localização: Testar o Autocomplete de Kyoto, Japão e validar se a vaga criada no QA anterior é encontrada.
  5. Filtro de Salário: Filtrar vagas com salário > 15.000 e validar os resultados.
  6. Destaque de Vaga (Stripe): Simular o checkout de uma vaga "Featured" e validar se ela ganha o badge de destaque após o webhook do Stripe.

👥 Grupo 3: Experiência do Candidato

  1. Perfil Completo: Preencher 10 habilidades e validar se o gráfico de radar (se houver) renderiza corretamente.
  2. Candidatura com Perguntas: Responder a um formulário de 5 perguntas customizadas e validar se o recrutador recebe as respostas.
  3. Upload de CV: Subir um PDF corrompido e validar se o sistema rejeita com mensagem amigável.
  4. Favoritos: Adicionar 5 vagas aos favoritos e validar se a lista persiste após o refresh.
  5. Alertas de Vaga: Criar um alerta para "Go Developer" e simular a criação de uma vaga para disparar o e-mail (LavinMQ).

💬 Grupo 4: Comunicação Real-time (Appwrite & FCM)

  1. Chat Instantâneo: Abrir duas abas (Empresa e Candidato) e validar se as mensagens aparecem sem refresh.
  2. Notificação Push (FCM): Bloquear a tela do celular e validar se o Push chega quando uma nova mensagem é recebida.
  3. Status de Leitura: Marcar mensagem como lida no Appwrite e validar o visual no frontend.
  4. Histórico de Chat: Validar se mensagens antigas (mais de 50) carregam via infinite scroll.

Grupo 5: Performance e Infraestrutura (LavinMQ & Redis)

  1. Carga na Fila: Disparar 100 candidaturas em 1 segundo e validar se o Worker do LavinMQ processa todas sem travar o sistema.
  2. Cache de Home: Validar se a Home carrega em menos de 200ms após a primeira visita (Redis).
  3. Resiliência DB: Derrubar o container do Postgres e validar se o Backend exibe erro de "Serviço Temporariamente Indisponível" em vez de crashar.
  4. Auto-reconnect AMQP: Desligar o LavinMQ por 5 segundos e validar se o Backend reconecta automaticamente quando ele volta.

🛠️ Grupo 6: Ferramentas Administrativas

  1. Seeder Reset: Rodar o seeder de reset e validar se o banco volta ao estado inicial perfeito.
  2. Purge Cache Cloudflare: Clicar no botão de Purge no Dashboard e validar via header CF-Cache-Status: MISS.
  3. Teste de SMTP: Usar a nova ferramenta de "Testar Envio" para validar as credenciais do Gmail/Sendgrid.
  4. Logs de Auditoria: Verificar se a tentativa de login falha de um IP desconhecido gera um alerta no sistema.
  5. Configurações de Tema: Alterar a cor primária para Verde e validar se toda a UI (botões, badges) muda instantaneamente.