2.4 KiB
2.4 KiB
Archived 2026-04-19: all tasks retroactively ticked; package shipped under universal/dev/testing-e2e.
1. Catalogs and skeleton
- 1.1 Confirm
@playwright/testis incatalogs.testing; add if missing. - 1.2 Create
packages/universal/testing-e2e/skeleton:package.json(version0.1.0, runtime deps = @playwright/test, @opentelemetry/api, zod, tslib; devDep = @suaveplan/testing),tsconfig.lib.json,vite.config.ts,vitest.config.ts,README.md. - 1.3 Verify runtime closure has zero
@suaveplan/*.
2. Errors
- 2.1
src/errors/codes.ts—TESTING_E2E.<DOMAIN>.<REASON>constants - 2.2
src/errors/testing-e2e-error.ts— base + subclasses (NavigationError,WaitTimeoutError,ConfigError,FixtureError,AbortedError) - 2.3 Co-located tests + docs
3. Config factory
- 3.1
src/config/create-playwright-config.ts— factory with WSL2/CI defaults - 3.2 Co-located tests covering: defaults, CI mode overrides, caller overrides
4. Page object base class
- 4.1
src/page-objects/page-object.ts— abstractPageObjectwithnavigate,waitForReady,findByRole/findByLabel/findByText - 4.2 Co-located tests using a mock Playwright
Pageshape
5. Helpers
- 5.1
src/helpers/wait-for-network-idle.ts - 5.2
src/helpers/screenshot-on-failure.ts - 5.3
src/helpers/dismiss-dialog.ts - 5.4
src/helpers/mock-geolocation.ts - 5.5
src/helpers/mock-clipboard.ts - 5.6 Co-located tests for each (mocking the Playwright surface)
6. Test extension
- 6.1
src/fixtures/extended-test.ts—extendedTest = test.extend({ apiContext, freshPage }) - 6.2 Co-located shape test (cannot real-test without launching browsers)
7. Observability (gated)
- 7.1
src/observability/instrumented.ts— gated wrapper, mirroring testing-dom
8. Cross-cutting tests
- 8.1
tests/dep-graph.test.ts - 8.2
tests/no-disallowed.test.ts - 8.3
tests/tree-shake.test.ts
9. Pre-publish gate
- 9.1
bunx turbo lint typecheck test --filter=@suaveplan/testing-e2egreen - 9.2 ≥ 95% coverage on every dimension
- 9.3
openspec validate enterprise-testing-e2e --type changepasses
10. Publish (USER APPROVAL REQUIRED)
- 10.1 Surface audit and STOP for approval
- 10.2 On approval:
bun scripts/publish.ts --package @suaveplan/testing-e2e - 10.3 Archive change to
openspec/archive/<yyyy-mm-dd>-enterprise-testing-e2e/