mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-18 04:31:10 +00:00
57 lines
1.6 KiB
TypeScript
57 lines
1.6 KiB
TypeScript
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
|
|
const selectMock = vi.hoisted(() => vi.fn());
|
|
const createSecretsConfigIOMock = vi.hoisted(() => vi.fn());
|
|
const readJsonObjectIfExistsMock = vi.hoisted(() => vi.fn());
|
|
|
|
vi.mock("@clack/prompts", () => ({
|
|
confirm: vi.fn(),
|
|
select: (...args: unknown[]) => selectMock(...args),
|
|
text: vi.fn(),
|
|
}));
|
|
|
|
vi.mock("./config-io.js", () => ({
|
|
createSecretsConfigIO: (...args: unknown[]) => createSecretsConfigIOMock(...args),
|
|
}));
|
|
|
|
vi.mock("./storage-scan.js", () => ({
|
|
readJsonObjectIfExists: (...args: unknown[]) => readJsonObjectIfExistsMock(...args),
|
|
}));
|
|
|
|
const { runSecretsConfigureInteractive } = await import("./configure.js");
|
|
|
|
describe("runSecretsConfigureInteractive", () => {
|
|
beforeEach(() => {
|
|
selectMock.mockReset();
|
|
createSecretsConfigIOMock.mockReset();
|
|
readJsonObjectIfExistsMock.mockReset();
|
|
});
|
|
|
|
it("does not load auth-profiles when running providers-only", async () => {
|
|
Object.defineProperty(process.stdin, "isTTY", {
|
|
value: true,
|
|
configurable: true,
|
|
});
|
|
|
|
selectMock.mockResolvedValue("continue");
|
|
createSecretsConfigIOMock.mockReturnValue({
|
|
readConfigFileSnapshotForWrite: async () => ({
|
|
snapshot: {
|
|
valid: true,
|
|
config: {},
|
|
resolved: {},
|
|
},
|
|
}),
|
|
});
|
|
readJsonObjectIfExistsMock.mockReturnValue({
|
|
error: "boom",
|
|
value: null,
|
|
});
|
|
|
|
await expect(runSecretsConfigureInteractive({ providersOnly: true })).rejects.toThrow(
|
|
"No secrets changes were selected.",
|
|
);
|
|
expect(readJsonObjectIfExistsMock).not.toHaveBeenCalled();
|
|
});
|
|
});
|