mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-24 18:08:39 +00:00
refactor(agent): dedupe harness and command workflows
This commit is contained in:
@@ -49,6 +49,18 @@ function buildSnapshot(params: {
|
||||
};
|
||||
}
|
||||
|
||||
function setSnapshot(resolved: OpenClawConfig, config: OpenClawConfig) {
|
||||
mockReadConfigFileSnapshot.mockResolvedValueOnce(buildSnapshot({ resolved, config }));
|
||||
}
|
||||
|
||||
async function runConfigCommand(args: string[]) {
|
||||
const { registerConfigCli } = await import("./config-cli.js");
|
||||
const program = new Command();
|
||||
program.exitOverride();
|
||||
registerConfigCli(program);
|
||||
await program.parseAsync(args, { from: "user" });
|
||||
}
|
||||
|
||||
describe("config cli", () => {
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
@@ -77,16 +89,9 @@ describe("config cli", () => {
|
||||
} as never,
|
||||
} as never,
|
||||
};
|
||||
mockReadConfigFileSnapshot.mockResolvedValueOnce(
|
||||
buildSnapshot({ resolved, config: runtimeMerged }),
|
||||
);
|
||||
setSnapshot(resolved, runtimeMerged);
|
||||
|
||||
const { registerConfigCli } = await import("./config-cli.js");
|
||||
const program = new Command();
|
||||
program.exitOverride();
|
||||
registerConfigCli(program);
|
||||
|
||||
await program.parseAsync(["config", "set", "gateway.auth.mode", "token"], { from: "user" });
|
||||
await runConfigCommand(["config", "set", "gateway.auth.mode", "token"]);
|
||||
|
||||
expect(mockWriteConfigFile).toHaveBeenCalledTimes(1);
|
||||
const written = mockWriteConfigFile.mock.calls[0]?.[0];
|
||||
@@ -114,16 +119,9 @@ describe("config cli", () => {
|
||||
messages: { ackReaction: "✅" } as never,
|
||||
sessions: { persistence: { enabled: true } } as never,
|
||||
};
|
||||
mockReadConfigFileSnapshot.mockResolvedValueOnce(
|
||||
buildSnapshot({ resolved, config: runtimeMerged }),
|
||||
);
|
||||
setSnapshot(resolved, runtimeMerged);
|
||||
|
||||
const { registerConfigCli } = await import("./config-cli.js");
|
||||
const program = new Command();
|
||||
program.exitOverride();
|
||||
registerConfigCli(program);
|
||||
|
||||
await program.parseAsync(["config", "set", "gateway.auth.mode", "token"], { from: "user" });
|
||||
await runConfigCommand(["config", "set", "gateway.auth.mode", "token"]);
|
||||
|
||||
expect(mockWriteConfigFile).toHaveBeenCalledTimes(1);
|
||||
const written = mockWriteConfigFile.mock.calls[0]?.[0];
|
||||
@@ -157,16 +155,9 @@ describe("config cli", () => {
|
||||
},
|
||||
} as never,
|
||||
};
|
||||
mockReadConfigFileSnapshot.mockResolvedValueOnce(
|
||||
buildSnapshot({ resolved, config: runtimeMerged }),
|
||||
);
|
||||
setSnapshot(resolved, runtimeMerged);
|
||||
|
||||
const { registerConfigCli } = await import("./config-cli.js");
|
||||
const program = new Command();
|
||||
program.exitOverride();
|
||||
registerConfigCli(program);
|
||||
|
||||
await program.parseAsync(["config", "unset", "tools.alsoAllow"], { from: "user" });
|
||||
await runConfigCommand(["config", "unset", "tools.alsoAllow"]);
|
||||
|
||||
expect(mockWriteConfigFile).toHaveBeenCalledTimes(1);
|
||||
const written = mockWriteConfigFile.mock.calls[0]?.[0];
|
||||
|
||||
Reference in New Issue
Block a user