Skip to content

[#2699] Updated Behat and Drupal extensions; enabled animated screenshots and site-wide accessibility report.#2700

Merged
AlexSkrypnyk merged 4 commits into
mainfrom
feature/2699-behat-a11y-anim
Jun 22, 2026
Merged

[#2699] Updated Behat and Drupal extensions; enabled animated screenshots and site-wide accessibility report.#2700
AlexSkrypnyk merged 4 commits into
mainfrom
feature/2699-behat-a11y-anim

Conversation

@AlexSkrypnyk

@AlexSkrypnyk AlexSkrypnyk commented Jun 22, 2026

Copy link
Copy Markdown
Member

Closes #2699

Summary

  • Bumped require-dev constraints in composer.json to pick up new features: drevops/behat-screenshot to ^2.4.1 (animated GIF support), drevops/behat-steps to ^3.11.0 (site-wide accessibility aggregate report), drevops/behat-format-progress-fail to ^1.5, and drupal/drupal-extension to ^6.1.
  • Enabled animated screenshots globally in behat.yml via the animation config node (enabled: true, frame_delay: 500) under DrevOps\BehatScreenshotExtension. The animation config node was introduced in drevops/behat-screenshot 2.4.0 (released 2026-06-20) and is defined in the extension's config schema.
  • Added a dedicated @javascript scenario "Animated screenshot is recorded across multiple steps" in tests/behat/features/behat.feature to exercise the new animated capture path.
  • Extended tests/behat/features/accessibility.feature with a @accessibility:warning scenario that audits /user/login and /user/password in advisory mode; these results feed the suite-wide HTML report that drevops/behat-steps 3.11.0 writes after the suite to .logs/test_results/accessibility/ (already collected by CI).
  • Regenerated installer fixtures (_baseline/behat.yml, _baseline/tests/behat/features/accessibility.feature, _baseline/tests/behat/features/behat.feature) via ahoy update-snapshots to reflect the above changes.

What type of PR is this?

  • Feature
  • Bug fix
  • Refactoring
  • Chore

Checklist

  • Tests added or updated for new functionality
  • Documentation / comments updated where relevant
  • Breaking change (no breaking changes introduced)

Screenshots / Recordings

N/A

Before / After

╔══════════════════════════════════════════════════════════════════╗
║                         BEFORE                                   ║
╠══════════════════════════════════════════════════════════════════╣
║  Screenshots   │ One static PNG per failed step                  ║
║  Accessibility │ Homepage only, strict (fails build on any hit)  ║
╚══════════════════════════════════════════════════════════════════╝

╔══════════════════════════════════════════════════════════════════╗
║                          AFTER                                   ║
╠══════════════════════════════════════════════════════════════════╣
║  Screenshots   │ Per-step frames assembled into animated GIF     ║
║                │ (500 ms frame delay, enabled globally)          ║
╠══════════════════════════════════════════════════════════════════╣
║  Accessibility │ Homepage: strict (fails build on any violation) ║
║                │ /user/login, /user/password: advisory mode      ║
║                │ (@accessibility:warning - reported, not fatal)  ║
║                │ All results → site-wide HTML aggregate report   ║
║                │ at .logs/test_results/accessibility/            ║
╚══════════════════════════════════════════════════════════════════╝

Summary by CodeRabbit

  • New Features

    • Automated animated screenshot generation now captures step-by-step test execution across scenarios, improving test visibility and debugging capabilities.
    • Accessibility testing expanded to cover secondary pages, with comprehensive results compiled into a unified report for better compliance tracking.
  • Chores

    • Updated development dependencies to latest compatible versions.

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 71ff526f-6411-48c9-9e21-346ca1990f5b

📥 Commits

Reviewing files that changed from the base of the PR and between 8ca2e3f and 441d456.

⛔ Files ignored due to path filters (3)
  • .vortex/installer/tests/Fixtures/handler_process/_baseline/behat.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/_baseline/tests/behat/features/accessibility.feature is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/_baseline/tests/behat/features/behat.feature is excluded by !.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (4)
  • behat.yml
  • composer.json
  • tests/behat/features/accessibility.feature
  • tests/behat/features/behat.feature

Walkthrough

Four require-dev Composer dependencies are bumped to newer versions. behat.yml gains an animation block under DrevOps\BehatScreenshotExtension enabling animated GIF output with a 500 ms frame delay. Two new Behat scenarios are added: one verifying animated screenshot recording and one performing advisory accessibility audits on /user/login and /user/password.

Changes

Behat Extensions Update and New Test Coverage

Layer / File(s) Summary
Dependency bumps and animated screenshot config
composer.json, behat.yml
Bumps drevops/behat-format-progress-fail, drevops/behat-screenshot, drevops/behat-steps, and drupal/drupal-extension in require-dev. Adds an animation block to BehatScreenshotExtension config with enabled: true and frame_delay: 500.
Animated screenshot and accessibility scenarios
tests/behat/features/behat.feature, tests/behat/features/accessibility.feature
Adds an @api @javascript`` scenario that navigates through the homepage and /user/login to exercise animated screenshot recording. Adds an advisory accessibility scenario auditing `/user/login` and `/user/password`, with comments noting non-failing advisory mode and the `.logs/test_results/accessibility/` report path.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • drevops/vortex#2527: Modifies tests/behat/features/accessibility.feature and bumps drevops/behat-steps in composer.json, overlapping directly with the accessibility and dependency changes in this PR.

Suggested labels

Dependencies

Poem

🐇 Hop, hop, a screenshot blooms,
Each frame a GIF that swiftly zooms!
The login page now checked for a11y too,
Advisory warnings, not failures—phew!
Dependencies bumped, the tests all shine,
This bunny's work is looking fine! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: updating Behat extensions and enabling animated screenshots and accessibility reporting, which aligns with the changeset.
Linked Issues check ✅ Passed All requirements from issue #2699 are met: extensions updated in composer.json, animated screenshots enabled in behat.yml with test coverage, and accessibility testing enabled with test coverage.
Out of Scope Changes check ✅ Passed All changes are directly related to the PR objectives: dependency updates, Behat configuration for new features, and test scenarios demonstrating the new functionality.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/2699-behat-a11y-anim

Comment @coderabbitai help to get the list of available commands and usage tips.

@AlexSkrypnyk AlexSkrypnyk added this to the 1.40.0 milestone Jun 22, 2026
@AlexSkrypnyk AlexSkrypnyk added the A4 Board worker 4 label Jun 22, 2026
@github-actions

Copy link
Copy Markdown

Code coverage (threshold: 90%)

  Classes: 100.00% (1/1)
  Methods: 100.00% (2/2)
  Lines:   98.58% (208/211)
Per-class coverage
Drupal\ys_demo\Plugin\Block\CounterBlock
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% ( 10/ 10)

@AlexSkrypnyk

This comment has been minimized.

@AlexSkrypnyk AlexSkrypnyk enabled auto-merge (squash) June 22, 2026 08:08
@AlexSkrypnyk AlexSkrypnyk added the AUTOMERGE Pull request has been approved and set to automerge label Jun 22, 2026
@AlexSkrypnyk

This comment has been minimized.

1 similar comment
@AlexSkrypnyk

Copy link
Copy Markdown
Member Author

Code coverage (threshold: 90%)

  Classes: 100.00% (1/1)
  Methods: 100.00% (2/2)
  Lines:   98.58% (208/211)
Per-class coverage
Drupal\ys_demo\Plugin\Block\CounterBlock
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% ( 10/ 10)

@github-actions

Copy link
Copy Markdown

📖 Documentation preview for this pull request has been deployed to Netlify:

https://6a38ede2364eaa463e91c0d6--vortex-docs.netlify.app

This preview is rebuilt on every commit and is not the production documentation site.

@codecov

codecov Bot commented Jun 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.22%. Comparing base (8ca2e3f) to head (441d456).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2700      +/-   ##
==========================================
- Coverage   86.67%   86.22%   -0.45%     
==========================================
  Files          96       89       -7     
  Lines        4719     4560     -159     
  Branches       47        3      -44     
==========================================
- Hits         4090     3932     -158     
+ Misses        629      628       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@AlexSkrypnyk AlexSkrypnyk merged commit e9cb923 into main Jun 22, 2026
34 checks passed
@AlexSkrypnyk AlexSkrypnyk deleted the feature/2699-behat-a11y-anim branch June 22, 2026 08:13
@github-project-automation github-project-automation Bot moved this from BACKLOG to Release queue in Vortex 1.x Jun 22, 2026
@AlexSkrypnyk AlexSkrypnyk added the Needs review Pull request needs a review from assigned developers label Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A4 Board worker 4 AUTOMERGE Pull request has been approved and set to automerge Needs review Pull request needs a review from assigned developers

Projects

Status: Release queue

Development

Successfully merging this pull request may close these issues.

Update DrevOps Behat and Drupal extensions; enable animated screenshots and site-wide accessibility report with tests

1 participant