mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-19 14:00:51 +00:00
63 lines
1.6 KiB
TypeScript
63 lines
1.6 KiB
TypeScript
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
|
|
const loadConfigMock = vi.fn();
|
|
const loadOpenClawPluginsMock = vi.fn();
|
|
let buildPluginStatusReport: typeof import("./status.js").buildPluginStatusReport;
|
|
|
|
vi.mock("../config/config.js", () => ({
|
|
loadConfig: () => loadConfigMock(),
|
|
}));
|
|
|
|
vi.mock("./loader.js", () => ({
|
|
loadOpenClawPlugins: (...args: unknown[]) => loadOpenClawPluginsMock(...args),
|
|
}));
|
|
|
|
vi.mock("../agents/agent-scope.js", () => ({
|
|
resolveAgentWorkspaceDir: () => undefined,
|
|
resolveDefaultAgentId: () => "default",
|
|
}));
|
|
|
|
vi.mock("../agents/workspace.js", () => ({
|
|
resolveDefaultAgentWorkspaceDir: () => "/default-workspace",
|
|
}));
|
|
|
|
describe("buildPluginStatusReport", () => {
|
|
beforeEach(async () => {
|
|
vi.resetModules();
|
|
loadConfigMock.mockReset();
|
|
loadOpenClawPluginsMock.mockReset();
|
|
loadConfigMock.mockReturnValue({});
|
|
loadOpenClawPluginsMock.mockReturnValue({
|
|
plugins: [],
|
|
diagnostics: [],
|
|
channels: [],
|
|
providers: [],
|
|
tools: [],
|
|
hooks: [],
|
|
gatewayHandlers: {},
|
|
cliRegistrars: [],
|
|
services: [],
|
|
commands: [],
|
|
});
|
|
({ buildPluginStatusReport } = await import("./status.js"));
|
|
});
|
|
|
|
it("forwards an explicit env to plugin loading", () => {
|
|
const env = { HOME: "/tmp/openclaw-home" } as NodeJS.ProcessEnv;
|
|
|
|
buildPluginStatusReport({
|
|
config: {},
|
|
workspaceDir: "/workspace",
|
|
env,
|
|
});
|
|
|
|
expect(loadOpenClawPluginsMock).toHaveBeenCalledWith(
|
|
expect.objectContaining({
|
|
config: {},
|
|
workspaceDir: "/workspace",
|
|
env,
|
|
}),
|
|
);
|
|
});
|
|
});
|