import { expect, test } from "@playwright/test"; import { THREAD_FOR_WELCOME, newChatEntry, openChat, reuseThreadChatEntry, skipIfMissingThread, waitForAnyMessages, waitForMessageListReady, } from "./support/chat-helpers"; test.describe("线程路由(无 isnew)", () => { test("/new 始终走欢迎态,发送后进入具体 thread 路由", async ({ page }, testInfo) => { skipIfMissingThread(testInfo, THREAD_FOR_WELCOME, "FRONTEND_E2E_THREAD_ID"); await openChat(page, newChatEntry(THREAD_FOR_WELCOME!)); await expect(page.getByTestId("welcome-suggestions")).toBeVisible(); }); test("/chats/:thread_id 直接复用并渲染历史", async ({ page }, testInfo) => { skipIfMissingThread(testInfo, THREAD_FOR_WELCOME, "FRONTEND_E2E_THREAD_ID"); await openChat(page, reuseThreadChatEntry(THREAD_FOR_WELCOME!)); await waitForMessageListReady(page, { requireMessages: false }); const messageCount = await waitForAnyMessages(page); testInfo.skip(messageCount === 0, "当前线程没有可见历史消息。"); await expect(page).toHaveURL(new RegExp(`/workspace/chats/${THREAD_FOR_WELCOME!}`)); await expect(page.locator(".is-user, .is-assistant").first()).toBeVisible(); }); });