← Back to list

opal-frontend-cypress-e2e
by hmcts
⭐ 8🍴 1📅 Jan 23, 2026
SKILL.md
name: opal-frontend-cypress-e2e description: Cypress end-to-end testing guidance for opal-frontend, including Cucumber feature layout, tags, step definitions, Actions or Flows, selectors, and accessibility specs. Use when adding or updating E2E scenarios.
Opal Frontend Cypress E2E Testing
Overview
Use these rules when writing or updating Cypress E2E tests and Cucumber feature files in opal-frontend.
Required References
- For any E2E scenario creation or update, read
references/E2E_New_Feature_Codex_Optimized_Instructions.mdand follow it as the governing ruleset. - Keep
references/E2E_Refactor_Codex_Optimized_Instructions.mdas legacy reference material; consult it only when explicitly requested or when refactoring older features that need its legacy guidance.
Feature Layout and Tags
- Preferred home is
cypress/e2e/functional/opal. - Feature files live under capability folders (for example,
features/manualAccountCreation/**,features/fineAccountEnquiry/**). - Tag scenarios with
@functional,@smoke, and Jira IDs so suites can target subsets. - Keep legacy suites in
cypress/e2e/Old_functional_E2E_Tests; new scenarios should follow theopallayout.
Accessibility Coverage
- Accessibility specs live alongside features and should navigate to each page, inject
axe-core, run scans, and assert no violations. - When a new page or view is added to a feature, add or update its accessibility spec.
Step Definitions
- Step definitions in
cypress/support/step_definitions/**must be thin shims. - Each Given, When, Then should delegate to a single Action or Flow method.
- Shared DB or setup logic belongs in
databaseStepsorsupport/utils, not in steps.
Actions, Flows, and Selectors
- Actions in
cypress/e2e/functional/opal/actions/**wrap interactions, API stubs, and navigation using selectors fromcypress/shared/selectors/**. - Flows in
cypress/e2e/functional/opal/flows/**compose actions into business journeys and are the verbs exposed to steps and component specs. - Selectors are centralized. Add hooks in Angular templates and document them in
cypress/shared/selectors/**. Avoid positional CSS.
Running a Feature
- Run a single feature file with:
yarn cypress run --browser chrome --spec 'cypress/e2e/functional/opal/features/manualAccountCreation/populateAndSubmit/PopulateAndSubmit.feature'
Handling Real Product Bugs
- When a feature fails because of a real product bug, do not patch application behavior just to green the test.
- Skip or xfail the test if unavoidable and report the underlying issue in the task update.
Score
Total Score
55/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon
