Problem/Motivation
Varbase Internationalization Base 1.0.0-rc2 (#3618242) changed what the recipe does to a site, and none of it is covered by the Varbase recipes testing suite:
- The Translation Management Tool is shipped but deliberately not installed.
- Content translation is enabled for the Drupal Canvas Page entity, including its Component input values field.
- The Varbase editorial roles get the content translation permissions, unevenly on purpose.
tests/features/13-varbase-recipes/13-15-varbase-i18n-base.feature carries one scenario (custom language settings) and asserts none of the three.
Steps to reproduce
- Build a Varbase 11.0.x-dev site.
- Apply the Varbase Internationalization Base recipe through the Project Browser UI.
- Run the recipes suite:
FEATURES="tests/features/13-varbase-recipes/13-15-*.feature" ddev yarn test:chromium - One scenario runs. Nothing asserts that the Translation Management Tool stayed off, that the Canvas Page and its component copy are translatable, or that the editorial roles hold the translation permissions.
Proposed resolution
Add three scenarios to 13-15-varbase-i18n-base.feature, all tagged @check @recipes @local @development @staging @production, leaving the existing scenario untouched:
- The Translation Management Tool is offered for the site to enable, not enabled by the recipe. Extend page:
Translation Management Corepresent with its install checkbox unchecked, while Content Translation, Configuration Translation and Interface Translation are checked. - Content translation is enabled for the Drupal Canvas Page and its component input values. Content language and translation screen:
edit-entity-types-canvas-pagechecked,edit-entity-types-nodeunchecked (the scope is deliberate), the Component input values row visible with its components, title and translatable checkboxes checked. - The Varbase editorial roles hold the content translation permissions.
/admin/people/permissions/module/content_translation: Content editor and SEO admin get create, update and translate-any-entity but not delete; Content admin and Site admin also get delete; plain authenticated gets none.
Also update tests/features/13-varbase-recipes/README.md: the 13-15 row goes from 1 to 4 scenarios, the folder total from 18 to 21.
All three read screens that do not depend on how many languages the site has, so they hold on the single-language CI site. No new step definitions and no new selectors: everything uses the existing Varbase E2E 2.0.3 vocabulary.
Testing evidence
Run against two purpose-built Varbase 11.0.x-dev DDEV sites with the recipe applied through the Project Browser UI.
- Whole-suite
--dry-run(294 scenarios / 2038 steps): 0 undefined, 0 ambiguous. - CI lane
--tags "not @wip"on the 5-language site with the Translation Management Tool NOT enabled: 5 scenarios / 65 steps passed, 0 failed. - Adversarial check on a site with the Translation Management Tool enabled: 3 passed, 1 failed, exactly the Translation Management Tool scenario on
the checkbox labeled "Translation Management Core" should be unchecked. The assertion is not hollow.
Remaining tasks
- ✅ File an issue
- ✅ Addition/Change/Update/Fix
- ✅ Testing to ensure no regression
- ✅ Automated unit/functional testing coverage
- ➖ Developer Documentation support
- ➖ User Guide Documentation support
- ➖ UX/UI designer responsibilities
- ➖ Accessibility and Readability
- ✅ Reviewed by a human
- ✅ Code review by maintainers
- ✅ Full testing and approval
- ✅ Credit contributors
- ✅ Review with the product owner
- ✅ Update Release Notes
- ✅ Release varbase_project-11.0.7
User interface changes
- N/A
API changes
- N/A
Data model changes
- N/A
Release notes snippet
- Added functional testing coverage for the Varbase Internationalization Base recipe behaviour: the Translation Management Tool is offered and not installed, the Drupal Canvas Page and its component input values are translatable, and the Varbase editorial roles hold the content translation permissions.
Issue fork varbase_project-3618330
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
Comment #4
rajab natshahComment #6
rajab natshah