diff --git a/cypress/constants.ts b/cypress/constants.ts index 5118696bc81d3..a7e29665774de 100644 --- a/cypress/constants.ts +++ b/cypress/constants.ts @@ -1,3 +1,5 @@ +export const BACKEND_BASE_URL = 'http://localhost:5678'; + export const N8N_AUTH_COOKIE = 'n8n-auth'; export const DEFAULT_USER_EMAIL = 'nathan@n8n.io'; diff --git a/cypress/e2e/15-scheduler-node.cy.ts b/cypress/e2e/15-scheduler-node.cy.ts index b3ffd430e1631..cc4b3d775809a 100644 --- a/cypress/e2e/15-scheduler-node.cy.ts +++ b/cypress/e2e/15-scheduler-node.cy.ts @@ -1,4 +1,5 @@ import { WorkflowPage, WorkflowsPage, NDV } from '../pages'; +import { BACKEND_BASE_URL } from '../constants'; const workflowsPage = new WorkflowsPage(); const workflowPage = new WorkflowPage(); @@ -39,44 +40,34 @@ describe('Schedule Trigger node', async () => { workflowPage.actions.activateWorkflow(); workflowPage.getters.activatorSwitch().should('have.class', 'is-checked'); - cy.request('GET', '/rest/workflows') - .then((response) => { + cy.url().then((url) => { + const workflowId = url.split('/').pop(); + + cy.wait(1200); + cy.request('GET', `${BACKEND_BASE_URL}/rest/executions`).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) => { + expect(workflowId).to.not.be.undefined; + 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); + 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'); - }); - }); + cy.request('GET', `${BACKEND_BASE_URL}/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); + + workflowPage.actions.activateWorkflow(); + workflowPage.getters.activatorSwitch().should('not.have.class', 'is-checked'); + cy.visit(workflowsPage.url); + workflowsPage.actions.deleteWorkFlow('Schedule Trigger Workflow'); + }); }); + }); }); }); diff --git a/cypress/e2e/16-webhook-node.cy.ts b/cypress/e2e/16-webhook-node.cy.ts index 64556037d8b9c..178350a32b05a 100644 --- a/cypress/e2e/16-webhook-node.cy.ts +++ b/cypress/e2e/16-webhook-node.cy.ts @@ -1,6 +1,7 @@ import { WorkflowPage, NDV, CredentialsModal } from '../pages'; import { v4 as uuid } from 'uuid'; import { cowBase64 } from '../support/binaryTestFiles'; +import { BACKEND_BASE_URL } from '../constants'; const workflowPage = new WorkflowPage(); const ndv = new NDV(); @@ -83,7 +84,7 @@ const simpleWebhookCall = (options: SimpleWebhookCallOptions) => { ndv.actions.execute(); cy.wait(waitForWebhook); - cy.request(method, '/webhook-test/' + webhookPath).then((response) => { + cy.request(method, `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`).then((response) => { expect(response.status).to.eq(200); ndv.getters.outputPanel().contains('headers'); }); @@ -98,12 +99,10 @@ describe('Webhook Trigger node', async () => { beforeEach(() => { workflowPage.actions.visit(); - cy.window().then( - (win) => { - // @ts-ignore - win.preventNodeViewBeforeUnload = true; - }, - ); + cy.window().then((win) => { + // @ts-ignore + win.preventNodeViewBeforeUnload = true; + }); }); it('should listen for a GET request', () => { @@ -154,7 +153,7 @@ describe('Webhook Trigger node', async () => { workflowPage.actions.executeWorkflow(); cy.wait(waitForWebhook); - cy.request('GET', '/webhook-test/' + webhookPath).then((response) => { + cy.request('GET', `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`).then((response) => { expect(response.status).to.eq(200); expect(response.body.MyValue).to.eq(1234); }); @@ -172,7 +171,7 @@ describe('Webhook Trigger node', async () => { ndv.actions.execute(); cy.wait(waitForWebhook); - cy.request('GET', '/webhook-test/' + webhookPath).then((response) => { + cy.request('GET', `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`).then((response) => { expect(response.status).to.eq(201); }); }); @@ -201,7 +200,7 @@ describe('Webhook Trigger node', async () => { workflowPage.actions.executeWorkflow(); cy.wait(waitForWebhook); - cy.request('GET', '/webhook-test/' + webhookPath).then((response) => { + cy.request('GET', `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`).then((response) => { expect(response.status).to.eq(200); expect(response.body.MyValue).to.eq(1234); }); @@ -246,7 +245,7 @@ describe('Webhook Trigger node', async () => { workflowPage.actions.executeWorkflow(); cy.wait(waitForWebhook); - cy.request('GET', '/webhook-test/' + webhookPath).then((response) => { + cy.request('GET', `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`).then((response) => { expect(response.status).to.eq(200); expect(Object.keys(response.body).includes('data')).to.be.true; }); @@ -263,7 +262,7 @@ describe('Webhook Trigger node', async () => { }); ndv.actions.execute(); cy.wait(waitForWebhook); - cy.request('GET', '/webhook-test/' + webhookPath).then((response) => { + cy.request('GET', `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`).then((response) => { expect(response.status).to.eq(200); expect(response.body.MyValue).to.be.undefined; }); @@ -287,7 +286,7 @@ describe('Webhook Trigger node', async () => { cy.wait(waitForWebhook); cy.request({ method: 'GET', - url: '/webhook-test/' + webhookPath, + url: `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`, auth: { user: 'username', pass: 'password', @@ -300,7 +299,7 @@ describe('Webhook Trigger node', async () => { .then(() => { cy.request({ method: 'GET', - url: '/webhook-test/' + webhookPath, + url: `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`, auth: { user: 'test', pass: 'test', @@ -330,7 +329,7 @@ describe('Webhook Trigger node', async () => { cy.wait(waitForWebhook); cy.request({ method: 'GET', - url: '/webhook-test/' + webhookPath, + url: `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`, headers: { test: 'wrong', }, @@ -342,7 +341,7 @@ describe('Webhook Trigger node', async () => { .then(() => { cy.request({ method: 'GET', - url: '/webhook-test/' + webhookPath, + url: `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`, headers: { test: 'test', },