2023-09-22 08:44:29 +00:00
|
|
|
import time
|
|
|
|
|
2023-09-20 11:35:56 +00:00
|
|
|
import allure
|
|
|
|
import pytest
|
|
|
|
from allure import step
|
|
|
|
|
|
|
|
import constants
|
2023-09-22 08:44:29 +00:00
|
|
|
from constants.social_links import social_links
|
2023-09-20 11:35:56 +00:00
|
|
|
from driver.aut import AUT
|
2023-09-22 08:44:29 +00:00
|
|
|
from gui.components.back_up_your_seed_phrase_banner import BackUpSeedPhraseBanner
|
|
|
|
from gui.components.settings.changes_detected_popup import ChangesDetectedToastMessage
|
2023-09-20 11:35:56 +00:00
|
|
|
from gui.main_window import MainWindow
|
|
|
|
|
|
|
|
pytestmark = allure.suite("Settings")
|
|
|
|
|
|
|
|
|
|
|
|
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703007',
|
|
|
|
'Change own display name in profile popup')
|
|
|
|
@pytest.mark.case(703007)
|
|
|
|
@pytest.mark.parametrize('user_account', [constants.user.user_account_one])
|
|
|
|
@pytest.mark.parametrize('new_name', [pytest.param('NewUserName')])
|
|
|
|
def test_change_own_display_name(main_screen: MainWindow, user_account, new_name):
|
|
|
|
with step('Open own profile popup and check name of user is correct'):
|
|
|
|
profile = main_screen.left_panel.open_user_canvas()
|
|
|
|
profile_popup = profile.open_profile_popup()
|
|
|
|
assert profile_popup.user_name == user_account.name
|
|
|
|
|
|
|
|
with step('Go to edit profile settings and change the name of the user'):
|
|
|
|
profile_popup.edit_profile().set_name(new_name)
|
|
|
|
|
|
|
|
with step('Open own profile popup and check name of user is correct'):
|
|
|
|
assert main_screen.left_panel.open_user_canvas().open_profile_popup().user_name == new_name
|
|
|
|
|
|
|
|
|
|
|
|
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703002', 'Switch state to offline')
|
|
|
|
@pytest.mark.case(703002)
|
|
|
|
def test_switch_states_between_offline_and_online(aut: AUT, main_screen: MainWindow, user_account):
|
|
|
|
with (step('Open settings and switch state to offline')):
|
|
|
|
settings = main_screen.left_panel
|
|
|
|
settings.set_user_to_offline()
|
|
|
|
|
|
|
|
with step('Verify user appears offline'):
|
|
|
|
assert settings.user_is_offline()
|
|
|
|
|
|
|
|
with step('Restart application'):
|
|
|
|
aut.restart()
|
|
|
|
main_screen.authorize_user(user_account)
|
|
|
|
|
|
|
|
with step('Verify user appears offline'):
|
|
|
|
assert settings.user_is_offline()
|
|
|
|
|
|
|
|
with (step('Open settings and switch state to online')):
|
|
|
|
settings = main_screen.left_panel
|
|
|
|
settings.set_user_to_online()
|
|
|
|
|
|
|
|
with step('Restart application'):
|
|
|
|
aut.restart()
|
|
|
|
main_screen.authorize_user(user_account)
|
|
|
|
|
|
|
|
with step('Verify user appears online'):
|
|
|
|
assert settings.user_is_online()
|
|
|
|
|
|
|
|
|
|
|
|
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703004', 'Switch state to automatic')
|
|
|
|
@pytest.mark.case(703004)
|
|
|
|
def test_switch_state_to_automatic(aut: AUT, main_screen: MainWindow, user_account):
|
|
|
|
with step('Open settings and switch state to automatic'):
|
|
|
|
settings = main_screen.left_panel
|
|
|
|
settings.set_user_to_automatic()
|
|
|
|
|
|
|
|
with step('Verify user status set automatically to online'):
|
|
|
|
assert settings.user_is_set_to_automatic()
|
|
|
|
|
|
|
|
with step('Restart application'):
|
|
|
|
aut.restart()
|
|
|
|
main_screen.authorize_user(user_account)
|
|
|
|
|
|
|
|
with step('Verify user status set automatically to online'):
|
|
|
|
assert settings.user_is_set_to_automatic()
|
|
|
|
|
|
|
|
|
|
|
|
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703005',
|
|
|
|
'Change the password and login with new password')
|
|
|
|
@pytest.mark.case(703005)
|
|
|
|
@pytest.mark.parametrize('user_account, user_account_new',
|
2023-09-22 08:44:29 +00:00
|
|
|
[pytest.param(constants.user.user_account_one, constants.user.user_account_one_changed_name)])
|
2023-09-20 11:35:56 +00:00
|
|
|
def test_change_password_and_login(aut: AUT, main_screen: MainWindow, user_account, user_account_new):
|
|
|
|
with step('Open profile settings and change password'):
|
|
|
|
main_screen.left_panel.open_settings().left_panel.open_profile_settings().open_change_password_popup().change_password(
|
|
|
|
user_account.password, user_account_new.password)
|
|
|
|
|
|
|
|
with step('Restart application'):
|
|
|
|
aut.restart()
|
|
|
|
main_screen.authorize_user(user_account_new)
|
|
|
|
|
|
|
|
with step('Verify that the user logged in correctly'):
|
|
|
|
user_canvas = main_screen.left_panel.open_user_canvas()
|
|
|
|
profile_popup = user_canvas.open_profile_popup()
|
|
|
|
assert profile_popup.user_name == user_account_new.name
|
2023-09-22 08:44:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703001','Backup seed phrase')
|
|
|
|
@pytest.mark.case(703001)
|
|
|
|
def test_back_up_seed_phrase(main_screen: MainWindow):
|
|
|
|
with step('Open back up seed phrase in settings'):
|
|
|
|
settings = main_screen.left_panel.open_settings()
|
|
|
|
back_up = settings.left_panel.open_back_up_seed_phrase()
|
|
|
|
back_up.back_up_seed_phrase()
|
2023-09-25 08:39:22 +00:00
|
|
|
with step('Verify back up seed phrase banner disappeared'):
|
2023-09-22 08:44:29 +00:00
|
|
|
assert not BackUpSeedPhraseBanner().is_visible, 'Secure your seed phrase banner visible'
|
|
|
|
|
|
|
|
|
|
|
|
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703006',
|
|
|
|
'Set display name, bio and social links')
|
|
|
|
@pytest.mark.case(703006)
|
|
|
|
@pytest.mark.parametrize('user_account, user_account_changed',
|
|
|
|
[pytest.param(constants.user.user_account_one, constants.user.user_account_one_changed_name)])
|
|
|
|
@pytest.mark.parametrize('bio, links', [pytest.param('This is my bio', constants.social_links.social_links)])
|
|
|
|
def test_set_name_bio_social_links(main_screen: MainWindow, aut: AUT, user_account, user_account_changed, bio, links):
|
|
|
|
with step('Open profile settings and check name, bio and links'):
|
|
|
|
profile_settings = main_screen.left_panel.open_settings().left_panel.open_profile_settings()
|
|
|
|
assert profile_settings.display_name == user_account.name
|
|
|
|
assert profile_settings.bio == ''
|
|
|
|
for value in profile_settings.social_links.values():
|
|
|
|
assert value == ''
|
|
|
|
|
|
|
|
with step('Set new name, bio and links'):
|
|
|
|
profile_settings.set_name(user_account_changed.name)
|
|
|
|
profile_settings.bio = bio
|
|
|
|
profile_settings.social_links = links
|
|
|
|
ChangesDetectedToastMessage().save()
|
|
|
|
|
|
|
|
with step('Restart application'):
|
|
|
|
aut.restart()
|
|
|
|
main_screen.authorize_user(user_account_changed)
|
|
|
|
|
|
|
|
with step('Open profile settings and check new name, bio and links'):
|
|
|
|
profile_settings = main_screen.left_panel.open_settings().left_panel.open_profile_settings()
|
|
|
|
assert profile_settings.display_name == user_account_changed.name
|
|
|
|
assert profile_settings.bio == bio
|
|
|
|
profile_settings.verify_social_links(links)
|