Source: tests/api/ApiTestCase.php · 317 lines, ~1254 statements · namespace: (global) · `declare(strict_types=1)`: no
API Test Case
Abstract base class for the Phase 4.7 API test suite (tests/api/).
Controllers terminate the process via ApiResponse::send() (exit), so every controller action is executed inside an isolated PHP subprocess (see runner.php). This base class provides:
\ - runController()/runRouter(): execute a controller action or router
dispatch in a subprocess and return the decoded result.
\ - Assertion helpers for the standard API JSON envelope (success/status/
data), _links, and pagination metadata.
\ - runInSubprocess(): low-level subprocess execution and result parsing.