Files
universe/playwright.branded.config.ts
T
zeekayandHanzo Dev 6efce1c2d2 test(e2e): branded web3-surface matrix — live · functional · branded @ 4 breakpoints
Durable regression suite proving every public surface across Lux/Zoo/Hanzo/Pars
(explorers, wallets, id, votes, work boards, bridges, safe, clouds, exchanges)
is live, functional, and correctly branded at 390/768/1280/1920 — real
Chrome/Blink (channel:'chrome'), read-only (no txns, no wallet-connect, no auth;
the login form is asserted, never submitted).

- e2e/branded/surfaces.ts   — ONE source-of-truth table (surface × posture × flags);
                              breakpoint-scoped flags carry a reason + flip condition
- e2e/branded/branded.spec.ts — table-driven 8-check battery (the owner's 6-point
                              rubric: 200 · branded head + zero cross-brand leak ·
                              no overflow · no app-console-errors · key control
                              visible · brand font); gate vs flag vs stale-flag
- e2e/branded/matrix-reporter.ts — renders the surface × breakpoint PASS/FLAG/FAIL
                              grid + defect ledger; writes branded-report/matrix.{md,txt,json}
- playwright.branded.config.ts — breakpoints as projects, chrome channel, matrix reporter
- e2e.yml `branded` job + README + LLM.md section

Baseline 104 cells: 67 pass · 37 flagged (each with a flip condition) · 0
regressions. Only a NEW un-flagged failure turns the run red. Screenshots →
~/Desktop/lux-shots-e2e/. Bumps @luxfi/universe 1.0.1 → 1.0.2.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-26 15:46:04 -07:00

45 lines
1.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { defineConfig } from '@playwright/test'
import { BREAKPOINTS } from './e2e/branded/surfaces'
// ---------------------------------------------------------------------------
// Branded web3-surface regression — dedicated config.
// ---------------------------------------------------------------------------
// One project per breakpoint (390 / 768 / 1280 / 1920) so the matrix reporter
// renders a (surface × breakpoint) grid. Real Chrome/Blink via channel:'chrome'.
// Read-only against LIVE production surfaces — no state, no auth, no txns.
//
// npx playwright test -c playwright.branded.config.ts # full matrix
// npx playwright test -c playwright.branded.config.ts --project=1280
//
// The main playwright.config.ts testIgnores e2e/branded so the two suites are
// independent (one way to run each).
export default defineConfig({
testDir: './e2e/branded',
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: 1,
workers: 4, // modest concurrency — read-only against LIVE prod surfaces
timeout: 90_000,
expect: { timeout: 15_000 },
reporter: [
['./e2e/branded/matrix-reporter.ts'],
['list'],
['html', { outputFolder: 'branded-report/html', open: 'never' }],
['json', { outputFile: 'branded-report/results.json' }],
],
use: {
channel: 'chrome', // real Blink, not bundled chromium
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'off',
ignoreHTTPSErrors: true,
actionTimeout: 15_000,
navigationTimeout: 45_000,
bypassCSP: false,
},
projects: BREAKPOINTS.map((b) => ({
name: b.name,
use: { viewport: { width: b.width, height: b.height }, channel: 'chrome' },
})),
})