diff --git a/package.json b/package.json index ac8fbda0..76f7eb91 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "test:unified:open": "node tests/run-unified.mjs --profile full --open", "test:unified:lib": "node --test tests/lib/", "test:installation": "./scripts/test-installation-simple.sh", - "test:https": "node tests/ssl-certificate-analysis.js && node tests/mobile-https-compatibility-test.js", + "test:https": "node tests/integration/ssl-certificate-analysis.js && node tests/integration/mobile-https-compatibility-test.js", "test:report": "open test-results/reports/index.html", "lint": "turbo run lint", "typecheck": "turbo run typecheck", @@ -39,15 +39,15 @@ "docker:prod": "docker compose -f deployment/docker-compose.yml up", "test:smoke": "playwright test tests/e2e/smoke/user-smoke.spec.ts --reporter=line", "test:mobile": "playwright test --grep \"@mobile|@audit\" --project=\"GraphDone-Core/dev-neo4j/chromium\" --reporter=line", - "report:showcase": "playwright test --project=showcase && node tests/generate-showcase-report.mjs", - "report:matrix": "playwright test --project=matrix --reporter=line,html && node tests/generate-matrix-report.mjs", + "report:showcase": "playwright test --project=showcase && node tests/lib/reporting/generate-showcase-report.mjs", + "report:matrix": "playwright test --project=matrix --reporter=line,html && node tests/lib/reporting/generate-matrix-report.mjs", "report:matrix:open": "open test-artifacts/matrix/index.html 2>/dev/null || xdg-open test-artifacts/matrix/index.html 2>/dev/null || echo 'Open test-artifacts/matrix/index.html'", "test:perf": "playwright test --project=perf --reporter=line", - "test:perf:scale": "playwright test --project=perf-scale --reporter=line && node tests/generate-perf-report.mjs", - "report:perf": "node tests/generate-perf-report.mjs", - "test:vlm": "playwright test --project=vlm --reporter=line && node tests/generate-vlm-report.mjs", + "test:perf:scale": "playwright test --project=perf-scale --reporter=line && node tests/lib/reporting/generate-perf-report.mjs", + "report:perf": "node tests/lib/reporting/generate-perf-report.mjs", + "test:vlm": "playwright test --project=vlm --reporter=line && node tests/lib/reporting/generate-vlm-report.mjs", "test:geometry": "playwright test --project=geometry --reporter=line", - "report:vlm": "node tests/generate-vlm-report.mjs", + "report:vlm": "node tests/lib/reporting/generate-vlm-report.mjs", "perf:bundle": "node tests/perf/check-bundle-size.mjs" }, "devDependencies": { diff --git a/tests/mobile-https-compatibility-test.js b/tests/integration/mobile-https-compatibility-test.js similarity index 100% rename from tests/mobile-https-compatibility-test.js rename to tests/integration/mobile-https-compatibility-test.js diff --git a/tests/ssl-certificate-analysis.js b/tests/integration/ssl-certificate-analysis.js similarity index 100% rename from tests/ssl-certificate-analysis.js rename to tests/integration/ssl-certificate-analysis.js diff --git a/tests/generate-matrix-report.mjs b/tests/lib/reporting/generate-matrix-report.mjs similarity index 100% rename from tests/generate-matrix-report.mjs rename to tests/lib/reporting/generate-matrix-report.mjs diff --git a/tests/generate-perf-report.mjs b/tests/lib/reporting/generate-perf-report.mjs similarity index 100% rename from tests/generate-perf-report.mjs rename to tests/lib/reporting/generate-perf-report.mjs diff --git a/tests/generate-showcase-report.mjs b/tests/lib/reporting/generate-showcase-report.mjs similarity index 100% rename from tests/generate-showcase-report.mjs rename to tests/lib/reporting/generate-showcase-report.mjs diff --git a/tests/generate-vlm-report.mjs b/tests/lib/reporting/generate-vlm-report.mjs similarity index 100% rename from tests/generate-vlm-report.mjs rename to tests/lib/reporting/generate-vlm-report.mjs diff --git a/tests/sequences/unified.config.mjs b/tests/sequences/unified.config.mjs index 589971d8..325802c5 100644 --- a/tests/sequences/unified.config.mjs +++ b/tests/sequences/unified.config.mjs @@ -1,29 +1,34 @@ /** * Declarative manifest for the unified test harness (tests/run-unified.mjs). * Each sequence names an adapter + its inputs; PROFILES select which run. - * Paths reflect the CURRENT tree (Phase 0 of the test-tree refactor is - * non-destructive); they update as specs move into domain folders. * * Profiles: * smoke — fast blocking signal (unit + THE GATE + a focused e2e) - * pr — broader blocking set for PRs (adds graph + mobile) - * full — everything incl. report-only capture sequences (video/screenshots) - * report — only the capture-heavy report sequences + * pr — broader blocking set for PRs (adds graph, mobile, perf budgets) + * full — everything incl. the capture-heavy, report-only sequences + * report — only the capture-heavy report sequences (video / galleries / metrics) */ const PW = 'GraphDone-Core/dev-neo4j/chromium'; export const SEQUENCES = { + // Blocking signal 'unit-web': { adapter: 'vitest', title: 'Web unit tests', cwd: 'packages/web', blocking: true }, 'smoke': { adapter: 'playwright', title: 'Smoke gate (THE GATE)', args: ['tests/e2e/smoke/user-smoke.spec.ts', `--project=${PW}`], blocking: true }, 'e2e-auth': { adapter: 'playwright', title: 'Auth e2e — passwordless focus', args: ['tests/e2e/auth/passwordless-focus.spec.ts', `--project=${PW}`], blocking: true }, 'e2e-graph': { adapter: 'playwright', title: 'Graph e2e — camera', args: ['tests/e2e/graph/camera.spec.ts', `--project=${PW}`], blocking: true }, 'mobile': { adapter: 'playwright', title: 'Mobile audit', args: ['--grep', '@mobile|@audit', `--project=${PW}`], blocking: false }, + 'perf-budgets': { adapter: 'playwright', title: 'Perf budgets (ADAPT-8)', args: ['--project=perf'], blocking: false }, + // Capture-heavy, report-only (own Playwright projects; specs under tests/e2e/reports/) + 'diagnostics': { adapter: 'playwright', title: 'Graph-geometry diagnostics', args: ['--project=geometry'], blocking: false }, 'showcase': { adapter: 'playwright', title: 'Showcase — video + screenshots', args: ['--project=showcase'], blocking: false }, + 'matrix': { adapter: 'playwright', title: 'Feature × resolution matrix', args: ['--project=matrix'], blocking: false }, + 'vlm': { adapter: 'playwright', title: 'Local-VLM visual eval (skips w/o endpoints)', args: ['--project=vlm'], blocking: false }, + 'perf-scale': { adapter: 'playwright', title: 'Large-scale perf sweep', args: ['--project=perf-scale'], blocking: false }, }; export const PROFILES = { smoke: ['unit-web', 'smoke', 'e2e-auth'], - pr: ['unit-web', 'smoke', 'e2e-auth', 'e2e-graph', 'mobile'], - full: ['unit-web', 'smoke', 'e2e-auth', 'e2e-graph', 'mobile', 'showcase'], - report: ['showcase'], + pr: ['unit-web', 'smoke', 'e2e-auth', 'e2e-graph', 'mobile', 'perf-budgets'], + full: ['unit-web', 'smoke', 'e2e-auth', 'e2e-graph', 'mobile', 'perf-budgets', 'diagnostics', 'showcase', 'matrix', 'vlm', 'perf-scale'], + report: ['diagnostics', 'showcase', 'matrix', 'vlm', 'perf-scale'], };