task: #3636722 Use @webship-js/drupal-core-steps 2.1 for the webship-js suite and refresh the dependencies
Summary
The Webship Project functional tests (webship-js, Cucumber) now run on the public step pack @webship-js/drupal-core-steps (^2.1.0), so the login by handle and the testing users are maintained in the pack, and CI runs a dry run before the browser job, so an undefined or ambiguous step fails early.
Issue: https://www.drupal.org/node/3636722
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 in the pack's shape (username,email,password,roles,isAdmin) for Webmaster, Content editor and Authenticated user, and theloginWaitworld parameter: Honeypot protects the login form, so the pack's login by handle waits that long before it submits..gitlab-ci.yml: thewebship-js-testjob runscucumber-js --dry-runbefore the browser run..gitignore: also ignorestests/reports/andscreenshots/, which the suite generates. No lock file is committed, like the other Webship modules; the second commit on the branch (task: #3636722 Keep generated files out of the repository) keeps the test reports, Yarn's install state and the lock file out of it.
This project has no custom login or testing-users steps, so there is nothing to remove (tests/step-definitions/custom.js is an empty placeholder). Node 24 and Yarn 4.18.1 were already in place.
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 1 scenario and 3 steps, with none undefined and none ambiguous.
Pipeline
The composer build job currently fails on webship/patches 12.0.10, which applies a patch re-rolled for drupal/ai_playwright 1.0.0-beta1 that does not apply to the 1.0.0-beta2 Composer now resolves. This is outside this change (no Composer file is touched), so webship-js-test and the lint jobs are skipped until a webship/patches release drops or re-rolls that patch. 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