Problem/Motivation

The Canvas Override module currently has no automated functional acceptance test coverage. Core functionality is only validated through manual testing, which increases the risk of regressions when changes are made to override behavior, Canvas integrations, configuration workflows, and user-facing functionality.

In addition, the project does not currently provide a standardized testing framework that can be executed locally, in CI pipelines, or against both Drupal Core and Drupal CMS installations. Documentation for setting up, running, and extending automated tests is also limited.

Proposed resolution

Add a complete automated functional acceptance testing framework for Canvas Override using webship-js with Playwright and Cucumber-js.

  • Add webship-js testing infrastructure and project configuration.
  • Add Playwright browser automation support.
  • Add Cucumber-js feature specifications and step definitions.
  • Add automated test coverage for Canvas Override functionality and user workflows.
  • Add support for testing against both Drupal Core and Drupal CMS installations.
  • Add reusable test fixtures, helpers, and configuration files.
  • Add CI-ready test execution commands and reporting.
  • Add MkDocs documentation covering installation, configuration, test execution, development workflow, and contribution guidelines.
  • Provide example feature files and documentation for creating additional acceptance tests.

This will provide repeatable end-to-end testing, reduce regression risk, improve contributor experience, and establish a foundation for future automated quality assurance efforts.

Remaining tasks

  • ✅ 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 varbase-11.0.0-beta1, canvas_override-1.0.0-beta1

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

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

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

rajab natshah created an issue. See original summary.

rajab natshah’s picture

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

  • rajab natshah committed 35b3c0ba on 1.0.x
    ci: #3594223 Add automated functional acceptance testing for Canvas...
rajab natshah’s picture

Issue summary: View changes
rajab natshah’s picture

Assigned: rajab natshah » josebc
Issue summary: View changes
Status: Active » Needs review
Issue tags: +canvas_override-1.0.0-beta1
rajab natshah’s picture

Assigned: josebc » Unassigned
Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

rajab natshah’s picture

Assigned: Unassigned » josebc
Status: Closed (fixed) » Needs review
rajab natshah’s picture

Assigned: josebc » mohammed j. razem
rajab natshah’s picture

Assigned: mohammed j. razem » Unassigned
Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

rajab natshah’s picture

Issue summary: View changes
rajab natshah’s picture

Issue summary: View changes

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.