openclaw/src/agents/openclaw-tools.subagents.test-harness.ts
2026-03-11 01:44:38 +00:00

37 lines
922 B
TypeScript

import { vi } from "vitest";
import type { MockFn } from "../test-utils/vitest-mock-fn.js";
export type LoadedConfig = ReturnType<(typeof import("../config/config.js"))["loadConfig"]>;
export const callGatewayMock: MockFn = vi.fn();
const defaultConfig: LoadedConfig = {
session: {
mainKey: "main",
scope: "per-sender",
},
};
let configOverride: LoadedConfig = defaultConfig;
export function setSubagentsConfigOverride(next: LoadedConfig) {
configOverride = next;
}
export function resetSubagentsConfigOverride() {
configOverride = defaultConfig;
}
vi.mock("../gateway/call.js", () => ({
callGateway: (opts: unknown) => callGatewayMock(opts),
}));
vi.mock("../config/config.js", async (importOriginal) => {
const actual = await importOriginal<typeof import("../config/config.js")>();
return {
...actual,
loadConfig: () => configOverride,
resolveGatewayPort: () => 18789,
};
});