Files
chimera-Public/test/server/source-scan-route.test.js

16 lines
926 B
JavaScript

'use strict';
const assert = require('node:assert/strict');
const fs = require('node:fs');
const vm = require('node:vm');
const { test } = require('node:test');
test('Games route loads the source scan button handler without visiting Protection first', async () => {
const loaded = [];
const window = {};
const document = { createElement: () => ({ dataset: {}, addEventListener(event, callback) { if (event === 'load') this.complete = callback; } }), head: { appendChild(script) { loaded.push(script.src); script.complete(); } } };
vm.runInNewContext(fs.readFileSync('renderer/bootstrap.js', 'utf8'), { window, document, console });
await window.ChimeraModuleLoader.ensureForPage('games');
const scanOwners = loaded.filter(file => fs.existsSync(`renderer/${file}`) && fs.readFileSync(`renderer/${file}`, 'utf8').includes("$('btn-rescan-game-sources').addEventListener"));
assert.equal(scanOwners.length, 1);
});