mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-16 17:46:45 +00:00
103 lines
4.4 KiB
TypeScript
103 lines
4.4 KiB
TypeScript
import { test, expect } from '../../fixtures/base';
|
|
|
|
const WORKFLOW_FILE = 'Subworkflow-debugging-execute-workflow.json';
|
|
|
|
test.describe('Subworkflow debugging', () => {
|
|
test.beforeEach(async ({ n8n }) => {
|
|
await n8n.start.fromImportedWorkflow(WORKFLOW_FILE);
|
|
|
|
await expect(n8n.canvas.getCanvasNodes()).toHaveCount(11);
|
|
await n8n.canvas.clickZoomToFitButton();
|
|
|
|
await n8n.canvas.clickExecuteWorkflowButton();
|
|
});
|
|
|
|
test.describe('can inspect sub executed workflow', () => {
|
|
test('(Run once with all items/ Wait for Sub-workflow completion) (default behavior)', async ({
|
|
n8n,
|
|
}) => {
|
|
await n8n.canvas.openNode('Execute Workflow with param');
|
|
|
|
await expect(n8n.ndv.outputPanel.getItemsCount()).toContainText('2 items, 1 sub-execution');
|
|
await expect(n8n.ndv.outputPanel.getRelatedExecutionLink()).toContainText(
|
|
'View sub-execution',
|
|
);
|
|
await expect(n8n.ndv.outputPanel.getRelatedExecutionLink()).toHaveAttribute('href', /.+/);
|
|
|
|
await expect(n8n.ndv.outputPanel.getTableHeaders()).toHaveCount(2);
|
|
await expect(n8n.ndv.outputPanel.getTbodyCell(0, 0)).toHaveText('world Natalie Moore');
|
|
});
|
|
|
|
test('(Run once for each item/ Wait for Sub-workflow completion) param1', async ({ n8n }) => {
|
|
await n8n.canvas.openNode('Execute Workflow with param1');
|
|
|
|
await expect(n8n.ndv.outputPanel.getItemsCount()).toContainText('2 items, 2 sub-execution');
|
|
await expect(n8n.ndv.outputPanel.getRelatedExecutionLink()).not.toBeAttached();
|
|
|
|
await expect(n8n.ndv.outputPanel.getTableHeaders()).toHaveCount(3);
|
|
await expect(n8n.ndv.outputPanel.getTbodyCell(0, 0).locator('a')).toHaveAttribute(
|
|
'href',
|
|
/.+/,
|
|
);
|
|
await expect(n8n.ndv.outputPanel.getTbodyCell(0, 1)).toHaveText('world Natalie Moore');
|
|
});
|
|
|
|
test('(Run once with all items/ Wait for Sub-workflow completion) param2', async ({ n8n }) => {
|
|
await n8n.canvas.openNode('Execute Workflow with param2');
|
|
|
|
await expect(n8n.ndv.outputPanel.getItemsCount()).not.toBeAttached();
|
|
await expect(n8n.ndv.outputPanel.getRelatedExecutionLink()).toContainText(
|
|
'View sub-execution',
|
|
);
|
|
await expect(n8n.ndv.outputPanel.getRelatedExecutionLink()).toHaveAttribute('href', /.+/);
|
|
|
|
await expect(n8n.ndv.outputPanel.getRunSelectorInput()).toHaveValue(
|
|
'2 of 2 (3 items, 1 sub-execution)',
|
|
);
|
|
await expect(n8n.ndv.outputPanel.getTableHeaders()).toHaveCount(6);
|
|
await expect(n8n.ndv.outputPanel.getTableHeader(0)).toHaveText('uid');
|
|
await expect(n8n.ndv.outputPanel.getTableRows()).toHaveCount(4);
|
|
await expect(n8n.ndv.outputPanel.getTbodyCell(0, 1)).toContainText('Jon_Ebert@yahoo.com');
|
|
|
|
await n8n.ndv.changeOutputRunSelector('1 of 2 (2 items, 1 sub-execution)');
|
|
await expect(n8n.ndv.outputPanel.getRunSelectorInput()).toHaveValue(
|
|
'1 of 2 (2 items, 1 sub-execution)',
|
|
);
|
|
await expect(n8n.ndv.outputPanel.getTableHeaders()).toHaveCount(6);
|
|
await expect(n8n.ndv.outputPanel.getTableHeader(0)).toHaveText('uid');
|
|
await expect(n8n.ndv.outputPanel.getTableRows()).toHaveCount(3);
|
|
await expect(n8n.ndv.outputPanel.getTbodyCell(0, 1)).toContainText('Terry.Dach@hotmail.com');
|
|
});
|
|
|
|
test('(Run once for each item/ Wait for Sub-workflow completion) param3', async ({ n8n }) => {
|
|
await n8n.canvas.openNode('Execute Workflow with param3');
|
|
|
|
await expect(n8n.ndv.outputPanel.getRunSelectorInput()).toHaveValue(
|
|
'2 of 2 (3 items, 3 sub-executions)',
|
|
);
|
|
await expect(n8n.ndv.outputPanel.getTableHeaders()).toHaveCount(7);
|
|
await expect(n8n.ndv.outputPanel.getTableHeader(1)).toHaveText('uid');
|
|
await expect(n8n.ndv.outputPanel.getTableRows()).toHaveCount(4);
|
|
await expect(n8n.ndv.outputPanel.getTbodyCell(0, 0).locator('a')).toHaveAttribute(
|
|
'href',
|
|
/.+/,
|
|
);
|
|
await expect(n8n.ndv.outputPanel.getTbodyCell(0, 2)).toContainText('Jon_Ebert@yahoo.com');
|
|
|
|
await n8n.ndv.changeOutputRunSelector('1 of 2 (2 items, 2 sub-executions)');
|
|
await expect(n8n.ndv.outputPanel.getRunSelectorInput()).toHaveValue(
|
|
'1 of 2 (2 items, 2 sub-executions)',
|
|
);
|
|
await expect(n8n.ndv.outputPanel.getTableHeaders()).toHaveCount(7);
|
|
await expect(n8n.ndv.outputPanel.getTableHeader(1)).toHaveText('uid');
|
|
await expect(n8n.ndv.outputPanel.getTableRows()).toHaveCount(3);
|
|
|
|
await expect(n8n.ndv.outputPanel.getTbodyCell(0, 0).locator('a')).toHaveAttribute(
|
|
'href',
|
|
/.+/,
|
|
);
|
|
await expect(n8n.ndv.outputPanel.getTbodyCell(0, 2)).toContainText('Terry.Dach@hotmail.com');
|
|
});
|
|
});
|
|
});
|