ci: #3594223 Add automated functional acceptance testing for Canvas Override with webship-js (Playwright + Cucumber-js), Drupal Core + Drupal CMS support, and MkDocs documentation

Summary

Adds automated functional acceptance testing for Canvas Override — real-browser end-to-end tests that run on every merge request, on both Drupal Core and Drupal CMS.

What's included

  • Tests: webship-js 2.0 (Playwright + Cucumber-js) suites under tests/features/ — one for Drupal Core, one for Drupal CMS — plus a unit test. Coverage includes the content type form, the Canvas tabs and operation link, the per-content editor, reset to default, a full per-role permission matrix, cross-bundle isolation and accessibility.
  • Fixtures: install-ready Drupal recipes under tests/fixtures/: a Marketing campaign type with Canvas Override on and a non-empty default layout, a Department type with it off (to test enabling it), and the per-tier test roles.
  • CI: .gitlab-ci.yml (+ .gitlab-ci-local.yml for local runs).
  • Docs: a Testing section in the MkDocs site, with a marketing-campaign worked example.

How it was verified

Run locally against Drupal 11 + Canvas and Drupal CMS + Canvas, driven through Playwright. A few scenarios that need an unreleased Canvas front-end change are marked @wip and skipped.

AI usage disclosure

Per the Policy on the use of AI when contributing to Drupal: AI-Generated: Yes. Claude Code (Anthropic) helped generate the test suite, recipes, CI config and documentation. All of it was reviewed, run against live Drupal Core and Drupal CMS sites, and verified by the contributor, who takes full responsibility for the submission.

Checkpoints:

  • File an issue
  • Addition/Change/Update/Fix
  • Testing to ensure no regression
  • Automated unit testing coverage
  • Automated functional testing coverage
  • UX/UI designer responsibilities
  • Readability
  • Accessibility
  • Performance
  • Security
  • Documentation
  • Code review by maintainers
  • Full testing and approval
  • Credit contributors
  • Review with the product owner
  • Release notes snippet
  • Release
Edited by Rajab Natshah

Merge request reports

Loading
Loading