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.0 to the devDependencies (webship-js stays on ^2.0.6, the pack's peer range) and the test:dry script (cucumber-js --dry-run).
  • cucumber.js: adds the pack's step glob between the webship-js glob 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 the loginWait world parameter: Honeypot protects the login form, so the pack's login by handle waits that long before it submits.
  • .gitlab-ci.yml: the webship-js-test job runs cucumber-js --dry-run before the browser run.
  • .gitignore: also ignores tests/reports/ and screenshots/, 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
Edited by Rajab Natshah

Merge request reports

Loading
Loading