From ab5ea7876b9d0eb0d7b56a02daf106fa2d0ccdde Mon Sep 17 00:00:00 2001 From: Codex Bot Date: Sat, 31 Oct 2026 02:24:22 +0800 Subject: [PATCH] Synchronize guidance navigation with fulfilled session and rendered state --- .../tests/guidance-workspace-ui.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/apps/waterfall-wiki/tests/guidance-workspace-ui.ts b/apps/waterfall-wiki/tests/guidance-workspace-ui.ts index a1b8f6e..649d363 100644 --- a/apps/waterfall-wiki/tests/guidance-workspace-ui.ts +++ b/apps/waterfall-wiki/tests/guidance-workspace-ui.ts @@ -27,9 +27,11 @@ export async function verifyGuidanceWorkspaceUI(base: string, browser: Browser) requestedAuthor: string | null = null, published: Guidance | null = null; const errors: string[] = []; + let sessionReplies = 0; try { - await context.route("**/api/account/session", (route) => - route.fulfill({ + await context.route("**/api/account/session", async (route) => { + await route.fulfill({ + status: 200, json: { user: signedIn ? { @@ -39,8 +41,9 @@ export async function verifyGuidanceWorkspaceUI(base: string, browser: Browser) } : null, }, - }), - ); + }); + sessionReplies += 1; + }); await context.route( (url) => url.pathname === "/api/documents", async (route) => { @@ -94,11 +97,12 @@ export async function verifyGuidanceWorkspaceUI(base: string, browser: Browser) page.on("requestfinished", request => pending.delete(request.url())); page.on("requestfailed", request => {pending.delete(request.url());network.push(new URL(request.url()).pathname+": "+request.failure()?.errorText);}); async function navigate(url: string, reload = false) { - const session = page.waitForResponse(response => new URL(response.url()).pathname === "/api/account/session" && response.status() === 200); + const previousSessionReplies = sessionReplies; try { - const [navigation] = await Promise.all([reload ? page.reload({waitUntil:"domcontentloaded"}) : page.goto(url,{waitUntil:"domcontentloaded"}),session]); + const navigation = await (reload ? page.reload({waitUntil:"domcontentloaded"}) : page.goto(url,{waitUntil:"domcontentloaded"})); assert.ok(navigation?.ok(), "Navigation returns a successful document"); await page.getByText(signedIn ? "editor@example.com" : "登录你的账户",{exact:true}).first().waitFor({state:"attached"}); + assert.ok(sessionReplies > previousSessionReplies, "The new document requests its account fixture and renders the resulting account state"); } catch (error) { const probeStarted=Date.now(); const server=await fetch(url,{signal:AbortSignal.timeout(3000)}).then(async response=>{await response.body?.cancel();return {status:response.status,elapsedMs:Date.now()-probeStarted}}).catch(error=>({error:error instanceof Error?error.name:"unknown",elapsedMs:Date.now()-probeStarted}));