Files

27 lines
785 B
TypeScript

import { describe, expect, it, vi } from "vitest";
import { buildApp } from "../src/app.js";
describe("shutdown lifecycle", () => {
it("closes SSE before disposing all sessions", async () => {
const order: string[] = [];
const app = buildApp({
sessionRegistry: {
create: vi.fn(), get: vi.fn(), delete: vi.fn(),
disposeAll: () => { order.push("sessions"); return Promise.resolve(); },
},
skillCatalog: { list: () => [] },
modelStore: {} as never,
attachmentStore: {} as never,
approvalBroker: {} as never,
sseRegistry: {
add: vi.fn(), closeForSession: vi.fn(),
closeAll: () => { order.push("sse"); },
},
});
await app.close();
expect(order).toEqual(["sse", "sessions"]);
});
});