Problem/Motivation
The Web Config module had no automated functional
acceptance test coverage, so there was no way to confirm that a fresh
install actually enables the bundled configuration-management modules and
that their admin screens load.
While verifying this, two defects surfaced:
- The
webconfig/defaultrecipe only installed a subset of
the bundled modules.config_split,config_ignore,
config_inspectorandconfig_rewritewere required
incomposer.json(and advertised in the README) but were never
enabled on install. webconfig.info.ymldeclared module dependencies and
used the recipe, and itsdescriptionline contained a stray
trailing quote.
Proposed resolution
- Expand
recipes/default/recipe.ymlto install every bundled
module —config,config_update,
config_update_ui,config_filter,
config_split,config_ignore,
config_inspector,config_rewrite,
config_import_single— and import their configuration. - Make the recipe the single source of truth for installation: remove the
moduledependenciesfromwebconfig.info.ymland fix
the description typo. - Add a webship-js (Playwright + Cucumber-js) BDD test
suite undertests/with shared config (cucumber.js,
playwright.config.ts, role-based test users, CMS selectors). - Add a GitLab CI
webship-js-testjob to
.gitlab-ci.ymlthat installs Drupal + the module, provisions
Node 20 and Playwright Chromium, and runs the suite.
Functional coverage (22 scenarios, 89 steps — all passing)
- Login fixtures for Webmaster, Content editor and Authenticated user.
- Recipe enables every bundled module; each config admin route is reachable.
- Core configuration Synchronize / Import / Export pages.
- Configuration Update Manager Updates report.
- Configuration Inspector overview (
/admin/reports/config-inspector). - Configuration Split list and add form.
- Config Ignore settings form.
- Single configuration import and export forms.
- End-to-end single export — selecting a config item renders its YAML.
- Access control: anonymous and authenticated users are denied.
Remaining tasks
- ✅ File an issue
- ✅ Addition/Change/Update/Fix
- ✅ Merge request, Patch, or Commit
- ✅ 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 webconfig-11.0.1
User interface changes
- N/A
API changes
- N/A
Data model changes
- N/A
Release notes snippet
- ci: #3591744 Add automated functional acceptance testing for Web Config with webship-js (Playwright + Cucumber-js) and have the default recipe install all bundled configuration modules
Comments
Comment #3
rajab natshahComment #4
rajab natshahComment #6
rajab natshah✅ Released webconfig-11.0.1