From 9edc00812493fbdba7d9bdb02849a9aa7653350a Mon Sep 17 00:00:00 2001 From: Declan Carroll Date: Mon, 15 Dec 2025 08:30:29 +0000 Subject: [PATCH] test: Target correct canvas handle wrapper (#23211) --- packages/testing/playwright/pages/CanvasPage.ts | 8 ++++++++ .../e2e/workflows/editor/canvas/canvas-nodes.spec.ts | 11 ++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/testing/playwright/pages/CanvasPage.ts b/packages/testing/playwright/pages/CanvasPage.ts index 47da339b2ed..2ad282c22a2 100644 --- a/packages/testing/playwright/pages/CanvasPage.ts +++ b/packages/testing/playwright/pages/CanvasPage.ts @@ -965,6 +965,14 @@ export class CanvasPage extends BasePage { return this.page.getByTestId('canvas-handle-plus'); } + getCanvasHandlePlusWrapperByName(nodeName: string): Locator { + return this.page + .locator( + `[data-test-id="canvas-node-output-handle"][data-node-name="${nodeName}"] [data-test-id="canvas-handle-plus-wrapper"]`, + ) + .first(); + } + stopExecutionWaitingForWebhookButton(): Locator { return this.page.getByTestId('stop-execution-waiting-for-webhook-button'); } diff --git a/packages/testing/playwright/tests/e2e/workflows/editor/canvas/canvas-nodes.spec.ts b/packages/testing/playwright/tests/e2e/workflows/editor/canvas/canvas-nodes.spec.ts index 8b06be6000a..fecfa76d634 100644 --- a/packages/testing/playwright/tests/e2e/workflows/editor/canvas/canvas-nodes.spec.ts +++ b/packages/testing/playwright/tests/e2e/workflows/editor/canvas/canvas-nodes.spec.ts @@ -143,15 +143,16 @@ test.describe('Canvas Node Manipulation and Navigation', () => { await expect(n8n.canvas.getSuccessEdges()).toHaveCount(nodeCount); await expect(n8n.canvas.getAllNodeSuccessIndicators()).toHaveCount(nodeCount + 1); - await expect(n8n.canvas.getCanvasHandlePlusWrapper()).toHaveAttribute( - 'data-plus-type', - 'success', - ); + await expect( + n8n.canvas.getCanvasHandlePlusWrapperByName('Code in JavaScript2'), + ).toHaveAttribute('data-plus-type', 'success'); await n8n.canvas.addNode(CODE_NODE_NAME, { action: 'Code in JavaScript', closeNDV: true }); await n8n.canvas.clickZoomToFitButton(); - await expect(n8n.canvas.getCanvasHandlePlus()).not.toHaveAttribute('data-plus-type', 'success'); + await expect( + n8n.canvas.getCanvasHandlePlusWrapperByName('Code in JavaScript3'), + ).not.toHaveAttribute('data-plus-type', 'success'); await expect(n8n.canvas.getSuccessEdges()).toHaveCount(nodeCount + 1); await expect(n8n.canvas.getAllNodeSuccessIndicators()).toHaveCount(nodeCount + 1);