openclaw/src/infra/install-mode-options.test.ts
2026-02-22 18:37:25 +00:00

52 lines
1.3 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
resolveInstallModeOptions,
resolveTimedInstallModeOptions,
} from "./install-mode-options.js";
describe("install mode option helpers", () => {
it("applies logger, mode, and dryRun defaults", () => {
const logger = { warn: (_message: string) => {} };
const result = resolveInstallModeOptions({}, logger);
expect(result).toEqual({
logger,
mode: "install",
dryRun: false,
});
});
it("preserves explicit mode and dryRun values", () => {
const logger = { warn: (_message: string) => {} };
const result = resolveInstallModeOptions(
{
logger,
mode: "update",
dryRun: true,
},
{ warn: () => {} },
);
expect(result).toEqual({
logger,
mode: "update",
dryRun: true,
});
});
it("uses default timeout when not provided", () => {
const logger = { warn: (_message: string) => {} };
const result = resolveTimedInstallModeOptions({}, logger);
expect(result.timeoutMs).toBe(120_000);
expect(result.mode).toBe("install");
expect(result.dryRun).toBe(false);
});
it("honors custom timeout default override", () => {
const result = resolveTimedInstallModeOptions({}, { warn: () => {} }, 5000);
expect(result.timeoutMs).toBe(5000);
});
});