# 🧪 Backlog de QA e Estabilização (150 Atividades) Este documento detalha 150 tarefas de validação, testes e melhorias para garantir a robustez da plataforma SaveInMed. ## 🔐 Autenticação e Segurança (15 atividades) 1. [ ] Validar bloqueio de força bruta no login. 2. [ ] Testar expiração de token JWT após 24h. 3. [ ] Verificar se usuários sem `role` de admin acessam `/api/v1/admin`. 4. [ ] Validar reset de senha via e-mail (fluxo completo). 5. [ ] Testar registro de empresa com CNPJ inválido. 6. [ ] Validar se um usuário de uma empresa pode ver pedidos de outra empresa (Isolamento de Tenant). 7. [ ] Testar sanitização de inputs contra SQL Injection em todos os filtros. 8. [ ] Verificar proteção contra XSS no cadastro de descrição de produtos. 9. [ ] Validar se o Password Pepper está sendo aplicado corretamente em novos cadastros. 10. [ ] Testar login simultâneo em múltiplos dispositivos. 11. [ ] Validar logout e invalidação imediata do token no client-side. 12. [ ] Verificar se logs do sistema expõem senhas ou tokens (Segurança de Log). 13. [ ] Testar upload de documentos de empresa com arquivos maliciosos (.exe, .js). 14. [ ] Validar CORS apenas para domínios autorizados. 15. [ ] Verificar headers de segurança (HSTS, CSP, X-Frame-Options). ## 📦 Catálogo e Busca (20 atividades) 16. [ ] Validar filtro por validade (mínimo de dias) no backend. 17. [ ] Testar busca por EAN com 13 dígitos. 18. [ ] Testar busca por EAN com 14 dígitos. 19. [ ] Verificar se produtos com estoque zero aparecem na busca pública. 20. [ ] Validar mascaramento do `seller_id` no JSON da busca pública. 21. [ ] Testar ordenação por menor preço. 22. [ ] Testar ordenação por validade mais próxima. 23. [ ] Validar paginação da busca (limite de 20, 50, 100 itens). 24. [ ] Verificar se o filtro de categoria retorna produtos de subcategorias. 25. [ ] Testar busca por termos com acentuação (ex: "Água"). 26. [ ] Validar exibição da distância (km) baseada no CEP do comprador. 27. [ ] Testar comportamento da busca sem coordenadas de latitude/longitude. 28. [ ] Verificar se a imagem do produto carrega corretamente via proxy de uploads. 29. [ ] Testar importação massiva de produtos via CSV (1000+ itens). 30. [ ] Validar erro ao importar CSV com colunas faltando. 31. [ ] Verificar se o "nome social" do produto é exibido prioritariamente. 32. [ ] Testar filtro de "Fabricante". 33. [ ] Validar se a unidade de medida (caixa, frasco) está correta na listagem. 34. [ ] Testar cache de resultados de busca frequentes. 35. [ ] Verificar tempo de resposta da busca (< 500ms). ## 🛒 Carrinho e Checkout (25 atividades) 36. [ ] Testar adição de itens de diferentes vendedores no mesmo carrinho (deve separar por pacote). 37. [ ] Validar cálculo de subtotal por item (preço * quantidade). 38. [ ] Verificar persistência do carrinho no `localStorage`. 39. [ ] Testar remoção de itens do carrinho. 40. [ ] Validar limite de estoque ao tentar adicionar mais itens do que o disponível. 41. [ ] Testar fluxo de checkout sem estar logado (deve redirecionar para login). 42. [ ] Validar cálculo de frete na Etapa 2 do Checkout. 43. [ ] Testar seleção de frete grátis vs pago. 44. [ ] Verificar se o valor do frete é somado corretamente ao total do pedido. 45. [ ] Testar geração de Pix real via Mercado Pago no checkout. 46. [ ] Testar geração de Pix real via Asaas no checkout. 47. [ ] Validar exibição do QR Code Base64. 48. [ ] Testar botão "Copia e Cola" do Pix no mobile. 49. [ ] Verificar se o pedido é criado com status "Pendente" antes do pagamento. 50. [ ] Validar limpeza do carrinho após finalização do pedido. 51. [ ] Testar concorrência: dois usuários comprando o último item ao mesmo tempo. 52. [ ] Verificar se cupons de desconto (se houver) aplicam corretamente. 53. [ ] Testar checkout com endereço de entrega diferente do endereço da empresa. 54. [ ] Validar se o botão "Finalizar Pedido" desabilita durante o processamento. 55. [ ] Testar retorno de erro do gateway (cartão recusado). 56. [ ] Verificar se o `order_id` gerado segue o padrão UUIDv7. 57. [ ] Validar se o Split de 12% é calculado sobre o valor total (com frete?). 58. [ ] Testar checkout com múltiplos itens de um mesmo lote. 59. [ ] Verificar se a observação do pedido é salva corretamente. 60. [ ] Validar tempo de expiração do Pix (30 min). ## 💳 Pagamentos e Webhooks (20 atividades) 61. [ ] Validar recebimento de webhook do Mercado Pago para status "approved". 62. [ ] Validar recebimento de webhook do Mercado Pago para status "rejected". 63. [ ] Testar webhook do Asaas para status "PAYMENT_RECEIVED". 64. [ ] Verificar se o status do pedido muda para "Pago" automaticamente via webhook. 65. [ ] Testar idempotência dos webhooks (receber o mesmo ID 2x não deve duplicar log). 66. [ ] Validar se a Fatura é marcada como paga automaticamente. 67. [ ] Verificar logs de erro para webhooks com assinatura inválida. 68. [ ] Testar consulta de status manual via endpoint `/pay` para casos de falha de webhook. 69. [ ] Validar cálculo do `SellerReceivable` (Total - 12%). 70. [ ] Verificar se o MarketplaceFee (12%) é registrado no Ledger. 71. [ ] Testar estorno (Refund) via painel admin. 72. [ ] Validar se o estorno atualiza o status do pedido para "Cancelado". 73. [ ] Testar split de pagamento com vendedor que não tem conta configurada. 74. [ ] Verificar logs de transação financeira no banco de dados. 75. [ ] Validar se pagamentos com cartão de crédito pedem CPF/CNPJ corretamente. 76. [ ] Testar fluxo de pagamento "Pendente" (ex: Boleto ou Pix não pago). 77. [ ] Verificar se notificações push são enviadas ao vendedor após o pagamento. 78. [ ] Validar se o comprador recebe e-mail de confirmação. 79. [ ] Testar troca dinâmica de gateway via variável de ambiente. 80. [ ] Verificar segurança da URL de notificação (não deve exigir auth mas deve ser validada). ## 📊 Dashboard do Vendedor (15 atividades) 81. [ ] Validar cálculo do "Total de Vendas" no dashboard. 82. [ ] Verificar se a lista de "Pedidos Recentes" mostra apenas os últimos 5. 83. [ ] Testar botão "Ver Tudo" na lista de pedidos do dashboard. 84. [ ] Validar alertas de estoque baixo (itens < 10 unidades). 85. [ ] Verificar se produtos de outras empresas aparecem no dashboard (deve ser proibido). 86. [ ] Testar atualização manual do status do pedido (Pendente -> Faturado). 87. [ ] Validar se o vendedor pode baixar a nota fiscal (se implementado). 88. [ ] Testar filtro por data no gráfico de vendas. 89. [ ] Verificar exibição dos "Top Produtos" mais vendidos. 90. [ ] Validar se o saldo disponível para saque está correto. 91. [ ] Testar solicitação de saque (Withdrawal). 92. [ ] Verificar histórico de extrato financeiro (Ledger). 93. [ ] Validar se o vendedor pode editar apenas seus próprios produtos. 94. [ ] Testar upload de logotipo da empresa. 95. [ ] Verificar tempo de carregamento dos KPIs do dashboard. ## 🏢 Gestão de Empresas e Usuários (15 atividades) 96. [ ] Validar cadastro de nova Farmácia Vendedora via Admin. 97. [ ] Testar edição de dados cadastrais (Telefone, E-mail). 98. [ ] Verificar se o CNPJ é validado via API externa (se integrado). 99. [ ] Testar ativação/desativação de conta de empresa. 100. [ ] Validar fluxo de "Completar Registro" para novos usuários. 101. [ ] Testar adição de múltiplos colaboradores em uma mesma empresa. 102. [ ] Verificar permissões de "Operador" vs "Proprietário". 103. [ ] Validar se um usuário desativado consegue fazer login. 104. [ ] Testar troca de senha dentro do perfil. 105. [ ] Verificar se a categoria da empresa (Farmácia Compradora/Vendedora) altera o menu. 106. [ ] Validar validação de CEP no cadastro de endereço. 107. [ ] Testar se o mapa de calor de vendas funciona no Admin. 108. [ ] Verificar se o histórico de acessos (Audit Log) está registrando logins. 109. [ ] Testar remoção de colaborador da empresa. 110. [ ] Validar se documentos da empresa (Alvará, CRF) são obrigatórios. ## 🚚 Logística e Frete (15 atividades) 111. [ ] Validar raio de entrega máximo configurado pelo vendedor. 112. [ ] Testar cálculo de frete por KM rodado. 113. [ ] Testar cálculo de frete por faixa de CEP. 114. [ ] Verificar comportamento quando o comprador está fora do raio de entrega. 115. [ ] Testar frete grátis para pedidos acima de determinado valor. 116. [ ] Validar geração de guia de transporte (Shipment). 117. [ ] Verificar se o código de rastreio é enviado ao comprador. 118. [ ] Testar atualização de status para "Em Trânsito". 119. [ ] Validar se o custo do frete é repassado integralmente ao vendedor (ou retido?). 120. [ ] Verificar integração com APIs de transportadoras (ex: Melhor Envio). 121. [ ] Testar frete fixo por estado. 122. [ ] Validar peso máximo por pedido para cálculo de frete. 123. [ ] Verificar se o tempo de entrega estimado é realista. 124. [ ] Testar cancelamento de entrega. 125. [ ] Validar prova de entrega (assinatura ou foto). ## 🖥️ UX/UI e Responsividade (15 atividades) 126. [ ] Testar menu lateral no mobile (deve ser colapsável). 127. [ ] Verificar contraste de cores para acessibilidade (WCAG). 128. [ ] Testar todos os botões no modo "Dark Mode" (se disponível). 129. [ ] Validar mensagens de erro amigáveis no frontend (não exibir stack trace). 130. [ ] Testar carregamento progressivo de imagens (Skeleton screen). 131. [ ] Verificar se o modal de confirmação aparece antes de deletar algo. 132. [ ] Testar usabilidade do filtro de validade no mobile (slider). 133. [ ] Validar se o campo de busca limpa corretamente ao clicar no "X". 134. [ ] Verificar consistência de fontes e tamanhos de texto. 135. [ ] Testar navegação por teclado (Tab index) em formulários. 136. [ ] Validar se estados de "Loading" aparecem em todas as chamadas de API. 137. [ ] Verificar favicon e títulos das páginas no navegador. 138. [ ] Testar comportamento de "Pull to Refresh" no mobile. 139. [ ] Validar se tooltips de ajuda aparecem em campos complexos. 140. [ ] Verificar se o layout quebra em resoluções 4K ou muito baixas (320px). ## ⚙️ DevOps e Infraestrutura (10 atividades) 141. [ ] Validar tempo de Build do Docker (deve ser < 5 min). 142. [ ] Verificar se o Hot Reload está funcionando no ambiente de dev. 143. [ ] Testar restauração de backup do banco de dados Postgres. 144. [ ] Validar limites de memória e CPU dos containers. 145. [ ] Verificar se logs de erro são enviados para Sentry/CloudWatch. 146. [ ] Testar escalabilidade: Simular 50 usuários simultâneos. 147. [ ] Validar limpeza automática de arquivos temporários de upload. 148. [ ] Verificar se a conexão com o banco usa SSL em produção. 149. [ ] Testar tempo de inatividade (Downtime) durante deploy. 150. [ ] Validar certificados SSL Let's Encrypt (auto-renovação).