const { chromium } = require('@playwright/test'); (async () => { const browser = await chromium.launch(); const sims = [ ['fluss?level=1', 'fluss', 'Flussmanagement'], ['klima-2d', 'klima', 'Klimasimulation 2D'], ['klima-3d', 'klima-3d', 'Klimasimulation 3D'], ['heli-game', 'heli', 'Helikopter-Navigation'], ['weltkueche', 'weltkueche', 'Welt-KΓΌche'], ['energiemanager', 'energiemanager', 'Energiemanager'], ['busfahrt', 'busfahrt', '🚌 Busfahrt'], ['entscheidungstag','entscheidungstag','πŸŒ… Entscheidungstag'], ['eu-werkstatt', 'eu-werkstatt', 'πŸ›οΈ EU-Werkstatt'], ['farmer', 'farmer', '🌾 Landwirtschaft'], ['fluggesellschaft','fluggesellschaft','✈️ Fluggesellschaft'], ['logistik', 'logistik', 'πŸ“¦ Logistik Europa'], ['sonnensystem', 'sonnensystem', 'πŸͺ Sonnensystem'], ]; let ok=0, fail=0; for (const [path, expSim, expTitle] of sims) { const page = await browser.newPage(); await page.goto('https://geograsim.at/' + path); await page.waitForTimeout(2500); const info = await page.evaluate(() => ({ hasReg: typeof window.GGS_TUTORIAL === 'object' && typeof window.GGS_TUTORIAL.replay === 'function', simId: window.GGS_TUTORIAL && window.GGS_TUTORIAL.simId, title: window.GGS_TUTORIAL && window.GGS_TUTORIAL.title, live: typeof window.__GGS_LIVE__ === 'object', })); const pass = info.hasReg && info.simId === expSim && info.title === expTitle && info.live; console.log((pass?'βœ“':'βœ—'), path.padEnd(20), JSON.stringify(info)); if (pass) ok++; else fail++; await page.close(); } console.log('\n' + ok + '/' + (ok+fail) + ' Sims auf Prod mit GGS_TUTORIAL+__GGS_LIVE__'); await browser.close(); process.exit(fail ? 1 : 0); })();