Loading
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.ymlfor 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