mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 20:40:43 +00:00
test(cli): add configure registrar coverage
This commit is contained in:
52
src/cli/program/register.configure.test.ts
Normal file
52
src/cli/program/register.configure.test.ts
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
import { Command } from "commander";
|
||||||
|
import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
||||||
|
|
||||||
|
const configureCommandFromSectionsArgMock = vi.fn();
|
||||||
|
const runtime = {
|
||||||
|
log: vi.fn(),
|
||||||
|
error: vi.fn(),
|
||||||
|
exit: vi.fn(),
|
||||||
|
};
|
||||||
|
|
||||||
|
vi.mock("../../commands/configure.js", () => ({
|
||||||
|
CONFIGURE_WIZARD_SECTIONS: ["auth", "channels", "gateway", "agent"],
|
||||||
|
configureCommandFromSectionsArg: configureCommandFromSectionsArgMock,
|
||||||
|
}));
|
||||||
|
|
||||||
|
vi.mock("../../runtime.js", () => ({
|
||||||
|
defaultRuntime: runtime,
|
||||||
|
}));
|
||||||
|
|
||||||
|
let registerConfigureCommand: typeof import("./register.configure.js").registerConfigureCommand;
|
||||||
|
|
||||||
|
beforeAll(async () => {
|
||||||
|
({ registerConfigureCommand } = await import("./register.configure.js"));
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("registerConfigureCommand", () => {
|
||||||
|
async function runCli(args: string[]) {
|
||||||
|
const program = new Command();
|
||||||
|
registerConfigureCommand(program);
|
||||||
|
await program.parseAsync(args, { from: "user" });
|
||||||
|
}
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
vi.clearAllMocks();
|
||||||
|
configureCommandFromSectionsArgMock.mockResolvedValue(undefined);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("forwards repeated --section values", async () => {
|
||||||
|
await runCli(["configure", "--section", "auth", "--section", "channels"]);
|
||||||
|
|
||||||
|
expect(configureCommandFromSectionsArgMock).toHaveBeenCalledWith(["auth", "channels"], runtime);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("reports errors through runtime when configure command fails", async () => {
|
||||||
|
configureCommandFromSectionsArgMock.mockRejectedValueOnce(new Error("configure failed"));
|
||||||
|
|
||||||
|
await runCli(["configure"]);
|
||||||
|
|
||||||
|
expect(runtime.error).toHaveBeenCalledWith("Error: configure failed");
|
||||||
|
expect(runtime.exit).toHaveBeenCalledWith(1);
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user