45 lines
4 KiB
Markdown
45 lines
4 KiB
Markdown
# 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)
|
|
7. **Criação de Vaga**: Criar vaga com todos os campos e validar se aparece instantaneamente na Home.
|
|
8. **Upload de Logo**: Subir um logo de 5MB para a empresa e validar se o redimensionamento automático (Civo Storage) funciona.
|
|
9. **Edição de Vaga**: Alterar o status de uma vaga de `open` para `closed` e verificar se ela some das buscas públicas.
|
|
10. **Busca por Localização**: Testar o Autocomplete de Kyoto, Japão e validar se a vaga criada no QA anterior é encontrada.
|
|
11. **Filtro de Salário**: Filtrar vagas com salário > 15.000 e validar os resultados.
|
|
12. **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
|
|
13. **Perfil Completo**: Preencher 10 habilidades e validar se o gráfico de radar (se houver) renderiza corretamente.
|
|
14. **Candidatura com Perguntas**: Responder a um formulário de 5 perguntas customizadas e validar se o recrutador recebe as respostas.
|
|
15. **Upload de CV**: Subir um PDF corrompido e validar se o sistema rejeita com mensagem amigável.
|
|
16. **Favoritos**: Adicionar 5 vagas aos favoritos e validar se a lista persiste após o refresh.
|
|
17. **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)
|
|
18. **Chat Instantâneo**: Abrir duas abas (Empresa e Candidato) e validar se as mensagens aparecem sem refresh.
|
|
19. **Notificação Push (FCM)**: Bloquear a tela do celular e validar se o Push chega quando uma nova mensagem é recebida.
|
|
20. **Status de Leitura**: Marcar mensagem como lida no Appwrite e validar o visual no frontend.
|
|
21. **Histórico de Chat**: Validar se mensagens antigas (mais de 50) carregam via infinite scroll.
|
|
|
|
## ⚡ Grupo 5: Performance e Infraestrutura (LavinMQ & Redis)
|
|
22. **Carga na Fila**: Disparar 100 candidaturas em 1 segundo e validar se o Worker do LavinMQ processa todas sem travar o sistema.
|
|
23. **Cache de Home**: Validar se a Home carrega em menos de 200ms após a primeira visita (Redis).
|
|
24. **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.
|
|
25. **Auto-reconnect AMQP**: Desligar o LavinMQ por 5 segundos e validar se o Backend reconecta automaticamente quando ele volta.
|
|
|
|
## 🛠️ Grupo 6: Ferramentas Administrativas
|
|
26. **Seeder Reset**: Rodar o seeder de reset e validar se o banco volta ao estado inicial perfeito.
|
|
27. **Purge Cache Cloudflare**: Clicar no botão de Purge no Dashboard e validar via header `CF-Cache-Status: MISS`.
|
|
28. **Teste de SMTP**: Usar a nova ferramenta de "Testar Envio" para validar as credenciais do Gmail/Sendgrid.
|
|
29. **Logs de Auditoria**: Verificar se a tentativa de login falha de um IP desconhecido gera um alerta no sistema.
|
|
30. **Configurações de Tema**: Alterar a cor primária para Verde e validar se toda a UI (botões, badges) muda instantaneamente.
|