diff --git a/cypress/e2e/11-inline-expression-editor.cy.ts b/cypress/e2e/11-inline-expression-editor.cy.ts index 702dd2eac..e1fbb08f3 100644 --- a/cypress/e2e/11-inline-expression-editor.cy.ts +++ b/cypress/e2e/11-inline-expression-editor.cy.ts @@ -51,7 +51,7 @@ describe('Inline expression editor', () => { it('should resolve array resolvables', () => { WorkflowPage.getters.inlineExpressionEditorInput().clear(); WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); - WorkflowPage.getters.inlineExpressionEditorInput().type('[1, 2, 3]'); + WorkflowPage.getters.inlineExpressionEditorInput().type('[1, 2, 3]', { timeout: 20000 }); WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^\[Array: \[1,2,3\]\]$/); WorkflowPage.getters.inlineExpressionEditorInput().clear(); @@ -65,7 +65,8 @@ describe('Inline expression editor', () => { it('should resolve $parameter[]', () => { WorkflowPage.getters.inlineExpressionEditorInput().clear(); WorkflowPage.getters.inlineExpressionEditorInput().type('{{'); - WorkflowPage.getters.inlineExpressionEditorInput().type('$parameter["operation"]'); + // Resolving $parameter is slow, especially on CI runner + WorkflowPage.getters.inlineExpressionEditorInput().type('$parameter["operation"]', { timeout: 35000 }); WorkflowPage.getters.inlineExpressionEditorOutput().contains(/^get$/); }); }); diff --git a/cypress/e2e/18-user-management.cy.ts b/cypress/e2e/18-user-management.cy.ts index cbc7a165f..8c714eaa6 100644 --- a/cypress/e2e/18-user-management.cy.ts +++ b/cypress/e2e/18-user-management.cy.ts @@ -88,6 +88,7 @@ describe('User Management', { disableAutoLogin: true }, () => { it(`shouldn't allow user to set weak password`, () => { personalSettingsPage.actions.loginAndVisit(INSTANCE_OWNER.email, INSTANCE_OWNER.password); + personalSettingsPage.getters.changePasswordLink().click(); for (let weakPass of updatedPersonalData.invalidPasswords) { personalSettingsPage.actions.tryToSetWeakPassword(INSTANCE_OWNER.password, weakPass); } @@ -95,6 +96,7 @@ describe('User Management', { disableAutoLogin: true }, () => { it(`shouldn't allow user to change password if old password is wrong`, () => { personalSettingsPage.actions.loginAndVisit(INSTANCE_OWNER.email, INSTANCE_OWNER.password); + personalSettingsPage.getters.changePasswordLink().click(); personalSettingsPage.actions.updatePassword('iCannotRemember', updatedPersonalData.newPassword); workflowPage.getters .errorToast() @@ -104,6 +106,7 @@ describe('User Management', { disableAutoLogin: true }, () => { it(`should change current user password`, () => { personalSettingsPage.actions.loginAndVisit(INSTANCE_OWNER.email, INSTANCE_OWNER.password); + personalSettingsPage.getters.changePasswordLink().click(); personalSettingsPage.actions.updatePassword( INSTANCE_OWNER.password, updatedPersonalData.newPassword, diff --git a/cypress/pages/settings-personal.ts b/cypress/pages/settings-personal.ts index 0b129a29b..554455ef7 100644 --- a/cypress/pages/settings-personal.ts +++ b/cypress/pages/settings-personal.ts @@ -25,7 +25,6 @@ export class PersonalSettingsPage extends BasePage { this.getters.saveSettingsButton().realClick(); }, updatePassword: (oldPassword: string, newPassword: string) => { - this.getters.changePasswordLink().realClick(); changePasswordModal.getters.modalContainer().should('be.visible'); changePasswordModal.getters.currentPasswordInput().type('{selectall}').type(oldPassword); changePasswordModal.getters.newPasswordInput().type('{selectall}').type(newPassword); diff --git a/packages/design-system/src/components/N8nFormInput/FormInput.vue b/packages/design-system/src/components/N8nFormInput/FormInput.vue index 9e0b40972..19701c13d 100644 --- a/packages/design-system/src/components/N8nFormInput/FormInput.vue +++ b/packages/design-system/src/components/N8nFormInput/FormInput.vue @@ -33,6 +33,7 @@