Fixed
Project:
Webship Starter
Version:
1.0.x-dev
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
10 Nov 2026 at 09:59 UTC
Updated:
10 Nov 2026 at 11:47 UTC
Jump to comment: Most recent
The site template's functional tests (11 feature files) run on webship-js, with the step definitions and the settings kept in the project itself (cucumber.js, tests/step-definitions/).
The public step pack @webship-js/drupal-core-steps 2.1 (npm, GitHub) now ships, for any Drupal core site:
loginWait) and Given I add the testing users from the users registryI should be denied access to "...")Local copies drift from the pack and duplicate its maintenance. In this project:
tests/step-definitions/webship.js is ambiguous with the pack: the login by handle (I am a logged in user with the "..." user). It matches the same sentences as the pack's, so every such sentence matches two definitions once the pack is loaded. The other step in the file, I login with the "..." user, repeats the same login under another sentence.HONEYPOT_LOGIN_TIME_LIMIT_MS); the pack does this with loginWait, which cucumber.js does not set.cucumber.js has the old shape: Admin, Authenticated user and Content editor with name, email and password, while the pack reads username, roles and isAdmin. scripts/webship.users.yml lists the same accounts for scripts/add-testing-users.sh.recipe job), but no job runs the 11 feature files (16 scenarios).Related: #3635935 (Node.js 24 and Yarn 4.18.1).
cucumber.js and tests/step-definitions/webship.js on the 1.0.x branch.users block of cucumber.js (name, not username) and the jobs of .gitlab-ci.yml: none runs the suite.The pack's 2.1.0 is on npm.
@webship-js/drupal-core-steps (^2.1.0) to the package.json devDependencies and its step glob (node_modules/@webship-js/drupal-core-steps/tests/step-definitions/**/*.js) to cucumber.js, between webship-js's own glob and the project's own. webship-js stays at ^2.0.6.cucumber.js to the pack's shape: username in place of name, plus roles and isAdmin. Set loginWait to 3000, since the site template protects the login form with Honeypot.tests/step-definitions/webship.js. Use the pack's sentence in place of I login with the "..." user in the one feature that uses it, so that the file can go.test:dry script (cucumber-js --dry-run) and a dry run in CI before the browser job, so an undefined or ambiguous step fails early.webship-js-test CI job that runs the suite against the site the recipe job installs, with Node 24 and Playwright, modelled on the job of the Drupal Website API Starter site template. Check the Composer and npm constraints against the current releases and name the ones that change in the merge request.1.0.x branch from an issue fork, pipeline green, then a release.AI-Generated: Yes (issue text)
@webship-js/drupal-core-steps step pack; CI runs a dry run first.
Comments
Comment #3
rajab natshah✅ Released webship_starter-1.0.8: https://www.drupal.org/project/webship_starter/releases/1.0.8 (merged in https://git.drupalcode.org/project/webship_starter/-/merge_requests/35)