fix: honor config timeout in tui

This commit is contained in:
Peter Steinberger
2026-01-09 21:22:41 +01:00
parent 4861f09f78
commit e8dbb350ae
6 changed files with 40 additions and 9 deletions

View File

@@ -9,6 +9,7 @@ const onboardCommand = vi.fn();
const callGateway = vi.fn();
const runProviderLogin = vi.fn();
const runProviderLogout = vi.fn();
const runTui = vi.fn();
const runtime = {
log: vi.fn(),
@@ -30,6 +31,9 @@ vi.mock("./provider-auth.js", () => ({
runProviderLogin,
runProviderLogout,
}));
vi.mock("../tui/tui.js", () => ({
runTui,
}));
vi.mock("../gateway/call.js", () => ({
callGateway,
randomIdempotencyKey: () => "idem-test",
@@ -43,6 +47,7 @@ const { buildProgram } = await import("./program.js");
describe("cli program", () => {
beforeEach(() => {
vi.clearAllMocks();
runTui.mockResolvedValue(undefined);
});
it("runs message with required options", async () => {
@@ -62,6 +67,24 @@ describe("cli program", () => {
expect(statusCommand).toHaveBeenCalled();
});
it("runs tui without overriding timeout", async () => {
const program = buildProgram();
await program.parseAsync(["tui"], { from: "user" });
expect(runTui).toHaveBeenCalledWith(
expect.objectContaining({ timeoutMs: undefined }),
);
});
it("runs tui with explicit timeout override", async () => {
const program = buildProgram();
await program.parseAsync(["tui", "--timeout-ms", "45000"], {
from: "user",
});
expect(runTui).toHaveBeenCalledWith(
expect.objectContaining({ timeoutMs: 45000 }),
);
});
it("runs config alias as configure", async () => {
const program = buildProgram();
await program.parseAsync(["config"], { from: "user" });