mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-12 13:27:31 -08:00
ci: Add E2E test for scheduled trigger (#5391)
* scheduler e2e test and switch to main mode * adjust e2e options * rolling back config changes
This commit is contained in:
parent
58b0cf66b5
commit
dd652c0b0d
75
cypress/e2e/15-scheduler-node.cy.ts
Normal file
75
cypress/e2e/15-scheduler-node.cy.ts
Normal file
|
@ -0,0 +1,75 @@
|
|||
import { WorkflowPage, WorkflowsPage, NDV } from '../pages';
|
||||
|
||||
const workflowsPage = new WorkflowsPage();
|
||||
const workflowPage = new WorkflowPage();
|
||||
const ndv = new NDV();
|
||||
|
||||
describe('Schedule Trigger node', async () => {
|
||||
beforeEach(() => {
|
||||
cy.resetAll();
|
||||
cy.skipSetup();
|
||||
});
|
||||
|
||||
it('should execute and return the execution timestamp', () => {
|
||||
cy.visit(workflowsPage.url);
|
||||
|
||||
workflowsPage.actions.createWorkflowFromCard();
|
||||
workflowPage.actions.addInitialNodeToCanvas('Schedule Trigger');
|
||||
workflowPage.actions.openNode('Schedule Trigger');
|
||||
ndv.actions.execute();
|
||||
ndv.getters.outputPanel().contains('timestamp');
|
||||
ndv.getters.backToCanvas().click();
|
||||
});
|
||||
|
||||
it('should execute once per second when activated', () => {
|
||||
cy.visit(workflowsPage.url);
|
||||
|
||||
workflowsPage.actions.createWorkflowFromCard();
|
||||
workflowPage.actions.renameWorkflow('Schedule Trigger Workflow');
|
||||
workflowPage.actions.addInitialNodeToCanvas('Schedule Trigger');
|
||||
workflowPage.actions.openNode('Schedule Trigger');
|
||||
|
||||
cy.getByTestId('parameter-input-field').click();
|
||||
cy.getByTestId('parameter-input-field')
|
||||
.find('.el-select-dropdown')
|
||||
.find('.option-headline')
|
||||
.contains('Seconds')
|
||||
.click();
|
||||
cy.getByTestId('parameter-input-secondsInterval').clear().type('1');
|
||||
|
||||
ndv.getters.backToCanvas().click();
|
||||
workflowPage.actions.saveWorkflowOnButtonClick();
|
||||
workflowPage.actions.activateWorkflow();
|
||||
workflowPage.getters.activatorSwitch().should('have.class', 'is-checked');
|
||||
|
||||
cy.request("GET", '/rest/workflows').then((response) => {
|
||||
expect(response.status).to.eq(200);
|
||||
expect(response.body.data).to.have.length(1);
|
||||
const workflowId = response.body.data[0].id.toString();
|
||||
expect(workflowId).to.not.be.empty;
|
||||
return workflowId;
|
||||
}).then((workflowId) => {
|
||||
cy.wait(1200);
|
||||
cy.request("GET", '/rest/executions').then((response) => {
|
||||
expect(response.status).to.eq(200);
|
||||
expect(response.body.data.results.length).to.be.greaterThan(0);
|
||||
const matchingExecutions = response.body.data.results.filter((execution: any) => execution.workflowId === workflowId);
|
||||
expect(matchingExecutions).to.have.length(1);
|
||||
return workflowId;
|
||||
}).then((workflowId) => {
|
||||
cy.wait(1200);
|
||||
cy.request("GET", '/rest/executions').then((response) => {
|
||||
expect(response.status).to.eq(200);
|
||||
expect(response.body.data.results.length).to.be.greaterThan(0);
|
||||
const matchingExecutions = response.body.data.results.filter((execution: any) => execution.workflowId === workflowId);
|
||||
expect(matchingExecutions).to.have.length(2);
|
||||
}).then(()=>{
|
||||
workflowPage.actions.activateWorkflow();
|
||||
workflowPage.getters.activatorSwitch().should('not.have.class', 'is-checked');
|
||||
cy.visit(workflowsPage.url);
|
||||
workflowsPage.actions.deleteWorkFlow('Schedule Trigger Workflow');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
|
@ -11,6 +11,7 @@ if (inE2ETests) {
|
|||
process.env = {
|
||||
E2E_TESTS: 'true',
|
||||
N8N_USER_FOLDER: mkdtempSync(join(tmpdir(), 'n8n-e2e-')),
|
||||
EXECUTIONS_PROCESS: 'main',
|
||||
N8N_DIAGNOSTICS_ENABLED: 'false',
|
||||
N8N_PUBLIC_API_DISABLED: 'true',
|
||||
EXTERNAL_FRONTEND_HOOKS_URLS: '',
|
||||
|
|
Loading…
Reference in a new issue