mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-14 18:51:04 +00:00
1.3 KiB
1.3 KiB
Shared Test Helper Boundary
This directory holds shared test helpers reused by core and bundled plugin tests.
Bundled Plugin Imports
- Shared helpers in this tree must not hardcode repo-relative imports into
extensions/**. - When a helper needs a bundled plugin public surface, go through
src/test-utils/bundled-plugin-public-surface.ts. - Prefer
loadBundledPluginApiSync(...),loadBundledPluginRuntimeApiSync(...),loadBundledPluginContractApiSync(...), andloadBundledPluginTestApiSync(...)for eager access to exported surfaces. - Prefer
resolveRelativeBundledPluginPublicModuleId(...)orresolveBundledPluginPublicModulePath(...)when a helper needs a module id or filesystem path for dynamic import, mocking, or loading a plugin entrypoint such asindex.js. - If
vi.hoisted(...)is involved, do not call imported helper functions from inside the hoisted callback. Resolve the module id outside the callback or switch tovi.doMock(...). - Do not keep plugin-local deep mocks or private
src/**knowledge in shared helpers. Move those helpers into the owning bundled plugin package instead.
Intent
- Keep shared helpers aligned with the same public/plugin boundary that production code uses.
- Avoid shared helper debt that makes core test lanes depend on bundled plugin private layout.