From f7f4cc521819e2c3cbb8566ab8f0f743e9f586c0 Mon Sep 17 00:00:00 2001 From: Vincent Date: Sun, 12 Apr 2020 19:11:42 +1000 Subject: [PATCH] reverted_ looking for settings_text --- integration_test/integration_test.js | 3 ++- integration_test/page-objects/settings.page.js | 11 +++++++++++ ts/components/session/SessionPasswordModal.tsx | 9 +++++---- 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 integration_test/page-objects/settings.page.js diff --git a/integration_test/integration_test.js b/integration_test/integration_test.js index 911ed4985..f4a7233a5 100644 --- a/integration_test/integration_test.js +++ b/integration_test/integration_test.js @@ -12,7 +12,8 @@ const common = require('./common'); // require('./add_friends_test'); // require('./link_device_test'); // require('./closed_group_test'); -require('./message_functions_test'); +// require('./message_functions_test'); +require('./settings_test'); before(async () => { diff --git a/integration_test/page-objects/settings.page.js b/integration_test/page-objects/settings.page.js new file mode 100644 index 000000000..0acc0a485 --- /dev/null +++ b/integration_test/page-objects/settings.page.js @@ -0,0 +1,11 @@ +module.exports = { + // settings view + leftPaneSettingsButton: `//*[contains(@class,"session-icon-button") and .//*[contains(@class, "gear")]]`, + + settingToggleWithText: text => `//div[contains(@class, 'session-settings-item') and contains(string(), '${text}')]//*[contains(@class, 'session-toggle')]`, + settingButtonWithText: text => `//div[contains(@class, 'session-settings-item')]//*[contains(@class, 'session-button') and contains(string(), '${text}')]`, + settingCategoryWithText: text => `//div[contains(@class, 'left-pane-setting-category-list-item') and contains(string(), '${text}')]`, + + // Confirm is a boolean. Selects confirmation input + passwordSetModalInput: _confirm => `//input[@id = 'password-modal-input${_confirm ? '-confirm' : ''}']`, +}; diff --git a/ts/components/session/SessionPasswordModal.tsx b/ts/components/session/SessionPasswordModal.tsx index 4d7091057..30d3b1175 100644 --- a/ts/components/session/SessionPasswordModal.tsx +++ b/ts/components/session/SessionPasswordModal.tsx @@ -139,14 +139,15 @@ export class SessionPasswordModal extends React.Component { ); } - private async setPassword(onSuccess: any) { - if (!this.passwordInput.current || !this.passwordInputConfirm.current) { + private async setPassword(onSuccess?: any) { + // Only initial input required for PasswordAction.Remove + if (!this.passwordInput.current || (!this.passwordInputConfirm.current && this.props.action !== PasswordAction.Remove)) { return; } // Trim leading / trailing whitespace for UX const enteredPassword = String(this.passwordInput.current.value).trim(); - const enteredPasswordConfirm = String( + const enteredPasswordConfirm = this.passwordInputConfirm.current && String( this.passwordInputConfirm.current.value ).trim(); @@ -178,7 +179,7 @@ export class SessionPasswordModal extends React.Component { // Check if password match, when setting, changing or removing const valid = this.props.action !== PasswordAction.Set - ? !!await this.validatePasswordHash(oldPassword) + ? Boolean(await this.validatePasswordHash(oldPassword)) : enteredPassword === enteredPasswordConfirm; if (!valid) {