task: #3636728 Use @webship-js/drupal-core-steps 2.1 for the webship-js suite and refresh the dependencies
Summary
The WebAPI Starter functional tests (webship-js, Cucumber) now run on the public step pack @webship-js/drupal-core-steps (^2.1.0) instead of local copies of the steps it provides, and CI runs a dry run before the browser job, so an undefined or ambiguous step fails early.
Issue: https://www.drupal.org/node/3636728
Changes
package.json: adds@webship-js/drupal-core-steps^2.1.0to the devDependencies (webship-jsstays on^2.0.6, the pack's peer range) and thetest:dryscript (cucumber-js --dry-run).cucumber.js: adds the pack's step glob between thewebship-jsglob and the project's own. The users registry already has the pack's shape (username,email,password,roles,isAdmin).tests/step-definitions/webapi_starter.steps.js: removes the custom login by handle andI add testing userssteps, which match the same sentences as the pack's, so each of those sentences matched two definitions..gitlab-ci.yml: thewebship-js-testjob runscucumber-js --dry-runbefore the suite, andDRUPAL_COREmoves from11.4.8to11.4.x-dev(the global value and thecomposerjob's).
Node 24 and Yarn 4.18.1 were already in place. No lock file is committed, like the other Webship modules.
Test notes
Dry run (cucumber-js --config cucumber.js --dry-run, the command the CI job now runs first) on Node 24.22.2 from a clean install of this branch, with no lock file: webship-js 2.0.6 and @webship-js/drupal-core-steps 2.1.0 resolve, and the run covers 15 scenarios and 90 steps, with none undefined and none ambiguous.
Pipeline
webship-js-test fails on the login step of @webship-js/drupal-core-steps 2.1.0: the login works, but the step then asserts the user-logged-in body class, and the themes of this site (UI Suite UIkit and UIkit Admin) print no body classes. The six scenarios that log in fail and the nine others pass. This needs a change in the pack or in the themes, not in this branch. See the comment below.
AI-Generated: Yes (configuration and step cleanup; reviewed by Rajab Natshah.)
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
- Developer Documentation
- User Guide Documentation
- Reviewed by human
- Code review by maintainers
- Full testing and approval
- Credit contributors
- Review with the product owner
- Release notes snippet
- Release