test(e2e): walk the app shell at every tablet size

tablet-shell.spec.ts runs on WebKit with an iPad profile (webkit-tablet,
in the WebKit job) and on Chromium with an Android tablet profile
(chromium-tablet, in the shards), across iPad mini to iPad Pro 13 in
both orientations, Safari's bars, Split View and Slide Over. It checks
that the shell fills the window and leaves the document nothing to
scroll, that every rail destination scrolls into view on top and takes a
tap, that the scroll cue follows the overflow, that main reaches its
last line clear of the bottom bar, that the page scrolls again after a
sheet and a dialog close, and that a tab strip leaves the vertical pan
to the page.

ui-standards records the shell and rail rules.
This commit is contained in:
Marc-André Bombeck committed 2026-10-23 18:23:49 +02:00
1 parent 22976337cb
commit 798747f987
4 files changed
+455 -7

No files matched your search

+5 -4
View File
@@ -62,7 +62,7 @@ jobs:
AUTH_RP_ORIGIN: http://localhost:3000
SESSION_COOKIE_SECURE: "false"
NODE_ENV: production
# The WebKit spec runs in the `webkit` job below.
# The WebKit specs run in the `webkit` job below.
E2E_SKIP_WEBKIT: "1"
steps:
@@ -146,8 +146,9 @@ jobs:
if [ -z "$version" ]; then echo "playwright-core not found in pnpm-lock.yaml"; exit 1; fi
echo "version=$version" >> "$GITHUB_OUTPUT"
# The WebKit spec (`bottom-sheet.spec.ts`, project `webkit-iphone`), in the
# same image as the shards.
# The WebKit specs, in the same image as the shards: the bottom sheet on an
# iPhone (`bottom-sheet.spec.ts`, project `webkit-iphone`) and the app shell
# on an iPad (`tablet-shell.spec.ts`, project `webkit-tablet`).
webkit:
runs-on: ubuntu-24.04
needs: playwright-version
@@ -202,7 +203,7 @@ jobs:
- run: NODE_OPTIONS=--max-old-space-size=8192 pnpm build
- run: pnpm exec playwright test --project=webkit-iphone
- run: pnpm exec playwright test --project=webkit-iphone --project=webkit-tablet
env:
E2E_BASE_URL: http://localhost:3000