27 lines
785 B
TypeScript
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"]);
|
|
});
|
|
});
|