diff --git a/cypress/e2e/6-code-node.cy.ts b/cypress/e2e/6-code-node.cy.ts new file mode 100644 index 0000000000..490f9e4b0c --- /dev/null +++ b/cypress/e2e/6-code-node.cy.ts @@ -0,0 +1,34 @@ +import { WorkflowPage as WorkflowPageClass } from '../pages/workflow'; + +const WorkflowPage = new WorkflowPageClass(); + +describe('Code node', () => { + beforeEach(() => { + cy.task('db:reset'); + cy.skipSetup(); + }); + + it('should execute the placeholder in all-items mode successfully', () => { + WorkflowPage.actions.visit(); + WorkflowPage.actions.addInitialNodeToCanvas('Manual Trigger'); + WorkflowPage.actions.addNodeToCanvas('Code'); + WorkflowPage.actions.openNodeNdv('Code'); + + WorkflowPage.actions.executeNodeFromNdv(); + + WorkflowPage.getters.successToast().contains('Node executed successfully'); + }); + + it('should execute the placeholder in each-item mode successfully', () => { + WorkflowPage.actions.visit(); + WorkflowPage.actions.addInitialNodeToCanvas('Manual Trigger'); + WorkflowPage.actions.addNodeToCanvas('Code'); + WorkflowPage.actions.openNodeNdv('Code'); + WorkflowPage.getters.ndvParameterInput('mode').click(); + WorkflowPage.actions.selectOptionInParameterDropdown('mode', 'Run Once for Each Item'); + + WorkflowPage.actions.executeNodeFromNdv(); + + WorkflowPage.getters.successToast().contains('Node executed successfully'); + }); +}); diff --git a/cypress/pages/workflow.ts b/cypress/pages/workflow.ts index b90f4f6b64..bdaceb91f1 100644 --- a/cypress/pages/workflow.ts +++ b/cypress/pages/workflow.ts @@ -25,6 +25,9 @@ export class WorkflowPage extends BasePage { ndvParameterInput: (parameterName: string) => cy.getByTestId(`parameter-input-${parameterName}`), ndvOutputPanel: () => cy.getByTestId('output-panel'), + ndvRunDataPaneHeader: () => cy.getByTestId('run-data-pane-header'), + + successToast: () => cy.get('.el-notification__title'), activatorSwitch: () => cy.getByTestId('workflow-activate-switch'), workflowMenu: () => cy.getByTestId('workflow-menu'), firstStepButton: () => cy.getByTestId('canvas-add-button'), @@ -53,6 +56,13 @@ export class WorkflowPage extends BasePage { typeIntoParameterInput: (parameterName: string, content: string) => { this.getters.ndvParameterInput(parameterName).type(content); }, + selectOptionInParameterDropdown: (parameterName: string, content: string) => { + this.getters + .ndvParameterInput(parameterName) + .find('.option-headline') + .contains(content) + .click(); + }, executeNodeFromNdv: () => { cy.contains('Execute node').click(); }, diff --git a/packages/editor-ui/src/components/RunData.vue b/packages/editor-ui/src/components/RunData.vue index 36bfe7560d..dcbb6f3219 100644 --- a/packages/editor-ui/src/components/RunData.vue +++ b/packages/editor-ui/src/components/RunData.vue @@ -37,7 +37,7 @@