mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-25 03:45:46 -06:00
perf(test): speed up Tasks page state observations (#127121)
This commit is contained in:
committed by
GitHub
parent
d17bbfc31a
commit
be2f7c6a3d
@@ -3,6 +3,7 @@ import type { GatewayBrowserClient, GatewayEventFrame } from "../../api/gateway.
|
||||
import { sessionRefFromPath } from "../../app-session-route-paths.ts";
|
||||
import type { ApplicationContext, ApplicationGatewaySnapshot } from "../../app/context.ts";
|
||||
import type { TaskStatus, TaskSummary } from "../../lib/tasks/task-summary.ts";
|
||||
import { waitForFast } from "../../test-helpers/wait-for.ts";
|
||||
import "./tasks-page.ts";
|
||||
|
||||
type TasksPageTestElement = HTMLElement & {
|
||||
@@ -102,7 +103,7 @@ async function createDeferredTaskRefresh(initialTasks: TaskSummary[]) {
|
||||
const page = document.createElement("openclaw-tasks-page") as TasksPageTestElement;
|
||||
page.context = createContext(source.gateway);
|
||||
document.body.append(page);
|
||||
await vi.waitFor(() => expect(page.tasks).toHaveLength(initialTasks.length));
|
||||
await waitForFast(() => expect(page.tasks).toHaveLength(initialTasks.length));
|
||||
|
||||
return {
|
||||
active,
|
||||
@@ -314,7 +315,7 @@ describe("TasksPage active pagination", () => {
|
||||
page.context = createContext(source.gateway);
|
||||
document.body.append(page);
|
||||
|
||||
await vi.waitFor(() => expect(page.error).toBe("OPENAI_API_KEY=sk-123...cdef"));
|
||||
await waitForFast(() => expect(page.error).toBe("OPENAI_API_KEY=sk-123...cdef"));
|
||||
});
|
||||
|
||||
it("drains active pages with the selected scope and merges each task once", async () => {
|
||||
@@ -356,7 +357,7 @@ describe("TasksPage active pagination", () => {
|
||||
page.context = createContext(source.gateway, "writer");
|
||||
document.body.append(page);
|
||||
|
||||
await vi.waitFor(() => expect(page.tasks).toHaveLength(4));
|
||||
await waitForFast(() => expect(page.tasks).toHaveLength(4));
|
||||
|
||||
expect(request).toHaveBeenCalledWith(
|
||||
"tasks.list",
|
||||
@@ -402,7 +403,7 @@ describe("TasksPage active pagination", () => {
|
||||
page.context = createContext(source.gateway);
|
||||
document.body.append(page);
|
||||
|
||||
await vi.waitFor(() => expect(page.error).toBe("The gateway returned an invalid task list."));
|
||||
await waitForFast(() => expect(page.error).toBe("The gateway returned an invalid task list."));
|
||||
|
||||
expect(activeCalls).toBe(2);
|
||||
expect(request).toHaveBeenCalledTimes(3);
|
||||
@@ -439,7 +440,7 @@ describe("TasksPage active pagination", () => {
|
||||
task: { ...stale, status: "completed", updatedAt: 200 },
|
||||
});
|
||||
finalPage.resolve({ tasks: [stale] });
|
||||
await vi.waitFor(() => expect(page.tasks[0]?.status).toBe("completed"));
|
||||
await waitForFast(() => expect(page.tasks[0]?.status).toBe("completed"));
|
||||
|
||||
expect(page.tasks).toHaveLength(1);
|
||||
});
|
||||
@@ -476,7 +477,7 @@ describe("TasksPage cancellation lifecycle", () => {
|
||||
});
|
||||
try {
|
||||
document.body.append(page);
|
||||
await vi.waitFor(() => expect(page.tasks).toHaveLength(1));
|
||||
await waitForFast(() => expect(page.tasks).toHaveLength(1));
|
||||
|
||||
const copyButton = [...page.querySelectorAll("button")].find(
|
||||
(button) => button.textContent?.trim() === "Copy result",
|
||||
@@ -515,7 +516,7 @@ describe("TasksPage cancellation lifecycle", () => {
|
||||
page.context = createContext(source.gateway, "research");
|
||||
document.body.append(page);
|
||||
|
||||
await vi.waitFor(() =>
|
||||
await waitForFast(() =>
|
||||
expect(page.querySelector<HTMLAnchorElement>(".session-link")?.getAttribute("href")).toBe(
|
||||
"/chat/research/telegram/12345",
|
||||
),
|
||||
@@ -613,7 +614,7 @@ describe("TasksPage cancellation lifecycle", () => {
|
||||
const page = document.createElement("openclaw-tasks-page") as TasksPageTestElement;
|
||||
page.context = createContext(source.gateway);
|
||||
document.body.append(page);
|
||||
await vi.waitFor(() => expect(page.tasks).toHaveLength(1));
|
||||
await waitForFast(() => expect(page.tasks).toHaveLength(1));
|
||||
|
||||
await page.recoverTask(blocked.taskId, "retry");
|
||||
|
||||
@@ -642,7 +643,7 @@ describe("TasksPage cancellation lifecycle", () => {
|
||||
const page = document.createElement("openclaw-tasks-page") as TasksPageTestElement;
|
||||
page.context = createContext(source.gateway);
|
||||
document.body.append(page);
|
||||
await vi.waitFor(() => expect(page.tasks).toHaveLength(1));
|
||||
await waitForFast(() => expect(page.tasks).toHaveLength(1));
|
||||
|
||||
const recovery = page.recoverTask(blocked.taskId, "retry");
|
||||
await vi.waitFor(() => expect(page.cancellingTaskIds.has(blocked.taskId)).toBe(true));
|
||||
@@ -677,7 +678,7 @@ describe("TasksPage cancellation lifecycle", () => {
|
||||
const page = document.createElement("openclaw-tasks-page") as TasksPageTestElement;
|
||||
page.context = createContext(source.gateway);
|
||||
document.body.append(page);
|
||||
await vi.waitFor(() => expect(page.tasks).toHaveLength(1));
|
||||
await waitForFast(() => expect(page.tasks).toHaveLength(1));
|
||||
|
||||
const text = page.textContent ?? "";
|
||||
expect(text).toContain("Completed; result delivery was dismissed.");
|
||||
|
||||
Reference in New Issue
Block a user