diff options
Diffstat (limited to 'service/test/functional/features/page_objects')
4 files changed, 45 insertions, 4 deletions
diff --git a/service/test/functional/features/page_objects/__init__.py b/service/test/functional/features/page_objects/__init__.py index 920bf541..af50948c 100644 --- a/service/test/functional/features/page_objects/__init__.py +++ b/service/test/functional/features/page_objects/__init__.py @@ -17,3 +17,4 @@ from account_recovery_page import AccountRecoveryPage from base_page import BasePage from inbox_page import InboxPage +from backup_account_page import BackupAccountPage diff --git a/service/test/functional/features/page_objects/account_recovery_page.py b/service/test/functional/features/page_objects/account_recovery_page.py index 4826b6ec..8a4e05cd 100644 --- a/service/test/functional/features/page_objects/account_recovery_page.py +++ b/service/test/functional/features/page_objects/account_recovery_page.py @@ -22,8 +22,11 @@ class AccountRecoveryPage(BasePage): super(AccountRecoveryPage, self).__init__(context, context.account_recovery_url) self._locators = { + 'admin_form': '.account-recovery-form.admin-code', 'admin_code': 'input[name="admin-code"]', + 'user_form': '.account-recovery-form.user-code', 'user_code': 'input[name="user-code"]', + 'new_password_form': '.account-recovery-form.new-password', 'new_password': 'input[name="new-password"]', 'confirm_password': 'input[name="confirm-password"]', 'submit_button': '.submit-button button[type="submit"]', @@ -31,17 +34,24 @@ class AccountRecoveryPage(BasePage): } def submit_admin_recovery_code(self, admin_code): + self.find_element_by_css_selector(self._locators['admin_form']) self.fill_by_css_selector(self._locators['admin_code'], admin_code) - self.find_element_by_css_selector(self._locators['submit_button']).click() + self.click_submit() def submit_user_recovery_code(self, user_code): + self.find_element_by_css_selector(self._locators['user_form']) self.fill_by_css_selector(self._locators['user_code'], user_code) - self.find_element_by_css_selector(self._locators['submit_button']).click() + self.click_submit() def submit_new_password(self, new_password, confirm_password): + self.find_element_by_css_selector(self._locators['new_password_form']) self.fill_by_css_selector(self._locators['new_password'], new_password) self.fill_by_css_selector(self._locators['confirm_password'], confirm_password) - self.find_element_by_css_selector(self._locators['submit_button']).click() + self.click_submit() def go_to_backup_account(self): self.find_element_by_css_selector(self._locators['backup_account_link']).click() + + def click_submit(self): + submit_button = self.find_element_by_css_selector(self._locators['submit_button']) + submit_button.click() diff --git a/service/test/functional/features/page_objects/backup_account_page.py b/service/test/functional/features/page_objects/backup_account_page.py new file mode 100644 index 00000000..d5f84b40 --- /dev/null +++ b/service/test/functional/features/page_objects/backup_account_page.py @@ -0,0 +1,30 @@ +# +# Copyright (c) 2017 ThoughtWorks, Inc. +# +# Pixelated is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Pixelated is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Pixelated. If not, see <http://www.gnu.org/licenses/>. + +from base_page import BasePage + + +class BackupAccountPage(BasePage): + def __init__(self, context): + super(BackupAccountPage, self).__init__(context, context.backup_account_url) + + self._locators = { + 'logout_button': 'button[name="logout"]' + } + + def logout(self): + logout_button = self.find_element_by_css_selector(self._locators['logout_button']) + logout_button.click() diff --git a/service/test/functional/features/page_objects/inbox_page.py b/service/test/functional/features/page_objects/inbox_page.py index 67ef1375..a6b5fef7 100644 --- a/service/test/functional/features/page_objects/inbox_page.py +++ b/service/test/functional/features/page_objects/inbox_page.py @@ -15,7 +15,7 @@ # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. from base_page import BasePage -from common import execute_ignoring_staleness +from steps.common import execute_ignoring_staleness class InboxPage(BasePage): |