Issue #3586299: Fix test and documentation consistency before rc1.

Description

Addresses sub-items 7.1, 7.2, and 7.4 from #3586299 (closed).

7.1 — Integration test process isolation

Standardized process isolation on all remaining Functional and FunctionalJavascript test classes using the #[RunTestsInSeparateProcesses] PHPUnit attribute, matching #3586280 (closed) and Drupal 11.3+ requirements.

  • Converted 18 Functional / FunctionalJavascript classes from PHPDoc @runTestsInSeparateProcesses to the attribute
  • Updated conventions in tests/README.md and docs/contribute/testing.md

7.2 — Replace documentation-only tests

AiContextScopeGlobalTest

Replaced five placeholder assertions (assertTrue(TRUE, '...')) with real unit-level assertions:

  • supportsSubscriptions()
  • allowsMultiple()
  • isDynamic()
  • getCurrentValue()
  • buildValueForm() with $for_subscription = TRUE

AiContextItemTranslationHandlerTest

Removed this test class. It only verified PHP language features (is_subclass_of() and method_exists()) rather than module behavior. Translation handler behavior is already covered by existing Functional and Kernel tests.

7.4 — Test environment documentation

Updated tests/README.md with SIMPLETEST_BASE_URL and SIMPLETEST_DB guidance for DDEV, aligned with values in docs/contribute/testing.md (http://localhost, mysql://db:db@db:3306/db). Also links to the full setup doc for phpunit.xml and browser output directory configuration.

Moved to follow-up issues

  • 7.3 — Functional test dual-container traps → #3586325
  • 7.5 — Accessibility test coverage → #3586326

Test plan

  • ./lint.sh passes (phpcs, phpstan, cspell, eslint, stylelint)
  • CI phpunit pipeline green
  • No production code changed; test and documentation changes only

Post-merge steps

None required.

Checklist

  • I have updated the MR title to use format: Issue #1234: My issue title.
  • I have updated the MR description to include: Closes #1234
  • I have performed a self-review of my own code
  • I have added or updated tests, or explained in the description why this change is not covered by tests
  • I have updated documentation for any new or changed functionality
  • I have written testing instructions and verified them locally
  • I have noted any required post-merge steps (config imports, cache rebuilds, manual changes)
  • This MR contains no breaking API or hook changes, or they are explicitly documented in the description

AI Compliance

Note

Check the one that best describes your usage, or leave all unchecked if AI was not significantly used.

  • AI Assisted Code
    Mainly written by a human; AI used for autocomplete or partial generation under full human supervision.

  • AI Generated Code
    Mainly generated by AI, reviewed and approved by a human before this MR was created.

  • Vibe Coded
    Generated by AI and only functionally reviewed before this MR was created.

Closes #3586299 (closed)

Edited by Kristen Pol

Merge request reports

Loading