Files
kevinveenbirkenbachandClaude Opus 4.7 d3e5ebe441 feat(test-e2e-playwright): add shared persona-flow library + first batch
Introduces roles/test-e2e-playwright/files/personas/ — runGuestFlow,
runBiberFlow, runAdminFlow plus 10 utils (csp, dashboard, env, keycloak,
landing, logout, matomo, prometheus, interaction, index) — and wires
both the Ansible runner (run_one.yml) and the local rerun helper
(scripts/tests/e2e/rerun-spec.sh) to stage the tree alongside
service-gating.js so specs can `require("./personas")`.

First batch of role specs migrated to consume the shared library
(dashboard, keycloak, mailu, matomo, prometheus, web-svc-cdn,
web-svc-simpleicons) — each gets the spec.js persona scenarios plus
the matching meta/services.yml + playwright.env.j2 entries; matomo is
marked role-closed in req 019. dashboard/keycloak/mailu TODO.md
updated; docs/requirements/019 reflects matomo closure.

Reason: req 019 Rule 3 mandates that every role's guest/biber/
administrator flow runs the same canonical steps; centralising them
in one shared library keeps per-role drift from re-introducing the
stub-shaped bodies the new lint forbids.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 16:05:57 +02:00

24 lines
679 B
JavaScript

/**
* Aggregator for the persona-flow modules.
*
* A spec that needs the canonical persona helpers can `require("./personas")`
* as a single import; Node resolves this to `personas/index.js` and
* exposes every flow runner through this aggregator.
*
* Per-module direct imports (e.g. `require("./personas/biber")` or
* `require("./personas/utils/keycloak")`) are also supported when a
* spec only needs a subset.
*/
const utils = require("./utils");
const { runBiberFlow } = require("./biber");
const { runAdminFlow } = require("./admin");
const { runGuestFlow } = require("./guest");
module.exports = {
...utils,
runBiberFlow,
runAdminFlow,
runGuestFlow,
};