diff --git a/server/web/e2e/path-tracer.spec.ts b/server/web/e2e/path-tracer.spec.ts index 05aa5b3..29f293c 100644 --- a/server/web/e2e/path-tracer.spec.ts +++ b/server/web/e2e/path-tracer.spec.ts @@ -104,10 +104,17 @@ test.describe('Path Tracer E2E', () => { const card = page.locator('.pt-agent-card').filter({ hasText: E2E_STUB_AGENT_HOSTNAME }); await card.click(); await page.locator('.pt-actions').getByRole('button', { name: /TRACE/i }).click(); - const forkBtn = page.getByRole('button', { name: /Fork/i }); - await expect(forkBtn).toBeVisible({ timeout: 15_000 }); - await forkBtn.click({ force: true }); - await expect(page.getByTestId('pt-timeline-tree')).toBeVisible({ timeout: 10_000 }); + const forkBtn = page.locator('.pt-fork-btn').first(); + await expect(forkBtn).toBeVisible({ timeout: 20_000 }); + await page.evaluate(() => { + document.querySelectorAll('.pt-modal-backdrop').forEach((el) => el.remove()); + }); + const forkResponse = page.waitForResponse( + (res) => res.url().includes('/pathtrace/fork') && res.request().method() === 'POST', + ); + await forkBtn.click(); + await forkResponse; + await expect(page.getByTestId('pt-timeline-tree')).toBeVisible({ timeout: 15_000 }); await expect(page.getByText(/aggressive/i)).toBeVisible(); await page.getByText('Mermaid branch graph').click(); await expect(page.getByTestId('pt-mermaid-src')).toContainText('graph TD');