From de4fb8d6a3d33b2a9e18608ccc4d52bfc341aca6 Mon Sep 17 00:00:00 2001 From: Declan Carroll Date: Mon, 28 Sep 2026 08:41:09 +0000 Subject: [PATCH] test: Remove redundant E2E page loads and the fixed reset delay (no-changelog) (#39681) --- .github/test-metrics/playwright.json | 1608 +++++++++-------- .../testing/playwright/services/api-helper.ts | 5 +- .../tests/e2e/credentials/crud.spec.ts | 4 - .../projects/projects-move-resources.spec.ts | 1 - ...ADO-4462-template-setup-experiment.spec.ts | 3 +- .../e2e/settings/workers/workers.spec.ts | 1 - .../workflows/editor/execution/logs.spec.ts | 4 - .../e2e/workflows/editor/ndv/ndv-core.spec.ts | 14 +- .../editor/ndv/ndv-data-display.spec.ts | 7 +- .../editor/ndv/ndv-floating-nodes.spec.ts | 5 +- 10 files changed, 841 insertions(+), 811 deletions(-) diff --git a/.github/test-metrics/playwright.json b/.github/test-metrics/playwright.json index 2ca032001e2..f7e59ccd160 100644 --- a/.github/test-metrics/playwright.json +++ b/.github/test-metrics/playwright.json @@ -1,1044 +1,1084 @@ { - "updatedAt": "2026-09-10T12:16:31.008Z", + "updatedAt": "2026-09-27T18:50:33.284Z", "source": "currents", "projectId": "nHHLA5", "specs": { "tests/e2e/workflows/editor/canvas/node-groups.spec.ts": { - "avgDuration": 229835, + "avgDuration": 244186, "testCount": 28, - "flakyRate": 0.0082 - }, - "tests/e2e/instance-ai/instance-ai-workflow-execution.spec.ts": { - "avgDuration": 227544, - "testCount": 5, - "flakyRate": 0.0785 - }, - "tests/e2e/credentials/crud.spec.ts": { - "avgDuration": 207109, - "testCount": 14, - "flakyRate": 0.0108 + "flakyRate": 0.0071 }, "tests/e2e/workflows/editor/canvas/actions.spec.ts": { - "avgDuration": 206797, + "avgDuration": 216635, "testCount": 20, - "flakyRate": 0.0167 + "flakyRate": 0.0116 + }, + "tests/e2e/credentials/crud.spec.ts": { + "avgDuration": 213623, + "testCount": 14, + "flakyRate": 0.0173 + }, + "tests/e2e/instance-ai/instance-ai-workflow-execution.spec.ts": { + "avgDuration": 198676, + "testCount": 5, + "flakyRate": 0.0032 }, "tests/e2e/projects/projects.spec.ts": { - "avgDuration": 192396, + "avgDuration": 193043, "testCount": 7, - "flakyRate": 0.0067 + "flakyRate": 0.0065 }, "tests/e2e/workflows/list/workflows.spec.ts": { - "avgDuration": 186327, + "avgDuration": 185959, "testCount": 10, - "flakyRate": 0.0074 - }, - "tests/e2e/workflows/editor/execution/logs.spec.ts": { - "avgDuration": 174246, - "testCount": 10, - "flakyRate": 0.0236 - }, - "tests/e2e/settings/personal/two-factor-authentication.spec.ts": { - "avgDuration": 168330, - "testCount": 7, - "flakyRate": 0.0087 - }, - "tests/e2e/ai/langchain-agents.spec.ts": { - "avgDuration": 167052, - "testCount": 7, - "flakyRate": 0.0823 - }, - "tests/e2e/data-tables/tables.spec.ts": { - "avgDuration": 162642, - "testCount": 7, - "flakyRate": 0.0045 - }, - "tests/e2e/workflows/editor/ndv/ndv-data-display.spec.ts": { - "avgDuration": 161802, - "testCount": 11, - "flakyRate": 0.027 + "flakyRate": 0.0017 }, "tests/e2e/redaction-enforcement/redaction-enforcement.spec.ts": { - "avgDuration": 161343, - "testCount": 19, - "flakyRate": 0.0195 + "avgDuration": 170791, + "testCount": 20, + "flakyRate": 0.0123 }, - "tests/e2e/workflows/editor/ndv/ndv-core.spec.ts": { - "avgDuration": 158690, - "testCount": 14, - "flakyRate": 0.0111 + "tests/e2e/settings/personal/two-factor-authentication.spec.ts": { + "avgDuration": 165015, + "testCount": 7, + "flakyRate": 0.0083 }, - "tests/e2e/instance-ai/instance-ai-workflow-preview.spec.ts": { - "avgDuration": 155619, - "testCount": 4, + "tests/e2e/workflows/editor/ndv/ndv-data-display.spec.ts": { + "avgDuration": 164819, + "testCount": 11, + "flakyRate": 0.0245 + }, + "tests/e2e/workflows/editor/execution/logs.spec.ts": { + "avgDuration": 160861, + "testCount": 10, "flakyRate": 0.011 }, - "tests/e2e/workflows/editor/canvas/undo-redo.spec.ts": { - "avgDuration": 151163, + "tests/e2e/workflows/editor/ndv/ndv-core.spec.ts": { + "avgDuration": 158019, "testCount": 14, - "flakyRate": 0.0054 + "flakyRate": 0.0051 }, - "tests/e2e/workflows/editor/canvas/canvas-zoom.spec.ts": { - "avgDuration": 139221, - "testCount": 13, - "flakyRate": 0.0023 - }, - "tests/e2e/data-tables/details.spec.ts": { - "avgDuration": 137654, - "testCount": 11, - "flakyRate": 0.0101 - }, - "tests/e2e/workflows/editor/code/editors.spec.ts": { - "avgDuration": 137108, - "testCount": 11, - "flakyRate": 0.0078 + "tests/e2e/data-tables/tables.spec.ts": { + "avgDuration": 157192, + "testCount": 7, + "flakyRate": 0.0063 }, "tests/e2e/projects/folders-operations.spec.ts": { - "avgDuration": 134504, + "avgDuration": 153446, "testCount": 14, - "flakyRate": 0 + "flakyRate": 0.0031 }, - "tests/e2e/projects/project-settings.spec.ts": { - "avgDuration": 133665, - "testCount": 10, - "flakyRate": 0.0084 + "tests/e2e/workflows/editor/canvas/undo-redo.spec.ts": { + "avgDuration": 153010, + "testCount": 14, + "flakyRate": 0.0068 }, - "tests/e2e/workflows/editor/canvas/canvas-nodes.spec.ts": { - "avgDuration": 132336, - "testCount": 8, - "flakyRate": 0.0118 - }, - "tests/e2e/ai/assistant-basic.spec.ts": { - "avgDuration": 124196, - "testCount": 11, - "flakyRate": 0.01 - }, - "tests/e2e/sharing/credential-visibility.spec.ts": { - "avgDuration": 124006, - "testCount": 5, - "flakyRate": 0.0143 + "tests/e2e/ai/langchain-agents.spec.ts": { + "avgDuration": 151408, + "testCount": 7, + "flakyRate": 0.0172 }, "tests/e2e/nodes/webhook.spec.ts": { - "avgDuration": 120282, - "testCount": 9, - "flakyRate": 0 + "avgDuration": 149125, + "testCount": 11, + "flakyRate": 0.0139 }, - "tests/e2e/workflows/templates/credentials-setup.spec.ts": { - "avgDuration": 109282, + "tests/e2e/data-tables/details.spec.ts": { + "avgDuration": 148099, + "testCount": 11, + "flakyRate": 0.0047 + }, + "tests/e2e/projects/project-settings.spec.ts": { + "avgDuration": 145821, + "testCount": 13, + "flakyRate": 0.0051 + }, + "tests/e2e/workflows/editor/canvas/canvas-zoom.spec.ts": { + "avgDuration": 145773, + "testCount": 13, + "flakyRate": 0.0076 + }, + "tests/e2e/workflows/editor/canvas/canvas-nodes.spec.ts": { + "avgDuration": 134713, "testCount": 8, - "flakyRate": 0.0018 + "flakyRate": 0.0082 }, - "tests/e2e/ai/builder-setup-wizard.spec.ts": { - "avgDuration": 108442, - "testCount": 9, - "flakyRate": 0 + "tests/e2e/workflows/editor/code/editors.spec.ts": { + "avgDuration": 134307, + "testCount": 11, + "flakyRate": 0.0054 + }, + "tests/e2e/instance-ai/instance-ai-workflow-preview.spec.ts": { + "avgDuration": 124726, + "testCount": 4, + "flakyRate": 0.0039 + }, + "tests/e2e/sharing/credential-visibility.spec.ts": { + "avgDuration": 121118, + "testCount": 5, + "flakyRate": 0.0095 + }, + "tests/e2e/ai/assistant-basic.spec.ts": { + "avgDuration": 118568, + "testCount": 11, + "flakyRate": 0.0038 }, "tests/e2e/workflows/editor/ndv/ndv-parameters.spec.ts": { - "avgDuration": 105579, + "avgDuration": 110854, "testCount": 9, - "flakyRate": 0.0471 - }, - "tests/e2e/workflows/editor/ndv/pinning.spec.ts": { - "avgDuration": 103893, - "testCount": 10, - "flakyRate": 0.0281 - }, - "tests/e2e/chat-hub/chat-hub-tools.spec.ts": { - "avgDuration": 99836, - "testCount": 1, - "flakyRate": 0.0018 - }, - "tests/e2e/ai/langchain-chains.spec.ts": { - "avgDuration": 97254, - "testCount": 4, - "flakyRate": 0.1429 - }, - "tests/e2e/workflows/executions/list.spec.ts": { - "avgDuration": 95160, - "testCount": 12, - "flakyRate": 0.0021 - }, - "tests/e2e/workflows/editor/tags.spec.ts": { - "avgDuration": 93366, - "testCount": 7, - "flakyRate": 0.0449 - }, - "tests/e2e/workflows/editor/expressions/mapping.spec.ts": { - "avgDuration": 93087, - "testCount": 10, - "flakyRate": 0 - }, - "tests/e2e/instance-ai/instance-ai-artifacts.spec.ts": { - "avgDuration": 91631, - "testCount": 2, - "flakyRate": 0.0028 + "flakyRate": 0.0503 }, "tests/e2e/workflows/editor/expressions/inline.spec.ts": { - "avgDuration": 90321, - "testCount": 7, - "flakyRate": 0.1268 + "avgDuration": 107127, + "testCount": 8, + "flakyRate": 0.0561 }, - "tests/e2e/workflows/editor/execution/execution.spec.ts": { - "avgDuration": 89991, - "testCount": 14, - "flakyRate": 0.0021 + "tests/e2e/ai/builder-setup-wizard.spec.ts": { + "avgDuration": 106539, + "testCount": 9, + "flakyRate": 0.0015 }, - "tests/e2e/workflows/editor/viewer-permissions.spec.ts": { - "avgDuration": 89655, - "testCount": 3, - "flakyRate": 0.0127 - }, - "tests/e2e/settings/environments/source-control.spec.ts": { - "avgDuration": 88510, - "testCount": 4, - "flakyRate": 0.0022 - }, - "tests/e2e/instance-ai/instance-ai-remediation-guard.spec.ts": { - "avgDuration": 83701, - "testCount": 1, + "tests/e2e/workflows/editor/ndv/pinning.spec.ts": { + "avgDuration": 105980, + "testCount": 10, "flakyRate": 0.0132 }, - "tests/e2e/building-blocks/node-details-configuration.spec.ts": { - "avgDuration": 82298, + "tests/e2e/workflows/templates/credentials-setup.spec.ts": { + "avgDuration": 105724, + "testCount": 8, + "flakyRate": 0.0014 + }, + "tests/e2e/building-blocks/canvas-actions.spec.ts": { + "avgDuration": 92775, + "testCount": 9, + "flakyRate": 0.0014 + }, + "tests/e2e/workflows/editor/expressions/mapping.spec.ts": { + "avgDuration": 91291, + "testCount": 10, + "flakyRate": 0.0017 + }, + "tests/e2e/workflows/executions/list.spec.ts": { + "avgDuration": 90740, + "testCount": 12, + "flakyRate": 0 + }, + "tests/e2e/workflows/editor/tags.spec.ts": { + "avgDuration": 88943, "testCount": 7, - "flakyRate": 0.0018 + "flakyRate": 0.0344 + }, + "tests/e2e/workflows/editor/viewer-permissions.spec.ts": { + "avgDuration": 87413, + "testCount": 3, + "flakyRate": 0.0071 + }, + "tests/e2e/settings/environments/source-control.spec.ts": { + "avgDuration": 85966, + "testCount": 4, + "flakyRate": 0 + }, + "tests/e2e/workflows/editor/execution/execution.spec.ts": { + "avgDuration": 85369, + "testCount": 1, + "flakyRate": 0.0022 + }, + "tests/e2e/instance-ai/instance-ai-artifacts.spec.ts": { + "avgDuration": 82937, + "testCount": 2, + "flakyRate": 0.0012 + }, + "tests/e2e/projects/folders-advanced.spec.ts": { + "avgDuration": 82499, + "testCount": 6, + "flakyRate": 0.0064 + }, + "tests/e2e/building-blocks/credentials.spec.ts": { + "avgDuration": 82046, + "testCount": 6, + "flakyRate": 0.0079 + }, + "tests/e2e/nodes/form-trigger-node.spec.ts": { + "avgDuration": 81994, + "testCount": 5, + "flakyRate": 0.0614 + }, + "tests/e2e/building-blocks/node-details-configuration.spec.ts": { + "avgDuration": 80669, + "testCount": 7, + "flakyRate": 0 }, "tests/e2e/workflows/editor/workflow-actions/archive.spec.ts": { - "avgDuration": 80433, + "avgDuration": 78211, + "testCount": 9, + "flakyRate": 0 + }, + "tests/e2e/workflows/editor/expressions/modal.spec.ts": { + "avgDuration": 77786, + "testCount": 6, + "flakyRate": 0 + }, + "tests/e2e/workflows/editor/expressions/transformation.spec.ts": { + "avgDuration": 76605, + "testCount": 6, + "flakyRate": 0.0028 + }, + "tests/e2e/workflows/editor/routing.spec.ts": { + "avgDuration": 75821, + "testCount": 6, + "flakyRate": 0.0069 + }, + "tests/e2e/workflows/editor/code/code-node.spec.ts": { + "avgDuration": 74866, + "testCount": 5, + "flakyRate": 0.0458 + }, + "tests/e2e/projects/folders-basic.spec.ts": { + "avgDuration": 74793, + "testCount": 10, + "flakyRate": 0.0017 + }, + "tests/e2e/ai/workflow-builder.spec.ts": { + "avgDuration": 71966, + "testCount": 5, + "flakyRate": 0.1323 + }, + "tests/e2e/instance-ai/instance-ai-onboarding.spec.ts": { + "avgDuration": 71964, + "testCount": 2, + "flakyRate": 0.0867 + }, + "tests/e2e/workflows/editor/ndv/paired-item.spec.ts": { + "avgDuration": 71957, + "testCount": 6, + "flakyRate": 0.0166 + }, + "tests/e2e/chat-hub/chat-hub-tools.spec.ts": { + "avgDuration": 71874, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/workflows/editor/ndv/resource-locator.spec.ts": { + "avgDuration": 71667, + "testCount": 7, + "flakyRate": 0.0035 + }, + "tests/e2e/auth/oidc.spec.ts": { + "avgDuration": 71538, + "testCount": 1, + "flakyRate": 0.0082 + }, + "tests/e2e/projects/projects-move-resources.spec.ts": { + "avgDuration": 70472, + "testCount": 2, + "flakyRate": 0.0278 + }, + "tests/e2e/workflows/editor/workflow-actions/publish.spec.ts": { + "avgDuration": 70219, + "testCount": 8, + "flakyRate": 0.0146 + }, + "tests/e2e/workflows/editor/expressions/quickjs-engine.spec.ts": { + "avgDuration": 67997, + "testCount": 4, + "flakyRate": 0.0256 + }, + "tests/e2e/ai/langchain-chains.spec.ts": { + "avgDuration": 66268, + "testCount": 4, + "flakyRate": 0.0205 + }, + "tests/e2e/workflows/editor/execution/executions-list-infinite-scroll.spec.ts": { + "avgDuration": 64214, + "testCount": 2, + "flakyRate": 0.0039 + }, + "tests/e2e/workflows/editor/ndv/ndv-floating-nodes.spec.ts": { + "avgDuration": 63264, + "testCount": 4, + "flakyRate": 0 + }, + "tests/e2e/credentials/global.spec.ts": { + "avgDuration": 62615, + "testCount": 5, + "flakyRate": 0.0012 + }, + "tests/e2e/ai/assistant-credential-help.spec.ts": { + "avgDuration": 62181, + "testCount": 4, + "flakyRate": 0.0028 + }, + "tests/e2e/chat-hub/chat-hub-basic.spec.ts": { + "avgDuration": 60074, + "testCount": 3, + "flakyRate": 0.0046 + }, + "tests/e2e/workflows/editor/subworkflows/workflow-selector.spec.ts": { + "avgDuration": 59637, + "testCount": 5, + "flakyRate": 0.0101 + }, + "tests/e2e/settings/external-secrets/secret-providers-connections-ui.spec.ts": { + "avgDuration": 58980, + "testCount": 2, + "flakyRate": 0 + }, + "tests/e2e/workflows/templates/templates.spec.ts": { + "avgDuration": 58469, + "testCount": 9, + "flakyRate": 0.0017 + }, + "tests/e2e/chat-hub/chat-hub-attachment.spec.ts": { + "avgDuration": 57909, + "testCount": 3, + "flakyRate": 0.0032 + }, + "tests/e2e/workflows/checklist/production-checklist.spec.ts": { + "avgDuration": 57728, + "testCount": 6, + "flakyRate": 0.0016 + }, + "tests/e2e/instance-ai/instance-ai-remediation-guard.spec.ts": { + "avgDuration": 55806, + "testCount": 1, + "flakyRate": 0.0012 + }, + "tests/e2e/workflows/editor/ndv/resource-mapper.spec.ts": { + "avgDuration": 55027, + "testCount": 5, + "flakyRate": 0.0034 + }, + "tests/e2e/chat-hub/chat-hub-workflow-agent.spec.ts": { + "avgDuration": 54890, + "testCount": 2, + "flakyRate": 0 + }, + "tests/e2e/instance-ai/instance-ai-chat-basics.spec.ts": { + "avgDuration": 52971, + "testCount": 4, + "flakyRate": 0 + }, + "tests/e2e/settings/log-streaming/log-streaming.spec.ts": { + "avgDuration": 50752, + "testCount": 6, + "flakyRate": 0 + }, + "tests/e2e/ai/assistant-code-help.spec.ts": { + "avgDuration": 50735, + "testCount": 2, + "flakyRate": 0.0013 + }, + "tests/e2e/workflows/editor/execution/debug.spec.ts": { + "avgDuration": 50573, + "testCount": 4, + "flakyRate": 0.0014 + }, + "tests/e2e/workflows/editor/subworkflows/extraction.spec.ts": { + "avgDuration": 50382, + "testCount": 3, + "flakyRate": 0 + }, + "tests/e2e/workflow-reviews/review-round-trip.spec.ts": { + "avgDuration": 50345, + "testCount": 1, + "flakyRate": 0.0057 + }, + "tests/e2e/workflows/demo-diff.spec.ts": { + "avgDuration": 49438, "testCount": 9, "flakyRate": 0 }, "tests/e2e/ai/langchain-vectorstores.spec.ts": { - "avgDuration": 79339, + "avgDuration": 48254, "testCount": 2, - "flakyRate": 0.0097 - }, - "tests/e2e/building-blocks/canvas-actions.spec.ts": { - "avgDuration": 79139, - "testCount": 9, - "flakyRate": 0.0025 - }, - "tests/e2e/nodes/form-trigger-node.spec.ts": { - "avgDuration": 78502, - "testCount": 5, - "flakyRate": 0.0304 - }, - "tests/e2e/nodes/send-and-wait.spec.ts": { - "avgDuration": 78208, - "testCount": 5, - "flakyRate": 0.05 - }, - "tests/e2e/workflows/editor/expressions/modal.spec.ts": { - "avgDuration": 78071, - "testCount": 6, - "flakyRate": 0.005 - }, - "tests/e2e/auth/oidc.spec.ts": { - "avgDuration": 76844, - "testCount": 1, - "flakyRate": 0.023 - }, - "tests/e2e/projects/folders-basic.spec.ts": { - "avgDuration": 76676, - "testCount": 10, - "flakyRate": 0.0027 - }, - "tests/e2e/projects/folders-advanced.spec.ts": { - "avgDuration": 76490, - "testCount": 6, - "flakyRate": 0.0021 - }, - "tests/e2e/workflows/editor/routing.spec.ts": { - "avgDuration": 75012, - "testCount": 6, - "flakyRate": 0.0042 - }, - "tests/e2e/building-blocks/credentials.spec.ts": { - "avgDuration": 74897, - "testCount": 6, - "flakyRate": 0.0078 - }, - "tests/e2e/instance-ai/instance-ai-onboarding.spec.ts": { - "avgDuration": 74715, - "testCount": 2, - "flakyRate": 0.0593 - }, - "tests/e2e/workflows/editor/workflow-actions/publish.spec.ts": { - "avgDuration": 73733, - "testCount": 8, - "flakyRate": 0.0074 - }, - "tests/e2e/workflows/editor/ndv/paired-item.spec.ts": { - "avgDuration": 73000, - "testCount": 6, - "flakyRate": 0.0119 - }, - "tests/e2e/workflows/editor/expressions/transformation.spec.ts": { - "avgDuration": 72655, - "testCount": 6, - "flakyRate": 0 - }, - "tests/e2e/projects/projects-move-resources.spec.ts": { - "avgDuration": 71964, - "testCount": 2, - "flakyRate": 0.0261 - }, - "tests/e2e/workflows/editor/ndv/ndv-floating-nodes.spec.ts": { - "avgDuration": 71301, - "testCount": 4, - "flakyRate": 0.0514 - }, - "tests/e2e/workflows/editor/code/code-node.spec.ts": { - "avgDuration": 70641, - "testCount": 5, - "flakyRate": 0.0323 - }, - "tests/e2e/workflows/editor/ndv/resource-locator.spec.ts": { - "avgDuration": 70590, - "testCount": 7, - "flakyRate": 0 - }, - "tests/e2e/dynamic-credentials/form-trigger-end-user-credential-shell.spec.ts": { - "avgDuration": 69882, - "testCount": 2, - "flakyRate": 0.0207 - }, - "tests/e2e/workflows/editor/execution/executions-list-infinite-scroll.spec.ts": { - "avgDuration": 68376, - "testCount": 2, - "flakyRate": 0.0034 - }, - "tests/e2e/ai/assistant-credential-help.spec.ts": { - "avgDuration": 67012, - "testCount": 4, - "flakyRate": 0.0037 - }, - "tests/e2e/ai/workflow-builder.spec.ts": { - "avgDuration": 65937, - "testCount": 5, - "flakyRate": 0.0019 - }, - "tests/e2e/credentials/global.spec.ts": { - "avgDuration": 63715, - "testCount": 5, - "flakyRate": 0.0081 - }, - "tests/e2e/instance-ai/instance-ai-confirmations.spec.ts": { - "avgDuration": 62755, - "testCount": 5, - "flakyRate": 0.0259 - }, - "tests/e2e/instance-ai/instance-ai-chat-basics.spec.ts": { - "avgDuration": 61849, - "testCount": 4, - "flakyRate": 0.0136 - }, - "tests/e2e/workflows/editor/subworkflows/workflow-selector.spec.ts": { - "avgDuration": 61468, - "testCount": 5, - "flakyRate": 0.0097 - }, - "tests/e2e/ai/assistant-support-chat.spec.ts": { - "avgDuration": 59969, - "testCount": 3, - "flakyRate": 0.0737 - }, - "tests/e2e/workflows/checklist/production-checklist.spec.ts": { - "avgDuration": 59885, - "testCount": 6, - "flakyRate": 0.019 - }, - "tests/e2e/settings/external-secrets/secret-providers-connections-ui.spec.ts": { - "avgDuration": 59732, - "testCount": 2, - "flakyRate": 0.004 - }, - "tests/e2e/chat-hub/chat-hub-attachment.spec.ts": { - "avgDuration": 58576, - "testCount": 3, - "flakyRate": 0.0072 - }, - "tests/e2e/workflows/templates/templates.spec.ts": { - "avgDuration": 58136, - "testCount": 9, - "flakyRate": 0 - }, - "tests/e2e/chat-hub/chat-hub-workflow-agent.spec.ts": { - "avgDuration": 55323, - "testCount": 2, - "flakyRate": 0 - }, - "tests/e2e/workflows/editor/ndv/resource-mapper.spec.ts": { - "avgDuration": 54879, - "testCount": 5, - "flakyRate": 0 - }, - "tests/e2e/ai/assistant-code-help.spec.ts": { - "avgDuration": 54371, - "testCount": 2, - "flakyRate": 0.0034 - }, - "tests/e2e/dynamic-credentials/execution-status.spec.ts": { - "avgDuration": 53988, - "testCount": 2, - "flakyRate": 0 - }, - "tests/e2e/workflow-reviews/review-round-trip.spec.ts": { - "avgDuration": 52463, - "testCount": 1, - "flakyRate": 0 - }, - "tests/e2e/building-blocks/workflow-entry-points.spec.ts": { - "avgDuration": 51693, - "testCount": 5, - "flakyRate": 0.0033 - }, - "tests/e2e/workflows/editor/execution/debug.spec.ts": { - "avgDuration": 51484, - "testCount": 4, - "flakyRate": 0.0024 - }, - "tests/e2e/dynamic-credentials/form-trigger-submit-gate-client.spec.ts": { - "avgDuration": 51375, - "testCount": 2, - "flakyRate": 0.0828 - }, - "tests/e2e/workflows/editor/subworkflows/extraction.spec.ts": { - "avgDuration": 51335, - "testCount": 3, - "flakyRate": 0 - }, - "tests/e2e/dynamic-credentials/webhook-trigger-private-credential.spec.ts": { - "avgDuration": 51159, - "testCount": 1, - "flakyRate": 0 - }, - "tests/e2e/settings/log-streaming/log-streaming.spec.ts": { - "avgDuration": 50853, - "testCount": 6, - "flakyRate": 0 + "flakyRate": 0.0026 }, "tests/e2e/scheduling/schedule-trigger-durable.spec.ts": { - "avgDuration": 50760, + "avgDuration": 48082, "testCount": 4, "flakyRate": 0 }, + "tests/e2e/instance-ai/instance-ai-mentions.spec.ts": { + "avgDuration": 47939, + "testCount": 2, + "flakyRate": 0.0286 + }, + "tests/e2e/dynamic-credentials/execution-status.spec.ts": { + "avgDuration": 47437, + "testCount": 2, + "flakyRate": 0 + }, "tests/e2e/regression/ADO-4462-template-setup-experiment.spec.ts": { - "avgDuration": 50326, + "avgDuration": 47207, "testCount": 2, - "flakyRate": 0.007 - }, - "tests/e2e/app-config/security-notifications.spec.ts": { - "avgDuration": 49658, - "testCount": 5, - "flakyRate": 0.0082 + "flakyRate": 0.0067 }, "tests/e2e/cloud/cloud.spec.ts": { - "avgDuration": 49248, + "avgDuration": 46675, "testCount": 3, - "flakyRate": 0.0023 - }, - "tests/e2e/agents/agent-sessions.spec.ts": { - "avgDuration": 48482, - "testCount": 2, - "flakyRate": 0.0016 - }, - "tests/e2e/workflows/demo-diff.spec.ts": { - "avgDuration": 47965, - "testCount": 9, - "flakyRate": 0.009 - }, - "tests/e2e/building-blocks/user-service.spec.ts": { - "avgDuration": 47901, - "testCount": 8, - "flakyRate": 0.0046 - }, - "tests/e2e/node-creator/navigation.spec.ts": { - "avgDuration": 47715, - "testCount": 4, - "flakyRate": 0 - }, - "tests/e2e/instance-ai/instance-ai-oversized-attachments.spec.ts": { - "avgDuration": 46968, - "testCount": 5, - "flakyRate": 0.0034 - }, - "tests/e2e/nodes/kafka-nodes.spec.ts": { - "avgDuration": 46842, - "testCount": 2, - "flakyRate": 0.0017 - }, - "tests/e2e/app-config/demo.spec.ts": { - "avgDuration": 46294, - "testCount": 4, "flakyRate": 0 }, "tests/e2e/settings/log-streaming/log-streaming-observability.spec.ts": { - "avgDuration": 44994, + "avgDuration": 46654, "testCount": 2, - "flakyRate": 0 + "flakyRate": 0.004 + }, + "tests/e2e/dynamic-credentials/form-trigger-submit-gate-client.spec.ts": { + "avgDuration": 46310, + "testCount": 2, + "flakyRate": 0.0814 + }, + "tests/e2e/app-config/security-notifications.spec.ts": { + "avgDuration": 45975, + "testCount": 5, + "flakyRate": 0.0048 + }, + "tests/e2e/nodes/kafka-nodes.spec.ts": { + "avgDuration": 44262, + "testCount": 2, + "flakyRate": 0.0026 }, "tests/e2e/settings/environments/variables.spec.ts": { - "avgDuration": 43978, + "avgDuration": 43948, "testCount": 7, - "flakyRate": 0 + "flakyRate": 0.0019 }, - "tests/e2e/ai/rag-callout.spec.ts": { - "avgDuration": 42985, + "tests/e2e/agents/agent-sessions.spec.ts": { + "avgDuration": 43917, "testCount": 2, - "flakyRate": 0.0024 + "flakyRate": 0.004 }, - "tests/e2e/chat-hub/chat-hub-personal-agent.spec.ts": { - "avgDuration": 42495, - "testCount": 2, - "flakyRate": 0.0217 - }, - "tests/e2e/capabilities/proxy-server.spec.ts": { - "avgDuration": 42308, - "testCount": 4, - "flakyRate": 0.0166 - }, - "tests/e2e/ai/ai-2505-pdf-embed.spec.ts": { - "avgDuration": 42242, - "testCount": 1, - "flakyRate": 0.0017 - }, - "tests/e2e/workflows/editor/subworkflows/debugging.spec.ts": { - "avgDuration": 42172, - "testCount": 4, + "tests/e2e/instance-ai/instance-ai-confirmations.spec.ts": { + "avgDuration": 43155, + "testCount": 5, "flakyRate": 0 }, "tests/e2e/instance-ai/instance-ai-sidebar.spec.ts": { - "avgDuration": 41530, + "avgDuration": 42772, "testCount": 4, - "flakyRate": 0.0147 + "flakyRate": 0.0018 }, - "tests/e2e/settings/log-streaming/log-streaming-delivery.spec.ts": { - "avgDuration": 41154, + "tests/e2e/nodes/send-and-wait.spec.ts": { + "avgDuration": 42393, "testCount": 5, - "flakyRate": 0.0069 + "flakyRate": 0.0016 }, - "tests/e2e/scheduling/schedule-trigger-multimain.spec.ts": { - "avgDuration": 40268, - "testCount": 2, - "flakyRate": 0 - }, - "tests/e2e/chat-hub/chat-hub-basic.spec.ts": { - "avgDuration": 39423, - "testCount": 3, - "flakyRate": 0.008 - }, - "tests/e2e/mcp/mcp-oauth.spec.ts": { - "avgDuration": 39374, - "testCount": 17, - "flakyRate": 0.0029 - }, - "tests/e2e/chat-hub/chat-hub-settings.spec.ts": { - "avgDuration": 39340, - "testCount": 2, - "flakyRate": 0.0101 - }, - "tests/e2e/scheduling/poll-trigger-cursor-migrated.spec.ts": { - "avgDuration": 39218, - "testCount": 3, - "flakyRate": 0.0239 + "tests/e2e/workflows/editor/subworkflows/debugging.spec.ts": { + "avgDuration": 42176, + "testCount": 4, + "flakyRate": 0.0017 }, "tests/e2e/sentry/sentry-baseline.spec.ts": { - "avgDuration": 38693, + "avgDuration": 41454, "testCount": 3, + "flakyRate": 0.0019 + }, + "tests/e2e/building-blocks/user-service.spec.ts": { + "avgDuration": 40323, + "testCount": 8, + "flakyRate": 0 + }, + "tests/e2e/workflows/editor/editor-after-route-changes.spec.ts": { + "avgDuration": 39779, + "testCount": 1, + "flakyRate": 0.0235 + }, + "tests/e2e/capabilities/proxy-server.spec.ts": { + "avgDuration": 38902, + "testCount": 4, + "flakyRate": 0.0017 + }, + "tests/e2e/workflows/list/import.spec.ts": { + "avgDuration": 38750, + "testCount": 5, + "flakyRate": 0.0038 + }, + "tests/e2e/ai/assistant-support-chat.spec.ts": { + "avgDuration": 38716, + "testCount": 3, + "flakyRate": 0.0439 + }, + "tests/e2e/agents/agent-builder-write-lock.spec.ts": { + "avgDuration": 38655, + "testCount": 1, + "flakyRate": 0.0068 + }, + "tests/e2e/ai/ai-2505-pdf-embed.spec.ts": { + "avgDuration": 38310, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/node-creator/navigation.spec.ts": { + "avgDuration": 37957, + "testCount": 4, + "flakyRate": 0.0019 + }, + "tests/e2e/building-blocks/workflow-entry-points.spec.ts": { + "avgDuration": 37580, + "testCount": 5, + "flakyRate": 0.0042 + }, + "tests/e2e/settings/personal/personal.spec.ts": { + "avgDuration": 37190, + "testCount": 2, + "flakyRate": 0.0021 + }, + "tests/e2e/app-config/demo.spec.ts": { + "avgDuration": 37114, + "testCount": 4, + "flakyRate": 0.0057 + }, + "tests/e2e/mcp/mcp-oauth.spec.ts": { + "avgDuration": 36534, + "testCount": 17, "flakyRate": 0 }, "tests/e2e/nodes/community-nodes.spec.ts": { - "avgDuration": 38217, + "avgDuration": 35591, "testCount": 3, "flakyRate": 0 }, - "tests/e2e/chat-hub/chat-hub-chat-user.spec.ts": { - "avgDuration": 37998, + "tests/e2e/ai/eval-collections-compare.spec.ts": { + "avgDuration": 35033, + "testCount": 2, + "flakyRate": 0 + }, + "tests/e2e/chat-hub/chat-hub-settings.spec.ts": { + "avgDuration": 33827, + "testCount": 2, + "flakyRate": 0.0092 + }, + "tests/e2e/workflows/editor/execution/inject-previous.spec.ts": { + "avgDuration": 33641, + "testCount": 2, + "flakyRate": 0 + }, + "tests/e2e/ai/chat-session.spec.ts": { + "avgDuration": 33546, + "testCount": 1, + "flakyRate": 0.0328 + }, + "tests/e2e/settings/users/users.spec.ts": { + "avgDuration": 33381, + "testCount": 5, + "flakyRate": 0.0017 + }, + "tests/e2e/push/sse-push-backend.spec.ts": { + "avgDuration": 33217, "testCount": 1, "flakyRate": 0 }, - "tests/e2e/auth/authenticated.spec.ts": { - "avgDuration": 37956, - "testCount": 6, - "flakyRate": 0 - }, - "tests/e2e/building-blocks/credential-mismatch.spec.ts": { - "avgDuration": 37586, + "tests/e2e/chat-hub/chat-hub-personal-agent.spec.ts": { + "avgDuration": 33181, "testCount": 2, - "flakyRate": 0.0068 + "flakyRate": 0.0125 }, - "tests/e2e/settings/personal/personal.spec.ts": { - "avgDuration": 37156, - "testCount": 2, - "flakyRate": 0 - }, - "tests/e2e/workflows/list/import.spec.ts": { - "avgDuration": 36786, + "tests/e2e/sharing/access-control.spec.ts": { + "avgDuration": 32838, "testCount": 5, - "flakyRate": 0 + "flakyRate": 0.0016 }, "tests/e2e/node-creator/actions.spec.ts": { - "avgDuration": 36530, + "avgDuration": 32819, "testCount": 4, "flakyRate": 0 }, - "tests/e2e/api/waiting-endpoint-security.spec.ts": { - "avgDuration": 36116, - "testCount": 2, - "flakyRate": 0.0347 - }, - "tests/e2e/push/sse-push-backend.spec.ts": { - "avgDuration": 35918, - "testCount": 1, - "flakyRate": 0 - }, - "tests/e2e/settings/users/users.spec.ts": { - "avgDuration": 35640, - "testCount": 5, - "flakyRate": 0.007 - }, - "tests/e2e/sharing/access-control.spec.ts": { - "avgDuration": 35399, - "testCount": 5, - "flakyRate": 0.002 - }, - "tests/e2e/instance-ai/open-by-default.spec.ts": { - "avgDuration": 35358, - "testCount": 3, - "flakyRate": 0.0032 - }, - "tests/e2e/ai/eval-collections-compare.spec.ts": { - "avgDuration": 34921, - "testCount": 2, - "flakyRate": 0 - }, "tests/e2e/scheduling/poll-trigger-misfire-skip.spec.ts": { - "avgDuration": 34893, + "avgDuration": 32707, "testCount": 1, - "flakyRate": 0.0022 + "flakyRate": 0.0023 }, - "tests/e2e/settings/external-secrets/aws-secrets-manager.spec.ts": { - "avgDuration": 34795, + "tests/e2e/workflows/editor/expressions/env-access.spec.ts": { + "avgDuration": 32483, "testCount": 1, - "flakyRate": 0.0388 - }, - "tests/e2e/workflows/editor/editor-after-route-changes.spec.ts": { - "avgDuration": 34601, - "testCount": 1, - "flakyRate": 0.0196 - }, - "tests/e2e/capabilities/task-runner.spec.ts": { - "avgDuration": 34325, - "testCount": 2, - "flakyRate": 0.0155 + "flakyRate": 0 }, "tests/e2e/mcp-registry/mcp-registry.spec.ts": { - "avgDuration": 34248, + "avgDuration": 32310, "testCount": 1, "flakyRate": 0 }, "tests/e2e/scheduling/schedule-trigger-misfire-coalesce.spec.ts": { - "avgDuration": 34183, + "avgDuration": 32166, "testCount": 1, + "flakyRate": 0.0023 + }, + "tests/e2e/scheduling/poll-trigger-durable.spec.ts": { + "avgDuration": 32162, + "testCount": 4, + "flakyRate": 0.0046 + }, + "tests/e2e/instance-ai/instance-ai-oversized-attachments.spec.ts": { + "avgDuration": 32082, + "testCount": 5, + "flakyRate": 0.0016 + }, + "tests/e2e/ai/rag-callout.spec.ts": { + "avgDuration": 31890, + "testCount": 2, "flakyRate": 0 }, - "tests/e2e/credentials/oauth.spec.ts": { - "avgDuration": 34136, + "tests/e2e/building-blocks/credential-mismatch.spec.ts": { + "avgDuration": 31610, "testCount": 2, "flakyRate": 0 }, "tests/e2e/sharing/workflow-sharing.spec.ts": { - "avgDuration": 33230, + "avgDuration": 31598, "testCount": 4, - "flakyRate": 0.0573 - }, - "tests/e2e/nodes/mcp-trigger.spec.ts": { - "avgDuration": 33004, - "testCount": 23, - "flakyRate": 0 - }, - "tests/e2e/scheduling/poll-trigger-durable.spec.ts": { - "avgDuration": 32757, - "testCount": 4, - "flakyRate": 0.0066 - }, - "tests/e2e/instance-ai/instance-ai-multimain.spec.ts": { - "avgDuration": 32288, - "testCount": 1, - "flakyRate": 0 - }, - "tests/e2e/api/wait-form-resume.spec.ts": { - "avgDuration": 31656, - "testCount": 3, - "flakyRate": 0.0356 - }, - "tests/e2e/workflows/editor/execution/inject-previous.spec.ts": { - "avgDuration": 31654, - "testCount": 2, - "flakyRate": 0 + "flakyRate": 0.06 }, "tests/e2e/scheduling/poll-trigger-cursor-unmigrated.spec.ts": { - "avgDuration": 31486, + "avgDuration": 30327, "testCount": 2, - "flakyRate": 0.011 + "flakyRate": 0.0069 }, - "tests/e2e/instance-ai/instance-ai-attachments.spec.ts": { - "avgDuration": 30985, - "testCount": 1, - "flakyRate": 0.0088 + "tests/e2e/app-config/demo-reimport.spec.ts": { + "avgDuration": 29931, + "testCount": 3, + "flakyRate": 0.0078 }, "tests/e2e/scheduling/poll-trigger-backoff.spec.ts": { - "avgDuration": 30863, + "avgDuration": 29895, "testCount": 1, - "flakyRate": 0.0044 + "flakyRate": 0.023 }, - "tests/e2e/auth/token-exchange.spec.ts": { - "avgDuration": 30084, - "testCount": 9, - "flakyRate": 0.019 - }, - "tests/e2e/api/webhook-isolation.spec.ts": { - "avgDuration": 29905, - "testCount": 14, - "flakyRate": 0.0032 - }, - "tests/e2e/node-creator/special-nodes.spec.ts": { - "avgDuration": 29695, - "testCount": 3, + "tests/e2e/instance-ai/instance-ai-multimain.spec.ts": { + "avgDuration": 29475, + "testCount": 1, "flakyRate": 0 }, - "tests/e2e/api/form-endpoint-isolation.spec.ts": { - "avgDuration": 28987, - "testCount": 2, + "tests/e2e/auth/authenticated.spec.ts": { + "avgDuration": 29398, + "testCount": 6, "flakyRate": 0 }, "tests/e2e/regression/PAY-4367-node-shifting-cyclic.spec.ts": { - "avgDuration": 28248, + "avgDuration": 28829, + "testCount": 3, + "flakyRate": 0.0035 + }, + "tests/e2e/api/webhook-isolation.spec.ts": { + "avgDuration": 28285, + "testCount": 14, + "flakyRate": 0 + }, + "tests/e2e/instance-ai/open-by-default.spec.ts": { + "avgDuration": 28132, "testCount": 3, "flakyRate": 0 }, - "tests/e2e/api/workflow-publication-service.spec.ts": { - "avgDuration": 27529, + "tests/e2e/credentials/oauth.spec.ts": { + "avgDuration": 28069, "testCount": 2, "flakyRate": 0 }, - "tests/e2e/auth/password-reset.spec.ts": { - "avgDuration": 27307, + "tests/e2e/api/form-endpoint-isolation.spec.ts": { + "avgDuration": 27410, + "testCount": 2, + "flakyRate": 0 + }, + "tests/e2e/settings/external-secrets/aws-secrets-manager.spec.ts": { + "avgDuration": 26887, "testCount": 1, + "flakyRate": 0.0132 + }, + "tests/e2e/capabilities/task-runner.spec.ts": { + "avgDuration": 26820, + "testCount": 2, + "flakyRate": 0.0035 + }, + "tests/e2e/a11y/a11y-landmark-structure.spec.ts": { + "avgDuration": 26739, + "testCount": 14, + "flakyRate": 0 + }, + "tests/e2e/instance-ai/instance-ai-attachments.spec.ts": { + "avgDuration": 26656, + "testCount": 1, + "flakyRate": 0.0015 + }, + "tests/e2e/nodes/email-send-node.spec.ts": { + "avgDuration": 26607, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/node-creator/special-nodes.spec.ts": { + "avgDuration": 26523, + "testCount": 3, "flakyRate": 0 }, "tests/e2e/nodes/if-node.spec.ts": { - "avgDuration": 27209, + "avgDuration": 26127, "testCount": 2, - "flakyRate": 0.0025 + "flakyRate": 0.0036 }, - "tests/e2e/nodes/email-send-node.spec.ts": { - "avgDuration": 26577, - "testCount": 1, + "tests/e2e/nodes/mcp-trigger.spec.ts": { + "avgDuration": 25993, + "testCount": 23, "flakyRate": 0 }, - "tests/e2e/scheduling/schedule-trigger-restart.spec.ts": { - "avgDuration": 26568, - "testCount": 1, - "flakyRate": 0.0065 - }, - "tests/e2e/ai/chat-session.spec.ts": { - "avgDuration": 26112, - "testCount": 1, - "flakyRate": 0.0197 - }, - "tests/e2e/scheduling/schedule-trigger-timezone.spec.ts": { - "avgDuration": 25935, - "testCount": 1, + "tests/e2e/api/workflow-publication-service.spec.ts": { + "avgDuration": 25800, + "testCount": 2, "flakyRate": 0 }, - "tests/e2e/scheduling/poll-trigger-legacy.spec.ts": { - "avgDuration": 25846, + "tests/e2e/auth/token-exchange.spec.ts": { + "avgDuration": 25130, + "testCount": 9, + "flakyRate": 0.0169 + }, + "tests/e2e/auth/password-reset.spec.ts": { + "avgDuration": 25110, "testCount": 1, "flakyRate": 0 }, "tests/e2e/node-creator/vector-stores.spec.ts": { - "avgDuration": 25369, + "avgDuration": 24759, "testCount": 3, "flakyRate": 0 }, - "tests/e2e/sharing/credential-sharing.spec.ts": { - "avgDuration": 24674, - "testCount": 3, - "flakyRate": 0.0021 - }, - "tests/e2e/workflows/executions/preview-isolation.spec.ts": { - "avgDuration": 24420, + "tests/e2e/dynamic-credentials/form-trigger-end-user-credential-shell.spec.ts": { + "avgDuration": 24502, "testCount": 2, - "flakyRate": 0.0262 + "flakyRate": 0.0183 }, - "tests/e2e/workflows/editor/ndv/io-filter.spec.ts": { - "avgDuration": 23999, - "testCount": 2, - "flakyRate": 0 - }, - "tests/e2e/app-config/versions.spec.ts": { - "avgDuration": 23737, + "tests/e2e/scheduling/schedule-trigger-timezone.spec.ts": { + "avgDuration": 24254, "testCount": 1, "flakyRate": 0 }, - "tests/e2e/workflows/editor/execution/partial.spec.ts": { - "avgDuration": 23708, - "testCount": 3, + "tests/e2e/nodes/n8n-trigger.spec.ts": { + "avgDuration": 24054, + "testCount": 2, "flakyRate": 0 }, - "tests/e2e/app-config/demo-reimport.spec.ts": { - "avgDuration": 23407, - "testCount": 3, + "tests/e2e/api/wait-webhook-deadline.spec.ts": { + "avgDuration": 23454, + "testCount": 1, "flakyRate": 0 }, "tests/e2e/workflows/executions/filter.spec.ts": { - "avgDuration": 23209, + "avgDuration": 23364, "testCount": 2, "flakyRate": 0 }, - "tests/e2e/instance-ai/thread-launcher.spec.ts": { - "avgDuration": 22722, - "testCount": 2, - "flakyRate": 0.0022 + "tests/e2e/sharing/credential-sharing.spec.ts": { + "avgDuration": 22614, + "testCount": 3, + "flakyRate": 0.0016 }, - "tests/e2e/regression/AI-812-partial-execs-broken-when-using-chat-trigger.spec.ts": { - "avgDuration": 22277, - "testCount": 2, + "tests/e2e/workflows/editor/execution/partial.spec.ts": { + "avgDuration": 22575, + "testCount": 3, "flakyRate": 0.0018 }, + "tests/e2e/workflows/editor/ndv/io-filter.spec.ts": { + "avgDuration": 22558, + "testCount": 2, + "flakyRate": 0 + }, + "tests/e2e/workflows/executions/preview-isolation.spec.ts": { + "avgDuration": 22002, + "testCount": 2, + "flakyRate": 0.0159 + }, + "tests/e2e/instance-ai/thread-launcher.spec.ts": { + "avgDuration": 21881, + "testCount": 2, + "flakyRate": 0 + }, "tests/e2e/settings/workers/workers.spec.ts": { - "avgDuration": 21479, + "avgDuration": 20496, "testCount": 4, "flakyRate": 0 }, "tests/e2e/nodes/http-request-node.spec.ts": { - "avgDuration": 21093, + "avgDuration": 20312, "testCount": 2, - "flakyRate": 0.0025 - }, - "tests/e2e/node-creator/workflows.spec.ts": { - "avgDuration": 18117, - "testCount": 2, - "flakyRate": 0 - }, - "tests/e2e/regression/ADO-2372-prevent-clipping-params.spec.ts": { - "avgDuration": 17837, - "testCount": 2, - "flakyRate": 0 - }, - "tests/e2e/api/webhook-external.spec.ts": { - "avgDuration": 17386, - "testCount": 2, - "flakyRate": 0.0022 - }, - "tests/e2e/auth/signin.spec.ts": { - "avgDuration": 16507, - "testCount": 1, - "flakyRate": 0 + "flakyRate": 0.003 }, "tests/e2e/settings/log-streaming/log-streaming-ui-e2e.spec.ts": { - "avgDuration": 16152, + "avgDuration": 20013, "testCount": 1, - "flakyRate": 0.0027 + "flakyRate": 0 }, - "tests/e2e/dynamic-credentials/mcp-trigger-credential-gate.spec.ts": { - "avgDuration": 15776, + "tests/e2e/settings/log-streaming/log-streaming-delivery.spec.ts": { + "avgDuration": 19911, + "testCount": 5, + "flakyRate": 0 + }, + "tests/e2e/api/binary-data-xss.spec.ts": { + "avgDuration": 19896, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/regression/AI-812-partial-execs-broken-when-using-chat-trigger.spec.ts": { + "avgDuration": 18989, "testCount": 2, "flakyRate": 0 }, - "tests/e2e/api/webhook-isolate-skip.spec.ts": { - "avgDuration": 15341, - "testCount": 7, - "flakyRate": 0.02 + "tests/e2e/scheduling/poll-trigger-legacy.spec.ts": { + "avgDuration": 17954, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/node-creator/workflows.spec.ts": { + "avgDuration": 17826, + "testCount": 2, + "flakyRate": 0 + }, + "tests/e2e/api/waiting-endpoint-security.spec.ts": { + "avgDuration": 17753, + "testCount": 2, + "flakyRate": 0.0242 + }, + "tests/e2e/regression/ADO-2372-prevent-clipping-params.spec.ts": { + "avgDuration": 17322, + "testCount": 2, + "flakyRate": 0 + }, + "tests/e2e/api/wait-form-resume.spec.ts": { + "avgDuration": 16750, + "testCount": 3, + "flakyRate": 0.0032 + }, + "tests/e2e/scheduling/schedule-trigger-multimain.spec.ts": { + "avgDuration": 16674, + "testCount": 2, + "flakyRate": 0 }, "tests/e2e/instance-ai/instance-ai-workflow-setup.spec.ts": { - "avgDuration": 14642, + "avgDuration": 14838, "testCount": 10, "flakyRate": 0 }, - "tests/e2e/workflows/editor/canvas/stickies.spec.ts": { - "avgDuration": 14541, + "tests/e2e/mcp/mcp-service.spec.ts": { + "avgDuration": 14753, + "testCount": 26, + "flakyRate": 0.011 + }, + "tests/e2e/api/webhook-external.spec.ts": { + "avgDuration": 14741, "testCount": 2, "flakyRate": 0 }, - "tests/e2e/journeys/admin-views-executions-list.spec.ts": { - "avgDuration": 14240, + "tests/e2e/workflows/editor/canvas/stickies.spec.ts": { + "avgDuration": 14133, + "testCount": 2, + "flakyRate": 0 + }, + "tests/e2e/scheduling/poll-trigger-cursor-migrated.spec.ts": { + "avgDuration": 14019, + "testCount": 3, + "flakyRate": 0.0169 + }, + "tests/e2e/dynamic-credentials/external-user-trigger.spec.ts": { + "avgDuration": 13037, "testCount": 1, "flakyRate": 0 }, - "tests/e2e/auth/admin-smoke.spec.ts": { - "avgDuration": 13948, - "testCount": 1, - "flakyRate": 0.0062 + "tests/e2e/dynamic-credentials/mcp-trigger-credential-gate.spec.ts": { + "avgDuration": 12677, + "testCount": 2, + "flakyRate": 0 }, - "tests/e2e/regression/AI-1401-sub-nodes-input-panel.spec.ts": { - "avgDuration": 13809, + "tests/e2e/auth/signin.spec.ts": { + "avgDuration": 12531, "testCount": 1, "flakyRate": 0 }, - "tests/e2e/regression/ADO-5808-stale-node-execution-data.spec.ts": { - "avgDuration": 13505, + "tests/e2e/api/manual-run-outcome.spec.ts": { + "avgDuration": 12327, "testCount": 1, "flakyRate": 0 }, - "tests/e2e/nodes/schedule-trigger-node.spec.ts": { - "avgDuration": 12651, - "testCount": 1, - "flakyRate": 0 - }, - "tests/e2e/regression/AI-716-correctly-set-up-agent-model-shows-error.spec.ts": { - "avgDuration": 12572, - "testCount": 1, - "flakyRate": 0.0212 - }, "tests/e2e/workflows/editor/ndv/schema-preview.spec.ts": { - "avgDuration": 12332, - "testCount": 1, - "flakyRate": 0 - }, - "tests/e2e/mcp/mcp-service.spec.ts": { - "avgDuration": 12135, - "testCount": 26, - "flakyRate": 0.0055 - }, - "tests/e2e/nodes/pdf-node.spec.ts": { - "avgDuration": 12065, + "avgDuration": 12253, "testCount": 1, "flakyRate": 0 }, "tests/e2e/regression/SUG-121-fields-reset-after-closing-ndv.spec.ts": { - "avgDuration": 11758, + "avgDuration": 11747, "testCount": 1, - "flakyRate": 0.0322 + "flakyRate": 0.0293 }, - "tests/e2e/nodes/n8n-trigger.spec.ts": { - "avgDuration": 11476, - "testCount": 2, - "flakyRate": 0.0024 - }, - "tests/e2e/regression/ADO-2230-ndv-reset-data-pagination.spec.ts": { - "avgDuration": 11371, + "tests/e2e/regression/AI-1401-sub-nodes-input-panel.spec.ts": { + "avgDuration": 11336, "testCount": 1, - "flakyRate": 0 - }, - "tests/e2e/instance-ai/instance-ai-out-of-credits.spec.ts": { - "avgDuration": 11346, - "testCount": 1, - "flakyRate": 0.0067 + "flakyRate": 0.0018 }, "tests/e2e/regression/CAT-726-canvas-node-connectors-not-rendered-when-nodes-inserted.spec.ts": { - "avgDuration": 11221, + "avgDuration": 11126, "testCount": 1, "flakyRate": 0 }, "tests/e2e/settings/community-nodes/community-nodes.spec.ts": { - "avgDuration": 11213, + "avgDuration": 11080, "testCount": 1, - "flakyRate": 0.0027 + "flakyRate": 0.004 }, - "tests/e2e/dynamic-credentials/external-user-trigger.spec.ts": { - "avgDuration": 10759, + "tests/e2e/nodes/pdf-node.spec.ts": { + "avgDuration": 11070, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/auth/admin-smoke.spec.ts": { + "avgDuration": 11025, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/regression/AI-716-correctly-set-up-agent-model-shows-error.spec.ts": { + "avgDuration": 10730, + "testCount": 1, + "flakyRate": 0.0018 + }, + "tests/e2e/regression/ADO-5808-stale-node-execution-data.spec.ts": { + "avgDuration": 10639, "testCount": 1, "flakyRate": 0 }, "tests/e2e/regression/ADO-1338-ndv-missing-input-panel.spec.ts": { - "avgDuration": 10740, + "avgDuration": 10493, "testCount": 1, "flakyRate": 0 }, "tests/e2e/regression/SUG-38-inline-expression-preview.spec.ts": { - "avgDuration": 10561, + "avgDuration": 9928, "testCount": 1, "flakyRate": 0 }, + "tests/e2e/chat-hub/chat-hub-chat-user.spec.ts": { + "avgDuration": 9555, + "testCount": 1, + "flakyRate": 0.002 + }, "tests/e2e/sharing/credential-picker-scope.spec.ts": { - "avgDuration": 9806, + "avgDuration": 9508, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/regression/ADO-2230-ndv-reset-data-pagination.spec.ts": { + "avgDuration": 9337, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/regression/CAT-2395-node-spacing.spec.ts": { + "avgDuration": 9321, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/api/webhook-isolate-skip.spec.ts": { + "avgDuration": 9274, + "testCount": 7, + "flakyRate": 0.0453 + }, + "tests/e2e/instance-ai/instance-ai-out-of-credits.spec.ts": { + "avgDuration": 9178, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/nodes/schedule-trigger-node.spec.ts": { + "avgDuration": 9083, + "testCount": 1, + "flakyRate": 0.0018 + }, + "tests/e2e/workflows/editor/subworkflows/wait.spec.ts": { + "avgDuration": 8206, + "testCount": 5, + "flakyRate": 0.0172 + }, + "tests/e2e/workflows/editor/canvas/focus-panel.spec.ts": { + "avgDuration": 7943, "testCount": 1, "flakyRate": 0 }, "tests/e2e/regression/ADO-2929-can-load-old-switch-node-workflows.spec.ts": { - "avgDuration": 9681, + "avgDuration": 7303, "testCount": 1, "flakyRate": 0 }, - "tests/e2e/api/discovery.spec.ts": { - "avgDuration": 9566, - "testCount": 4, - "flakyRate": 0 - }, - "tests/e2e/regression/CAT-2395-node-spacing.spec.ts": { - "avgDuration": 9080, + "tests/e2e/journeys/admin-views-executions-list.spec.ts": { + "avgDuration": 7109, "testCount": 1, "flakyRate": 0 }, - "tests/e2e/api/binary-data-xss.spec.ts": { - "avgDuration": 8899, + "tests/e2e/regression/AI-2795-chat-panel-header-height.spec.ts": { + "avgDuration": 6792, "testCount": 1, "flakyRate": 0 }, "tests/e2e/workflows/demo-executable-chat-trigger.spec.ts": { - "avgDuration": 8137, + "avgDuration": 6695, "testCount": 1, "flakyRate": 0 }, - "tests/e2e/workflows/editor/canvas/focus-panel.spec.ts": { - "avgDuration": 7770, + "tests/e2e/app-config/versions.spec.ts": { + "avgDuration": 6635, + "testCount": 1, + "flakyRate": 0.0017 + }, + "tests/e2e/dynamic-credentials/webhook-trigger-private-credential.spec.ts": { + "avgDuration": 5159, "testCount": 1, "flakyRate": 0 }, - "tests/e2e/workflows/editor/subworkflows/wait.spec.ts": { - "avgDuration": 7607, - "testCount": 5, - "flakyRate": 0.0044 - }, - "tests/e2e/instance-ai/instance-ai-background-lifecycle.spec.ts": { - "avgDuration": 4674, - "testCount": 1, - "flakyRate": 0 - }, - "tests/e2e/webhooks/webhook-trigger-oauth2.spec.ts": { - "avgDuration": 4469, - "testCount": 3, - "flakyRate": 0 - }, - "tests/e2e/workflows/editor/execution/subworkflow-stop.spec.ts": { - "avgDuration": 3784, - "testCount": 1, - "flakyRate": 0.0033 - }, - "tests/e2e/workflows/editor/subworkflows/subworkflow-version-resolution.spec.ts": { - "avgDuration": 3706, + "tests/e2e/api/discovery.spec.ts": { + "avgDuration": 5038, "testCount": 4, "flakyRate": 0 }, - "tests/e2e/credentials/api-operations.spec.ts": { - "avgDuration": 2705, - "testCount": 5, - "flakyRate": 0 - }, - "tests/e2e/scheduling/schedule-trigger-legacy.spec.ts": { - "avgDuration": 1496, - "testCount": 1, - "flakyRate": 0 - }, - "tests/e2e/app-config/env-feature-flags.spec.ts": { - "avgDuration": 1043, - "testCount": 2, - "flakyRate": 0 - }, - "tests/e2e/dynamic-credentials/resolver-deletion.spec.ts": { - "avgDuration": 1181, + "tests/e2e/webhooks/webhook-trigger-oauth2.spec.ts": { + "avgDuration": 4291, "testCount": 3, "flakyRate": 0 }, + "tests/e2e/app-config/env-feature-flags.spec.ts": { + "avgDuration": 3745, + "testCount": 2, + "flakyRate": 0 + }, + "tests/e2e/workflows/editor/subworkflows/subworkflow-version-resolution.spec.ts": { + "avgDuration": 3134, + "testCount": 4, + "flakyRate": 0 + }, + "tests/e2e/workflows/editor/execution/subworkflow-stop.spec.ts": { + "avgDuration": 2904, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/credentials/api-operations.spec.ts": { + "avgDuration": 2136, + "testCount": 5, + "flakyRate": 0 + }, "tests/e2e/nodes/code-node-api.spec.ts": { + "avgDuration": 2069, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/scheduling/schedule-trigger-legacy.spec.ts": { + "avgDuration": 1724, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/instance-ai/instance-ai-background-lifecycle.spec.ts": { + "avgDuration": 1034, + "testCount": 1, + "flakyRate": 0 + }, + "tests/e2e/dynamic-credentials/resolver-deletion.spec.ts": { + "avgDuration": 60000, + "testCount": 3, + "flakyRate": 0 + }, + "tests/e2e/settings/external-secrets/secret-providers-connections.spec.ts": { "avgDuration": 60000, "testCount": 1, "flakyRate": 0 }, - "tests/e2e/settings/external-secrets/secret-providers-connections.spec.ts": { + "tests/e2e/scheduling/schedule-trigger-restart.spec.ts": { "avgDuration": 60000, "testCount": 1, "flakyRate": 0 diff --git a/packages/testing/playwright/services/api-helper.ts b/packages/testing/playwright/services/api-helper.ts index 9a759d65937..c36694eade6 100644 --- a/packages/testing/playwright/services/api-helper.ts +++ b/packages/testing/playwright/services/api-helper.ts @@ -8,7 +8,6 @@ import type { } from '@n8n/api-types'; import { request, type APIRequestContext } from '@playwright/test'; import type { IWorkflowSettings } from 'n8n-workflow'; -import { setTimeout as wait } from 'node:timers/promises'; import type { UserCredentials } from '../config/test-users'; import { @@ -212,12 +211,12 @@ export class ApiHelpers { }, }); + // The endpoint responds only after the reset and the user seeding complete, + // so no extra wait is necessary. if (!response.ok()) { const errorText = await response.text(); throw new TestError(errorText); } - // Adding small delay to ensure database is reset - await wait(1000); } async signin(role: UserRole, memberIndex: number = 0): Promise { diff --git a/packages/testing/playwright/tests/e2e/credentials/crud.spec.ts b/packages/testing/playwright/tests/e2e/credentials/crud.spec.ts index c2bc6e59beb..ff26baa6c8e 100644 --- a/packages/testing/playwright/tests/e2e/credentials/crud.spec.ts +++ b/packages/testing/playwright/tests/e2e/credentials/crud.spec.ts @@ -8,10 +8,6 @@ test.describe( annotation: [{ type: 'owner', description: 'Identity & Access' }], }, () => { - test.beforeEach(async ({ n8n }) => { - await n8n.goHome(); - }); - test('should create a new credential using empty state', async ({ n8n }) => { const projectId = await n8n.start.fromNewProject(); const credentialName = `My awesome Notion account ${nanoid()}`; diff --git a/packages/testing/playwright/tests/e2e/projects/projects-move-resources.spec.ts b/packages/testing/playwright/tests/e2e/projects/projects-move-resources.spec.ts index 82a754ed6e4..466e62f9525 100644 --- a/packages/testing/playwright/tests/e2e/projects/projects-move-resources.spec.ts +++ b/packages/testing/playwright/tests/e2e/projects/projects-move-resources.spec.ts @@ -16,7 +16,6 @@ test.describe( test.describe.configure({ mode: 'serial' }); test.beforeEach(async ({ n8n }) => { - await n8n.goHome(); // Enable features required for project workflows and moving resources await n8n.api.enableFeature('sharing'); await n8n.api.enableFeature('folders'); diff --git a/packages/testing/playwright/tests/e2e/regression/ADO-4462-template-setup-experiment.spec.ts b/packages/testing/playwright/tests/e2e/regression/ADO-4462-template-setup-experiment.spec.ts index 0aa5925f1dc..bdc14651332 100644 --- a/packages/testing/playwright/tests/e2e/regression/ADO-4462-template-setup-experiment.spec.ts +++ b/packages/testing/playwright/tests/e2e/regression/ADO-4462-template-setup-experiment.spec.ts @@ -61,9 +61,8 @@ test.describe( annotation: [{ type: 'owner', description: 'Adore' }], }, () => { - test.beforeEach(async ({ setupRequirements, n8n }) => { + test.beforeEach(async ({ setupRequirements }) => { await setupRequirements(createTemplateRequirements()); - await n8n.goHome(); }); test('Should take users to canvas when importing template', async ({ n8n }) => { diff --git a/packages/testing/playwright/tests/e2e/settings/workers/workers.spec.ts b/packages/testing/playwright/tests/e2e/settings/workers/workers.spec.ts index 6ecbbec3c2c..31052d89185 100644 --- a/packages/testing/playwright/tests/e2e/settings/workers/workers.spec.ts +++ b/packages/testing/playwright/tests/e2e/settings/workers/workers.spec.ts @@ -33,7 +33,6 @@ test.describe }); test('should show up in the menu sidebar', async ({ n8n }) => { - await n8n.goHome(); await n8n.workerView.goto(); await expect(n8n.workerView.getWorkerMenuItem()).toBeVisible(); }); diff --git a/packages/testing/playwright/tests/e2e/workflows/editor/execution/logs.spec.ts b/packages/testing/playwright/tests/e2e/workflows/editor/execution/logs.spec.ts index 8ee54534a5d..a5cc9301f55 100644 --- a/packages/testing/playwright/tests/e2e/workflows/editor/execution/logs.spec.ts +++ b/packages/testing/playwright/tests/e2e/workflows/editor/execution/logs.spec.ts @@ -21,10 +21,6 @@ test.describe( annotation: [{ type: 'owner', description: 'Catalysts' }], }, () => { - test.beforeEach(async ({ n8n }) => { - await n8n.goHome(); - }); - test('should populate logs as manual execution progresses', async ({ n8n, setupRequirements, diff --git a/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-core.spec.ts b/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-core.spec.ts index 8c1e0b373d1..552e4c07194 100644 --- a/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-core.spec.ts +++ b/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-core.spec.ts @@ -11,13 +11,10 @@ test.describe( annotation: [{ type: 'owner', description: 'Adore' }], }, () => { - test.beforeEach(async ({ n8n }) => { - await n8n.start.fromBlankCanvas(); - }); - test('should show up when double clicked on a node and close when Back to canvas clicked', async ({ n8n, }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.addNode('Manual Trigger'); const canvasNodes = n8n.canvas.getCanvasNodes(); await canvasNodes.first().dblclick(); @@ -27,6 +24,7 @@ test.describe( }); test('should show input panel when node is not connected', async ({ n8n }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.addNode('Manual Trigger'); await n8n.canvas.deselectAll(); await n8n.canvas.addNode('Edit Fields (Set)', { closeNDV: true }); @@ -53,6 +51,7 @@ test.describe( }); test('should show correct validation state for resource locator params', async ({ n8n }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.addNode('Typeform Trigger', { closeNDV: false }); await expect(n8n.ndv.container).toBeVisible(); @@ -63,6 +62,7 @@ test.describe( }); test('should show validation errors only after blur or re-opening of NDV', async ({ n8n }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.addNode('Manual Trigger'); await n8n.canvas.addNode('Airtable', { closeNDV: false, action: 'Search records' }); await expect(n8n.ndv.container).toBeVisible(); @@ -110,6 +110,7 @@ test.describe( }); test('webhook should fallback to webhookId if path is empty', async ({ n8n }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.addNode('Webhook', { closeNDV: false }); await expect(n8n.canvas.getNodeIssuesByName('Webhook')).toBeHidden(); @@ -134,6 +135,7 @@ test.describe( }); test('should properly show node execution indicator', async ({ n8n }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.addNode('Manual Trigger'); await n8n.canvas.addNode('Code', { action: 'Code in JavaScript', closeNDV: false }); @@ -172,6 +174,7 @@ test.describe( test('should not push NDV header out with a lot of code in Code node editor', async ({ n8n, }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.addNode('Manual Trigger'); await n8n.canvas.addNode('Code', { action: 'Code in JavaScript', closeNDV: false }); @@ -192,6 +195,7 @@ test.describe( }); test('should allow editing code in fullscreen in the code editors', async ({ n8n }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.addNode('Manual Trigger'); await n8n.canvas.addNode('Code', { action: 'Code in JavaScript', closeNDV: false }); @@ -213,6 +217,7 @@ test.describe( test('ADO-2931 - should handle multiple branches of the same input with the first branch empty correctly', async ({ n8n, }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.importWorkflow( 'Test_ndv_two_branches_of_same_parent_false_populated.json', 'Multiple Branches Test', @@ -230,6 +235,7 @@ test.describe( test.describe('Execution Indicators - Multi-Node', () => { test('should properly show node execution indicator for multiple nodes', async ({ n8n }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.addNode(CODE_NODE_NAME, { action: 'Code in JavaScript' }); await n8n.ndv.clickBackToCanvasButton(); diff --git a/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-data-display.spec.ts b/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-data-display.spec.ts index 04134e07e19..e8a174279c5 100644 --- a/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-data-display.spec.ts +++ b/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-data-display.spec.ts @@ -7,10 +7,6 @@ test.describe( annotation: [{ type: 'owner', description: 'Adore' }], }, () => { - test.beforeEach(async ({ n8n }) => { - await n8n.start.fromBlankCanvas(); - }); - test.describe('Schema View', () => { const schemaKeys = [ 'id', @@ -201,6 +197,7 @@ test.describe( test.describe('Schema & Data Views', () => { test('should show data from the correct output in schema view', async ({ n8n }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.importWorkflow('Test_workflow_multiple_outputs.json', 'Multiple outputs'); await n8n.workflowComposer.executeWorkflowAndWaitForNotification( 'Workflow executed successfully', @@ -228,6 +225,7 @@ test.describe( test.describe('Search Functionality - Advanced', () => { test('should not show items count when searching in schema view', async ({ n8n }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.importWorkflow('Test_ndv_search.json', 'NDV Search Test'); await n8n.canvas.openNode('Edit Fields'); await expect(n8n.ndv.outputPanel.get()).toBeVisible(); @@ -242,6 +240,7 @@ test.describe( test('should show additional tooltip when searching in schema view if no matches', async ({ n8n, }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.importWorkflow('Test_ndv_search.json', 'NDV Search Test'); await n8n.canvas.openNode('Edit Fields'); diff --git a/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-floating-nodes.spec.ts b/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-floating-nodes.spec.ts index e760d84804c..f3210ca3266 100644 --- a/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-floating-nodes.spec.ts +++ b/packages/testing/playwright/tests/e2e/workflows/editor/ndv/ndv-floating-nodes.spec.ts @@ -6,10 +6,6 @@ test.describe( annotation: [{ type: 'owner', description: 'Adore' }], }, () => { - test.beforeEach(async ({ n8n }) => { - await n8n.start.fromBlankCanvas(); - }); - test('should traverse floating nodes with mouse', async ({ n8n }) => { await n8n.start.fromImportedWorkflow('Floating_Nodes.json'); await n8n.canvas.getCanvasNodes().first().dblclick(); @@ -86,6 +82,7 @@ test.describe( }); test('should connect floating sub-nodes', async ({ n8n }) => { + await n8n.start.fromBlankCanvas(); await n8n.canvas.addNode('AI Agent', { closeNDV: false }); await expect(n8n.ndv.container).toBeVisible();