Files
SteelBase/public/teste-disponibilidade-simples.html

172 lines
7.2 KiB
HTML

<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Teste de Disponibilidade de Módulos</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
.test-result { margin: 10px 0; padding: 10px; border-radius: 5px; }
.success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.info { background: #d1ecf1; color: #0c5460; border: 1px solid #bee5eb; }
.test-section { margin: 20px 0; padding: 15px; border: 1px solid #ddd; border-radius: 5px; }
</style>
</head>
<body>
<h1>🔍 Teste de Disponibilidade de Módulos de Persistência</h1>
<div class="test-section">
<h3>Teste de Carregamento de Módulos</h3>
<div id="modulos-test"></div>
</div>
<div class="test-section">
<h3>Teste de Funcionalidade</h3>
<div id="funcionalidade-test"></div>
</div>
<div class="test-section">
<h3>Teste de Persistência</h3>
<div id="persistencia-test"></div>
</div>
<!-- Carregar módulos -->
<script src="js/core/admin-config-manager.js"></script>
<script src="js/core/backup-manager.js"></script>
<script src="js/core/toast-manager.js"></script>
<script>
function addResult(containerId, message, type = 'info') {
const container = document.getElementById(containerId);
const div = document.createElement('div');
div.className = `test-result ${type}`;
div.textContent = message;
container.appendChild(div);
}
function testarModulos() {
console.log('🚀 Iniciando teste de disponibilidade...');
// Testar disponibilidade das classes
const modulos = [
{ nome: 'AdminConfigManager', classe: typeof AdminConfigManager },
{ nome: 'BackupManager', classe: typeof BackupManager },
{ nome: 'ToastManager', classe: typeof ToastManager }
];
modulos.forEach(modulo => {
const disponivel = modulo.classe !== 'undefined';
addResult('modulos-test',
`${disponivel ? '✅' : '❌'} ${modulo.nome}: ${disponivel ? 'Disponível' : 'Não disponível'}`,
disponivel ? 'success' : 'error'
);
console.log(`${modulo.nome}: ${modulo.classe}`);
});
// Testar instâncias globais
const instancias = [
{ nome: 'window.adminConfigManager', objeto: window.adminConfigManager },
{ nome: 'window.backupManager', objeto: window.backupManager },
{ nome: 'window.toastManager', objeto: window.toastManager }
];
instancias.forEach(instancia => {
const disponivel = instancia.objeto !== undefined;
addResult('modulos-test',
`${disponivel ? '✅' : '❌'} ${instancia.nome}: ${disponivel ? 'Criada' : 'Não criada'}`,
disponivel ? 'success' : 'error'
);
});
}
function testarFuncionalidade() {
console.log('🔧 Testando funcionalidade...');
try {
// Testar AdminConfigManager
if (typeof AdminConfigManager !== 'undefined') {
const configManager = new AdminConfigManager();
const config = configManager.getConfig();
addResult('funcionalidade-test', '✅ AdminConfigManager: Funcional', 'success');
console.log('AdminConfigManager config:', config);
} else {
addResult('funcionalidade-test', '❌ AdminConfigManager: Não disponível', 'error');
}
// Testar BackupManager
if (typeof BackupManager !== 'undefined') {
const backupManager = new BackupManager();
addResult('funcionalidade-test', '✅ BackupManager: Funcional', 'success');
} else {
addResult('funcionalidade-test', '❌ BackupManager: Não disponível', 'error');
}
// Testar ToastManager
if (typeof ToastManager !== 'undefined') {
const toastManager = new ToastManager();
addResult('funcionalidade-test', '✅ ToastManager: Funcional', 'success');
// Mostrar um toast de teste
toastManager.info('🧪 Teste de ToastManager realizado com sucesso!');
} else {
addResult('funcionalidade-test', '❌ ToastManager: Não disponível', 'error');
}
} catch (error) {
addResult('funcionalidade-test', `❌ Erro: ${error.message}`, 'error');
console.error('Erro no teste de funcionalidade:', error);
}
}
function testarPersistencia() {
console.log('💾 Testando persistência...');
try {
if (typeof AdminConfigManager !== 'undefined') {
const configManager = new AdminConfigManager();
// Testar salvamento
const config = configManager.getConfig();
const nomeOriginal = config.appName;
config.appName = 'Teste de Persistência';
configManager.saveConfig(config);
// Verificar se salvou
const configSalva = configManager.getConfig();
const salvou = configSalva.appName === 'Teste de Persistência';
addResult('persistencia-test',
`${salvou ? '✅' : '❌'} Persistência: ${salvou ? 'Funcional' : 'Falhou'}`,
salvou ? 'success' : 'error'
);
// Restaurar valor original
config.appName = nomeOriginal;
configManager.saveConfig(config);
} else {
addResult('persistencia-test', '❌ AdminConfigManager não disponível', 'error');
}
} catch (error) {
addResult('persistencia-test', `❌ Erro: ${error.message}`, 'error');
console.error('Erro no teste de persistência:', error);
}
}
// Executar testes após carregamento
window.addEventListener('load', () => {
setTimeout(() => {
testarModulos();
setTimeout(() => {
testarFuncionalidade();
setTimeout(() => {
testarPersistencia();
}, 1000);
}, 1000);
}, 1000);
});
</script>
</body>
</html>