clone

a browser grid puzzle game where you push words around to rewrite the rules of each level

Capture mobile Workshop world card handoff

Dami committed 30170c8
commit
30170c8577377fe728e4b1b6085f343276769d55
parent
6f9bb0e4d734f124e2c2a8f3e011847eacb594c2
author
Dami <dami.etoile@gmail.com>
1 file changed, +17 -0
Mtests/browser/world-index.mjs17+++++++++++++++++
M tests/browser/world-index.mjs +17 -0
@@ -153,6 +153,23 @@ try {
153153 await mobile.close();154154 report('mobile card, world arrow, and menu touch targets work without entering a proof');155155 156+ const mobileWorkshop = await browser.newContext({ viewport: { width: 390, height: 844 }, isMobile: true, hasTouch: true });157+ const mobileWorkshopPage = await mobileWorkshop.newPage();158+ const mobileWorkshopErrors = [];159+ mobileWorkshopPage.on('pageerror', error => mobileWorkshopErrors.push(error.message));160+ await mobileWorkshopPage.goto(playerUrl, { waitUntil: 'networkidle' });161+ await mobileWorkshopPage.keyboard.press(' ');162+ await waitScene(mobileWorkshopPage, 'workshop');163+ await mobileWorkshopPage.keyboard.press('ArrowDown');164+ await mobileWorkshopPage.keyboard.press('Enter');165+ await waitScene(mobileWorkshopPage, 'index');166+ await mobileWorkshopPage.waitForFunction(() => document.querySelector('.stage-canvas')?.getAttribute('aria-label')?.includes('Press Enter to enter'));167+ await mobileWorkshopPage.waitForTimeout(360);168+ await mobileWorkshopPage.screenshot({ path: `${screenshotDir}/d20-workshop-play-card-mobile.png` });169+ assert.deepEqual(mobileWorkshopErrors, []);170+ await mobileWorkshop.close();171+ report('mobile Workshop PLAY opens a readable first-entry world card');172+156173 const reduced = await browser.newContext({ viewport: { width: 390, height: 844 }, isMobile: true, hasTouch: true, reducedMotion: 'reduce' });157174 const reducedPage = await reduced.newPage();158175 const reducedErrors = [];