Fix script paths and move assets to public/ folder for Vite build compatibility

This commit is contained in:
Marcos
2026-03-22 20:45:20 -03:00
parent 304504b758
commit 57ba9d1c5f
155 changed files with 10614 additions and 26 deletions

View File

@@ -0,0 +1,69 @@
/**
* Teste completo de Backup e Log
* Executar no console: runBackupAndLogTest()
*/
(function(){
async function run(){
const results = [];
const add = (ok, msg) => { results.push({ ok, msg }); console.log(`${ok ? '✅' : '❌'} ${msg}`); };
try {
if (!window.backupManager || !window.dataManager) {
add(false, 'Managers não encontrados (backupManager/dataManager)');
return { results };
}
console.group('🔧 Teste: Backup e Log');
// Estado inicial
const beforeBackups = window.backupManager.getBackups();
console.log('Backups existentes:', beforeBackups.length);
// 1) Criar backup manual
const newBackup = await window.backupManager.createBackup('Backup manual - Teste');
add(typeof newBackup.timestamp === 'number', 'timestamp numérico no backup criado');
add(new Date(newBackup.createdAt).toString() !== 'Invalid Date', 'data válida no backup criado');
add(typeof newBackup.sizeBytes === 'number' && newBackup.sizeBytes > 0, 'sizeBytes válido no backup criado');
add(typeof newBackup.size === 'string' && /B|KB|MB|GB/.test(newBackup.size), 'size formatado no backup criado');
// 2) Listagem sem "Invalid Date" ou "undefined"
const list = window.backupManager.getBackups();
const invalids = list.filter(b => {
const d = Number(b.createdAt ?? b.timestamp);
return isNaN(d) || new Date(d).toString() === 'Invalid Date' || b.size == null || b.sizeBytes == null;
});
add(invalids.length === 0, 'lista de backups sem "Invalid Date"/"undefined"');
// 3) Restauração (escuta evento)
let restoredEvent = false;
const handler = () => { restoredEvent = true; };
document.addEventListener('backupRestored', handler, { once: true });
await window.backupManager.restoreBackup(newBackup.id);
add(restoredEvent === true, 'evento de restauração disparado');
// 4) Remoção do backup criado
window.backupManager.removeBackup(newBackup.id);
const afterRemoval = window.backupManager.getBackups();
add(!afterRemoval.find(b => b.id === newBackup.id), 'backup de teste removido com sucesso');
// 5) Atualização de logs (metadata)
const metaBefore = window.dataManager.getMetadata();
await window.dataManager.updateAllData();
const metaAfter = window.dataManager.getMetadata();
add(metaAfter && metaBefore && metaAfter.lastUpdate > metaBefore.lastUpdate, 'log: lastUpdate atualizado');
add(metaAfter && (metaAfter.successCount + metaAfter.errorCount === metaAfter.totalTypes), 'log: contagem consistente');
console.groupEnd();
return {
results,
backups: window.backupManager.getBackups(),
metadata: window.dataManager.getMetadata()
};
} catch (err) {
add(false, `Erro no teste: ${err.message}`);
return { results, error: err };
}
}
window.runBackupAndLogTest = run;
})();