From 999ce405c4690dd2995f44fed0093162e17178e1 Mon Sep 17 00:00:00 2001 From: cristhianzl Date: Mon, 3 Jun 2024 14:52:03 -0300 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(playwright.config.ts):=20?= =?UTF-8?q?increase=20workers=20to=2010=20for=20faster=20parallel=20tests?= =?UTF-8?q?=20=E2=99=BB=EF=B8=8F=20(playwright.config.ts):=20set=20headles?= =?UTF-8?q?s=20to=20false=20for=20better=20debugging?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ♻️ (addNewVariableButton.tsx): add data-testid to save button for testing 🐛 (addNewVariableButton.tsx): fix optional chaining in error handling ♻️ (sideBarFolderButtons/index.tsx): add data-testid to input for testing ♻️ (sideBarFolderButtons/index.tsx): remove unnecessary commas 🐛 (api.tsx): fix duplicate request check to include method "get" ♻️ (api.tsx): remove unnecessary commas in function calls ♻️ (index.tsx): reorder import statements for better readability 💡 (index.tsx): remove trailing commas to adhere to coding standards ✅ (chatInputOutput.spec.ts): update file path for ChatTest.json for consistency 🐛 (darkStore.ts): add null check for GitHub stars to prevent potential errors ✅ (tests): update chatInputOutputUser.spec.ts to add new test for output inspection 🔧 (tests): fix path for collection.json in dragAndDrop.spec.ts ✅ (filterEdge.spec.ts): fix locator strings and remove redundant code ✅ (floatComponent.spec.ts): correct checkbox state expectations and remove redundant tests ✅ (folders.spec.ts): update folder creation and editing flow for consistency ✅ (globalVariables.spec.ts): remove redundant 'Save Variable' click action ✅ (inputComponent.spec.ts): fix incorrect locator for server port and improve readability ✅ (intComponent.spec.ts): add additional test steps for more options modal ✅ (saveComponents.spec.ts): update file path for flow_group_test.json --- src/frontend/playwright.config.ts | 6 ++- .../addNewVariableButton.tsx | 6 ++- .../components/sideBarFolderButtons/index.tsx | 1 + src/frontend/src/controllers/API/api.tsx | 3 +- .../components/parameterComponent/index.tsx | 3 +- src/frontend/src/stores/darkStore.ts | 2 +- .../tests/end-to-end/chatInputOutput.spec.ts | 2 +- .../end-to-end/chatInputOutputUser.spec.ts | 54 +++++++++++++++++++ .../tests/end-to-end/dragAndDrop.spec.ts | 2 +- .../tests/end-to-end/filterEdge.spec.ts | 1 - .../tests/end-to-end/floatComponent.spec.ts | 12 ++--- src/frontend/tests/end-to-end/folders.spec.ts | 49 +++++------------ .../tests/end-to-end/globalVariables.spec.ts | 1 - .../tests/end-to-end/inputComponent.spec.ts | 8 +-- .../tests/end-to-end/intComponent.spec.ts | 6 +++ .../tests/end-to-end/saveComponents.spec.ts | 2 +- 16 files changed, 99 insertions(+), 59 deletions(-) diff --git a/src/frontend/playwright.config.ts b/src/frontend/playwright.config.ts index 9535e0a15..aa4310d0a 100644 --- a/src/frontend/playwright.config.ts +++ b/src/frontend/playwright.config.ts @@ -21,7 +21,7 @@ export default defineConfig({ /* Retry on CI only */ retries: process.env.CI ? 2 : 0, /* Opt out of parallel tests on CI. */ - workers: 1, + workers: 10, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ timeout: 120 * 1000, // reporter: [ @@ -45,6 +45,9 @@ export default defineConfig({ name: "chromium", use: { ...devices["Desktop Chrome"], + launchOptions: { + headless: false, + }, contextOptions: { // chromium-specific permissions permissions: ["clipboard-read", "clipboard-write"], @@ -57,6 +60,7 @@ export default defineConfig({ use: { ...devices["Desktop Firefox"], launchOptions: { + headless: false, firefoxUserPrefs: { "dom.events.asyncClipboard.readText": true, "dom.events.testing.asyncClipboard": true, diff --git a/src/frontend/src/components/addNewVariableButtonComponent/addNewVariableButton.tsx b/src/frontend/src/components/addNewVariableButtonComponent/addNewVariableButton.tsx index 5da7d1461..c8e5ad3b6 100644 --- a/src/frontend/src/components/addNewVariableButtonComponent/addNewVariableButton.tsx +++ b/src/frontend/src/components/addNewVariableButtonComponent/addNewVariableButton.tsx @@ -65,7 +65,7 @@ export default function AddNewVariableButton({ children }): JSX.Element { let responseError = error as ResponseErrorDetailAPI; setErrorData({ title: "Error creating variable", - list: [responseError.response.data.detail ?? "Unknown error"], + list: [responseError?.response?.data?.detail ?? "Unknown error"], }); }); } @@ -138,7 +138,9 @@ export default function AddNewVariableButton({ children }): JSX.Element { - + ); diff --git a/src/frontend/src/components/sidebarComponent/components/sideBarFolderButtons/index.tsx b/src/frontend/src/components/sidebarComponent/components/sideBarFolderButtons/index.tsx index 8a1dc4a29..725a68920 100644 --- a/src/frontend/src/components/sidebarComponent/components/sideBarFolderButtons/index.tsx +++ b/src/frontend/src/components/sidebarComponent/components/sideBarFolderButtons/index.tsx @@ -261,6 +261,7 @@ const SideBarFoldersButtonsComponent = ({ }} value={foldersNames[item.name]} id={`input-folder-${item.name}`} + data-testid={`input-folder`} /> ) : ( diff --git a/src/frontend/src/controllers/API/api.tsx b/src/frontend/src/controllers/API/api.tsx index 363576ae0..32e04b8ac 100644 --- a/src/frontend/src/controllers/API/api.tsx +++ b/src/frontend/src/controllers/API/api.tsx @@ -91,7 +91,8 @@ function ApiInterceptor() { if ( config?.url === lastUrl && !isContained && - lastMethodCalled === config.method + lastMethodCalled === config.method && + lastMethodCalled === "get" ) { return Promise.reject("Duplicate request"); } diff --git a/src/frontend/src/customNodes/genericNode/components/parameterComponent/index.tsx b/src/frontend/src/customNodes/genericNode/components/parameterComponent/index.tsx index 7d9e742f4..8708446b8 100644 --- a/src/frontend/src/customNodes/genericNode/components/parameterComponent/index.tsx +++ b/src/frontend/src/customNodes/genericNode/components/parameterComponent/index.tsx @@ -44,8 +44,8 @@ import useFetchDataOnMount from "../../../hooks/use-fetch-data-on-mount"; import useHandleOnNewValue from "../../../hooks/use-handle-new-value"; import useHandleNodeClass from "../../../hooks/use-handle-node-class"; import useHandleRefreshButtonPress from "../../../hooks/use-handle-refresh-buttons"; -import TooltipRenderComponent from "../tooltipRenderComponent"; import OutputModal from "../outputModal"; +import TooltipRenderComponent from "../tooltipRenderComponent"; export default function ParameterComponent({ left, @@ -273,6 +273,7 @@ export default function ParameterComponent({