fix(@desktop/wallet): update tests to remove wallet activation

This commit is contained in:
Ivan Belyakov 2023-03-17 14:39:50 +03:00 committed by IvanBelyakoff
parent 02ebc8744c
commit 36940cc81e
11 changed files with 90 additions and 113 deletions

View File

@ -36,7 +36,6 @@ class SidebarComponents(Enum):
class AdvancedOptionScreen(Enum):
ACTIVATE_OR_DEACTIVATE_WALLET: str = "walletSettingsLineButton"
ACTIVATE_OR_DEACTIVATE_COMMUNITY_PERMISSIONS: str = "communitySettingsLineButton"
I_UNDERSTAND_POP_UP: str = "i_understand_StatusBaseText"
@ -149,15 +148,7 @@ class SettingsScreen:
def open_wallet_settings(self):
click_obj_by_name(SidebarComponents.WALLET_OPTION.value)
def activate_wallet_option(self):
if not is_loaded_visible_and_enabled(SidebarComponents.WALLET_OPTION.value):
click_obj_by_name(SidebarComponents.ADVANCED_OPTION.value)
click_obj_by_name(AdvancedOptionScreen.ACTIVATE_OR_DEACTIVATE_WALLET.value)
click_obj_by_name(AdvancedOptionScreen.I_UNDERSTAND_POP_UP.value)
verify_object_enabled(SidebarComponents.WALLET_OPTION.value)
def activate_open_wallet_section(self):
self.activate_wallet_option()
def open_wallet_section(self):
click_obj_by_name(MainScreenComponents.WALLET_BUTTON.value)
def delete_account(self, account_name: str, password: str):

View File

