Files
openclaw/src/cli/browser-cli-manage.timeout-option.test.ts
2026-03-26 19:37:14 +00:00

57 lines
2.3 KiB
TypeScript

import { beforeEach, describe, expect, it } from "vitest";
import {
createBrowserManageProgram,
findBrowserManageCall,
getBrowserManageCallBrowserRequestMock,
} from "./browser-cli-manage.test-helpers.js";
import { getBrowserCliRuntimeCapture } from "./browser-cli-test-helpers.js";
describe("browser manage start timeout option", () => {
beforeEach(() => {
getBrowserManageCallBrowserRequestMock().mockClear();
getBrowserCliRuntimeCapture().resetRuntimeCapture();
});
it("uses parent --timeout for browser start instead of hardcoded 15s", async () => {
const program = createBrowserManageProgram({ withParentTimeout: true });
await program.parseAsync(["browser", "--timeout", "60000", "start"], { from: "user" });
const startCall = findBrowserManageCall("/start");
expect(startCall).toBeDefined();
expect(startCall?.[0]).toMatchObject({ timeout: "60000" });
expect(startCall?.[2]).toBeUndefined();
});
it("uses a longer built-in timeout for browser status", async () => {
const program = createBrowserManageProgram({ withParentTimeout: true });
await program.parseAsync(["browser", "status"], { from: "user" });
const statusCall = findBrowserManageCall("/");
expect(statusCall?.[2]).toEqual({ timeoutMs: 45_000 });
});
it("uses a longer built-in timeout for browser tabs", async () => {
const program = createBrowserManageProgram({ withParentTimeout: true });
await program.parseAsync(["browser", "tabs"], { from: "user" });
const tabsCall = findBrowserManageCall("/tabs");
expect(tabsCall?.[2]).toEqual({ timeoutMs: 45_000 });
});
it("uses a longer built-in timeout for browser profiles", async () => {
const program = createBrowserManageProgram({ withParentTimeout: true });
await program.parseAsync(["browser", "profiles"], { from: "user" });
const profilesCall = findBrowserManageCall("/profiles");
expect(profilesCall?.[2]).toEqual({ timeoutMs: 45_000 });
});
it("uses a longer built-in timeout for browser open", async () => {
const program = createBrowserManageProgram({ withParentTimeout: true });
await program.parseAsync(["browser", "open", "https://example.com"], { from: "user" });
const openCall = findBrowserManageCall("/tabs/open");
expect(openCall?.[2]).toEqual({ timeoutMs: 45_000 });
});
});