Add automated functional acceptance testing for Web Admin with webship-js, fix recipe to install Gin admin theme and Masquerade
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3591755. --> Reported by: [rajab natshah](https://www.drupal.org/user/1414312) >>> <h3 id="summary-problem-motivation">Problem/Motivation</h3> <p>The Web Admin module advertises Gin as the administration theme together with Gin Toolbar, Gin Login and Masquerade, and<br> composer-requires all four packages. The default recipe does not install any of them and the active administration theme stays on<br> Claro after <code>drush en webadmin</code>.</p> <p>The module also ships no acceptance tests and no CI job that exercises the install path on each push.</p> <h3 id="summary-proposed-resolution">Proposed resolution</h3> <ul> <li>The default recipe installs <code>gin</code>, <code>gin_toolbar</code>, <code>gin_login</code> and <code>masquerade</code><br> in dependency order.</li> <li>The default recipe sets <code>system.theme.admin</code> to <code>gin</code> through a <code>simpleConfigUpdate</code> config<br> action.</li> <li><code>webadmin.info.yml</code> declares <code>masquerade:masquerade</code> as a hard module dependency.</li> </ul> <h3>Acceptance test suite</h3> <p>A webship-js (Playwright + Cucumber) suite is added under <code>tests/</code> with 35 scenarios across 12 feature files:</p> <ul> <li>Login for every configured user (Webmaster, Content editor, Authenticated user).</li> <li>Web Admin bundled modules are enabled.</li> <li>Gin is the active administration theme.</li> <li>Masquerade is installed and surfaces the switch link on a user profile.</li> <li>Views Bulk Operations on the People admin view.</li> <li>Views Bulk Edit is enabled and exposes its permission.</li> <li>Dashboards bundled with Web Admin (Default, Editorial, Management, Webmaster).</li> <li>Content Moderation and Workflows admin pages.</li> <li>Administration navigation, toolbar and shortcuts.</li> <li>Pre-check of the main administration pages.</li> <li>Gin Login styled sign-in page and configuration form.</li> <li>Access control for anonymous and authenticated users.</li> </ul> <p>The suite ships with reusable step definitions, Drupal core Claro and CMS Gin selector files, screenshot, video and JSON / HTML<br> report writers.</p> <h3>Continuous integration</h3> <p>A <code>.gitlab-ci.yml</code> pipeline runs on every push:</p> <ul> <li><code>cspell</code>, <code>eslint</code> and <code>stylelint</code> validation jobs on Node 20.</li> <li>A <code>webship-js-test</code> job that builds Drupal with the drupalci <code>composer</code> job, installs the standard<br> profile, enables <code>webadmin</code>, installs Node 20 and Playwright Chromium, then runs the suite with <pre>--tags "not<br>&nbsp; @wip"</pre><p> and publishes the JUnit report, HTML report, failed-step screenshots and videos as artifacts.</p></li> </ul> <h3 id="summary-remaining-tasks">Remaining tasks</h3> <ul> <li>&#9989; File an issue</li> <li>&#9989; Addition/Change/Update/Fix</li> <li>&#9989; Merge request, Patch, or Commit</li> <li>&#9989; Testing to ensure no regression</li> <li>&#9989; Automated unit testing coverage</li> <li>&#9989; Automated functional testing coverage</li> <li>&#10134; UX/UI designer responsibilities</li> <li>&#10134; Readability</li> <li>&#10134; Accessibility</li> <li>&#10134; Performance</li> <li>&#10134; Security</li> <li>&#10134; Documentation</li> <li>&#9989; Code review by maintainers</li> <li>&#9989; Full testing and approval</li> <li>&#9989; Credit contributors</li> <li>&#9989; Review with the product owner</li> <li>&#9989; Release notes snippet</li> <li>&#9989; Release <a href="https://www.drupal.org/project/webadmin/releases/11.0.1">webadmin-11.0.1</a></li> </ul> <h3 id="summary-ui-changes">User interface changes</h3> <ul> <li>N/A</li> </ul> <h3 id="summary-api-changes">API changes</h3> <ul> <li>N/A</li> </ul> <h3 id="summary-data-model-changes">Data model changes</h3> <ul> <li>N/A</li> </ul> <h3 id="summary-release-notes">Release notes snippet</h3> <ul> <li>ci: <a href="https://www.drupal.org/i/3591755">#3591755 </a>Add automated functional acceptance testing for Web Admin with webship-js, fix recipe to install Gin admin theme and Masquerade</li> </ul>
issue