38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|||
|
|
|
||
|
|
import { deleteSession, fetchSessionMessages } from "@/lib/api";
|
||
|
|
|
||
|
|
describe("webui API helpers", () => {
|
||
|
|
beforeEach(() => {
|
||
|
|
vi.stubGlobal(
|
||
|
|
"fetch",
|
||
|
|
vi.fn().mockResolvedValue({
|
||
|
|
ok: true,
|
||
|
|
json: async () => ({ deleted: true, key: "websocket:chat-1", messages: [] }),
|
||
|
|
}),
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
it("percent-encodes websocket keys when fetching session history", async () => {
|
||
|
|
await fetchSessionMessages("tok", "websocket:chat-1");
|
||
|
|
|
||
|
|
expect(fetch).toHaveBeenCalledWith(
|
||
|
|
"/api/sessions/websocket%3Achat-1/messages",
|
||
|
|
expect.objectContaining({
|
||
|
|
headers: { Authorization: "Bearer tok" },
|
||
|
|
}),
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
it("percent-encodes websocket keys when deleting a session", async () => {
|
||
|
|
await deleteSession("tok", "websocket:chat-1");
|
||
|
|
|
||
|
|
expect(fetch).toHaveBeenCalledWith(
|
||
|
|
"/api/sessions/websocket%3Achat-1/delete",
|
||
|
|
expect.objectContaining({
|
||
|
|
headers: { Authorization: "Bearer tok" },
|
||
|
|
}),
|
||
|
|
);
|
||
|
|
});
|
||
|
|
});
|