mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-16 17:46:45 +00:00
79 lines
3.7 KiB
TypeScript
79 lines
3.7 KiB
TypeScript
import { E2E_TEST_NODE_NAME } from '../../config/constants';
|
|
import { test, expect } from '../../fixtures/base';
|
|
|
|
test.describe('Resource Mapper', () => {
|
|
test.beforeEach(async ({ n8n }) => {
|
|
await n8n.goHome();
|
|
await n8n.workflows.clickAddWorkflowButton();
|
|
await n8n.canvas.addNode(E2E_TEST_NODE_NAME, { action: 'Resource Mapping Component' });
|
|
});
|
|
|
|
test('should not retrieve list options when required params throw errors', async ({ n8n }) => {
|
|
const fieldsContainer = n8n.ndv.getResourceMapperFieldsContainer();
|
|
await expect(fieldsContainer).toBeVisible();
|
|
await expect(n8n.ndv.getResourceMapperParameterInputs()).toHaveCount(3);
|
|
|
|
await n8n.ndv.activateParameterExpressionEditor('fieldId');
|
|
await n8n.ndv.typeInExpressionEditor("{{ $('unknown')");
|
|
await expect(n8n.ndv.getInlineExpressionEditorPreview()).toContainText("node doesn't exist");
|
|
|
|
await n8n.ndv.refreshResourceMapperColumns();
|
|
|
|
await expect(n8n.ndv.getResourceMapperFieldsContainer()).toHaveCount(0);
|
|
});
|
|
|
|
test('should retrieve list options when optional params throw errors', async ({ n8n }) => {
|
|
await n8n.ndv.activateParameterExpressionEditor('otherField');
|
|
await n8n.ndv.typeInExpressionEditor("{{ $('unknown')");
|
|
await expect(n8n.ndv.getInlineExpressionEditorPreview()).toContainText("node doesn't exist");
|
|
|
|
await n8n.ndv.refreshResourceMapperColumns();
|
|
|
|
await expect(n8n.ndv.getResourceMapperFieldsContainer()).toBeVisible();
|
|
await expect(n8n.ndv.getResourceMapperParameterInputs()).toHaveCount(3);
|
|
});
|
|
|
|
test('should correctly delete single field', async ({ n8n }) => {
|
|
await n8n.ndv.fillParameterInputByName('id', '001');
|
|
await n8n.ndv.fillParameterInputByName('name', 'John');
|
|
await n8n.ndv.fillParameterInputByName('age', '30');
|
|
await n8n.ndv.execute();
|
|
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'id' })).toBeVisible();
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'name' })).toBeVisible();
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'age' })).toBeVisible();
|
|
|
|
await n8n.ndv.getResourceMapperRemoveFieldButton('name').click();
|
|
await n8n.ndv.execute();
|
|
|
|
await expect(n8n.ndv.getParameterInput('id')).toBeVisible();
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'id' })).toBeVisible();
|
|
await expect(n8n.ndv.getParameterInput('age')).toBeVisible();
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'age' })).toBeVisible();
|
|
await expect(n8n.ndv.getParameterInput('name')).toHaveCount(0);
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'name' })).toHaveCount(0);
|
|
});
|
|
|
|
test('should correctly delete all fields', async ({ n8n }) => {
|
|
await n8n.ndv.fillParameterInputByName('id', '001');
|
|
await n8n.ndv.fillParameterInputByName('name', 'John');
|
|
await n8n.ndv.fillParameterInputByName('age', '30');
|
|
await n8n.ndv.execute();
|
|
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'id' })).toBeVisible();
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'name' })).toBeVisible();
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'age' })).toBeVisible();
|
|
|
|
await n8n.ndv.getResourceMapperColumnsOptionsButton().click();
|
|
await n8n.ndv.getResourceMapperRemoveAllFieldsOption().click();
|
|
await n8n.ndv.execute();
|
|
|
|
await expect(n8n.ndv.getParameterInput('id')).toBeVisible();
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'id' })).toBeVisible();
|
|
await expect(n8n.ndv.getParameterInput('name')).toHaveCount(0);
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'name' })).toHaveCount(0);
|
|
await expect(n8n.ndv.getParameterInput('age')).toHaveCount(0);
|
|
await expect(n8n.ndv.getOutputTableHeaders().filter({ hasText: 'age' })).toHaveCount(0);
|
|
});
|
|
});
|