mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-13 10:11:20 +00:00
49 lines
1.9 KiB
TypeScript
49 lines
1.9 KiB
TypeScript
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
|
|
const closeTrackedBrowserTabsForSessionsImpl = vi.hoisted(() => vi.fn());
|
|
const movePathToTrashImpl = vi.hoisted(() => vi.fn());
|
|
|
|
vi.mock("../../extensions/browser/browser-maintenance.js", () => ({
|
|
closeTrackedBrowserTabsForSessions: closeTrackedBrowserTabsForSessionsImpl,
|
|
movePathToTrash: movePathToTrashImpl,
|
|
}));
|
|
|
|
describe("browser maintenance", () => {
|
|
beforeEach(() => {
|
|
closeTrackedBrowserTabsForSessionsImpl.mockReset();
|
|
movePathToTrashImpl.mockReset();
|
|
});
|
|
|
|
it("skips browser cleanup when no session keys are provided", async () => {
|
|
closeTrackedBrowserTabsForSessionsImpl.mockResolvedValue(0);
|
|
|
|
const { closeTrackedBrowserTabsForSessions } = await import("./browser-maintenance.js");
|
|
|
|
await expect(closeTrackedBrowserTabsForSessions({ sessionKeys: [] })).resolves.toBe(0);
|
|
expect(closeTrackedBrowserTabsForSessionsImpl).toHaveBeenCalledWith({ sessionKeys: [] });
|
|
expect(movePathToTrashImpl).not.toHaveBeenCalled();
|
|
});
|
|
|
|
it("delegates cleanup through the browser maintenance surface", async () => {
|
|
closeTrackedBrowserTabsForSessionsImpl.mockResolvedValue(2);
|
|
|
|
const { closeTrackedBrowserTabsForSessions } = await import("./browser-maintenance.js");
|
|
|
|
await expect(
|
|
closeTrackedBrowserTabsForSessions({ sessionKeys: ["agent:main:test"] }),
|
|
).resolves.toBe(2);
|
|
expect(closeTrackedBrowserTabsForSessionsImpl).toHaveBeenCalledWith({
|
|
sessionKeys: ["agent:main:test"],
|
|
});
|
|
});
|
|
|
|
it("delegates move-to-trash through the browser maintenance surface", async () => {
|
|
movePathToTrashImpl.mockImplementation(async (targetPath: string) => `${targetPath}.trashed`);
|
|
|
|
const { movePathToTrash } = await import("./browser-maintenance.js");
|
|
|
|
await expect(movePathToTrash("/tmp/demo")).resolves.toBe("/tmp/demo.trashed");
|
|
expect(movePathToTrashImpl).toHaveBeenCalledWith("/tmp/demo");
|
|
});
|
|
});
|