mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-25 12:44:07 -08:00
ci: Update Cypress & increase amount of e2e containers (#8282)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
This commit is contained in:
parent
ccde38a8a8
commit
de088bfcf8
2
.github/workflows/e2e-reusable.yml
vendored
2
.github/workflows/e2e-reusable.yml
vendored
|
@ -40,7 +40,7 @@ on:
|
||||||
containers:
|
containers:
|
||||||
description: 'Number of containers to run tests in.'
|
description: 'Number of containers to run tests in.'
|
||||||
required: false
|
required: false
|
||||||
default: '[1, 2, 3, 4, 5, 6, 7, 8]'
|
default: '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]'
|
||||||
type: string
|
type: string
|
||||||
pr_number:
|
pr_number:
|
||||||
description: 'PR number to run tests for.'
|
description: 'PR number to run tests for.'
|
||||||
|
|
|
@ -37,6 +37,10 @@ describe('Templates', () => {
|
||||||
|
|
||||||
it('should save template id with the workflow', () => {
|
it('should save template id with the workflow', () => {
|
||||||
cy.visit(templatesPage.url);
|
cy.visit(templatesPage.url);
|
||||||
|
cy.intercept('GET', '**/api/templates/**').as('loadApi');
|
||||||
|
cy.get('.el-skeleton.n8n-loading').should('not.exist');
|
||||||
|
templatesPage.getters.firstTemplateCard().should('exist');
|
||||||
|
cy.wait('@loadApi');
|
||||||
templatesPage.getters.firstTemplateCard().click();
|
templatesPage.getters.firstTemplateCard().click();
|
||||||
cy.url().should('include', '/templates/');
|
cy.url().should('include', '/templates/');
|
||||||
|
|
||||||
|
|
|
@ -71,10 +71,10 @@ describe('NDV', () => {
|
||||||
workflowPage.actions.addNodeToCanvas('Manual');
|
workflowPage.actions.addNodeToCanvas('Manual');
|
||||||
workflowPage.actions.addNodeToCanvas('Airtable', true, true, 'Search records');
|
workflowPage.actions.addNodeToCanvas('Airtable', true, true, 'Search records');
|
||||||
ndv.getters.container().should('be.visible');
|
ndv.getters.container().should('be.visible');
|
||||||
// cy.get('.has-issues').should('have.length', 0);
|
cy.get('.has-issues').should('have.length', 0);
|
||||||
ndv.getters.parameterInput('table').find('input').eq(1).focus().blur();
|
ndv.getters.parameterInput('table').find('input').eq(1).focus().blur();
|
||||||
ndv.getters.parameterInput('base').find('input').eq(1).focus().blur();
|
ndv.getters.parameterInput('base').find('input').eq(1).focus().blur();
|
||||||
cy.get('.has-issues').should('have.length', 0);
|
cy.get('.has-issues').should('have.length', 2);
|
||||||
ndv.getters.backToCanvas().click();
|
ndv.getters.backToCanvas().click();
|
||||||
workflowPage.actions.openNode('Airtable');
|
workflowPage.actions.openNode('Airtable');
|
||||||
cy.get('.has-issues').should('have.length', 2);
|
cy.get('.has-issues').should('have.length', 2);
|
||||||
|
@ -306,7 +306,7 @@ describe('NDV', () => {
|
||||||
|
|
||||||
ndv.getters.parameterInput('remoteOptions').click();
|
ndv.getters.parameterInput('remoteOptions').click();
|
||||||
|
|
||||||
ndv.getters.parameterInputIssues('remoteOptions').realHover();
|
ndv.getters.parameterInputIssues('remoteOptions').realHover({ scrollBehavior: false});
|
||||||
// Remote options dropdown should not be visible
|
// Remote options dropdown should not be visible
|
||||||
ndv.getters.parameterInput('remoteOptions').find('.el-select').should('not.exist');
|
ndv.getters.parameterInput('remoteOptions').find('.el-select').should('not.exist');
|
||||||
});
|
});
|
||||||
|
@ -365,6 +365,8 @@ describe('NDV', () => {
|
||||||
ndv.actions.openCodeEditorFullscreen();
|
ndv.actions.openCodeEditorFullscreen();
|
||||||
|
|
||||||
ndv.getters.codeEditorFullscreen().type('{selectall}').type('{backspace}').type('foo()');
|
ndv.getters.codeEditorFullscreen().type('{selectall}').type('{backspace}').type('foo()');
|
||||||
|
ndv.getters.codeEditorFullscreen().should('contain.text', 'foo()');
|
||||||
|
cy.wait(200);
|
||||||
ndv.getters.codeEditorDialog().find('.el-dialog__close').click();
|
ndv.getters.codeEditorDialog().find('.el-dialog__close').click();
|
||||||
ndv.getters.parameterInput('jsCode').get('.cm-content').should('contain.text', 'foo()');
|
ndv.getters.parameterInput('jsCode').get('.cm-content').should('contain.text', 'foo()');
|
||||||
});
|
});
|
||||||
|
|
|
@ -174,16 +174,17 @@ export class WorkflowPage extends BasePage {
|
||||||
|
|
||||||
this.getters.nodeCreatorSearchBar().type(nodeDisplayName);
|
this.getters.nodeCreatorSearchBar().type(nodeDisplayName);
|
||||||
this.getters.nodeCreatorSearchBar().type('{enter}');
|
this.getters.nodeCreatorSearchBar().type('{enter}');
|
||||||
cy.wait(500);
|
|
||||||
cy.get('body').then((body) => {
|
cy.get('body').then((body) => {
|
||||||
if (body.find('[data-test-id=node-creator]').length > 0) {
|
if (body.find('[data-test-id=node-creator]').length > 0) {
|
||||||
if (action) {
|
if (action) {
|
||||||
cy.contains(action).click();
|
cy.contains(action).click();
|
||||||
} else {
|
} else {
|
||||||
// Select the first action
|
// Select the first action
|
||||||
|
if (body.find('[data-keyboard-nav-type="action"]').length > 0) {
|
||||||
cy.get('[data-keyboard-nav-type="action"]').eq(0).click();
|
cy.get('[data-keyboard-nav-type="action"]').eq(0).click();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!preventNdvClose) cy.get('body').type('{esc}');
|
if (!preventNdvClose) cy.get('body').type('{esc}');
|
||||||
|
|
|
@ -48,9 +48,9 @@
|
||||||
"@types/supertest": "^2.0.12",
|
"@types/supertest": "^2.0.12",
|
||||||
"@vitest/coverage-v8": "^1.1.0",
|
"@vitest/coverage-v8": "^1.1.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"cypress": "^12.17.2",
|
"cypress": "^13.6.2",
|
||||||
"cypress-otp": "^1.0.3",
|
"cypress-otp": "^1.0.3",
|
||||||
"cypress-real-events": "^1.9.1",
|
"cypress-real-events": "^1.11.0",
|
||||||
"jest": "^29.6.2",
|
"jest": "^29.6.2",
|
||||||
"jest-environment-jsdom": "^29.6.2",
|
"jest-environment-jsdom": "^29.6.2",
|
||||||
"jest-expect-message": "^1.1.3",
|
"jest-expect-message": "^1.1.3",
|
||||||
|
|
|
@ -67,14 +67,14 @@ importers:
|
||||||
specifier: ^7.0.3
|
specifier: ^7.0.3
|
||||||
version: 7.0.3
|
version: 7.0.3
|
||||||
cypress:
|
cypress:
|
||||||
specifier: ^12.17.2
|
specifier: ^13.6.2
|
||||||
version: 12.17.2
|
version: 13.6.2
|
||||||
cypress-otp:
|
cypress-otp:
|
||||||
specifier: ^1.0.3
|
specifier: ^1.0.3
|
||||||
version: 1.0.3
|
version: 1.0.3
|
||||||
cypress-real-events:
|
cypress-real-events:
|
||||||
specifier: ^1.9.1
|
specifier: ^1.11.0
|
||||||
version: 1.9.1(cypress@12.17.2)
|
version: 1.11.0(cypress@13.6.2)
|
||||||
jest:
|
jest:
|
||||||
specifier: ^29.6.2
|
specifier: ^29.6.2
|
||||||
version: 29.6.2
|
version: 29.6.2
|
||||||
|
@ -4781,8 +4781,8 @@ packages:
|
||||||
y18n: 5.0.8
|
y18n: 5.0.8
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@cypress/request@2.88.11:
|
/@cypress/request@3.0.1:
|
||||||
resolution: {integrity: sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==}
|
resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
dependencies:
|
dependencies:
|
||||||
aws-sign2: 0.7.0
|
aws-sign2: 0.7.0
|
||||||
|
@ -4798,7 +4798,7 @@ packages:
|
||||||
json-stringify-safe: 5.0.1
|
json-stringify-safe: 5.0.1
|
||||||
mime-types: 2.1.35
|
mime-types: 2.1.35
|
||||||
performance-now: 2.1.0
|
performance-now: 2.1.0
|
||||||
qs: 6.10.5
|
qs: 6.10.4
|
||||||
safe-buffer: 5.2.1
|
safe-buffer: 5.2.1
|
||||||
tough-cookie: 4.1.3
|
tough-cookie: 4.1.3
|
||||||
tunnel-agent: 0.6.0
|
tunnel-agent: 0.6.0
|
||||||
|
@ -13920,21 +13920,20 @@ packages:
|
||||||
otplib: 12.0.1
|
otplib: 12.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/cypress-real-events@1.9.1(cypress@12.17.2):
|
/cypress-real-events@1.11.0(cypress@13.6.2):
|
||||||
resolution: {integrity: sha512-eDYW6NagNs8+68ugyPbB6U1aIsYF0E0WHR6upXo0PbTXZNqBNc2s9Y0u/N+pbU9HpFh+krl6iMhoz/ENlYBdCg==}
|
resolution: {integrity: sha512-4LXVRsyq+xBh5TmlEyO1ojtBXtN7xw720Pwb9rEE9rkJuXmeH3VyoR1GGayMGr+Itqf11eEjfDewtDmcx6PWPQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
cypress: ^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x
|
cypress: ^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x
|
||||||
dependencies:
|
dependencies:
|
||||||
cypress: 12.17.2
|
cypress: 13.6.2
|
||||||
prettier: 3.1.0
|
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/cypress@12.17.2:
|
/cypress@13.6.2:
|
||||||
resolution: {integrity: sha512-hxWAaWbqQBzzMuadSGSuQg5PDvIGOovm6xm0hIfpCVcORsCAj/gF2p0EvfnJ4f+jK2PCiDgP6D2eeE9/FK4Mjg==}
|
resolution: {integrity: sha512-TW3bGdPU4BrfvMQYv1z3oMqj71YI4AlgJgnrycicmPZAXtvywVFZW9DAToshO65D97rCWfG/kqMFsYB6Kp91gQ==}
|
||||||
engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@cypress/request': 2.88.11
|
'@cypress/request': 3.0.1
|
||||||
'@cypress/xvfb': 1.2.4(supports-color@8.1.1)
|
'@cypress/xvfb': 1.2.4(supports-color@8.1.1)
|
||||||
'@types/node': 18.16.16
|
'@types/node': 18.16.16
|
||||||
'@types/sinonjs__fake-timers': 8.1.1
|
'@types/sinonjs__fake-timers': 8.1.1
|
||||||
|
@ -13969,6 +13968,7 @@ packages:
|
||||||
minimist: 1.2.8
|
minimist: 1.2.8
|
||||||
ospath: 1.2.2
|
ospath: 1.2.2
|
||||||
pretty-bytes: 5.6.0
|
pretty-bytes: 5.6.0
|
||||||
|
process: 0.11.10
|
||||||
proxy-from-env: 1.0.0
|
proxy-from-env: 1.0.0
|
||||||
request-progress: 3.0.0
|
request-progress: 3.0.0
|
||||||
semver: 7.5.4
|
semver: 7.5.4
|
||||||
|
@ -16045,7 +16045,7 @@ packages:
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
cross-spawn: 7.0.3
|
cross-spawn: 7.0.3
|
||||||
signal-exit: 4.0.2
|
signal-exit: 4.1.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/forever-agent@0.6.1:
|
/forever-agent@0.6.1:
|
||||||
|
@ -22873,10 +22873,9 @@ packages:
|
||||||
vue: 3.3.4
|
vue: 3.3.4
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/qs@6.10.5:
|
/qs@6.10.4:
|
||||||
resolution: {integrity: sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==}
|
resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==}
|
||||||
engines: {node: '>=0.6'}
|
engines: {node: '>=0.6'}
|
||||||
deprecated: when using stringify with arrayFormat comma, `[]` is appended on single-item arrays. Upgrade to v6.11.0 or downgrade to v6.10.4 to fix.
|
|
||||||
dependencies:
|
dependencies:
|
||||||
side-channel: 1.0.4
|
side-channel: 1.0.4
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -24016,11 +24015,6 @@ packages:
|
||||||
/signal-exit@3.0.7:
|
/signal-exit@3.0.7:
|
||||||
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
||||||
|
|
||||||
/signal-exit@4.0.2:
|
|
||||||
resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==}
|
|
||||||
engines: {node: '>=14'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/signal-exit@4.1.0:
|
/signal-exit@4.1.0:
|
||||||
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
|
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
|
|
Loading…
Reference in a new issue