-
Story
-
Resolution: Unresolved
-
Major
-
None
-
None
Story Title
Add Playwright E2E Testing Framework for Plugin Validation
Story Type
Technical Story / Infrastructure
Description
Implement a Playwright-based end-to-end testing framework to enable automated browser testing of RHDH dynamic plugins. The framework should automatically discover tests across plugin workspaces and provide common utilities for test setup and execution.
Acceptance Criteria
- Playwright test framework configured with workspace auto-discovery
- Test runner automatically detects workspaces//e2e-tests/.spec.ts files
- CLI command to run tests for specific plugins: yarn test:plugin <plugin-name>
- CLI command to run all E2E tests: yarn test:e2e
- Test results captured with video recording, screenshots, and traces on failure
- Multiple test reporters configured (HTML, JSON, list)
- Common test utilities directory (e2e-test-utils/) for shared setup and helpers
- ESLint configuration with Playwright and TypeScript rules
- Git pre-commit hooks with lint-staged
- Example test structure implemented for at least one plugin (github-issues)
- Documentation of file structure and usage
Technical Implementation
Test Configuration
- Timeout: 90 seconds per test
- Parallel workers: 3
- Retries on CI: 2
- Video recording: 1920x1080, on by default
- Screenshots: on failure only
Project Structure
. ├── e2e-test-utils/ # Common test setup and helpers ├── eslint.config.js # ESLint configuration ├── package.json # Dependencies and scripts ├── playwright.config.ts # Playwright configuration ├── tsconfig.json # TypeScript configuration └── workspaces/ └── <plugin-name>/ └── e2e-tests/ # Plugin-specific E2E tests ├── config/ # RHDH configuration │ ├── app-config-rhdh.yaml │ ├── dynamic-plugins.yaml │ └── rhdh-secrets.yaml ├── specs/ # Test specifications │ └── *.spec.ts └── .env.example # Environment template
Dependencies
- Playwright ^1.56.1
- TypeScript ^5.9.3
- ESLint ^9.34.0
- Yarn 3.8.7
Out of Scope
- Actual test implementation for plugins (separate stories)
- CI/CD pipeline integration (separate story)
- Test guidelines documentation (separate story)
Technical Notes
- Test artifacts written to e2e-test-report/
- Framework designed to scale across all plugin workspaces