ci: Update Cypress & increase amount of e2e containers (#8282)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
This commit is contained in:
oleg 2024-01-10 12:35:47 +01:00 committed by GitHub
parent ccde38a8a8
commit de088bfcf8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 34 additions and 33 deletions

View file

@ -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.'

View file

@ -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/');

View file

@ -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()');
}); });

View file

@ -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}');

View file

@ -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",

View file

@ -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'}