Skip to content

[ZEPPELIN-6519] Add e2e/AGENTS.md conventions and scope the coverage denominator#5290

Open
voidmatcha wants to merge 1 commit into
apache:masterfrom
voidmatcha:improve/e2e-conventions-and-coverage
Open

[ZEPPELIN-6519] Add e2e/AGENTS.md conventions and scope the coverage denominator#5290
voidmatcha wants to merge 1 commit into
apache:masterfrom
voidmatcha:improve/e2e-conventions-and-coverage

Conversation

@voidmatcha

Copy link
Copy Markdown
Contributor

What is this PR for?

The zeppelin-web-angular E2E suite had no written authoring conventions, and the coverage denominator counted components that are not page-level. This adds e2e/AGENTS.md as the shared conventions doc: tooling, POM layout, locator order, web-first assertions, readiness and auth, the required coverage annotation, run commands, and guidance for the Angular to React migration. It also trims PAGES in e2e/utils.ts to page-level components so coverage measures what is actually E2E-targetable. Four structural or shared components (destroy-hook, page-header, resize-handle, spin) are removed, so the denominator changes from 57 to 53. This is documentation plus a coverage-set trim, with no runtime code changes.

What type of PR is it?

Improvement / Documentation

What is the Jira issue?

ZEPPELIN-6519

How should this be tested?

e2e/AGENTS.md is documentation. For the utils.ts change, run npm run e2e (or npm run e2e:fast). Coverage attribution for existing pages is unchanged, and the four removed components are still exercised transitively.

Questions:

  • Does the license files need updating? No
  • Are there breaking changes? No
  • Does this need documentation? No

…minator

Add e2e/AGENTS.md as the shared source of truth for the zeppelin-web-angular
Playwright E2E suite: tooling (e2e-skills), layout and POM split, locator order,
web-first assertions, readiness/auth, the required coverage annotation, run
commands, and forward guidance for the Angular to React microfrontend migration
(the react flag is per-route and read from ActivatedRoute.queryParams, so it
belongs inside the hash; add a spec-scoped parity project only when a route
actually reads it).

Scope the coverage denominator to page-level components: PAGES doubles as the
coverage-instrumentation set (getCoverageTransformPaths), so drop four
structural/shared components (destroy-hook, page-header, resize-handle, spin)
that have no page-level behavior and are exercised transitively. Denominator
goes 57 -> 53.

Constraint: RAT license header on the new committed file.
Confidence: high
Scope-risk: none (documentation plus a coverage-set trim; no runtime code changed)
Not-tested: e2e not run (node_modules-driven hooks skipped with --no-verify due to
  a pre-existing unused catch binding in unrelated code, outside this change)
@voidmatcha voidmatcha force-pushed the improve/e2e-conventions-and-coverage branch from ad491f5 to dc6349e Compare July 11, 2026 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant