From 22d8ac1da8b64cbf31d5cb50926aa3ada7ff66dd Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Tue, 10 Dec 2024 12:45:18 -0300 Subject: [PATCH] test: enhance drag-and-drop reliability and update test asset paths (#5186) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✨ (dragAndDrop.spec.ts): Update file paths for drag and drop tests to use the correct directory structure 🐛 (generalBugs-shard-12.spec.ts): Adjust mouse movement coordinates to fix drag and drop functionality 🐛 (generalBugs-shard-12.spec.ts): Update drag and drop logic to use hover and click actions for better test accuracy 🐛 (generalBugs-shard-3.spec.ts): Modify adjustScreenView function to include zoom level parameter for better control 🐛 (generalBugs-shard-3.spec.ts): Add missing waitForSelector for fit_view element to ensure visibility before clicking 🐛 (generalBugs-shard-7.spec.ts): Reduce timeout for blank-flow element to improve test speed 🐛 (generalBugs-shard-7.spec.ts): Add waitForSelector for fit_view and zoom_out elements to ensure visibility before interacting with them --- .../extended/features/dragAndDrop.spec.ts | 10 ++++--- .../regression/generalBugs-shard-12.spec.ts | 26 ++++++++++++------- .../regression/generalBugs-shard-3.spec.ts | 15 ++++++----- .../regression/generalBugs-shard-7.spec.ts | 17 +++++++++++- 4 files changed, 49 insertions(+), 19 deletions(-) diff --git a/src/frontend/tests/extended/features/dragAndDrop.spec.ts b/src/frontend/tests/extended/features/dragAndDrop.spec.ts index ec1dd047a..fabbff2a5 100644 --- a/src/frontend/tests/extended/features/dragAndDrop.spec.ts +++ b/src/frontend/tests/extended/features/dragAndDrop.spec.ts @@ -12,7 +12,11 @@ test( await page.locator("span").filter({ hasText: "My Projects" }).isVisible(); - await simulateDragAndDrop(page, "assets/collection.json", "cards-wrapper"); + await simulateDragAndDrop( + page, + "tests/assets/collection.json", + "cards-wrapper", + ); await page.waitForSelector("text=uploaded successfully", { timeout: 60000 * 2, @@ -45,7 +49,7 @@ test( // Read your file into a buffer. const jsonContent = readFileSync( - "assets/flow_test_drag_and_drop.json", + "tests/assets/flow_test_drag_and_drop.json", "utf-8", ); @@ -57,7 +61,7 @@ test( await simulateDragAndDrop( page, - "assets/flow_test_drag_and_drop.json", + "tests/assets/flow_test_drag_and_drop.json", "cards-wrapper", jsonContentWithNewName, ); diff --git a/src/frontend/tests/extended/regression/generalBugs-shard-12.spec.ts b/src/frontend/tests/extended/regression/generalBugs-shard-12.spec.ts index bdde84161..ab89cf9e6 100644 --- a/src/frontend/tests/extended/regression/generalBugs-shard-12.spec.ts +++ b/src/frontend/tests/extended/regression/generalBugs-shard-12.spec.ts @@ -44,7 +44,7 @@ test( .hover() .then(async () => { await page.mouse.down(); - await page.mouse.move(-300, 300); + await page.mouse.move(-300, 100); }); await page.mouse.up(); @@ -59,16 +59,24 @@ test( }, ); - modelElement = page.getByTestId( - "vectorstoresVectara Self Query Retriever for Vectara Vector Store", - ); - targetElement = page.locator('//*[@id="react-flow-id"]'); - await modelElement.dragTo(targetElement); + await page + .getByTestId( + "vectorstoresVectara Self Query Retriever for Vectara Vector Store", + ) + .hover() + .then(async () => { + await page + .getByTestId( + "add-component-button-vectara-self-query-retriever-for-vectara-vector-store", + ) + .click(); + }); - await page.mouse.up(); - await page.mouse.down(); + await page.waitForSelector('[data-testid="fit_view"]', { + timeout: 5000, + state: "visible", + }); - await page.getByTestId("fit_view").click(); await page.getByTestId("fit_view").click(); //connection diff --git a/src/frontend/tests/extended/regression/generalBugs-shard-3.spec.ts b/src/frontend/tests/extended/regression/generalBugs-shard-3.spec.ts index 868daeaa1..8eb6c7e1a 100644 --- a/src/frontend/tests/extended/regression/generalBugs-shard-3.spec.ts +++ b/src/frontend/tests/extended/regression/generalBugs-shard-3.spec.ts @@ -42,7 +42,7 @@ test( await page.mouse.up(); await page.mouse.down(); - await adjustScreenView(page); + await adjustScreenView(page, { numberOfZoomOut: 1 }); await page.getByTestId("sidebar-search-input").click(); await page.getByTestId("sidebar-search-input").fill("chat input"); @@ -59,7 +59,7 @@ test( await page.getByTestId("sidebar-search-input").click(); await page.getByTestId("sidebar-search-input").fill("openai"); - await adjustScreenView(page); + await adjustScreenView(page, { numberOfZoomOut: 1 }); await page .getByTestId("modelsOpenAI") @@ -69,6 +69,13 @@ test( await initialGPTsetup(page); + await page.waitForSelector('[data-testid="fit_view"]', { + timeout: 5000, + state: "visible", + }); + + await page.getByTestId("fit_view").click(); + const elementsChatInput = await page .locator('[data-testid="handle-chatinput-shownode-message-right"]') .all(); @@ -82,10 +89,6 @@ test( } } - // Click and hold on the first element - await page.getByTestId("zoom_in").click(); - await page.getByTestId("zoom_in").click(); - await page.locator(".react-flow__pane").click(); await visibleElementHandle.hover(); diff --git a/src/frontend/tests/extended/regression/generalBugs-shard-7.spec.ts b/src/frontend/tests/extended/regression/generalBugs-shard-7.spec.ts index 80612273e..a66436809 100644 --- a/src/frontend/tests/extended/regression/generalBugs-shard-7.spec.ts +++ b/src/frontend/tests/extended/regression/generalBugs-shard-7.spec.ts @@ -9,11 +9,21 @@ test( await awaitBootstrapTest(page); await page.waitForSelector('[data-testid="blank-flow"]', { - timeout: 30000, + timeout: 10000, }); await page.getByTestId("blank-flow").click(); + await page.waitForSelector('[data-testid="fit_view"]', { + timeout: 5000, + state: "visible", + }); + + await page.waitForSelector('[data-testid="zoom_out"]', { + timeout: 5000, + state: "visible", + }); + await page.getByTestId("sidebar-search-input").click(); await page.getByTestId("sidebar-search-input").fill("ollama"); await page.waitForSelector('[data-testid="embeddingsOllama Embeddings"]', { @@ -28,6 +38,11 @@ test( await page.getByTestId("zoom_out").click(); await page.getByTestId("zoom_out").click(); + await page.waitForSelector('[data-testid="div-generic-node"]', { + timeout: 5000, + state: "visible", + }); + await page.getByTestId("div-generic-node").click(); await page.keyboard.press(`ControlOrMeta+Shift+A`);