Issue #3592934: Add sticky header functional coverage
Functional coverage for the default theme sticky header (sticky_header setting, https://www.drupal.org/project/vartheme_bs5/issues/3593396).
Written against the default theme so it works whatever the default theme is, including a custom subtheme. All selectors are theme agnostic — HTML5 landmarks, ARIA roles, and Drupal core or module classes — so swapping the default theme does not break the tests.
Scenarios — tests/features/01-website-base-requirements/01-07-default-theme-settings.feature
- The default theme renders its main landmarks on the homepage.
- The sticky header is enabled by default on the homepage.
- The header gains the scrolled state when the page is scrolled.
- The sticky header stays sticky across mobile, tablet and desktop breakpoints.
- The sticky header setting is available in the default theme settings.
- Disabling the setting removes the sticky header; re-enabling restores it (verified as an anonymous visitor after flushing caches).
Performance budgets — tests/features/15-quality/15-03-performance.feature
- Tightened page load budgets to 3 seconds for the login page and 5 seconds for the other key pages, covering load time with the sticky header library (CSS + JS) active.
Supporting changes
- tests/selectors/default-theme.json — a theme-agnostic named selector registry, auto-loaded via worldParameters.selectors.
- tests/step-definitions/varbase.steps.js — steps to open the default theme settings, toggle the sticky header setting, flush all caches from the Drupal core Performance page, and assert an element is sticky.
AI-Generated: Yes (Used Claude Code to draft the scenarios and steps; reviewed by the contributor.)
Checkpoints
- File an issue about this project
- Addition/Change/Update/Fix to this project
- Testing to ensure no regression
- Automated unit/functional testing coverage
- Developer Documentation support on feature change/addition
- User Guide Documentation support on feature change/addition
- UX/UI designer responsibilities
- Accessibility and Readability
- Code review from 1 Varbase core team member
- Full testing and approval
- Credit contributors
- Review with the product owner
- Update Release Notes
- Release
Edited by Rajab Natshah