mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 01:56:46 +00:00
* fix: Unify expression error behavior for v1 * fix: Add `package.json` to `tsconfig.build.json` * fix: Make `isFrontend` a constant * fix: Use CommonJS require to read version * fix: Use `JSON.parse()` and `fs.readFileSync()` * feat(editor): Make WF name a link on /executions (#6354) * make wf name a link in exec view * link color * make wf name a link in exec view * link color --------- Co-authored-by: Alex Grozav <alex@grozav.com> * fix: Try restoring inclusions in tsconfig files * fix: Try with copy * refactor: Switch base branch and remove global toggle * chore: Remove unrelated changes * chore: Restore lockfile * fix: Ensure all expression errors fail executions * uncaught ExpressionErrors should not fail e2e tests --------- Co-authored-by: romainminaud <romain.minaud@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
84 lines
3.6 KiB
TypeScript
84 lines
3.6 KiB
TypeScript
import { randFirstName, randLastName } from '@ngneat/falso';
|
|
import { DEFAULT_USER_EMAIL, DEFAULT_USER_PASSWORD } from '../constants';
|
|
import { WorkflowPage as WorkflowPageClass } from '../pages/workflow';
|
|
|
|
const email = DEFAULT_USER_EMAIL;
|
|
const password = DEFAULT_USER_PASSWORD;
|
|
const firstName = randFirstName();
|
|
const lastName = randLastName();
|
|
|
|
const WorkflowPage = new WorkflowPageClass();
|
|
|
|
describe('Inline expression editor', () => {
|
|
before(() => {
|
|
cy.setup({ email, firstName, lastName, password });
|
|
});
|
|
|
|
beforeEach(() => {
|
|
cy.signin({ email, password });
|
|
WorkflowPage.actions.visit();
|
|
WorkflowPage.actions.addInitialNodeToCanvas('Manual');
|
|
WorkflowPage.actions.addNodeToCanvas('Hacker News');
|
|
WorkflowPage.actions.openNode('Hacker News');
|
|
WorkflowPage.actions.openInlineExpressionEditor();
|
|
|
|
cy.on('uncaught:exception', (err) => err.name !== 'ExpressionError');
|
|
});
|
|
|
|
it('should resolve primitive resolvables', () => {
|
|
WorkflowPage.getters.inlineExpressionEditorInput().clear();
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('{{');
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('1 + 2');
|
|
WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^3$/);
|
|
WorkflowPage.getters.inlineExpressionEditorInput().clear();
|
|
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('{{');
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('"ab"');
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('{rightArrow}+');
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('"cd"');
|
|
WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^abcd$/);
|
|
WorkflowPage.getters.inlineExpressionEditorInput().clear();
|
|
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('{{');
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('true && false');
|
|
WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^false$/);
|
|
});
|
|
|
|
it('should resolve object resolvables', () => {
|
|
WorkflowPage.getters.inlineExpressionEditorInput().clear();
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('{{');
|
|
WorkflowPage.getters
|
|
.inlineExpressionEditorInput()
|
|
.type('{ a: 1 }', { parseSpecialCharSequences: false });
|
|
WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^\[Object: \{"a": 1\}\]$/);
|
|
WorkflowPage.getters.inlineExpressionEditorInput().clear();
|
|
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('{{');
|
|
WorkflowPage.getters
|
|
.inlineExpressionEditorInput()
|
|
.type('{ a: 1 }.a', { parseSpecialCharSequences: false });
|
|
WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^1$/);
|
|
});
|
|
|
|
it('should resolve array resolvables', () => {
|
|
WorkflowPage.getters.inlineExpressionEditorInput().clear();
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('{{');
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('[1, 2, 3]');
|
|
WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^\[Array: \[1,2,3\]\]$/);
|
|
|
|
WorkflowPage.getters.inlineExpressionEditorInput().clear();
|
|
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('{{');
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('[1, 2, 3]');
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('[0]');
|
|
WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^1$/);
|
|
});
|
|
|
|
it('should resolve $parameter[]', () => {
|
|
WorkflowPage.getters.inlineExpressionEditorInput().clear();
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('{{');
|
|
WorkflowPage.getters.inlineExpressionEditorInput().type('$parameter["operation"]');
|
|
WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^get$/);
|
|
});
|
|
});
|