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
- 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 onfield.storage.node.body, but that field storage config was never shipped. Config install failed withDrupal\Core\Config\UnmetDependenciesExceptionbefore the browser step even started. Adding the missing storage definition fixes bothEntityQueueFormWidgetSimpleQueueTestandEntityQueueFormWidgetMultipleSubqueuesTest. - phpstan —
src/Hook/EntityqueueFormWidgetHooks.php: injectscurrent_uservia constructor#[Autowire]dependency injection and replaces\Drupal::currentUser()calls with$this->currentUser, resolving the "avoid\Drupalcalls in classes" rule. - phpstan —
phpstan.neon: removes the stale, unmatchedignoreErrorspattern forloadMultiple(), which was failing the unmatched-ignore check. - eslint — removes
.eslintrc.json. The module's root config extendedairbnb-base, which is unresolvable in drupalci (CI never runs yarn in the module context). The module has no.jsfiles, so removing the config lets drupalci's core eslint config apply cleanly. - All CI jobs —
.gitlab-ci.yml: setsallow_failure: falsefor 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