@testgorilla/e2e-tas
TestGorilla e2e surface for the talent-assessment (TAS) app: page objects
(/pages) and API clients (/api — currently empty, pending the
code-runner ownership decision). Published per the
domain e2e package contract.
This tree is the source of truth for TAS page objects. The original
copy in tgo-qa-automation playwright/pages/tas/ is frozen: bug fixes land
here first and get mirrored there until this package publishes and that
copy is deleted. The shared-ToolBar coupling was extracted into
pages/components/cookieConsent.ts (TAS-owned, selectors preserved).
Not published yet. When publishing starts: the first publish of the package
name is human-gated (npm requires the package to exist before a trusted
publisher can be attached); afterwards a CircleCI job publishes via npm OIDC
trusted publishing (NPM_ID_TOKEN minted with audience
npm:registry.npmjs.org — npm rejects the ambient CircleCI token; job
snippet in tgo-qa-automation
docs/templates/e2e-domain-package/circleci-publish.yml).
Consuming
import { IntroPage } from '@testgorilla/e2e-tas/pages';
Public on npm — no auth needed to install. The e2e/ suite in this repo
consumes the workspace source via tsconfig paths; everyone else consumes
the published dist. Cross-domain rules: another domain's /api for data
setup is normal; another domain's /pages inside a product repo's tests
means the test is a cross-app journey and belongs in tgo-qa-automation.
Rules that will not bend
- Peers only:
@testgorilla/e2e-framework, @playwright/test.
- Zero credentials or environment hostnames in source (public package —
world-readable).
- Strict TypeScript; JSDoc on every export.
- Every consumer-visible change ships with a changeset; breaking changes get
a deprecation shim first.
- Entity-creating clients register with the framework session ledger and use
run-marker identities.