# 🧪 Guia de Teste - Sistema de Catálogo v2.0 ## 📋 Pré-requisitos Antes de começar os testes, certifique-se de: 1. ✅ Executar o script SQL: ```bash sql/add-campos-catalogo-melhorias.sql ``` 2. ✅ Servidor está rodando: ```bash npm run dev ``` 3. ✅ Bucket `catalogo` criado e configurado --- ## 🎯 Roteiro de Testes ### 1. **Teste: Acessar Painel Admin** **Passo a Passo:** 1. Abra o navegador: `http://localhost:5000` 2. Faça login 3. Clique em **"Site / Catalogo"** no menu lateral **Resultado Esperado:** - ✅ Interface em formato de tabela - ✅ URL fixa mostrando `/catalogo` - ✅ 5 cards de estatísticas visíveis: - Total de Produtos - Visíveis - Ocultos - Em Promoção (🏷️) - Novidades (✨) --- ### 2. **Teste: Configurações do Catálogo** **Passo a Passo:** 1. Verifique a seção **"Configurações do Catálogo"** 2. Observe os toggles disponíveis: - Catálogo Ativo - Exibir Preços - Exibir Estoque - Exibir Badge "Novidades" - Exibir Badge "Promoções" **Teste:** 1. Desative **"Exibir Preços"** 2. Clique em **"Salvar Configurações"** 3. Abra `/catalogo` em nova aba 4. Verifique se os preços foram ocultados **Resultado Esperado:** - ✅ Configurações salvam corretamente - ✅ Mensagem de sucesso aparece - ✅ Mudanças refletem no site público --- ### 3. **Teste: Marcar Produto como Promoção** **Método 1 - Definindo Preço:** 1. Na tabela, localize um produto 2. Na coluna **"Preço Promocional"**, digite um valor menor que o preço normal - Exemplo: Se preço normal é R$ 99,90, digite `79.90` 3. Pressione **Tab** ou clique fora do campo **Resultado Esperado:** - ✅ Valor é salvo automaticamente - ✅ Badge 🏷️ **PROMO** aparece na coluna Status - ✅ Toast de sucesso: "Preço promocional atualizado" - ✅ Estatística "Em Promoção" aumenta **Método 2 - Toggle de Promoção:** 1. Clique no badge 🏷️ na coluna **"Status"** **Resultado Esperado:** - ✅ Badge alterna entre ativo/inativo - ✅ Toast de sucesso aparece - ✅ Estatística atualiza --- ### 4. **Teste: Marcar Produto como Novidade** **Passo a Passo:** 1. Na tabela, localize um produto 2. Clique no badge ✨ na coluna **"Status"** **Resultado Esperado:** - ✅ Badge alterna entre **"✨ NOVO"** e vazio - ✅ Toast: "Novidade atualizada!" - ✅ Estatística "Novidades" atualiza - ✅ Badge fica azul quando ativo --- ### 5. **Teste: Visualizar no Catálogo Público** **Passo a Passo:** 1. No painel admin, clique no botão **"Ver Catálogo"** - Ou acesse manualmente: `http://localhost:5000/catalogo` **Teste Produto Normal:** - ✅ Imagem do produto - ✅ Nome do produto - ✅ Preço normal - ✅ Tamanhos disponíveis **Teste Produto em Promoção:** - ✅ Badge **🏷️ PROMOÇÃO** no canto superior esquerdo - ✅ Preço original **riscado** em cinza - ✅ Preço promocional em **vermelho** e maior - ✅ Animação de pulsação no badge **Teste Produto Novidade:** - ✅ Badge **✨ NOVO** no canto superior direito - ✅ Cor roxa/azul no badge - ✅ Animação de pulsação no badge **Teste Produto Novidade + Promoção:** - ✅ Ambos os badges aparecem - ✅ Badge novidade fica mais abaixo para não sobrepor - ✅ Preço promocional exibido - ✅ Ambos animando --- ### 6. **Teste: Esconder Badges** **Passo a Passo:** 1. No painel admin, vá em **"Configurações do Catálogo"** 2. Desative **"Exibir Badge Promoções"** 3. Clique em **"Salvar Configurações"** 4. Recarregue `/catalogo` **Resultado Esperado:** - ✅ Produtos em promoção **NÃO** mostram badge 🏷️ - ✅ Preço promocional ainda aparece - ✅ Apenas badge visualmente está oculto **Teste com Novidades:** 1. Desative **"Exibir Badge Novidades"** 2. Salve e recarregue **Resultado Esperado:** - ✅ Badge ✨ **NOVO** não aparece - ✅ Produto continua marcado como novidade no banco --- ### 7. **Teste: Gerenciar Fotos Adicionais** **Passo a Passo:** 1. Na coluna **"Ações"**, clique no ícone de **foto** (📷) 2. Modal "Gerenciar Fotos" abre 3. Clique em **"Adicionar Nova Foto"** 4. Selecione uma imagem (máx 5MB) 5. Aguarde upload **Resultado Esperado:** - ✅ Upload completa - ✅ Foto aparece no grid do modal - ✅ Toast: "Foto adicionada com sucesso!" - ✅ Foto aparece na galeria do produto no catálogo **Teste Exclusão:** 1. Passe o mouse sobre uma foto 2. Clique no **"×"** vermelho 3. Confirme exclusão **Resultado Esperado:** - ✅ Foto removida do grid - ✅ Toast: "Foto removida!" --- ### 8. **Teste: Múltiplos Produtos** **Cenário: Criar uma vitrine completa** 1. Marque 3 produtos como **Novidade** 2. Marque 2 produtos como **Promoção** (com preço) 3. Marque 1 produto como **Novidade + Promoção** 4. Deixe 1 produto normal **No Catálogo Público:** - ✅ 3 produtos com badge ✨ - ✅ 2 produtos com badge 🏷️ - ✅ 1 produto com ambos badges - ✅ 1 produto sem badges - ✅ Todos organizados no grid --- ### 9. **Teste: Responsividade** **Desktop (> 1024px):** - ✅ Tabela mostra todas as colunas - ✅ Estatísticas em linha (5 cards) **Tablet (768px - 1024px):** - ✅ Tabela com scroll horizontal - ✅ Estatísticas em 2-3 colunas **Mobile (< 768px):** - ✅ Tabela com scroll horizontal - ✅ Estatísticas empilhadas - ✅ Badges visíveis - ✅ Preços legíveis --- ### 10. **Teste: Integração Completa** **Fluxo End-to-End:** 1. **Admin cria promoção:** - Define preço promocional - Marca como promoção - Adiciona fotos extras 2. **Cliente visualiza:** - Acessa `/catalogo` - Vê badge de promoção - Vê preço riscado + promo - Clica no produto 3. **Modal do produto:** - Galeria com fotos extras - Preço promocional destacado - Variações disponíveis 4. **Compra:** - Seleciona tamanho - Adiciona ao carrinho - Envia via WhatsApp **Resultado Esperado:** - ✅ Fluxo completo sem erros - ✅ Informações corretas em todas etapas - ✅ WhatsApp com preço promocional --- ## 🐛 Troubleshooting ### Problema: Badges não aparecem no site **Verificar:** 1. Configurações estão ativas? 2. Produtos estão marcados corretamente? 3. JavaScript carregou sem erros? **Solução:** ```javascript // Abra o console (F12) console.log(catalogoConfig); // Deve mostrar exibirNovidades: true, exibirPromocoes: true ``` ### Problema: Preço promocional não salva **Verificar:** 1. Valor está correto (número com ponto)? 2. Servidor está rodando? 3. Endpoint existe? **Solução:** ```bash # Testar endpoint curl -X PATCH http://localhost:5000/api/produtos/{ID}/preco-promocional \ -H "Content-Type: application/json" \ -d '{"precoPromocional": 79.90}' ``` ### Problema: Upload de fotos falha **Verificar:** 1. Bucket `catalogo` existe? 2. Políticas RLS configuradas? 3. Arquivo é menor que 5MB? **Solução:** ```bash node test-upload-catalogo.js ``` --- ## ✅ Checklist de Testes - [ ] SQL executado com sucesso - [ ] Painel admin abre corretamente - [ ] URL fixa `/catalogo` aparece - [ ] 5 estatísticas visíveis - [ ] Configurações salvam - [ ] Preço promocional funciona (método 1) - [ ] Toggle promoção funciona (método 2) - [ ] Toggle novidade funciona - [ ] Badge promoção aparece no site - [ ] Badge novidade aparece no site - [ ] Preço riscado + promocional visível - [ ] Ambos badges funcionam juntos - [ ] Esconder badges funciona - [ ] Upload de fotos funciona - [ ] Exclusão de fotos funciona - [ ] Galeria de fotos no modal - [ ] Responsivo em mobile - [ ] Fluxo completo funciona --- ## 📊 Casos de Teste | # | Teste | Entrada | Saída Esperada | Status | |---|-------|---------|----------------|--------| | 1 | Definir preço promo | 79.90 | Badge ativo + preço salvo | ⬜ | | 2 | Toggle promoção | Clique | On/Off alternado | ⬜ | | 3 | Toggle novidade | Clique | On/Off alternado | ⬜ | | 4 | Combo promo+novidade | Ambos ativos | 2 badges visíveis | ⬜ | | 5 | Esconder badges | Config OFF | Badges ocultos | ⬜ | | 6 | Upload foto | IMG 3MB | Foto adicionada | ⬜ | | 7 | Deletar foto | Clique × | Foto removida | ⬜ | | 8 | Ver catálogo | /catalogo | Site carrega | ⬜ | --- ## 🎓 Dicas de Teste 1. **Limpe o cache** do navegador entre testes 2. **Abra o console** (F12) para ver erros 3. **Use modo anônimo** para simular cliente 4. **Teste em mobile real** quando possível 5. **Verifique o banco** para confirmar salvamentos --- ## 📝 Relatório de Bugs Se encontrar problemas, anote: **Bug #:** **Descrição:** **Passos para Reproduzir:** 1. 2. 3. **Resultado Esperado:** **Resultado Atual:** **Console Errors:** **Screenshots:** --- **Data de Criação:** 24 de outubro de 2025 **Versão Testada:** 2.0.0 **Testador:** _______________ **Status Geral:** ⬜ Passou | ⬜ Falhou | ⬜ Parcial