Skip to content

Commit

Permalink
fix: Fix randomly failing scheduler node e2e tests (no-changelog) (#6430
Browse files Browse the repository at this point in the history
)

* fix: fix randomly failing scheduler node e2e tests (no-changelog)

* chore: rename variable name

* fix: update all cy.request calls to use backend base url

* fix: add back mistkenly removed workflowId code

* fix: remove unnecessary .then

* fix: update how workflowId is retrieved
  • Loading branch information
alexgrozav authored and netroy committed Jun 19, 2023
1 parent edc30e1 commit 46df5b0
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 53 deletions.
2 changes: 2 additions & 0 deletions cypress/constants.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
export const BACKEND_BASE_URL = 'http://localhost:5678';

export const N8N_AUTH_COOKIE = 'n8n-auth';

export const DEFAULT_USER_EMAIL = '[email protected]';
Expand Down
63 changes: 27 additions & 36 deletions cypress/e2e/15-scheduler-node.cy.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { randFirstName, randLastName } from '@ngneat/falso';
import { DEFAULT_USER_EMAIL, DEFAULT_USER_PASSWORD } from '../constants';
import { WorkflowPage, WorkflowsPage, NDV } from '../pages';
import { BACKEND_BASE_URL } from '../constants';

const workflowsPage = new WorkflowsPage();
const workflowPage = new WorkflowPage();
Expand Down Expand Up @@ -47,44 +48,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');
});
});
});
});
});
32 changes: 15 additions & 17 deletions cypress/e2e/16-webhook-node.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { WorkflowPage, NDV, CredentialsModal } from '../pages';
import { v4 as uuid } from 'uuid';
import { cowBase64 } from '../support/binaryTestFiles';
import { randFirstName, randLastName } from '@ngneat/falso';
import { DEFAULT_USER_EMAIL, DEFAULT_USER_PASSWORD } from '../constants';
import { BACKEND_BASE_URL, DEFAULT_USER_EMAIL, DEFAULT_USER_PASSWORD } from '../constants';

const email = DEFAULT_USER_EMAIL;
const password = DEFAULT_USER_PASSWORD;
Expand Down Expand Up @@ -90,7 +90,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');
});
Expand All @@ -106,12 +106,10 @@ describe('Webhook Trigger node', async () => {
cy.signin({ email, password });
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', () => {
Expand Down Expand Up @@ -162,7 +160,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);
});
Expand All @@ -180,7 +178,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);
});
});
Expand Down Expand Up @@ -209,7 +207,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);
});
Expand Down Expand Up @@ -254,7 +252,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;
});
Expand All @@ -271,7 +269,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;
});
Expand All @@ -295,7 +293,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',
Expand All @@ -308,7 +306,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',
Expand Down Expand Up @@ -338,7 +336,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',
},
Expand All @@ -350,7 +348,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',
},
Expand Down

0 comments on commit 46df5b0

Please sign in to comment.