$ cd apps/admin && pnpm build >/dev/null 2>&1 && ZOEN_EVIDENCE_TASK=WEB-202 pnpm exec playwright test --reporter=line # cwd /Users/king/Desktop/Workspace/SRO/zoen # exit 1 Running 66 tests using 2 workers [1/66] [setup] › tests/e2e/auth.setup.ts:9:3 › sign in as developer [2/66] [setup] › tests/e2e/auth.setup.ts:9:3 › sign in as owner [3/66] [setup] › tests/e2e/auth.setup.ts:9:3 › sign in as gm [4/66] [setup] › tests/e2e/auth.setup.ts:9:3 › sign in as qa [5/66] [setup] › tests/e2e/auth.setup.ts:9:3 › sign in as moderator [6/66] [setup] › tests/e2e/auth.setup.ts:9:3 › sign in as support [7/66] [setup] › tests/e2e/auth.setup.ts:9:3 › sign in as marketing [8/66] [setup] › tests/e2e/auth.setup.ts:9:3 › sign in as analyst [9/66] [setup] › tests/e2e/auth.setup.ts:9:3 › sign in as read_only [10/66] [desktop] › tests/e2e/login.spec.ts:6:3 › 2-step sign-in › @auth wrong password, wrong code, then the right code lands on the deep link with an httpOnly session [11/66] [desktop] › tests/e2e/growth.spec.ts:30:3 › growth module › @growth owner sees sign-ups, builds a wave and exports it (audited) [12/66] [desktop] › tests/e2e/shell.spec.ts:12:3 › console shell (owner) › @shell overview renders inside the shell with no errors [13/66] [desktop] › tests/e2e/shell.spec.ts:23:3 › console shell (owner) › @shell desktop sidebar collapses and remembers it; theme switches and persists [14/66] [desktop] › tests/e2e/growth.spec.ts:61:3 › growth module › @growth funnel shows the recorded visits [15/66] [desktop] › tests/e2e/shell.spec.ts:46:3 › console shell (owner) › @shell ⌘K finds a module and navigates [16/66] [desktop] › tests/e2e/growth.spec.ts:70:3 › growth module › @rbac support sees counts with masked emails and cannot export [17/66] [desktop] › tests/e2e/growth.spec.ts:80:3 › growth module › @growth pages are clean on every screen size [18/66] [desktop] › tests/e2e/shell.spec.ts:58:3 › console shell (owner) › @shell phone: bottom tabs and the navigation drawer [19/66] [desktop] › tests/e2e/shell.spec.ts:75:3 › permissions shape the navigation › @rbac QA sees build tools but not website, players or system pages [20/66] [desktop] › tests/e2e/smoke.spec.ts:4:1 › @smoke signed-out visitors land on the sign-in page, which is not indexable [21/66] [desktop] › tests/e2e/smoke.spec.ts:16:1 › @smoke the BFF refuses signed-out reads [22/66] [desktop] › tests/e2e/website.spec.ts:11:3 › website module (owner) › @website draft → preview → review → publish → archive a post [23/66] [tablet] › tests/e2e/growth.spec.ts:30:3 › growth module › @growth owner sees sign-ups, builds a wave and exports it (audited) [24/66] [tablet] › tests/e2e/growth.spec.ts:61:3 › growth module › @growth funnel shows the recorded visits [25/66] [tablet] › tests/e2e/growth.spec.ts:70:3 › growth module › @rbac support sees counts with masked emails and cannot export [26/66] [tablet] › tests/e2e/growth.spec.ts:80:3 › growth module › @growth pages are clean on every screen size 1) [tablet] › tests/e2e/growth.spec.ts:80:3 › growth module › @growth pages are clean on every screen size Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 3 - Array [] + Array [ + "scrollable-region-focusable: Scrollable region must have keyboard access (1) — .rounded-zo.bg-surface.border > .overflow-x-auto [Element should have focusable content]", + ] at helpers.ts:42 40 | const result = await axe.analyze(); 41 | const bad = result.violations.filter((v) => v.impact === 'serious' || v.impact === 'critical'); > 42 | expect(bad.map((v) => `${v.id}: ${v.help} (${v.nodes.length}) — ${v.nodes.slice(0, 4).map((n) => `${n.target.join(' ')} [${(n.any[0]?.message ?? '').slice(0, 120)}]`).join(' | ')}`)).toEqual([]); | ^ 43 | } 44 | at expectNoSeriousA11y (/Users/king/Desktop/Workspace/SRO/zoen/apps/admin/tests/e2e/helpers.ts:42:186) at /Users/king/Desktop/Workspace/SRO/zoen/apps/admin/tests/e2e/growth.spec.ts:86:7 Error Context: ../../logs/evidence/pw-artifacts/admin/growth-growth-module-growt-1b49c--clean-on-every-screen-size-tablet/error-context.md Error Context: ../../logs/evidence/pw-artifacts/admin/growth-growth-module-growt-1b49c--clean-on-every-screen-size-tablet/error-context.md attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── ../../logs/evidence/pw-artifacts/admin/growth-growth-module-growt-1b49c--clean-on-every-screen-size-tablet/trace.zip Usage: pnpm exec playwright show-trace ../../logs/evidence/pw-artifacts/admin/growth-growth-module-growt-1b49c--clean-on-every-screen-size-tablet/trace.zip ──────────────────────────────────────────────────────────────────────────────────────────────── [27/66] [tablet] › tests/e2e/login.spec.ts:6:3 › 2-step sign-in › @auth wrong password, wrong code, then the right code lands on the deep link with an httpOnly session [28/66] [tablet] › tests/e2e/shell.spec.ts:12:3 › console shell (owner) › @shell overview renders inside the shell with no errors [29/66] [tablet] › tests/e2e/shell.spec.ts:23:3 › console shell (owner) › @shell desktop sidebar collapses and remembers it; theme switches and persists [30/66] [desktop] › tests/e2e/website.spec.ts:41:3 › website module (owner) › @website FAQ: add, publish and delete a question [31/66] [tablet] › tests/e2e/shell.spec.ts:46:3 › console shell (owner) › @shell ⌘K finds a module and navigates [32/66] [tablet] › tests/e2e/shell.spec.ts:58:3 › console shell (owner) › @shell phone: bottom tabs and the navigation drawer [33/66] [tablet] › tests/e2e/shell.spec.ts:75:3 › permissions shape the navigation › @rbac QA sees build tools but not website, players or system pages [34/66] [tablet] › tests/e2e/smoke.spec.ts:4:1 › @smoke signed-out visitors land on the sign-in page, which is not indexable [35/66] [tablet] › tests/e2e/smoke.spec.ts:16:1 › @smoke the BFF refuses signed-out reads [36/66] [tablet] › tests/e2e/website.spec.ts:11:3 › website module (owner) › @website draft → preview → review → publish → archive a post [37/66] [tablet] › tests/e2e/website.spec.ts:41:3 › website module (owner) › @website FAQ: add, publish and delete a question [38/66] [tablet] › tests/e2e/website.spec.ts:59:3 › website module (owner) › @website status: degrade the website component, then restore it [39/66] [tablet] › tests/e2e/website.spec.ts:78:3 › website module (owner) › @website settings: banner change needs a reason (+ step-up) and is reverted [40/66] [tablet] › tests/e2e/website.spec.ts:98:3 › website module (owner) › @website pages render cleanly on every screen size [41/66] [desktop] › tests/e2e/website.spec.ts:59:3 › website module (owner) › @website status: degrade the website component, then restore it [42/66] [tablet] › tests/e2e/website.spec.ts:111:3 › website permissions › @rbac marketing can write posts but not change site settings [43/66] [tablet] › tests/e2e/website.spec.ts:120:3 › website permissions › @rbac analyst has no website access [44/66] [mobile] › tests/e2e/growth.spec.ts:30:3 › growth module › @growth owner sees sign-ups, builds a wave and exports it (audited) [45/66] [mobile] › tests/e2e/growth.spec.ts:61:3 › growth module › @growth funnel shows the recorded visits [46/66] [mobile] › tests/e2e/growth.spec.ts:70:3 › growth module › @rbac support sees counts with masked emails and cannot export [47/66] [mobile] › tests/e2e/growth.spec.ts:80:3 › growth module › @growth pages are clean on every screen size [48/66] [desktop] › tests/e2e/website.spec.ts:78:3 › website module (owner) › @website settings: banner change needs a reason (+ step-up) and is reverted 2) [mobile] › tests/e2e/growth.spec.ts:80:3 › growth module › @growth pages are clean on every screen size Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 3 - Array [] + Array [ + "scrollable-region-focusable: Scrollable region must have keyboard access (1) — .rounded-zo.bg-surface.border > .overflow-x-auto [Element should have focusable content]", + ] at helpers.ts:42 40 | const result = await axe.analyze(); 41 | const bad = result.violations.filter((v) => v.impact === 'serious' || v.impact === 'critical'); > 42 | expect(bad.map((v) => `${v.id}: ${v.help} (${v.nodes.length}) — ${v.nodes.slice(0, 4).map((n) => `${n.target.join(' ')} [${(n.any[0]?.message ?? '').slice(0, 120)}]`).join(' | ')}`)).toEqual([]); | ^ 43 | } 44 | at expectNoSeriousA11y (/Users/king/Desktop/Workspace/SRO/zoen/apps/admin/tests/e2e/helpers.ts:42:186) at /Users/king/Desktop/Workspace/SRO/zoen/apps/admin/tests/e2e/growth.spec.ts:86:7 Error Context: ../../logs/evidence/pw-artifacts/admin/growth-growth-module-growt-1b49c--clean-on-every-screen-size-mobile/error-context.md Error Context: ../../logs/evidence/pw-artifacts/admin/growth-growth-module-growt-1b49c--clean-on-every-screen-size-mobile/error-context.md attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── ../../logs/evidence/pw-artifacts/admin/growth-growth-module-growt-1b49c--clean-on-every-screen-size-mobile/trace.zip Usage: pnpm exec playwright show-trace ../../logs/evidence/pw-artifacts/admin/growth-growth-module-growt-1b49c--clean-on-every-screen-size-mobile/trace.zip ──────────────────────────────────────────────────────────────────────────────────────────────── [49/66] [mobile] › tests/e2e/login.spec.ts:6:3 › 2-step sign-in › @auth wrong password, wrong code, then the right code lands on the deep link with an httpOnly session [50/66] [desktop] › tests/e2e/website.spec.ts:98:3 › website module (owner) › @website pages render cleanly on every screen size [51/66] [mobile] › tests/e2e/shell.spec.ts:12:3 › console shell (owner) › @shell overview renders inside the shell with no errors [52/66] [mobile] › tests/e2e/shell.spec.ts:23:3 › console shell (owner) › @shell desktop sidebar collapses and remembers it; theme switches and persists [53/66] [mobile] › tests/e2e/shell.spec.ts:46:3 › console shell (owner) › @shell ⌘K finds a module and navigates [54/66] [mobile] › tests/e2e/shell.spec.ts:58:3 › console shell (owner) › @shell phone: bottom tabs and the navigation drawer [55/66] [desktop] › tests/e2e/website.spec.ts:111:3 › website permissions › @rbac marketing can write posts but not change site settings [56/66] [desktop] › tests/e2e/website.spec.ts:120:3 › website permissions › @rbac analyst has no website access [57/66] [mobile] › tests/e2e/shell.spec.ts:75:3 › permissions shape the navigation › @rbac QA sees build tools but not website, players or system pages [58/66] [mobile] › tests/e2e/website.spec.ts:11:3 › website module (owner) › @website draft → preview → review → publish → archive a post [59/66] [mobile] › tests/e2e/website.spec.ts:41:3 › website module (owner) › @website FAQ: add, publish and delete a question [60/66] [mobile] › tests/e2e/website.spec.ts:59:3 › website module (owner) › @website status: degrade the website component, then restore it [61/66] [mobile] › tests/e2e/website.spec.ts:78:3 › website module (owner) › @website settings: banner change needs a reason (+ step-up) and is reverted [62/66] [mobile] › tests/e2e/website.spec.ts:98:3 › website module (owner) › @website pages render cleanly on every screen size [63/66] [mobile] › tests/e2e/smoke.spec.ts:4:1 › @smoke signed-out visitors land on the sign-in page, which is not indexable [64/66] [mobile] › tests/e2e/smoke.spec.ts:16:1 › @smoke the BFF refuses signed-out reads [65/66] [mobile] › tests/e2e/website.spec.ts:111:3 › website permissions › @rbac marketing can write posts but not change site settings [66/66] [mobile] › tests/e2e/website.spec.ts:120:3 › website permissions › @rbac analyst has no website access 2 failed [tablet] › tests/e2e/growth.spec.ts:80:3 › growth module › @growth pages are clean on every screen size [mobile] › tests/e2e/growth.spec.ts:80:3 › growth module › @growth pages are clean on every screen size 27 skipped 37 passed (1.6m)