@ -27,11 +27,11 @@ _status_data_folder = "status_data_folder_path"
_fixtures_root = "fixtures_root"
_search_images = "search_images"
_feature_name = "feature_name"
def context_init(context, testSettings, screenshot_on_fail = True):
# With this property it is enabled that every test failure will cause Squish to take a screenshot of the desktop when the failure occurred
testSettings.logScreenshotOnFail = screenshot_on_fail
filesMngr.erase_directory(_status_qt_path)
context.userData = {}
context.userData[_aut_name] = _status_desktop_app_name
@ -53,7 +53,7 @@ def context_init(context, testSettings, screenshot_on_fail = True):
for path_part in split_path:
joined_path += path_part + "/"
context.userData[_fixtures_root] = os.path.join(joined_path, "fixtures/")
context.userData[_fixtures_root] = os.path.join(joined_path, "fixtures/")
def a_first_time_user_lands_on(context):
filesMngr.erase_directory(context.userData[_status_data_folder])
@ -72,13 +72,13 @@ def a_first_time_user_lands_on_and_generates_new_key(context):
def a_user_lands_on_and_generates_new_key(context):
welcome_screen = StatusWelcomeScreen()
welcome_screen.generate_new_key()
def a_first_time_user_lands_on_and_navigates_to_import_seed_phrase(context):
filesMngr.erase_directory(context.userData[_status_data_folder])
filesMngr.start_application(context.userData[_aut_name])
welcome_screen = StatusWelcomeScreen()
welcome_screen.agree_terms_conditions_and_navigate_to_import_seed_phrase()
def the_user_inputs_username(username: str):
welcome_screen = StatusWelcomeScreen()
welcome_screen.input_username(username)
@ -90,20 +90,20 @@ def the_user_signs_up(user: str, password: str):
def the_user_signs_again_up(user: str, password: str):
welcome_screen = StatusWelcomeScreen()
welcome_screen.input_username_and_password_again_and_finalize_sign_up(user, password)
def the_user_lands_on_the_signed_in_app():
main_screen = StatusMainScreen()
main_screen.is_ready()
def signs_up_process_steps(context, user: str, password: str):
a_first_time_user_lands_on_and_generates_new_key(context)
the_user_signs_up(user, password)
the_user_lands_on_the_signed_in_app()
def the_user_inputs_the_seed_phrase(seed_phrase: str):
welcome_screen = StatusWelcomeScreen()
welcome_screen.input_seed_phrase(seed_phrase)
def the_user_clicks_on_the_following_ui_component(component: str):
common.click_on_an_object(component)
@ -115,16 +115,16 @@ def signs_up_with_seed_phrase_process_steps(context, seed_phrase: str, user: str
the_user_lands_on_the_signed_in_app()
def the_user_opens_the_chat_section():
main_screen = StatusMainScreen()
main_screen = StatusMainScreen()
main_screen.open_chat_section()
def the_user_opens_the_community_portal_section():
main_screen = StatusMainScreen()
main_screen.open_community_portal()
def the_user_lands_on_the_community_portal_section():
StatusCommunityPortalScreen()
def the_user_creates_a_community(name: str, description: str, intro: str, outro: str):
communitity_portal_screen = StatusCommunityPortalScreen()
communitity_portal_screen.create_community(name, description, intro, outro)
@ -149,21 +149,21 @@ def login_process_steps(context, user: str, password: str, data_dir_path: str):
a_user_starts_the_application_with_a_specific_data_folder(context, data_dir_path)
the_user_logs_in(user, password)
the_user_lands_on_the_signed_in_app()
def the_user_opens_app_settings_screen():
main_screen = StatusMainScreen()
main_screen.open_settings()
def the_user_navigates_back_to_user_profile_page():
welcome_screen = StatusWelcomeScreen()
welcome_screen.navigate_back_to_user_profile_page()
def the_user_activates_wallet_and_opens_the_wallet_section():
def the_user_opens_the_wallet_section():
settings_screen = SettingsScreen()
settings_screen.activate_open_wallet_section()
settings_screen.open_wallet_section()
def the_user_toggles_test_networks():
settings_screen = SettingsScreen()
settings_screen.toggle_test_networks()
settings_screen.toggle_test_networks()
main_screen = StatusMainScreen()
main_screen.click_tool_bar_back_button()
main_screen.click_tool_bar_back_button()

View File

@ -15,46 +15,42 @@ _languageScreen = StatusLanguageScreen()
@Given("the user opens app settings screen")
def step(context: any):
the_user_opens_app_settings_screen()
@Given("the user opens the messaging settings")
def step(context: any):
the_user_opens_the_messaging_settings()
@Given("the user activates wallet and opens the wallet section")
@Given("the user opens the wallet section")
def step(context: any):
init_steps.the_user_activates_wallet_and_opens_the_wallet_section()
init_steps.the_user_opens_the_wallet_section()
@Given("the user toggles test networks")
def step(context: any):
init_steps.the_user_toggles_test_networks()
@Given("the user activates wallet")
def step(context: any):
the_user_activates_wallet()
@Given("the user opens the wallet settings")
def step(context: any):
the_user_opens_the_wallet_settings()
@Given("the user opens the profile settings")
def step(context: any):
the_user_opens_the_profile_settings()
@Given("the user's display name is \"|any|\"")
def step(context, display_name: str):
if "popup" in context.userData["scenario_name"]:
the_user_display_name_in_profile_popup_is(display_name)
else:
the_user_display_name_is(display_name)
the_user_display_name_is(display_name)
@Given("the user's bio is empty")
def step(context):
_settingsScreen.verify_bio("")
@Given("the user's social links are empty")
def step(context):
_settingsScreen.verify_social_links(None)
@Given("the user opens own profile popup")
def step(context: any):
the_user_opens_own_profile_popup()
@ -68,7 +64,7 @@ def step(context: any, settings_type:str):
def step(context: any, settings_type:str):
#TODO: Implement parameters for settings
_settingsScreen.activate_community_permission_settings()
#########################
### ACTIONS region:
#########################
@ -84,11 +80,11 @@ def step(context: any):
@When("the user opens app settings screen")
def step(context: any):
the_user_opens_app_settings_screen()
@When("the user opens the messaging settings")
def step(context: any):
the_user_opens_the_messaging_settings()
@When("the user opens the contacts settings")
def step(context: any):
the_user_opens_the_contact_settings()
@ -97,10 +93,6 @@ def step(context: any):
def step(context: any):
_settingsScreen.activate_image_unfurling()
@When("the user activates wallet")
def step(context: any):
the_user_activates_wallet()
@When("the user opens the wallet settings")
def step(context: any):
the_user_opens_the_wallet_settings()
@ -122,31 +114,31 @@ def step(context: any, account_name: str, account_color: str):
def step(context, password):
_statusMain.open_settings()
_settingsScreen.register_random_ens_name(password)
@When("the user clicks on Language & Currency")
def step(context):
_settingsScreen.open_language_and_currency_settings()
_settingsScreen.open_language_and_currency_settings()
_languageScreen.is_screen_loaded()
@When("the user opens the language selector")
def step(context):
_languageScreen.open_language_combobox()
@When("the user selects the language |any|")
def step(context, native):
_languageScreen.select_language(native)
snooze(5) # TODO: Wait until language has changed
@When("the user searches the language |any|")
def step(context, native):
_languageScreen.search_language(native)
@When("the user clicks on Sign out and Quit")
def step(context: any):
ctx = currentApplicationContext()
_settingsScreen.sign_out_and_quit_the_app(ctx.pid)
@Given("the user opens the communities settings")
@Given("the user opens the communities settings")
@When("the user opens the communities settings")
def step(context: any):
_settingsScreen.open_communities_section()
@ -160,29 +152,29 @@ def step(context: any):
the_user_opens_the_profile_settings()
@When("the user sets display name to \"|any|\"")
def step(context, display_name):
def step(context, display_name):
_settingsScreen.set_display_name(display_name)
@When("the user backs up the wallet seed phrase")
def step(context):
_settingsScreen.check_backup_seed_phrase_workflow()
@When("the user sets social links to:")
def step(context):
_settingsScreen.set_social_links(context.table)
@When("the user sets bio to \"|any|\"")
def step(context, bio):
_settingsScreen.set_bio(bio)
@When("the users switches state to offline")
def step(context: any):
_statusMain.set_user_state_offline()
@When("the users switches state to online")
def step(context: any):
_statusMain.set_user_state_online()
@When("the users switches state to automatic")
def step(context: any):
_statusMain.set_user_state_to_automatic()
@ -198,7 +190,7 @@ def step(context: any, chat_key: str, reason: str):
@When("the user sends a contact request with the reason \"|any|\"")
def step(context: any, reason: str):
_settingsScreen.send_contact_request_via_profile_popup(reason)
@When("the user opens own profile popup")
def step(context: any):
the_user_opens_own_profile_popup()
@ -208,25 +200,25 @@ def step(context: any):
_statusMain.navigate_to_edit_profile()
@When("the user closes the popup")
def step(context: any):
def step(context: any):
_statusMain.close_popup()
#########################
### VERIFICATIONS region:
#########################
@Then("the address |any| is displayed in the wallet")
def step(context: any, address: str):
_settingsScreen.verify_address(address)
@Then("the account \"|any|\" is not in the list of accounts")
def step(context: any, account_name):
_settingsScreen.verify_no_account(account_name)
_settingsScreen.verify_no_account(account_name)
@Then("the default account is updated to be named \"|any|\" with color \"|any|\"")
def step(context, new_name: str, new_color: str):
_settingsScreen.verify_editedAccount(new_name, new_color)
@Then("the app is closed")
def step(context: any):
_settingsScreen.verify_the_app_is_closed()
@ -249,24 +241,24 @@ def step(context):
@Then("the application displays |any| as the selected language")
def step(context, native):
_languageScreen.verify_current_language(native)
# TODO: Verify some texts have been changed in the application (not done now bc translations are inconsistent
# TODO: Verify some texts have been changed in the application (not done now bc translations are inconsistent
# and not all expected languages have the same texts translated
@Then("the backup seed phrase indicator is not displayed")
def step(context):
_settingsScreen.verify_seed_phrase_indicator_not_visible()
@Then("the user appears offline")
def step(context: any):
_statusMain.user_is_offline()
@Then("the user appears online")
def step(context: any):
_statusMain.user_is_online()
@Then("the user status is automatic")
def step(context: any):
_statusMain.user_is_set_to_automatic()
_statusMain.user_is_set_to_automatic()
@Then("the contact request for chat key \"|any|\" is present in the pending requests tab")
def step(context, chat_key: str):
@ -279,38 +271,35 @@ def step(context):
@Then("a contact request is present in the received pending requests tab")
def step(context):
_settingsScreen.verify_there_is_a_received_contact_request()
@Then("the user opens the community named \"|any|\"")
def step(context, community_name:str):
_settingsScreen.open_community(community_name)
###########################################################################
### COMMON methods used in different steps given/when/then region:
###########################################################################
###########################################################################
def the_user_opens_app_settings_screen():
init_steps.the_user_opens_app_settings_screen()
def the_user_opens_the_messaging_settings():
_settingsScreen.open_messaging_settings()
def the_user_opens_the_contact_settings():
_settingsScreen.open_contacts_settings()
def the_user_activates_wallet():
_settingsScreen.activate_wallet_option()
def the_user_opens_the_wallet_settings():
_settingsScreen.open_wallet_settings()
def the_user_opens_the_profile_settings():
_settingsScreen.open_profile_settings()
def the_user_display_name_is(display_name: str):
_settingsScreen.verify_display_name(display_name)
def the_user_display_name_in_profile_popup_is(display_name: str):
_statusMain.verify_profile_popup_display_name(display_name)
def the_user_opens_own_profile_popup():
_statusMain.open_own_profile_popup()
_statusMain.open_own_profile_popup()

View File

@ -15,8 +15,7 @@ Feature: Status Desktop Main Settings Section
# TODO: It is also unstable. Needs to be checked.
@mayfail
Scenario: The user can backup seed phrase
Given the user activates wallet
And the user opens the wallet settings
Given the user opens the wallet settings
When the user backs up the wallet seed phrase
Then the backup seed phrase indicator is not displayed

View File

@ -5,26 +5,25 @@ import steps.commonInitSteps as init_steps
from screens.StatusMainScreen import StatusMainScreen
from screens.SettingsScreen import SettingsScreen
from screens.StatusWalletScreen import StatusWalletScreen
def the_user_accepts_the_signing_phrase():
wallet_screen = StatusWalletScreen()
wallet_screen.accept_signing_phrase()
def activate_and_open_wallet():
init_steps.the_user_opens_app_settings_screen()
init_steps.the_user_activates_wallet_and_opens_the_wallet_section()
def open_wallet():
init_steps.the_user_opens_the_wallet_section()
the_user_accepts_the_signing_phrase()
def the_user_opens_the_wallet_settings():
settings_screen = SettingsScreen()
settings_screen.open_wallet_settings()
def the_user_opens_wallet_screen():
main_screen = StatusMainScreen()
main_screen.open_wallet()
def toggle_test_networks():
main_screen.open_wallet()
def toggle_test_networks():
the_user_opens_the_wallet_settings()
init_steps.the_user_toggles_test_networks()
the_user_opens_wallet_screen()
the_user_accepts_the_signing_phrase()
the_user_accepts_the_signing_phrase()

View File

@ -17,7 +17,7 @@ _seed_phrase = "pelican chief sudden oval media rare swamp elephant lawsuit whea
def hook(context):
init_steps.context_init(context, testSettings)
init_steps.signs_up_with_seed_phrase_process_steps(context, _seed_phrase, _user, _password)
wallet_init_steps.activate_and_open_wallet()
wallet_init_steps.open_wallet()
@OnFeatureEnd
def hook(context):
@ -26,4 +26,4 @@ def hook(context):
@OnStepEnd
def hook(context):
context.userData["step_name"] = context._data["text"]
context.userData["step_name"] = context._data["text"]

View File

@ -10,7 +10,6 @@ Feature: Status Desktop Transaction
** and the user signs up with username "tester123" and password "qqqqqqqqqq"
** and the user lands on the signed in app
** and the user opens app settings screen
** and the user activates wallet
** and the user opens the wallet settings
** and the user toggles test networks
** and the user opens wallet screen

View File

@ -16,7 +16,7 @@ _password = "TesTEr16843/!@00"
def hook(context):
init_steps.context_init(context, testSettings)
init_steps.signs_up_process_steps(context, _user, _password)
wallet_init_steps.activate_and_open_wallet()
wallet_init_steps.open_wallet()
@OnFeatureEnd
def hook(context):
@ -25,4 +25,4 @@ def hook(context):
@OnStepEnd
def hook(context):
context.userData["step_name"] = context._data["text"]
context.userData["step_name"] = context._data["text"]

View File

@ -9,7 +9,7 @@ Feature: Status Desktop Wallet
** and the user lands on the signed in app
** given the user opens app settings screen
** and the user activates wallet and opens the wallet section
** and the user opens the wallet section
** and the user accepts the signing phrase
Background: Navigation to main wallet screen

View File

@ -25,7 +25,7 @@ QtObject {
readonly property var temporarySocialLinksJson: profileModule.temporarySocialLinksJson
readonly property bool socialLinksDirty: profileModule.socialLinksDirty
readonly property bool isWalletEnabled: Global.appIsReady? mainModule.sectionsModel.getItemEnabledBySectionType(Constants.appSection.wallet) : false
readonly property bool isWalletEnabled: Global.appIsReady? mainModule.sectionsModel.getItemEnabledBySectionType(Constants.appSection.wallet) : true
onUserDeclinedBackupBannerChanged: {
if (userDeclinedBackupBanner !== localAccountSensitiveSettings.userDeclinedBackupBanner) {

View File

@ -17,7 +17,7 @@ QtObject {
property var appSettingsInst: Global.appIsReady && !!appSettings? appSettings : null
property var accountSensitiveSettings: Global.appIsReady && !!localAccountSensitiveSettings? localAccountSensitiveSettings : null
property real volume: !!appSettingsInst ? appSettingsInst.volume * 0.01 : 0.5
property bool isWalletEnabled: Global.appIsReady? mainModule.sectionsModel.getItemEnabledBySectionType(Constants.appSection.wallet) : false
property bool isWalletEnabled: Global.appIsReady? mainModule.sectionsModel.getItemEnabledBySectionType(Constants.appSection.wallet) : true
property bool notificationSoundsEnabled: !!appSettingsInst ? appSettingsInst.notificationSoundsEnabled : true
property bool neverAskAboutUnfurlingAgain: !!accountSensitiveSettings ? accountSensitiveSettings.neverAskAboutUnfurlingAgain : false