Skip to content

Commit 0704196

Browse files
authored
test: Update start.fromBlankCanvas (#22115)
1 parent 1b6891c commit 0704196

20 files changed

+28
-68
lines changed

packages/testing/playwright/composables/TestEntryComposer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ export class TestEntryComposer {
2222
* Start UI test from a blank canvas (assumes already on canvas)
2323
*/
2424
async fromBlankCanvas() {
25-
await this.n8n.goHome();
26-
await this.n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
25+
await this.n8n.navigate.toWorkflow('new');
2726
// Verify we're on canvas
2827
await this.n8n.canvas.canvasPane().isVisible();
2928
}

packages/testing/playwright/tests/ui/10-undo-redo.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ import { resolveFromRoot } from '../../utils/path-helper';
1313

1414
test.describe('Undo/Redo', () => {
1515
test.beforeEach(async ({ n8n }) => {
16-
await n8n.goHome();
17-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
16+
await n8n.start.fromBlankCanvas();
1817
});
1918

2019
test('should undo/redo deleting node using context menu', async ({ n8n }) => {

packages/testing/playwright/tests/ui/12-canvas-actions.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ import { test, expect } from '../../fixtures/base';
99

1010
test.describe('Canvas Actions', () => {
1111
test.beforeEach(async ({ n8n }) => {
12-
await n8n.goHome();
13-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
12+
await n8n.start.fromBlankCanvas();
1413
});
1514

1615
test('should add first step', async ({ n8n }) => {

packages/testing/playwright/tests/ui/13-pinning.spec.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,11 @@ test.describe('Data pinning', () => {
2828
const maxPinnedDataSize = 16384;
2929

3030
test.beforeEach(async ({ n8n }) => {
31-
await n8n.goHome();
31+
await n8n.start.fromBlankCanvas();
3232
});
3333

3434
test.describe('Pin data operations', () => {
3535
test('should be able to pin node output', async ({ n8n }) => {
36-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
3736
await n8n.canvas.addNode(NODES.SCHEDULE_TRIGGER);
3837

3938
await n8n.ndv.execute();
@@ -52,7 +51,6 @@ test.describe('Data pinning', () => {
5251
});
5352

5453
test('should be able to set custom pinned data', async ({ n8n }) => {
55-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
5654
await n8n.canvas.addNode(NODES.SCHEDULE_TRIGGER);
5755

5856
await expect(n8n.ndv.getEditPinnedDataButton()).toBeVisible();
@@ -74,7 +72,6 @@ test.describe('Data pinning', () => {
7472
});
7573

7674
test('should display pin data edit button for Webhook node', async ({ n8n }) => {
77-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
7875
await n8n.canvas.addNode(NODES.WEBHOOK);
7976

8077
const runDataHeader = n8n.ndv.getRunDataPaneHeader();
@@ -83,7 +80,6 @@ test.describe('Data pinning', () => {
8380
});
8481

8582
test('should duplicate pinned data when duplicating node', async ({ n8n }) => {
86-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
8783
await n8n.canvas.addNode(NODES.SCHEDULE_TRIGGER);
8884
await n8n.ndv.close();
8985

@@ -117,7 +113,6 @@ test.describe('Data pinning', () => {
117113
});
118114
expect(actualMaxSize).toBe(maxPinnedDataSize);
119115

120-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
121116
await n8n.canvas.addNode(NODES.SCHEDULE_TRIGGER);
122117
await n8n.ndv.close();
123118

@@ -138,7 +133,6 @@ test.describe('Data pinning', () => {
138133
});
139134

140135
test('should show error when pin data JSON is invalid', async ({ n8n }) => {
141-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
142136
await n8n.canvas.addNode(NODES.SCHEDULE_TRIGGER);
143137
await n8n.ndv.close();
144138

@@ -158,7 +152,6 @@ test.describe('Data pinning', () => {
158152

159153
test.describe('Advanced pinning scenarios', () => {
160154
test('should be able to reference paired items in node before pinned data', async ({ n8n }) => {
161-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
162155
await n8n.canvas.addNode(NODES.MANUAL_TRIGGER);
163156

164157
await n8n.canvas.addNode(NODES.HTTP_REQUEST);

packages/testing/playwright/tests/ui/14-data-transformation-expressions.spec.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { n8nPage } from '../../pages/n8nPage';
33

44
test.describe('Data transformation expressions', () => {
55
test.beforeEach(async ({ n8n }) => {
6-
await n8n.goHome();
6+
await n8n.start.fromBlankCanvas();
77
});
88

99
async function addEditFields(n8n: n8nPage): Promise<void> {
@@ -16,8 +16,6 @@ test.describe('Data transformation expressions', () => {
1616
}
1717

1818
test('$json + native string methods', async ({ n8n }) => {
19-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
20-
2119
await n8n.canvas.addNode('Schedule Trigger');
2220
await n8n.ndv.setPinnedData([{ myStr: 'Monday' }]);
2321
await n8n.ndv.close();
@@ -38,8 +36,6 @@ test.describe('Data transformation expressions', () => {
3836
});
3937

4038
test('$json + n8n string methods', async ({ n8n }) => {
41-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
42-
4339
await n8n.canvas.addNode('Schedule Trigger');
4440
await n8n.ndv.setPinnedData([{ myStr: '[email protected] is an email' }]);
4541
await n8n.ndv.close();
@@ -59,8 +55,6 @@ test.describe('Data transformation expressions', () => {
5955
});
6056

6157
test('$json + native numeric methods', async ({ n8n }) => {
62-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
63-
6458
await n8n.canvas.addNode('Schedule Trigger');
6559
await n8n.ndv.setPinnedData([{ myNum: 9.123 }]);
6660
await n8n.ndv.close();
@@ -80,8 +74,6 @@ test.describe('Data transformation expressions', () => {
8074
});
8175

8276
test('$json + n8n numeric methods', async ({ n8n }) => {
83-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
84-
8577
await n8n.canvas.addNode('Schedule Trigger');
8678
await n8n.ndv.setPinnedData([{ myStr: '[email protected] is an email' }]);
8779
await n8n.ndv.close();
@@ -101,8 +93,6 @@ test.describe('Data transformation expressions', () => {
10193
});
10294

10395
test('$json + native array access', async ({ n8n }) => {
104-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
105-
10696
await n8n.canvas.addNode('Schedule Trigger');
10797
await n8n.ndv.setPinnedData([{ myArr: [1, 2, 3] }]);
10898
await n8n.ndv.close();
@@ -123,8 +113,6 @@ test.describe('Data transformation expressions', () => {
123113
});
124114

125115
test('$json + n8n array methods', async ({ n8n }) => {
126-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
127-
128116
await n8n.canvas.addNode('Schedule Trigger');
129117
await n8n.ndv.setPinnedData([{ myArr: [1, 2, 3] }]);
130118
await n8n.ndv.close();

packages/testing/playwright/tests/ui/15-scheduler-node.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@ import { test, expect } from '../../fixtures/base';
22

33
test.describe('Schedule Trigger node', () => {
44
test.beforeEach(async ({ n8n }) => {
5-
await n8n.goHome();
5+
await n8n.start.fromBlankCanvas();
66
});
77

88
test('should execute schedule trigger node and return timestamp in output', async ({ n8n }) => {
9-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
109
await n8n.canvas.addNode('Schedule Trigger');
1110

1211
await n8n.ndv.execute();

packages/testing/playwright/tests/ui/17-sharing.spec.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ test.describe('@isolated', () => {
4444
await n8n.workflowSharingModal.save();
4545
await n8n.canvas.saveWorkflow();
4646

47-
await n8n.navigate.toWorkflows();
48-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
47+
await n8n.navigate.toWorkflow('new');
4948
await n8n.canvas.importWorkflow('Test_workflow_1.json', 'Workflow W2');
5049
});
5150

@@ -365,8 +364,7 @@ test.describe('@isolated', () => {
365364
await n8n.navigate.toCredentials();
366365
await n8n.credentialsComposer.createFromList('Notion API', { apiKey: 'test' });
367366

368-
await n8n.navigate.toWorkflows();
369-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
367+
await n8n.navigate.toWorkflow('new');
370368

371369
await n8n.canvas.addNode('Notion');
372370
await n8n.canvas.getFirstAction().click();
@@ -383,8 +381,7 @@ test.describe('@isolated', () => {
383381

384382
await n8n.credentialsComposer.createFromList('Notion API', { apiKey: 'test' });
385383

386-
await n8n.navigate.toWorkflows();
387-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
384+
await n8n.navigate.toWorkflow('new');
388385
await n8n.canvas.setWorkflowName(workflowName);
389386
await n8n.page.keyboard.press('Enter');
390387
await n8n.canvas.openShareModal();
@@ -430,8 +427,7 @@ test.describe('@isolated', () => {
430427
await n8n.api.signin('member', 0);
431428
await n8n.navigate.toCredentials();
432429
await n8n.credentialsComposer.createFromList('Notion API', { apiKey: 'test' });
433-
await n8n.navigate.toWorkflows();
434-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
430+
await n8n.navigate.toWorkflow('new');
435431
await n8n.canvas.setWorkflowName(workflowName);
436432
await n8n.page.keyboard.press('Enter');
437433
await n8n.canvas.openShareModal();
@@ -465,8 +461,7 @@ test.describe('@isolated', () => {
465461
await n8n.credentials.credentialModal.close();
466462

467463
await n8n.api.signin('owner');
468-
await n8n.navigate.toWorkflows();
469-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
464+
await n8n.navigate.toWorkflow('new');
470465
await n8n.canvas.addNode('Notion');
471466
await n8n.canvas.getFirstAction().click();
472467

packages/testing/playwright/tests/ui/2270-ADO-opening-webhook-ndv-marks-workflow-as-unsaved.spec.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ import { test, expect } from '../../fixtures/base';
22

33
test.describe('ADO-2270 Save button resets on webhook node open', () => {
44
test('should not reset the save button if webhook node is opened and closed', async ({ n8n }) => {
5-
await n8n.goHome();
6-
7-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
5+
await n8n.start.fromBlankCanvas();
86
await n8n.canvas.addNode('Webhook');
97

108
await n8n.page.keyboard.press('Escape');

packages/testing/playwright/tests/ui/28-debug.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ test.describe('Debug mode', () => {
2424

2525
// Helper function to create basic workflow
2626
async function createBasicWorkflow(n8n: n8nPage, url = URLS.FAILING) {
27-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
27+
await n8n.navigate.toWorkflow('new');
2828
await n8n.canvas.addNode('Manual Trigger');
2929
await n8n.canvas.addNode('HTTP Request');
3030
await n8n.ndv.fillParameterInput('URL', url);

packages/testing/playwright/tests/ui/28-resource-mapper.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ import { test, expect } from '../../fixtures/base';
33

44
test.describe('Resource Mapper', () => {
55
test.beforeEach(async ({ n8n }) => {
6-
await n8n.goHome();
7-
await n8n.sideBar.addWorkflowFromUniversalAdd('Personal');
6+
await n8n.start.fromBlankCanvas();
87
await n8n.canvas.addNode(E2E_TEST_NODE_NAME, { action: 'Resource Mapping Component' });
98
});
109

0 commit comments

Comments
 (0)