Files
alighasami 3d5eaf9445
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
first commit
2026-03-17 16:22:57 +03:30

68 lines
2.5 KiB
TypeScript

import { test, expect } from '../../../fixtures/base';
test.describe('Node Creator Actions', {
annotation: [
{ type: 'owner', description: 'Adore' },
],
}, () => {
test.beforeEach(async ({ n8n }) => {
await n8n.start.fromBlankCanvas();
});
test('should add node to canvas from actions panel', async ({ n8n }) => {
const editImageNode = 'Edit Image';
await n8n.canvas.nodeCreator.open();
await n8n.canvas.nodeCreator.searchFor(editImageNode);
await n8n.canvas.nodeCreator.selectItem(editImageNode);
await expect(n8n.canvas.nodeCreator.getActiveSubcategory()).toContainText(editImageNode);
await n8n.canvas.nodeCreator.selectItem('Crop Image');
await expect(n8n.ndv.getContainer()).toBeVisible();
await n8n.page.keyboard.press('Escape');
await expect(n8n.canvas.getCanvasNodes()).toHaveCount(2);
});
test('should search through actions and confirm added action', async ({ n8n }) => {
await n8n.canvas.nodeCreator.open();
await n8n.canvas.nodeCreator.searchFor('ftp');
await n8n.canvas.nodeCreator.selectItem('FTP');
await expect(n8n.canvas.nodeCreator.getActiveSubcategory()).toContainText('FTP');
await n8n.canvas.nodeCreator.clearSearch();
await n8n.canvas.nodeCreator.searchFor('rename');
await n8n.canvas.nodeCreator.selectItem('Rename');
await expect(n8n.ndv.getContainer()).toBeVisible();
await n8n.page.keyboard.press('Escape');
await expect(n8n.canvas.getCanvasNodes()).toHaveCount(2);
});
test('should show multiple actions for multi-action nodes', async ({ n8n }) => {
await n8n.canvas.nodeCreator.open();
await n8n.canvas.nodeCreator.searchFor('OpenWeatherMap');
await n8n.canvas.nodeCreator.selectItem('OpenWeatherMap');
await expect(n8n.canvas.nodeCreator.getActiveSubcategory()).toContainText('OpenWeatherMap');
await expect(n8n.canvas.nodeCreator.getNodeItems().first()).toBeVisible();
await expect(n8n.canvas.nodeCreator.getNodeItems().nth(1)).toBeVisible();
await n8n.canvas.nodeCreator.getNodeItems().first().click();
await n8n.page.keyboard.press('Escape');
await expect(n8n.canvas.getCanvasNodes()).toHaveCount(2);
});
test('should add node with specific operation configuration', async ({ n8n }) => {
await n8n.canvas.nodeCreator.open();
await n8n.canvas.nodeCreator.searchFor('Slack');
await n8n.canvas.nodeCreator.selectItem('Slack');
await expect(n8n.canvas.nodeCreator.getActiveSubcategory()).toContainText('Slack');
await n8n.canvas.nodeCreator.getNodeItems().first().click();
await n8n.page.keyboard.press('Escape');
await expect(n8n.canvas.getCanvasNodes()).toHaveCount(1);
});
});