zerobyte/app/server/modules/agents/__tests__/agents-manager.test.ts
Nicolas Meienberger 5eb1d2b727 feat: backup through agent
wip
2026-04-02 23:12:51 +02:00

33 lines
1.1 KiB
TypeScript

import { afterEach, describe, expect, mock, test } from "bun:test";
const loadAgentsManagerModule = async () => {
const moduleUrl = new URL("../agents-manager.ts", import.meta.url);
moduleUrl.searchParams.set("test", crypto.randomUUID());
return import(moduleUrl.href);
};
afterEach(() => {
delete (globalThis as Record<string, unknown>).__agentManager;
mock.restore();
});
describe("agents-manager module", () => {
test("reuses the existing global agent manager without stopping it", async () => {
const existingManager = {
start: mock(() => {}),
sendBackup: mock(() => false),
cancelBackup: mock(() => false),
setBackupEventHandlers: mock(() => {}),
getBackupEventHandlers: mock(() => ({})),
stop: mock(() => {}),
};
(globalThis as Record<string, unknown>).__agentManager = existingManager;
const { agentManager } = await loadAgentsManagerModule();
expect(agentManager).toBe(existingManager);
expect(existingManager.stop).not.toHaveBeenCalled();
expect((globalThis as Record<string, unknown>).__agentManager).toBe(existingManager);
});
});