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.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 already has the pack's shape (username, email, password, roles, isAdmin).
  • tests/step-definitions/webapi_starter.steps.js: removes the custom login by handle and I add testing users steps, which match the same sentences as the pack's, so each of those sentences matched two definitions.
  • .gitlab-ci.yml: the webship-js-test job runs cucumber-js --dry-run before the suite, and DRUPAL_CORE moves from 11.4.8 to 11.4.x-dev (the global value and the composer job'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
Edited by Rajab Natshah

Merge request reports

Loading
Loading