SurfSense/surfsense_web/tests/smoke/chat-stream.spec.ts
Anish Sarkar a8c1fb660d feat(rename): complete searchSpace to workspace transition across frontend and backend
- Introduced a comprehensive specification for renaming `searchSpace` to `workspace` in `surfsense_web` and `surfsense_desktop`, ensuring all TypeScript identifiers, React props, and local data structures are updated.
- Implemented migration shims for persisted local state to prevent data loss during the transition.
- Updated observability metrics and IPC channels to reflect the new naming convention.
- Removed legacy `active-search-space` module and replaced it with `active-workspace` to maintain consistency.
- Ensured no behavioral changes or data loss for users during the renaming process.
2026-07-06 15:12:40 +05:30

28 lines
1 KiB
TypeScript

import { expect, test } from "../fixtures";
import { authHeaders, BACKEND_URL } from "../helpers/api/auth";
import { streamChatToCompletion } from "../helpers/api/chat";
test.describe("Smoke", () => {
test("chat stream completes for an unrelated query", async ({ request, apiToken, workspace }) => {
const threadResponse = await request.post(`${BACKEND_URL}/api/v1/threads`, {
headers: authHeaders(apiToken),
data: {
title: "e2e-chat-stream-smoke",
workspace_id: workspace.id,
visibility: "PRIVATE",
},
});
expect(threadResponse.ok()).toBeTruthy();
const thread = (await threadResponse.json()) as { id: number };
const chat = await streamChatToCompletion(request, apiToken, {
workspaceId: workspace.id,
threadId: thread.id,
query: "E2E_NO_RELEVANT_CONTENT_SMOKE",
});
expect(chat.events.some((event) => event.type === "done")).toBeTruthy();
expect(chat.events.some((event) => event.type === "text-delta")).toBeTruthy();
expect(chat.assistantText).toContain("No relevant indexed content found.");
});
});