fix: #3611115 Fix failing FunctionalJavascript tests and make all CI jobs pass

Summary

MR !11 (merged) fixed the reported bug ("Saving a draft revision will remove the node from the queue") in the .module file, but left the 2.0.x pipeline failing in multiple ways. This MR consolidates all outstanding CI fixes for #3611115 into one bundle so the pipeline is fully green.

Fixes included

  1. phpunit (FunctionalJavascript)tests/modules/entityqueue_form_widget_test/config/install/field.storage.node.body.yml (new file). The test module ships the body field instances (field.field.node.queued_content.body.yml, field.field.node.test_content.body.yml) which depend on field.storage.node.body, but that field storage config was never shipped. Config install failed with Drupal\Core\Config\UnmetDependenciesException before the browser step even started. Adding the missing storage definition fixes both EntityQueueFormWidgetSimpleQueueTest and EntityQueueFormWidgetMultipleSubqueuesTest.
  2. phpstansrc/Hook/EntityqueueFormWidgetHooks.php: injects current_user via constructor #[Autowire] dependency injection and replaces \Drupal::currentUser() calls with $this->currentUser, resolving the "avoid \Drupal calls in classes" rule.
  3. phpstanphpstan.neon: removes the stale, unmatched ignoreErrors pattern for loadMultiple(), which was failing the unmatched-ignore check.
  4. eslint — removes .eslintrc.json. The module's root config extended airbnb-base, which is unresolvable in drupalci (CI never runs yarn in the module context). The module has no .js files, so removing the config lets drupalci's core eslint config apply cleanly.
  5. All CI jobs.gitlab-ci.yml: sets allow_failure: false for every job (composer-lint, cspell, eslint, phpcs, phpstan, phpunit), per maintainer direction that every CI job must gate.

Issue

https://www.drupal.org/project/entityqueue_form_widget/issues/3611115

Note

This MR was reopened and rebased onto the current 2.0.x HEAD via the GitLab rebase API so it applies and merges cleanly. It supersedes MR !13 (closed), which was a duplicate covering only fix #1 and has been closed.

AI disclosure

AI-Generated: Yes (Used Claude Code to diagnose the failing pipeline jobs and produce the field storage config, dependency-injection refactor, phpstan config cleanup, eslint config removal, and CI gating changes.)

Checkpoints

  • File an issue about this project
  • Addition/Change/Update/Fix to this project
  • Testing to ensure no regression
  • Automated unit/functional testing coverage
  • Developer Documentation support on feature change/addition
  • User Guide Documentation support on feature change/addition
  • UX/UI designer responsibilities
  • Accessibility and Readability
  • Reviewed by a human
  • Code review by maintainers
  • Full testing and approval
  • Credit contributors
  • Review with the product owner
  • Update Release Notes
  • Release
Edited by Rajab Natshah

Merge request reports

Loading