From 4cbce28d26c6a1397a8a0e26b5bb1df28ca46e16 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com> Date: Wed, 11 Jun 2025 12:02:46 -0300 Subject: [PATCH] fix: refactor mcp and freeze tests to be less prone to flaky results (#8486) * Fixed mcp test to be less prone to errors * Fix freeze spec --- .../tests/core/features/freeze.spec.ts | 2 -- .../extended/features/mcp-server.spec.ts | 29 +++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/frontend/tests/core/features/freeze.spec.ts b/src/frontend/tests/core/features/freeze.spec.ts index d4d70226d..2a9f1bb89 100644 --- a/src/frontend/tests/core/features/freeze.spec.ts +++ b/src/frontend/tests/core/features/freeze.spec.ts @@ -260,8 +260,6 @@ test( await page.getByTestId("button_run_chat output").click(); - await page.waitForTimeout(3000); - await page.waitForSelector("text=built successfully", { timeout: 30000 * 3, }); diff --git a/src/frontend/tests/extended/features/mcp-server.spec.ts b/src/frontend/tests/extended/features/mcp-server.spec.ts index e65352184..883d65543 100644 --- a/src/frontend/tests/extended/features/mcp-server.spec.ts +++ b/src/frontend/tests/extended/features/mcp-server.spec.ts @@ -104,6 +104,35 @@ test( timeout: 30000, }); + attempts = 0; + dropdownEnabled = false; + await page.waitForTimeout(1000); + + while (attempts < maxAttempts && !dropdownEnabled) { + await page.waitForTimeout(3000); + + try { + await page.waitForSelector( + '[data-testid="dropdown_str_tool"]:not([disabled])', + { + timeout: 30000, + state: "visible", + }, + ); + dropdownEnabled = true; + } catch (error) { + attempts++; + console.log(`Retry attempt ${attempts} for second refresh button`); + await page.getByTestId("refresh-button-sse_url").click(); + } + } + + if (!dropdownEnabled) { + throw new Error( + "Dropdown did not become enabled after multiple refresh attempts", + ); + } + await page.getByTestId("tab_0_stdio").click(); await page.waitForTimeout(2000);