# 🧪 Guia de Teste - Sistema de Banco de Dados ## 🚀 Como Testar o Novo Sistema ### 1️⃣ Abrir a Aplicação ```bash # Iniciar servidor local (escolha um): python -m http.server 8000 # ou npx http-server # ou php -S localhost:8000 ``` Depois abra: `http://localhost:8000` --- ### 2️⃣ Verificar Carregamento Automático #### No Console do Navegador (F12): Você deve ver estas mensagens: ``` ✅ Data Manager carregado e disponível globalmente 🗄️ Inicializando Data Manager v1.0.0 📥 Cache vazio ou desatualizado. Carregando dados... 🔄 Iniciando atualização completa dos dados... 📊 Carregando Cantoneiras... ✅ Cantoneiras: 39 itens carregados 📊 Carregando Barras Redondas... ✅ Barras Redondas: X itens carregados ... 🎉 Atualização completa finalizada! ✅ Sucessos: 10 ❌ Erros: 0 ``` --- ### 3️⃣ Testar Catálogo de Cantoneiras #### Acessar o Catálogo: 1. Clicar no menu lateral: **MATERIAIS** → **Catálogo de Perfis** 2. Selecionar aba **Cantoneiras** #### Verificar: - ✅ Tabela carrega automaticamente - ✅ 39 cantoneiras aparecem - ✅ Dados corretos (nome, dimensões, peso, etc.) - ✅ Badges coloridos por categoria --- ### 4️⃣ Testar Filtros #### Filtro por Tamanho: 1. Selecionar "Pequena (L25-L50)" no dropdown 2. Verificar que apenas cantoneiras pequenas aparecem 3. Contador atualiza automaticamente #### Filtro por Peso: 1. Digitar "10" no campo "Peso Máximo" 2. Verificar que apenas cantoneiras ≤ 10 kg/m aparecem #### Busca por Nome: 1. Digitar "L50" no campo de busca 2. Verificar que apenas L50x50 aparecem #### Limpar Filtros: 1. Clicar em "🔄 Limpar Filtros" 2. Verificar que todas as 39 cantoneiras voltam --- ### 5️⃣ Testar Painel Administrativo #### Abrir Painel: No console do navegador (F12): ```javascript abrirPainelDados() ``` #### Verificar: - ✅ Modal abre com informações do sistema - ✅ Versão: 1.0.0 - ✅ Cache: ✅ Ativo - ✅ Última Atualização: data/hora atual - ✅ Tabela com 10 tipos de perfis - ✅ Status de cada tipo (Cached/Vazio) - ✅ Contador de itens por tipo --- ### 6️⃣ Testar Ações do Painel #### Atualizar Todos os Dados: 1. Clicar em "🔄 Atualizar Todos os Dados" 2. Confirmar ação 3. Verificar log de atividades 4. Verificar mensagens de sucesso #### Limpar Cache: 1. Clicar em "🗑️ Limpar Cache" 2. Confirmar ação 3. Verificar que cache foi limpo 4. Recarregar página 5. Verificar que dados são recarregados automaticamente #### Verificar Integridade: 1. Clicar em "🔍 Verificar Integridade" 2. Verificar resultado no log 3. Deve mostrar "✅ Todos os dados estão íntegros!" #### Exportar Dados: 1. Clicar em "📤 Exportar Dados" 2. Verificar que arquivo JSON é baixado 3. Abrir arquivo e verificar conteúdo --- ### 7️⃣ Testar Atualização Individual #### No Painel Admin: 1. Localizar linha "Cantoneiras" 2. Clicar em "🔄 Atualizar" 3. Confirmar ação 4. Verificar mensagem de sucesso 5. Verificar que contador foi atualizado #### Limpar Tipo Específico: 1. Localizar linha "Cantoneiras" 2. Clicar em "🗑️ Limpar" 3. Confirmar ação 4. Verificar que status mudou para "❌ Vazio" 5. Recarregar catálogo 6. Verificar que dados são recarregados automaticamente --- ### 8️⃣ Testar Cache Persistente #### Teste de Persistência: 1. Carregar catálogo de cantoneiras 2. Verificar que dados aparecem 3. **Fechar navegador completamente** 4. Abrir navegador novamente 5. Acessar catálogo de cantoneiras 6. Verificar que dados carregam **instantaneamente** (do cache) #### No Console: Deve aparecer: ``` ✅ Cache válido encontrado. Dados prontos para uso. 📂 Cache carregado: cantoneiras (39 itens) ``` --- ### 9️⃣ Testar Fallback (Sistema Legado) #### Simular Falha do Data Manager: 1. Abrir console (F12) 2. Executar: `window.dataManager = null` 3. Recarregar catálogo de cantoneiras 4. Verificar que sistema legado é ativado 5. Dados devem carregar normalmente do CSV #### No Console: Deve aparecer: ``` ❌ Data Manager não disponível. Carregando método legado... ``` --- ### 🔟 Testar Performance #### Primeira Carga (Sem Cache): 1. Limpar cache: `localStorage.clear()` 2. Recarregar página 3. Medir tempo de carregamento 4. **Esperado**: ~500ms #### Segunda Carga (Com Cache): 1. Recarregar página 2. Medir tempo de carregamento 3. **Esperado**: ~50ms (10x mais rápido!) #### Filtros: 1. Aplicar filtro 2. Medir tempo de resposta 3. **Esperado**: ~10ms (instantâneo) --- ## ✅ Checklist de Testes ### Funcionalidades Básicas - [ ] Data Manager inicializa automaticamente - [ ] Cache é criado no localStorage - [ ] Cantoneiras carregam corretamente - [ ] Tabela exibe 39 itens - [ ] Dados estão corretos ### Filtros - [ ] Filtro por tamanho funciona - [ ] Filtro por peso funciona - [ ] Busca por nome funciona - [ ] Limpar filtros funciona - [ ] Contador atualiza corretamente ### Painel Admin - [ ] Painel abre corretamente - [ ] Status do sistema correto - [ ] Tabela de tipos completa - [ ] Atualizar todos funciona - [ ] Limpar cache funciona - [ ] Verificar integridade funciona - [ ] Exportar dados funciona ### Ações Individuais - [ ] Atualizar tipo específico funciona - [ ] Limpar tipo específico funciona - [ ] Recarregamento automático funciona ### Cache e Performance - [ ] Cache persiste após fechar navegador - [ ] Segunda carga é mais rápida - [ ] Filtros são instantâneos - [ ] Sem erros no console ### Fallback - [ ] Sistema legado funciona se Data Manager falhar - [ ] Dados carregam do CSV diretamente --- ## 🐛 Problemas Comuns ### Problema: "cantoneiras-tbody não encontrado" **Causa**: Elemento HTML não existe ou timing incorreto **Solução**: Verificar se está na aba correta do catálogo ### Problema: "HTTP 404" ao carregar CSV **Causa**: Arquivo CSV não existe **Solução**: Verificar se arquivo está em `BD/perfis/cantoneiras_brasil_completo.csv` ### Problema: Cache não persiste **Causa**: localStorage desabilitado ou cheio **Solução**: Verificar configurações do navegador ### Problema: Dados não aparecem **Causa**: Erro no CSV ou JavaScript **Solução**: 1. Abrir console (F12) 2. Verificar erros 3. Executar `abrirPainelDados()` 4. Clicar em "Verificar Integridade" --- ## 📊 Comandos Úteis no Console ```javascript // Ver dados em cache window.dataManager.getCacheStats() // Carregar dados manualmente await window.dataManager.getData('cantoneiras') // Filtrar dados window.dataManager.filterData(window.cantoneirasData, { tipo: 'Pequena' }) // Buscar dados window.dataManager.searchData(window.cantoneirasData, 'L50', ['nome']) // Limpar cache window.dataManager.clearCache() // Atualizar tudo await window.dataManager.updateAllData() // Ver metadata window.dataManager.getMetadata() // Abrir painel admin abrirPainelDados() // Atualizar cantoneiras await atualizarDadosCantoneiras() ``` --- ## 🎯 Critérios de Sucesso ### ✅ Sistema Funcionando Perfeitamente Se: 1. Data Manager inicializa sem erros 2. Cache é criado automaticamente 3. Cantoneiras carregam em < 1 segundo 4. Filtros respondem instantaneamente 5. Painel admin abre e funciona 6. Cache persiste entre sessões 7. Nenhum erro no console 8. Performance é notavelmente melhor ### ⚠️ Sistema com Problemas Se: 1. Erros no console 2. Dados não aparecem 3. Filtros não funcionam 4. Cache não persiste 5. Performance ruim 6. Painel admin não abre --- ## 📝 Relatório de Teste Após testar, preencha: ``` Data do Teste: ___/___/2025 Navegador: _______________ Versão: _______________ Funcionalidades Testadas: [ ] Carregamento automático [ ] Catálogo de cantoneiras [ ] Filtros [ ] Painel administrativo [ ] Cache persistente [ ] Performance Problemas Encontrados: 1. ___________________________ 2. ___________________________ 3. ___________________________ Observações: _______________________________ _______________________________ _______________________________ Status Final: [ ] ✅ Aprovado [ ] ⚠️ Com Ressalvas [ ] ❌ Reprovado ``` --- ## 🚀 Próximos Passos Após Testes Se tudo funcionar: 1. ✅ Expandir para outros tipos de perfis 2. ✅ Adicionar mais funcionalidades ao painel admin 3. ✅ Implementar exportação para Excel 4. ✅ Adicionar gráficos e estatísticas 5. ✅ Criar documentação para usuários finais --- **Boa sorte com os testes! 🎉**