diff --git a/cypress/e2e/11-inline-expression-editor.cy.ts b/cypress/e2e/11-inline-expression-editor.cy.ts index 1d95b2db8e889..45fb7752edf18 100644 --- a/cypress/e2e/11-inline-expression-editor.cy.ts +++ b/cypress/e2e/11-inline-expression-editor.cy.ts @@ -20,33 +20,33 @@ describe('Inline expression editor', () => { it('should resolve primitive resolvables', () => { WorkflowPage.getters.inlineExpressionEditorInput().clear(); - WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); + WorkflowPage.getters.inlineExpressionEditorInput().click().type('{{'); WorkflowPage.getters.inlineExpressionEditorInput().type('1 + 2'); WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^3$/); WorkflowPage.getters.inlineExpressionEditorInput().clear(); - WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); + WorkflowPage.getters.inlineExpressionEditorInput().click().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().click().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().click().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().click().type('{{'); WorkflowPage.getters .inlineExpressionEditorInput() .type('{ a: 1 }.a', { parseSpecialCharSequences: false }); @@ -55,13 +55,13 @@ describe('Inline expression editor', () => { it('should resolve array resolvables', () => { WorkflowPage.getters.inlineExpressionEditorInput().clear(); - WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); + WorkflowPage.getters.inlineExpressionEditorInput().click().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().click().type('{{'); WorkflowPage.getters.inlineExpressionEditorInput().type('[1, 2, 3]'); WorkflowPage.getters.inlineExpressionEditorInput().type('[0]'); WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^1$/); @@ -81,7 +81,7 @@ describe('Inline expression editor', () => { it('should resolve $parameter[]', () => { WorkflowPage.getters.inlineExpressionEditorInput().clear(); - WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); + WorkflowPage.getters.inlineExpressionEditorInput().click().type('{{'); // Resolving $parameter is slow, especially on CI runner WorkflowPage.getters.inlineExpressionEditorInput().type('$parameter["operation"]'); WorkflowPage.getters.inlineExpressionEditorOutput().should('have.text', 'getAll'); @@ -90,19 +90,19 @@ describe('Inline expression editor', () => { it('should resolve input: $json,$input,$(nodeName)', () => { // Previous nodes have not run, input is empty WorkflowPage.getters.inlineExpressionEditorInput().clear(); - WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); + WorkflowPage.getters.inlineExpressionEditorInput().click().type('{{'); WorkflowPage.getters.inlineExpressionEditorInput().type('$json.myStr'); WorkflowPage.getters .inlineExpressionEditorOutput() .should('have.text', '[Execute previous nodes for preview]'); WorkflowPage.getters.inlineExpressionEditorInput().clear(); - WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); + WorkflowPage.getters.inlineExpressionEditorInput().click().type('{{'); WorkflowPage.getters.inlineExpressionEditorInput().type('$input.item.json.myStr'); WorkflowPage.getters .inlineExpressionEditorOutput() .should('have.text', '[Execute previous nodes for preview]'); WorkflowPage.getters.inlineExpressionEditorInput().clear(); - WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); + WorkflowPage.getters.inlineExpressionEditorInput().click().type('{{'); WorkflowPage.getters .inlineExpressionEditorInput() .type("$('Schedule Trigger').item.json.myStr"); @@ -118,15 +118,15 @@ describe('Inline expression editor', () => { // Previous nodes have run, input can be resolved WorkflowPage.getters.inlineExpressionEditorInput().clear(); - WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); + WorkflowPage.getters.inlineExpressionEditorInput().click().type('{{'); WorkflowPage.getters.inlineExpressionEditorInput().type('$json.myStr'); WorkflowPage.getters.inlineExpressionEditorOutput().should('have.text', 'Monday'); WorkflowPage.getters.inlineExpressionEditorInput().clear(); - WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); + WorkflowPage.getters.inlineExpressionEditorInput().click().type('{{'); WorkflowPage.getters.inlineExpressionEditorInput().type('$input.item.json.myStr'); WorkflowPage.getters.inlineExpressionEditorOutput().should('have.text', 'Monday'); WorkflowPage.getters.inlineExpressionEditorInput().clear(); - WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); + WorkflowPage.getters.inlineExpressionEditorInput().click().type('{{'); WorkflowPage.getters .inlineExpressionEditorInput() .type("$('Schedule Trigger').item.json.myStr"); diff --git a/cypress/e2e/9-expression-editor-modal.cy.ts b/cypress/e2e/9-expression-editor-modal.cy.ts index 66758cabd3e0f..4b3dd929b973b 100644 --- a/cypress/e2e/9-expression-editor-modal.cy.ts +++ b/cypress/e2e/9-expression-editor-modal.cy.ts @@ -20,16 +20,16 @@ describe('Expression editor modal', () => { it('should resolve primitive resolvables', () => { WorkflowPage.getters.expressionModalInput().clear(); - WorkflowPage.getters.expressionModalInput().type('{{ 1 + 2'); + WorkflowPage.getters.expressionModalInput().click().type('{{ 1 + 2'); WorkflowPage.getters.expressionModalOutput().contains(/^3$/); WorkflowPage.getters.expressionModalInput().clear(); - WorkflowPage.getters.expressionModalInput().type('{{ "ab" + "cd"'); + WorkflowPage.getters.expressionModalInput().click().type('{{ "ab" + "cd"'); WorkflowPage.getters.expressionModalOutput().contains(/^abcd$/); WorkflowPage.getters.expressionModalInput().clear(); - WorkflowPage.getters.expressionModalInput().type('{{ true && false'); + WorkflowPage.getters.expressionModalInput().click().type('{{ true && false'); WorkflowPage.getters.expressionModalOutput().contains(/^false$/); }); @@ -37,6 +37,7 @@ describe('Expression editor modal', () => { WorkflowPage.getters.expressionModalInput().clear(); WorkflowPage.getters .expressionModalInput() + .click() .type('{{ { a : 1 }', { parseSpecialCharSequences: false }); WorkflowPage.getters.expressionModalOutput().contains(/^\[Object: \{"a": 1\}\]$/); @@ -44,18 +45,19 @@ describe('Expression editor modal', () => { WorkflowPage.getters .expressionModalInput() + .click() .type('{{ { a : 1 }.a', { parseSpecialCharSequences: false }); WorkflowPage.getters.expressionModalOutput().contains(/^1$/); }); it('should resolve array resolvables', () => { WorkflowPage.getters.expressionModalInput().clear(); - WorkflowPage.getters.expressionModalInput().type('{{ [1, 2, 3]'); + WorkflowPage.getters.expressionModalInput().click().type('{{ [1, 2, 3]'); WorkflowPage.getters.expressionModalOutput().contains(/^\[Array: \[1,2,3\]\]$/); WorkflowPage.getters.expressionModalInput().clear(); - WorkflowPage.getters.expressionModalInput().type('{{ [1, 2, 3][0]'); + WorkflowPage.getters.expressionModalInput().click().type('{{ [1, 2, 3][0]'); WorkflowPage.getters.expressionModalOutput().contains(/^1$/); }); }); @@ -73,19 +75,19 @@ describe('Expression editor modal', () => { it('should resolve $parameter[]', () => { WorkflowPage.getters.expressionModalInput().clear(); - WorkflowPage.getters.expressionModalInput().type('{{ $parameter["operation"]'); + WorkflowPage.getters.expressionModalInput().click().type('{{ $parameter["operation"]'); WorkflowPage.getters.expressionModalOutput().should('have.text', 'getAll'); }); it('should resolve input: $json,$input,$(nodeName)', () => { // Previous nodes have not run, input is empty WorkflowPage.getters.expressionModalInput().clear(); - WorkflowPage.getters.expressionModalInput().type('{{ $json.myStr'); + WorkflowPage.getters.expressionModalInput().click().type('{{ $json.myStr'); WorkflowPage.getters .expressionModalOutput() .should('have.text', '[Execute previous nodes for preview]'); WorkflowPage.getters.expressionModalInput().clear(); - WorkflowPage.getters.expressionModalInput().type('{{ $input.item.json.myStr'); + WorkflowPage.getters.expressionModalInput().click().type('{{ $input.item.json.myStr'); WorkflowPage.getters .expressionModalOutput() .should('have.text', '[Execute previous nodes for preview]'); @@ -104,10 +106,10 @@ describe('Expression editor modal', () => { // Previous nodes have run, input can be resolved WorkflowPage.getters.expressionModalInput().clear(); - WorkflowPage.getters.expressionModalInput().type('{{ $json.myStr'); + WorkflowPage.getters.expressionModalInput().click().type('{{ $json.myStr'); WorkflowPage.getters.expressionModalOutput().should('have.text', 'Monday'); WorkflowPage.getters.expressionModalInput().clear(); - WorkflowPage.getters.expressionModalInput().type('{{ $input.item.json.myStr'); + WorkflowPage.getters.expressionModalInput().click().type('{{ $input.item.json.myStr'); WorkflowPage.getters.expressionModalOutput().should('have.text', 'Monday'); WorkflowPage.getters.expressionModalInput().clear(); WorkflowPage.getters.expressionModalInput().type("{{ $('Schedule Trigger').item.json.myStr");