• Icon: Story Story
    • Resolution: Unresolved
    • Icon: Major Major
    • 1.9.0
    • None
    • Quality, Test framework
    • None
    • RHDH Install 3282, RHDH Install 3283

      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

              skhileri Subhash Khileri
              skhileri Subhash Khileri
              RHIDP - Install
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: