n8n/cypress/e2e/30-editor-after-route-changes.cy.ts

72 lines
2.5 KiB
TypeScript

import { getWorkflowHistoryCloseButton } from '../composables/workflow';
import { WorkflowPage as WorkflowPageClass } from '../pages';
const workflowPage = new WorkflowPageClass();
const switchBetweenEditorAndHistory = () => {
workflowPage.getters.workflowHistoryButton().click();
cy.wait(['@getHistory']);
cy.wait(['@getVersion']);
cy.intercept('GET', '/rest/workflows/*').as('workflowGet');
getWorkflowHistoryCloseButton().click();
cy.wait(['@workflowGet']);
cy.wait(1000);
workflowPage.getters.canvasNodes().first().should('be.visible');
workflowPage.getters.canvasNodes().last().should('be.visible');
};
const switchBetweenEditorAndWorkflowlist = () => {
cy.getByTestId('menu-item').first().click();
cy.wait(['@getUsers', '@getWorkflows', '@getActiveWorkflows', '@getProjects']);
cy.getByTestId('resources-list-item').first().click();
workflowPage.getters.canvasNodes().first().should('be.visible');
workflowPage.getters.canvasNodes().last().should('be.visible');
};
const zoomInAndCheckNodes = () => {
cy.getByTestId('zoom-in-button').click();
cy.getByTestId('zoom-in-button').click();
cy.getByTestId('zoom-in-button').click();
cy.getByTestId('zoom-in-button').click();
workflowPage.getters.canvasNodes().first().should('not.be.visible');
workflowPage.getters.canvasNodes().last().should('not.be.visible');
};
describe('Editor zoom should work after route changes', () => {
beforeEach(() => {
cy.enableFeature('debugInEditor');
cy.enableFeature('workflowHistory');
cy.signinAsOwner();
workflowPage.actions.visit();
cy.createFixtureWorkflow('Lots_of_nodes.json', 'Lots of nodes');
workflowPage.actions.saveWorkflowOnButtonClick();
});
it('after switching between Editor and Workflow history and Workflow list', () => {
cy.intercept('GET', '/rest/workflow-history/workflow/*/version/*').as('getVersion');
cy.intercept('GET', '/rest/workflow-history/workflow/*').as('getHistory');
cy.intercept('GET', '/rest/users').as('getUsers');
cy.intercept('GET', '/rest/workflows?*').as('getWorkflows');
cy.intercept('GET', '/rest/active-workflows').as('getActiveWorkflows');
cy.intercept('GET', '/rest/projects').as('getProjects');
switchBetweenEditorAndHistory();
zoomInAndCheckNodes();
switchBetweenEditorAndHistory();
switchBetweenEditorAndHistory();
zoomInAndCheckNodes();
switchBetweenEditorAndWorkflowlist();
zoomInAndCheckNodes();
switchBetweenEditorAndWorkflowlist();
switchBetweenEditorAndWorkflowlist();
zoomInAndCheckNodes();
switchBetweenEditorAndHistory();
switchBetweenEditorAndWorkflowlist();
});
});