Revert "feat(editor): Change default node names depending on node ope… (#16169)

This commit is contained in:
Charlie Kolb
2025-06-10 11:34:08 +02:00
committed by GitHub
parent 53b6812592
commit d17a15ef9a
21 changed files with 182 additions and 574 deletions

View File

@@ -50,7 +50,7 @@ describe('Inline expression editor', () => {
beforeEach(() => {
WorkflowPage.actions.addNodeToCanvas('Hacker News');
WorkflowPage.actions.zoomToFit();
WorkflowPage.actions.openNode('Get many items');
WorkflowPage.actions.openNode('Hacker News');
WorkflowPage.actions.openInlineExpressionEditor();
});
@@ -112,7 +112,7 @@ describe('Inline expression editor', () => {
WorkflowPage.actions.addNodeToCanvas('No Operation');
WorkflowPage.actions.addNodeToCanvas('Hacker News');
WorkflowPage.actions.zoomToFit();
WorkflowPage.actions.openNode('Get many items');
WorkflowPage.actions.openNode('Hacker News');
WorkflowPage.actions.openInlineExpressionEditor();
});
@@ -150,7 +150,7 @@ describe('Inline expression editor', () => {
// Run workflow
ndv.actions.close();
WorkflowPage.actions.executeNode('No Operation, do nothing', { anchor: 'topLeft' });
WorkflowPage.actions.openNode('Get many items');
WorkflowPage.actions.openNode('Hacker News');
WorkflowPage.actions.openInlineExpressionEditor();
// Previous nodes have run, input can be resolved

View File

@@ -96,7 +96,7 @@ describe('Sharing', { disableAutoLogin: true }, () => {
ndv.actions.close();
workflowPage.actions.saveWorkflowOnButtonClick();
workflowPage.actions.openNode('Append a block');
workflowPage.actions.openNode('Notion');
ndv.getters.credentialInput().should('have.value', 'Credential C1').should('be.disabled');
ndv.actions.close();
});
@@ -112,7 +112,7 @@ describe('Sharing', { disableAutoLogin: true }, () => {
ndv.actions.close();
workflowPage.actions.saveWorkflowOnButtonClick();
workflowPage.actions.openNode('Append a block');
workflowPage.actions.openNode('Notion');
ndv.getters
.credentialInput()
.find('input')
@@ -136,7 +136,7 @@ describe('Sharing', { disableAutoLogin: true }, () => {
cy.visit(workflowsPage.url);
workflowsPage.getters.workflowCards().should('have.length', 2);
workflowsPage.getters.workflowCardContent('Workflow W1').click();
workflowPage.actions.openNode('Append a block');
workflowPage.actions.openNode('Notion');
ndv.getters
.credentialInput()
.find('input')

View File

@@ -157,7 +157,7 @@ describe('Projects', { disableAutoLogin: true }, () => {
expect(interception.request.query).not.to.have.property('projectId');
expect(interception.request.query).to.have.property('workflowId');
});
workflowPage.getters.canvasNodeByName('Append a block').should('be.visible').dblclick();
workflowPage.getters.canvasNodeByName(NOTION_NODE_NAME).should('be.visible').dblclick();
workflowPage.getters.nodeCredentialsSelect().first().click();
getVisibleSelect()
.find('li')
@@ -182,7 +182,7 @@ describe('Projects', { disableAutoLogin: true }, () => {
workflowPage.actions.saveWorkflowOnButtonClick();
cy.reload();
workflowPage.getters.canvasNodeByName('Append a block').should('be.visible').dblclick();
workflowPage.getters.canvasNodeByName(NOTION_NODE_NAME).should('be.visible').dblclick();
workflowPage.getters.nodeCredentialsSelect().first().click();
getVisibleSelect()
.find('li')
@@ -211,7 +211,7 @@ describe('Projects', { disableAutoLogin: true }, () => {
workflowPage.actions.saveWorkflowOnButtonClick();
cy.reload();
workflowPage.getters.canvasNodeByName('Append a block').should('be.visible').dblclick();
workflowPage.getters.canvasNodeByName(NOTION_NODE_NAME).should('be.visible').dblclick();
workflowPage.getters.nodeCredentialsSelect().first().click();
getVisibleSelect()
.find('li')
@@ -280,7 +280,7 @@ describe('Projects', { disableAutoLogin: true }, () => {
workflowsPage.getters.workflowCards().first().findChildByTestId('card-content').click();
// Check if the credential can be changed
workflowPage.getters.canvasNodeByName('Append a block').should('be.visible').dblclick();
workflowPage.getters.canvasNodeByName(NOTION_NODE_NAME).should('be.visible').dblclick();
ndv.getters.credentialInput().find('input').should('be.enabled');
});

View File

@@ -316,7 +316,7 @@ describe('Node Creator', () => {
nodeCreatorFeature.getters.getCreatorItem('Create a credential').click();
NDVModal.actions.close();
WorkflowPage.actions.deleteNode('When clicking Execute workflow');
WorkflowPage.getters.canvasNodePlusEndpointByName('Create a credential').click();
WorkflowPage.getters.canvasNodePlusEndpointByName('n8n').click();
nodeCreatorFeature.getters.searchBar().find('input').clear().type('n8n');
nodeCreatorFeature.getters.getCreatorItem('n8n').click();
nodeCreatorFeature.getters.getCategoryItem('Actions').click();
@@ -324,11 +324,7 @@ describe('Node Creator', () => {
NDVModal.actions.close();
WorkflowPage.getters.canvasNodes().should('have.length', 2);
WorkflowPage.actions.zoomToFit();
WorkflowPage.actions.addNodeBetweenNodes(
'Create a credential',
'Create a credential1',
'Summarize',
);
WorkflowPage.actions.addNodeBetweenNodes('n8n', 'n8n1', 'Summarize');
WorkflowPage.getters.canvasNodes().should('have.length', 3);
});
});

View File

@@ -24,14 +24,14 @@ describe('Editors', () => {
.type('SELECT * FROM `testTable`', { delay: TYPING_DELAY })
.type('{esc}');
ndv.actions.close();
workflowPage.actions.openNode('Execute a SQL query');
workflowPage.actions.openNode('Postgres');
ndv.getters
.sqlEditorContainer()
.find('.cm-content')
.type('{end} LIMIT 10', { delay: TYPING_DELAY })
.type('{esc}');
ndv.actions.close();
workflowPage.actions.openNode('Execute a SQL query');
workflowPage.actions.openNode('Postgres');
ndv.getters.sqlEditorContainer().should('contain', 'SELECT * FROM `testTable` LIMIT 10');
});
@@ -45,7 +45,7 @@ describe('Editors', () => {
ndv.actions.setPinnedData([{ table: 'test_table' }]);
ndv.actions.close();
workflowPage.actions.openNode('Execute a SQL query');
workflowPage.actions.openNode('MySQL');
ndv.getters
.sqlEditorContainer()
.find('.cm-content')
@@ -86,7 +86,7 @@ describe('Editors', () => {
ndv.actions.close();
workflowPage.actions.saveWorkflowOnButtonClick();
workflowPage.getters.isWorkflowSaved();
workflowPage.actions.openNode('Execute a SQL query');
workflowPage.actions.openNode('Postgres');
ndv.actions.close();
// Workflow should still be saved
workflowPage.getters.isWorkflowSaved();
@@ -100,7 +100,7 @@ describe('Editors', () => {
ndv.actions.close();
workflowPage.actions.saveWorkflowOnButtonClick();
workflowPage.getters.isWorkflowSaved();
workflowPage.actions.openNode('Execute a SQL query');
workflowPage.actions.openNode('Postgres');
ndv.getters
.sqlEditorContainer()
.click()
@@ -131,14 +131,14 @@ describe('Editors', () => {
.paste('SELECT * FROM `secondTable`');
ndv.actions.close();
workflowPage.actions.openNode('Execute a SQL query');
ndv.actions.clickFloatingNode('Execute a SQL query1');
workflowPage.actions.openNode('Postgres');
ndv.actions.clickFloatingNode('Postgres1');
ndv.getters
.sqlEditorContainer()
.find('.cm-content')
.should('have.text', 'SELECT * FROM `secondTable`');
ndv.actions.clickFloatingNode('Execute a SQL query');
ndv.actions.clickFloatingNode('Postgres');
ndv.getters
.sqlEditorContainer()
.find('.cm-content')

View File

@@ -364,7 +364,7 @@ describe('AI Assistant Credential Help', () => {
}).as('chatRequest');
wf.actions.addNodeToCanvas(SCHEDULE_TRIGGER_NODE_NAME);
wf.actions.addNodeToCanvas(GMAIL_NODE_NAME);
wf.actions.openNode('Add label to message');
wf.actions.openNode('Gmail');
openCredentialSelect();
clickCreateNewCredential();
aiAssistant.getters.credentialEditAssistantButton().find('button').should('be.visible');

View File

@@ -86,11 +86,18 @@ describe('NDV', () => {
cy.get('[class*=hasIssues]').should('have.length', 1);
});
it('should show validation errors only after blur or re-opening of NDV of a node with operation and resource', () => {
it('should show validation errors only after blur or re-opening of NDV', () => {
workflowPage.actions.addNodeToCanvas('Manual');
workflowPage.actions.addNodeToCanvas('Airtable', true, true, 'Search records');
ndv.getters.container().should('be.visible');
cy.get('.has-issues').should('have.length', 0);
ndv.getters.parameterInput('table').find('input').eq(1).focus().blur();
ndv.getters.parameterInput('base').find('input').eq(1).focus().blur();
cy.get('.has-issues').should('have.length', 2);
ndv.getters.backToCanvas().click();
workflowPage.actions.openNode('Airtable');
cy.get('.has-issues').should('have.length', 2);
cy.get('[class*=hasIssues]').should('have.length', 1);
});
// Correctly failing in V2 - node issues are only shows after execution

View File

@@ -17,7 +17,7 @@ describe('Expression editor modal', () => {
beforeEach(() => {
WorkflowPage.actions.addNodeToCanvas('Hacker News');
WorkflowPage.actions.zoomToFit();
WorkflowPage.actions.openNode('Get many items');
WorkflowPage.actions.openNode('Hacker News');
WorkflowPage.actions.openExpressionEditorModal();
});
@@ -34,7 +34,7 @@ describe('Expression editor modal', () => {
beforeEach(() => {
WorkflowPage.actions.addNodeToCanvas('Hacker News');
WorkflowPage.actions.zoomToFit();
WorkflowPage.actions.openNode('Get many items');
WorkflowPage.actions.openNode('Hacker News');
WorkflowPage.actions.openExpressionEditorModal();
});
@@ -90,7 +90,7 @@ describe('Expression editor modal', () => {
WorkflowPage.actions.addNodeToCanvas('No Operation');
WorkflowPage.actions.addNodeToCanvas('Hacker News');
WorkflowPage.actions.zoomToFit();
WorkflowPage.actions.openNode('Get many items');
WorkflowPage.actions.openNode('Hacker News');
WorkflowPage.actions.openExpressionEditorModal();
});
@@ -125,7 +125,7 @@ describe('Expression editor modal', () => {
cy.get('body').type('{esc}');
ndv.actions.close();
WorkflowPage.actions.executeNode('No Operation, do nothing', { anchor: 'topLeft' });
WorkflowPage.actions.openNode('Get many items');
WorkflowPage.actions.openNode('Hacker News');
WorkflowPage.actions.openExpressionEditorModal();
// Previous nodes have run, input can be resolved

View File

@@ -217,7 +217,7 @@ export class WorkflowPage extends BasePage {
cy.get('body').then((body) => {
if (body.find('[data-test-id=node-creator]').length > 0) {
if (action) {
cy.get('[data-keyboard-nav-type="action"]').contains(action).click();
cy.contains(action).click();
} else {
// Select the first action
if (body.find('[data-keyboard-nav-type="action"]').length > 0) {