
Running 40 tests using 1 worker

(node:21538) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
(Use `node --trace-warnings ...` to show where the warning was created)
  ✓   1 tests/browser.spec.mjs:65:3 › course presents its primary content on desktop (1.7s)
  ✓   2 tests/browser.spec.mjs:71:3 › course fits a 390px mobile viewport without horizontal overflow (1.2s)
  ✓   3 tests/browser.spec.mjs:78:3 › course has no serious or critical axe violations (3.8s)
  ✓   4 tests/browser.spec.mjs:65:3 › company demo presents its primary content on desktop (1.8s)
  ✓   5 tests/browser.spec.mjs:71:3 › company demo fits a 390px mobile viewport without horizontal overflow (1.2s)
  ✓   6 tests/browser.spec.mjs:78:3 › company demo has no serious or critical axe violations (3.6s)
  ✓   7 tests/browser.spec.mjs:65:3 › rental demo presents its primary content on desktop (1.1s)
  ✓   8 tests/browser.spec.mjs:71:3 › rental demo fits a 390px mobile viewport without horizontal overflow (947ms)
  ✓   9 tests/browser.spec.mjs:78:3 › rental demo has no serious or critical axe violations (3.1s)
  ✓  10 tests/browser.spec.mjs:65:3 › store demo presents its primary content on desktop (1.8s)
  ✓  11 tests/browser.spec.mjs:71:3 › store demo fits a 390px mobile viewport without horizontal overflow (1.2s)
  ✓  12 tests/browser.spec.mjs:78:3 › store demo has no serious or critical axe violations (3.1s)
  ✓  13 tests/browser.spec.mjs:65:3 › real-estate demo presents its primary content on desktop (1.3s)
  ✓  14 tests/browser.spec.mjs:71:3 › real-estate demo fits a 390px mobile viewport without horizontal overflow (1.0s)
  ✓  15 tests/browser.spec.mjs:78:3 › real-estate demo has no serious or critical axe violations (4.1s)
  ✓  16 tests/browser.spec.mjs:91:1 › course skip link moves keyboard focus to main content (1.3s)
  ✓  17 tests/browser.spec.mjs:100:1 › course progress persists after a lesson page reload (1.4s)
  ✓  18 tests/browser.spec.mjs:109:1 › resource search returns documents matching the learner query (1.0s)
  ✓  19 tests/browser.spec.mjs:117:1 › prompt copy button writes the displayed prompt to the clipboard (1.1s)
  ✓  20 tests/browser.spec.mjs:127:1 › published document download links resolve to non-empty Markdown files (1.7s)
  ✓  21 tests/browser.spec.mjs:145:1 › company contact form displays the D1-backed success response (3.3s)
  ✓  22 tests/browser.spec.mjs:155:1 › company contact form exposes a server failure without claiming success (1.4s)
  ✓  23 tests/browser.spec.mjs:167:1 › rental form reserves available D1 stock and shows the booking reference (4.0s)
  ✓  24 tests/browser.spec.mjs:184:1 › rental form reports a 409 conflict and rechecks availability (2.2s)
  ✓  25 tests/browser.spec.mjs:203:1 › store quote form displays the server-calculated success response (2.3s)
  ✓  26 tests/browser.spec.mjs:213:1 › store quote form exposes a server failure without claiming success (2.5s)
  ✓  27 tests/browser.spec.mjs:225:1 › real-estate combined filters show an empty state that resets the directory (1.7s)
  ✓  28 tests/browser.spec.mjs:239:1 › real-estate price sorting places the least expensive home first (1.3s)
  ✓  29 tests/browser.spec.mjs:245:1 › real-estate favorites persist after a page reload (1.5s)
  ✓  30 tests/browser.spec.mjs:254:1 › real-estate native details dialog returns focus to its opener when closed (1.8s)
  ✓  31 tests/browser.spec.mjs:265:1 › real-estate dialog interest action prefills the inquiry form (1.7s)
  ✓  32 tests/browser.spec.mjs:275:1 › real-estate inquiry displays the D1-backed contact reference (3.4s)
  ✓  33 tests/browser.spec.mjs:287:1 › real-estate inquiry retries a network failure with the same idempotency key (3.6s)
  ✓  34 tests/browser.spec.mjs:316:1 › closed store cart keeps its hidden quote fields out of keyboard navigation (1.9s)
  ✓  35 tests/browser.spec.mjs:326:1 › store cart traps focus while open and returns focus when dismissed (1.8s)
  ✓  36 tests/browser.spec.mjs:341:1 › store quantity update preserves focus on the edited cart field (1.6s)
  ✓  37 tests/browser.spec.mjs:352:1 › rental input invalidates a late availability response before the debounced recheck (1.7s)
  ✓  38 tests/browser.spec.mjs:404:3 › rental hides its catalog loading state after content loads (1.2s)
  ✓  39 tests/browser.spec.mjs:404:3 › store hides its catalog loading state after content loads (1.6s)
  ✓  40 tests/browser.spec.mjs:412:1 › store avoids motion effects when reduced motion is requested (1.2s)

  40 passed (1.4m)
