diff --git a/cypress/e2e/39-projects.cy.ts b/cypress/e2e/39-projects.cy.ts index 0f484771c6..196dc060b1 100644 --- a/cypress/e2e/39-projects.cy.ts +++ b/cypress/e2e/39-projects.cy.ts @@ -299,11 +299,7 @@ describe('Projects', { disableAutoLogin: true }, () => { workflowPage.actions.saveWorkflowOnButtonClick(); workflowPage.actions.addNodeToCanvas('Execute Workflow', true, true); - cy.window().then((win) => { - cy.stub(win, 'open').callsFake((url) => { - cy.visit(url); - }); - }); + cy.window().then((win) => cy.stub(win, 'open').callsFake((url) => cy.visit(url))); selectResourceLocatorItem('workflowId', 0, 'Create a'); // Need to wait for the trigger node to auto-open after a delay diff --git a/cypress/e2e/5-ndv.cy.ts b/cypress/e2e/5-ndv.cy.ts index c001dd764e..81ca673a7f 100644 --- a/cypress/e2e/5-ndv.cy.ts +++ b/cypress/e2e/5-ndv.cy.ts @@ -117,7 +117,7 @@ describe('NDV', () => { .nodeRunErrorMessage() .should( 'have.text', - "Using the item method doesn't work with pinned data in this scenario. Please unpin 'Break pairedItem chain' and try again.", + "Paired item data for item from node 'Break pairedItem chain' is unavailable. Ensure 'Break pairedItem chain' is providing the required output.", ); ndv.getters .nodeRunErrorDescription() diff --git a/packages/workflow/src/WorkflowDataProxy.ts b/packages/workflow/src/WorkflowDataProxy.ts index b239e1378c..dd25093246 100644 --- a/packages/workflow/src/WorkflowDataProxy.ts +++ b/packages/workflow/src/WorkflowDataProxy.ts @@ -792,7 +792,11 @@ export class WorkflowDataProxy { nodeCause: string, usedMethodName: 'itemMatching' | 'pairedItem' | 'item' | '$getPairedItem' = 'pairedItem', ) => { - const message = `Using the ${usedMethodName} method doesn't work with pinned data in this scenario. Please unpin '${nodeCause}' and try again.`; + const pinData = getPinDataIfManualExecution(that.workflow, nodeCause, that.mode); + const message = pinData + ? `Using the ${usedMethodName} method doesn't work with pinned data in this scenario. Please unpin '${nodeCause}' and try again.` + : `Paired item data for ${usedMethodName} from node '${nodeCause}' is unavailable. Ensure '${nodeCause}' is providing the required output.`; + return new ExpressionError(message, { runIndex: that.runIndex, itemIndex: that.itemIndex, diff --git a/packages/workflow/test/WorkflowDataProxy.test.ts b/packages/workflow/test/WorkflowDataProxy.test.ts index 6e40fe609b..c3caaefa7a 100644 --- a/packages/workflow/test/WorkflowDataProxy.test.ts +++ b/packages/workflow/test/WorkflowDataProxy.test.ts @@ -339,7 +339,7 @@ describe('WorkflowDataProxy', () => { expect(error).toBeInstanceOf(ExpressionError); const exprError = error as ExpressionError; expect(exprError.message).toEqual( - "Using the item method doesn't work with pinned data in this scenario. Please unpin 'Break pairedItem chain' and try again.", + "Paired item data for item from node 'Break pairedItem chain' is unavailable. Ensure 'Break pairedItem chain' is providing the required output.", ); expect(exprError.context.type).toEqual('paired_item_no_info'); done();