From 69f5a19ba79dfd2c166b6ea3602d74d89e072189 Mon Sep 17 00:00:00 2001 From: creatixchu Date: Mon, 19 Oct 2026 14:30:34 +0800 Subject: [PATCH] test(cua): await toggle completion under the browser deadline --- apps/web/tests/cua-optin.e2e.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/web/tests/cua-optin.e2e.ts b/apps/web/tests/cua-optin.e2e.ts index 97fd6f763e..6ceccf4aae 100644 --- a/apps/web/tests/cua-optin.e2e.ts +++ b/apps/web/tests/cua-optin.e2e.ts @@ -45,8 +45,9 @@ it.each([undefined, 'minimal'] as const)('adds CUA to PTC sessions while preserv const toggle = card.getByRole('switch', { name: '启用 Computer Use', exact: true }) expect(await toggle.getAttribute('aria-checked')).toBe('false') expect(await card.textContent()).toContain('请切换到 PTC 模式') + // Bundle transitions await native cleanup under the browser action deadline. await toggle.click() - await expect.poll(() => toggle.getAttribute('aria-checked')).toBe('true') + await toggle.and(page.locator('[aria-checked="true"]')).waitFor({ state: 'visible' }) const setup = page.getByRole('dialog', { name: '使用 Computer Use 前需要设置', exact: true }) await setup.waitFor() expect(await setup.getByText('Computer Use 插件已开启,但暂时无法检测系统权限。请前往插件详情页查看原因并重试。', { exact: true }).count()).toBe(1) @@ -65,7 +66,7 @@ it.each([undefined, 'minimal'] as const)('adds CUA to PTC sessions while preserv }) expect(scaffold.ctx.tools.schemas(fresh.agent).some(tool => tool.name === 'cua')).toBe(true) await toggle.click() - await expect.poll(() => toggle.getAttribute('aria-checked')).toBe('false') + await toggle.and(page.locator('[aria-checked="false"]')).waitFor({ state: 'visible' }) expect(scaffold.ctx.get('computerUse')).toBeUndefined() for (const agent of [ptcAgent, fresh.agent]) expect(scaffold.ctx.tools.schemas(agent).some(tool => tool.name === 'cua')).toBe(false) expect(runtimeFiber() === originalRuntimeFiber).toBe(true) @@ -74,7 +75,7 @@ it.each([undefined, 'minimal'] as const)('adds CUA to PTC sessions while preserv await card.getByRole('button', { name: '查看 Computer Use', exact: true }).click() const detailToggle = page.locator('[data-plugin-panel]').getByRole('switch', { name: '启用 Computer Use', exact: true }) await detailToggle.click() - await expect.poll(() => detailToggle.getAttribute('aria-checked')).toBe('true') + await detailToggle.and(page.locator('[aria-checked="true"]')).waitFor({ state: 'visible' }) const panel = page.locator('[data-cua-settings]') await panel.waitFor() const defaultSetting = panel.getByRole('group', { name: '新会话默认模式', exact: true }) @@ -92,7 +93,7 @@ it.each([undefined, 'minimal'] as const)('adds CUA to PTC sessions while preserv expect(saved).toContain('selectedDefault: ptc') expect(saved).not.toContain('executionMode:') await detailToggle.click() - await expect.poll(() => detailToggle.getAttribute('aria-checked')).toBe('false') + await detailToggle.and(page.locator('[aria-checked="false"]')).waitFor({ state: 'visible' }) expect(await readFile(settingsPath, 'utf8')).toBe(saved) expect(runtimeFiber() === originalRuntimeFiber).toBe(true) expect(scaffold.ctx.ptcRuntime.programFormat).toBe('function-body')