Files
n8n-enterprise-unlocked/cypress/e2e/39-import-workflow.cy.ts
Nikhil Kuriakose d14fb4dde3 fix(editor): Close Workflow URL Import Modal after import (#15177)
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
2025-05-09 14:06:41 +02:00

75 lines
2.2 KiB
TypeScript

import { WorkflowPage } from '../pages';
import { errorToast, successToast } from '../pages/notifications';
const workflowPage = new WorkflowPage();
before(() => {
cy.fixture('Onboarding_workflow.json').then((data) => {
cy.intercept('GET', '/rest/workflows/from-url*', {
body: { data },
}).as('downloadWorkflowFromURL');
});
});
describe('Import workflow', () => {
describe('From URL', () => {
it('should import workflow', () => {
workflowPage.actions.visit(true);
workflowPage.getters.workflowMenu().click();
workflowPage.getters.workflowMenuItemImportFromURLItem().click();
workflowPage.getters.inputURLImportWorkflowFromURL().should('be.visible');
workflowPage.getters
.inputURLImportWorkflowFromURL()
.type('https://fakepage.com/workflow.json');
workflowPage.getters.confirmActionImportWorkflowFromURL().click();
workflowPage.actions.zoomToFit();
workflowPage.getters.canvasNodes().should('have.length', 4);
errorToast().should('not.exist');
successToast().should('not.exist');
});
it('clicking outside modal should not show error toast', () => {
workflowPage.actions.visit(true);
workflowPage.getters.workflowMenu().click();
workflowPage.getters.workflowMenuItemImportFromURLItem().click();
cy.get('body').click(0, 0);
errorToast().should('not.exist');
});
it('canceling modal should not show error toast', () => {
workflowPage.actions.visit(true);
workflowPage.getters.workflowMenu().click();
workflowPage.getters.workflowMenuItemImportFromURLItem().click();
workflowPage.getters.cancelActionImportWorkflowFromURL().click();
errorToast().should('not.exist');
});
});
describe('From File', () => {
it('should import workflow', () => {
workflowPage.actions.visit(true);
workflowPage.getters.workflowMenu().click();
workflowPage.getters.workflowMenuItemImportFromFile().click();
workflowPage.getters
.workflowImportInput()
.selectFile('fixtures/Test_workflow-actions_paste-data.json', { force: true });
cy.waitForLoad(false);
workflowPage.actions.zoomToFit();
workflowPage.getters.canvasNodes().should('have.length', 5);
workflowPage.getters.nodeConnections().should('have.length', 5);
});
});
});