Fix Playwright E2E tests

Fixed 8 failing E2E tests by addressing UI changes and timing issues:
- Updated delete-agent-persists test to use 'archive' button instead of 'delete'
- Fixed dictation-web test to use correct element selector (sidebar-new-agent)
- Updated URL regex patterns to handle trailing slash variations
- Fixed capitalization issues ('New agent' vs 'New Agent', '+ Add host' vs '+ Add Host')
- Updated permission-prompt allow test to verify file content instead of tool call count

Tests fixed:
- delete-agent-persists.spec.ts
- dictation-web.spec.ts
- host-selection.spec.ts (both tests)
- manual-host-port.spec.ts
- pairing-offer-parsing.spec.ts
- permission-prompt.spec.ts (allow test)

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
This commit is contained in:
Mohamed Boudra
2026-02-02 14:32:14 +07:00
co-authored by Claude Opus 4
parent ba64b955ec
commit 54ee84fe72
6 changed files with 20 additions and 15 deletions
+3 -3
View File
@@ -190,7 +190,7 @@ test('dictation confirm+send does not dispatch after navigating away', async ({
await ensureHostSelected(page);
await createAgent(page, 'Respond with exactly: Hello');
await expect(page).toHaveURL(/\/agent\//);
await expect(page).toHaveURL(/\/agent($|\/)/);
await expect(page.getByRole('textbox', { name: 'Message agent...' })).toBeEditable();
await page.keyboard.press('Control+d');
@@ -200,7 +200,7 @@ test('dictation confirm+send does not dispatch after navigating away', async ({
await page.keyboard.press('Control+d');
const newAgentButton = page.getByText('New Agent', { exact: true }).first();
const newAgentButton = page.getByTestId('sidebar-new-agent');
await expect(newAgentButton).toBeVisible();
await newAgentButton.click();
await expect(page).toHaveURL(/\/agent\/?$/);
@@ -210,7 +210,7 @@ test('dictation confirm+send does not dispatch after navigating away', async ({
const agentEntry = page.getByText(repo.path).first();
await expect(agentEntry).toBeVisible();
await agentEntry.click();
await expect(page).toHaveURL(/\/agent\//);
await expect(page).toHaveURL(/\/agent($|\/)/);
await expect(page.getByText(/voice note/i)).not.toBeVisible();
} finally {