25 lines
1.3 KiB
TypeScript
25 lines
1.3 KiB
TypeScript
import { expect, saveScreenshot, test } from "../fixtures/test";
|
|
import { selectors, sessionTab } from "../fixtures/selectors";
|
|
|
|
test.describe("cross-session late authority", () => {
|
|
test.use({ scenarioId: "cross-session-late-events" });
|
|
|
|
test("late A realtime events do not pollute B active session", async ({ page }, testInfo) => {
|
|
await page.goto("/workbench/sessions/ses_late_B");
|
|
await expect(page.locator(selectors.workspace)).toBeVisible();
|
|
await expect(page.locator(sessionTab("ses_late_B"))).toBeVisible();
|
|
await expect(page.locator(sessionTab("ses_late_B"))).toHaveAttribute("data-active", "true");
|
|
await page.waitForTimeout(1_200);
|
|
|
|
expect(page.url()).toMatch(/\/workbench\/sessions\/ses_late_B$/u);
|
|
expect(await page.locator(sessionTab("ses_late_B")).getAttribute("data-active")).toBe("true");
|
|
const conversationText = await page.locator(selectors.conversationList).textContent();
|
|
expect(conversationText ?? "").not.toContain("写一个python脚本测试性能");
|
|
expect(conversationText ?? "").not.toContain("perf_test.py");
|
|
expect(await page.locator(`${selectors.messageCard}[data-role="user"]`).count()).toBe(1);
|
|
|
|
await expect(page.locator(selectors.commandInput)).toBeVisible();
|
|
await saveScreenshot(page, testInfo, "cross-session-late-events-b-active");
|
|
});
|
|
});
|