27 lines
788 B
TypeScript
27 lines
788 B
TypeScript
import { describe, expect, it, afterEach } from "vitest";
|
|
|
|
import { createInMemorySessionStore } from "./session.js";
|
|
|
|
describe("acp session manager", () => {
|
|
const store = createInMemorySessionStore();
|
|
|
|
afterEach(() => {
|
|
store.clearAllSessionsForTest();
|
|
});
|
|
|
|
it("tracks active runs and clears on cancel", () => {
|
|
const session = store.createSession({
|
|
sessionKey: "acp:test",
|
|
cwd: "/tmp",
|
|
});
|
|
const controller = new AbortController();
|
|
store.setActiveRun(session.sessionId, "run-1", controller);
|
|
|
|
expect(store.getSessionByRunId("run-1")?.sessionId).toBe(session.sessionId);
|
|
|
|
const cancelled = store.cancelActiveRun(session.sessionId);
|
|
expect(cancelled).toBe(true);
|
|
expect(store.getSessionByRunId("run-1")).toBeUndefined();
|
|
});
|
|
});
|