feat(@DesktopApp): Login- 12, 18, 24 Seed Phrase
https://github.com/status-im/status-desktop/issues/6274 https://github.com/status-im/status-desktop/issues/6275 https://github.com/status-im/status-desktop/issues/6276 Login for 12, 18 and 24 seed Phrase
This commit is contained in:
parent
00dc09fb18
commit
3bdba429e3
|
@ -44,6 +44,13 @@ def is_loaded(objName: str):
|
|||
except LookupError:
|
||||
return False, obj
|
||||
|
||||
def is_Visible(objName: str):
|
||||
try:
|
||||
squish.findObject(getattr(names, objName))
|
||||
return True
|
||||
except LookupError:
|
||||
return False
|
||||
|
||||
|
||||
# It checks if the given object is visible and enabled.
|
||||
def is_visible_and_enabled(obj):
|
||||
|
@ -66,24 +73,25 @@ def click_obj(obj):
|
|||
except LookupError:
|
||||
return False
|
||||
|
||||
def get_obj(objName: str):
|
||||
obj = squish.findObject(getattr(names, objName))
|
||||
return obj
|
||||
|
||||
|
||||
# It executes the click action into object with given object name:
|
||||
def click_obj_by_name(objName: str):
|
||||
try:
|
||||
obj = squish.waitForObject(getattr(names, objName))
|
||||
squish.mouseClick(obj, squish.Qt.LeftButton)
|
||||
return True
|
||||
except LookupError:
|
||||
return False
|
||||
|
||||
|
||||
def scroll_obj_by_name(objName: str):
|
||||
obj = squish.waitForObject(getattr(names, objName))
|
||||
squish.mouseWheel(obj, 206, 35, 0, -1, squish.Qt.ControlModifier)
|
||||
|
||||
|
||||
def check_obj_by_name(objName: str):
|
||||
try:
|
||||
obj = squish.waitForObject(getattr(names, objName))
|
||||
obj.checked = True
|
||||
return True
|
||||
except LookupError:
|
||||
return False
|
||||
|
||||
|
||||
def is_text_matching(objName: str, text: str):
|
||||
|
@ -92,6 +100,7 @@ def is_text_matching(objName: str, text: str):
|
|||
test.compare(obj.text, text, "Found the following text " + text)
|
||||
return True
|
||||
except LookupError:
|
||||
print(objName + " is not found, please check app for correct object and update object mapper")
|
||||
return False
|
||||
|
||||
|
||||
|
|
|
@ -14,3 +14,7 @@ def verify_screen(objName: str, timeout: int=_MAX_WAIT_OBJ_TIMEOUT):
|
|||
def verify_object_enabled(objName: str, timeout: int=_MIN_WAIT_OBJ_TIMEOUT, condition: bool=True):
|
||||
result = is_loaded_visible_and_enabled(objName, timeout)
|
||||
test.verify(result, condition)
|
||||
|
||||
def verify_text_matching(objName: str, text: str):
|
||||
test.verify(is_text_matching(objName, text), True)
|
||||
|
|
@ -15,12 +15,20 @@ from drivers.SquishDriverVerification import *
|
|||
|
||||
|
||||
class MainScreenComponents(Enum):
|
||||
ADVANCED_OPTION = "advanced_StatusBaseText"
|
||||
ADVANCED_OPTION: str = "advanced_StatusBaseText"
|
||||
SCROLL_BAR: str = "o_ScrollBar"
|
||||
WALLET_ITEM: str = "wallet_AppMenu_StatusNavigationListItem"
|
||||
|
||||
|
||||
class AdvancedOptionScreen(Enum):
|
||||
ACTIVATE_OR_DEACTIVATE_WALLET = "o_StatusSettingsLineButton"
|
||||
I_UNDERSTAND_POP_UP = "i_understand_StatusBaseText"
|
||||
ACTIVATE_OR_DEACTIVATE_WALLET: str = "o_StatusSettingsLineButton"
|
||||
I_UNDERSTAND_POP_UP: str = "i_understand_StatusBaseText"
|
||||
|
||||
|
||||
class WalletSettingsScreen(Enum):
|
||||
TWELVE_SEED_PHRASE: str = "twelve_seed_phrase_address"
|
||||
EIGHTEEN_SEED_PHRASE: str = "eighteen_seed_phrase_address"
|
||||
TWENTY_FOUR_SEED_PHRASE: str = "twenty_four_seed_phrase_address"
|
||||
|
||||
|
||||
class SettingsScreen:
|
||||
|
@ -28,7 +36,25 @@ class SettingsScreen:
|
|||
def __init__(self):
|
||||
verify_screen(MainScreenComponents.ADVANCED_OPTION.value)
|
||||
|
||||
def activate_wallet(self):
|
||||
click_obj_by_name(MainScreenComponents.ADVANCED_OPTION.value)
|
||||
click_obj_by_name(AdvancedOptionScreen.ACTIVATE_OR_DEACTIVATE_WALLET.value)
|
||||
click_obj_by_name(AdvancedOptionScreen.I_UNDERSTAND_POP_UP.value)
|
||||
def activate_open_wallet_section(self):
|
||||
scroll_obj_by_name(MainScreenComponents.SCROLL_BAR.value)
|
||||
|
||||
if not (is_Visible(MainScreenComponents.WALLET_ITEM.value)) :
|
||||
click_obj_by_name(MainScreenComponents.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(MainScreenComponents.WALLET_ITEM.value)
|
||||
|
||||
click_obj_by_name(MainScreenComponents.WALLET_ITEM.value)
|
||||
|
||||
def verify_address(self, phrase: str, address: str):
|
||||
if phrase =='18':
|
||||
verify_text_matching(WalletSettingsScreen.EIGHTEEN_SEED_PHRASE.value, address)
|
||||
|
||||
if phrase == '24':
|
||||
verify_text_matching(WalletSettingsScreen.TWENTY_FOUR_SEED_PHRASE.value, address)
|
||||
|
||||
if phrase == '12':
|
||||
verify_text_matching(WalletSettingsScreen.TWELVE_SEED_PHRASE.value, address)
|
||||
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@ from drivers.SquishDriverVerification import *
|
|||
|
||||
class MainScreenComponents(Enum):
|
||||
STATUS_ICON = "mainWindow_statusIcon_StatusIcon_2"
|
||||
PUBLIC_CHAT_ICON = "mainWindow_dropRectangle_Rectangle"
|
||||
PUBLIC_CHAT_ICON = "mainWindow_public_chat_icon_StatusIcon"
|
||||
JOIN_PUBLIC_CHAT = "join_public_chat_StatusMenuItemDelegate"
|
||||
SETTINGS_BUTTON = "statusIcon_StatusIcon_4"
|
||||
SETTINGS_BUTTON = "settings_icon_StatusIcon"
|
||||
|
||||
|
||||
class ChatNamePopUp(Enum):
|
||||
|
@ -30,10 +30,10 @@ class ChatNamePopUp(Enum):
|
|||
class StatusMainScreen:
|
||||
|
||||
def __init__(self):
|
||||
verify_screen(MainScreenComponents.STATUS_ICON.value)
|
||||
verify_screen(MainScreenComponents.PUBLIC_CHAT_ICON.value)
|
||||
|
||||
def joinChatRoom(self, room):
|
||||
click_obj_by_name(MainScreenComponents.STATUS_ICON.value)
|
||||
def joinChatRoom(self, room: str):
|
||||
click_obj_by_name(MainScreenComponents.PUBLIC_CHAT_ICON.value)
|
||||
click_obj_by_name(MainScreenComponents.JOIN_PUBLIC_CHAT.value)
|
||||
type(ChatNamePopUp.INPUT_ROOM_TOPIC_TEXT.value, room)
|
||||
click_obj_by_name(ChatNamePopUp.START_CHAT.value)
|
||||
|
|
|
@ -14,36 +14,37 @@ from drivers.SquishDriverVerification import *
|
|||
|
||||
|
||||
class AgreementPopUp(Enum):
|
||||
OK_GOT_IT_BUTTON = "mainWindow_Ok_got_it_StatusBaseText"
|
||||
ACKNOWLEDGE_CHECKBOX = "acknowledge_checkbox"
|
||||
TERMS_OF_USE_CHECK_BOX = "termsOfUseCheckBox_StatusCheckBox"
|
||||
GET_STARTED_BUTTON = "getStartedStatusButton_StatusButton"
|
||||
OK_GOT_IT_BUTTON: str = "mainWindow_Ok_got_it_StatusBaseText"
|
||||
ACKNOWLEDGE_CHECKBOX: str = "acknowledge_checkbox"
|
||||
TERMS_OF_USE_CHECK_BOX: str = "termsOfUseCheckBox_StatusCheckBox"
|
||||
GET_STARTED_BUTTON: str = "getStartedStatusButton_StatusButton"
|
||||
|
||||
|
||||
class SignUpComponents(Enum):
|
||||
NEW_TO_STATUS = "mainWindow_I_am_new_to_Status_StatusBaseText"
|
||||
GENERATE_NEW_KEYS = "mainWindow_Generate_new_keys_StatusBaseText"
|
||||
USERNAME_INPUT = "mainWindow_edit_TextEdit"
|
||||
NEXT_BUTTON = "mainWindow_Next_StatusBaseText"
|
||||
NEXT_STATUS_BUTTON = "mainWindow_nextBtn_StatusButton"
|
||||
NEW_PASSWORD_BUTTON = "mainWindow_New_password_PlaceholderText"
|
||||
PASSWORD_INPUT = "loginView_passwordInput"
|
||||
CONFIRM_PASSWORD = "mainWindow_Confirm_password_PlaceholderText"
|
||||
PASSWORD_CONFIRM_INPUT = "mainWindow_inputValue_StyledTextField"
|
||||
CREATE_PASSWORD = "mainWindow_Create_password_StatusBaseText"
|
||||
CONFIRM_PASSWORD_AGAIN = "mainWindow_Confirm_you_password_again_PlaceholderText"
|
||||
FINALIZE_PASSWORD_STEP = "mainWindow_Finalise_Status_Password_Creation_StatusBaseText"
|
||||
PASSWORD_PREFERENCE = "mainWindow_I_prefer_to_use_my_password_StatusBaseText"
|
||||
NEW_TO_STATUS: str = "mainWindow_I_am_new_to_Status_StatusBaseText"
|
||||
GENERATE_NEW_KEYS: str = "mainWindow_Generate_new_keys_StatusBaseText"
|
||||
USERNAME_INPUT: str = "mainWindow_edit_TextEdit"
|
||||
NEXT_BUTTON: str = "mainWindow_Next_StatusBaseText"
|
||||
WELCOME_TO_STATUS: str = "mainWindow_Welcome_to_Status_StyledText"
|
||||
NEXT_STATUS_BUTTON: str = "mainWindow_nextBtn_StatusButton"
|
||||
NEW_PASSWORD_BUTTON: str = "mainWindow_New_password_PlaceholderText"
|
||||
PASSWORD_INPUT: str = "loginView_passwordInput"
|
||||
CONFIRM_PASSWORD: str = "mainWindow_Confirm_password_PlaceholderText"
|
||||
PASSWORD_CONFIRM_INPUT: str = "mainWindow_inputValue_StyledTextField"
|
||||
CREATE_PASSWORD: str = "mainWindow_Create_password_StatusBaseText"
|
||||
CONFIRM_PASSWORD_AGAIN: str = "mainWindow_Confirm_you_password_again_PlaceholderText"
|
||||
FINALIZE_PASSWORD_STEP: str = "mainWindow_Finalise_Status_Password_Creation_StatusBaseText"
|
||||
PASSWORD_PREFERENCE: str = "mainWindow_I_prefer_to_use_my_password_StatusBaseText"
|
||||
|
||||
|
||||
class SeedPhraseComponents(Enum):
|
||||
IMPORT_A_SEED_TEXT = "import_a_seed_phrase_StatusBaseText"
|
||||
IMPORT_A_SEED_BUTTON = "mainWindow_button_StatusButton"
|
||||
TWELVE_WORDS_BUTTON = "switchTabBar_12_words_StatusBaseText"
|
||||
EIGHTEEN_WORDS_BUTTON = "switchTabBar_18_words_StatusBaseText"
|
||||
TWENTY_FOUR_BUTTON = "switchTabBar_24_words_StatusBaseText"
|
||||
SEEDS_WORDS_TEXTFIELD = "mainWindow_placeholder_StatusBaseText"
|
||||
SUBMIT_BUTTON = "mainWindow_submitButton_StatusButton"
|
||||
IMPORT_A_SEED_TEXT: str = "import_a_seed_phrase_StatusBaseText"
|
||||
IMPORT_A_SEED_BUTTON: str = "mainWindow_button_StatusButton"
|
||||
TWELVE_WORDS_BUTTON: str = "switchTabBar_12_words_StatusBaseText"
|
||||
EIGHTEEN_WORDS_BUTTON: str = "switchTabBar_18_words_StatusBaseText"
|
||||
TWENTY_FOUR_BUTTON: str = "switchTabBar_24_words_StatusBaseText"
|
||||
SEEDS_WORDS_TEXTFIELD: str = "mainWindow_placeholder_StatusBaseText"
|
||||
SUBMIT_BUTTON: str = "mainWindow_submitButton_StatusButton"
|
||||
|
||||
|
||||
class StatusWelcomeScreen:
|
||||
|
@ -60,7 +61,7 @@ class StatusWelcomeScreen:
|
|||
click_obj_by_name(SeedPhraseComponents.IMPORT_A_SEED_TEXT.value)
|
||||
click_obj_by_name(SeedPhraseComponents.IMPORT_A_SEED_BUTTON.value)
|
||||
|
||||
def input_seed_phrase(self, seed, words, occurrences):
|
||||
def input_seed_phrase(self, seed: str, words: str, occurrence: str):
|
||||
if words =='18':
|
||||
click_obj_by_name(SeedPhraseComponents.EIGHTEEN_WORDS_BUTTON.value)
|
||||
|
||||
|
@ -69,13 +70,11 @@ class StatusWelcomeScreen:
|
|||
|
||||
if words == '12':
|
||||
click_obj_by_name(SeedPhraseComponents.TWELVE_WORDS_BUTTON.value)
|
||||
|
||||
|
||||
type(SeedPhraseComponents.SEEDS_WORDS_TEXTFIELD.value, seed)
|
||||
|
||||
|
||||
|
||||
def input_username_and_password_and_finalize_sign_up(self, username, password):
|
||||
type(SeedPhraseComponents.SEEDS_WORDS_TEXTFIELD.value, seed)
|
||||
|
||||
|
||||
def input_username_and_password_and_finalize_sign_up(self, username: str, password: str):
|
||||
self.input_username(username)
|
||||
|
||||
self.input_password(password)
|
||||
|
@ -87,15 +86,15 @@ class StatusWelcomeScreen:
|
|||
|
||||
click_obj_by_name(SignUpComponents.PASSWORD_PREFERENCE.value)
|
||||
|
||||
def input_username(self, username):
|
||||
def input_username(self, username: str):
|
||||
type(SignUpComponents.USERNAME_INPUT.value, username)
|
||||
click_obj_by_name(SignUpComponents.NEXT_BUTTON.value)
|
||||
click_obj_by_name(SignUpComponents.NEXT_STATUS_BUTTON.value)
|
||||
|
||||
def input_password(self, password):
|
||||
def input_password(self, password: str):
|
||||
type(SignUpComponents.PASSWORD_INPUT.value, password)
|
||||
|
||||
def input_confirmation_password(self, password):
|
||||
def input_confirmation_password(self, password: str):
|
||||
type(SignUpComponents.PASSWORD_CONFIRM_INPUT.value, password)
|
||||
click_obj_by_name(SignUpComponents.CREATE_PASSWORD.value)
|
||||
|
||||
|
@ -104,5 +103,6 @@ class StatusWelcomeScreen:
|
|||
click_obj_by_name(AgreementPopUp.ACKNOWLEDGE_CHECKBOX.value)
|
||||
check_obj_by_name(AgreementPopUp.TERMS_OF_USE_CHECK_BOX.value)
|
||||
click_obj_by_name(AgreementPopUp.GET_STARTED_BUTTON.value)
|
||||
verify_text_matching(SignUpComponents.WELCOME_TO_STATUS.value, "Welcome to Status")
|
||||
click_obj_by_name(SignUpComponents.NEW_TO_STATUS.value)
|
||||
|
||||
|
|
|
@ -58,30 +58,19 @@ mainWindow_statusIcon_StatusIcon_2 = {"container": statusDesktop_mainWindow, "id
|
|||
scrollView_Type_a_message_PlaceholderText = {"container": mainWindow_scrollView_ScrollView, "text": "Type a message.", "type": "PlaceholderText", "unnamed": 1, "visible": True}
|
||||
import_a_seed_phrase_StatusBaseText = {"container": statusDesktop_mainWindow, "text": "Import a seed phrase", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText = {"container": statusDesktop_mainWindow, "id": "placeholder", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_2 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 7, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_Image = {"container": statusDesktop_mainWindow, "source": "qrc:/imports/assets/png/traffic_lights/close.png", "type": "Image", "unnamed": 1, "visible": True}
|
||||
mainWindow_edit_TextEdit_2 = {"container": statusDesktop_mainWindow, "id": "edit", "occurrence": 7, "type": "TextEdit", "unnamed": 1, "visible": True}
|
||||
mainWindow_edit_TextEdit_3 = {"container": statusDesktop_mainWindow, "id": "edit", "occurrence": 2, "type": "TextEdit", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_3 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 5, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_edit_TextEdit_4 = {"container": statusDesktop_mainWindow, "id": "edit", "occurrence": 8, "type": "TextEdit", "unnamed": 1, "visible": True}
|
||||
mainWindow_btnOk_StatusButton = {"container": statusDesktop_mainWindow, "id": "btnOk", "type": "StatusButton", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_4 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 6, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_Rectangle_2 = {"container": statusDesktop_mainWindow, "occurrence": 32, "type": "Rectangle", "unnamed": 1, "visible": True}
|
||||
mainWindow_switchTabBar_StatusSwitchTabBar = {"container": statusDesktop_mainWindow, "id": "switchTabBar", "type": "StatusSwitchTabBar", "unnamed": 1, "visible": True}
|
||||
switchTabBar_18_words_StatusBaseText = {"container": mainWindow_switchTabBar_StatusSwitchTabBar, "text": "18 words", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
switchTabBar_24_words_StatusBaseText = {"container": mainWindow_switchTabBar_StatusSwitchTabBar, "text": "24 words", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
switchTabBar_12_words_StatusBaseText = {"container": mainWindow_switchTabBar_StatusSwitchTabBar, "text": "12 words", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_5 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 2, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_6 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 8, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_7 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 3, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_8 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 9, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_9 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 4, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_10 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 10, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_11 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 11, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_grid_GridView = {"container": statusDesktop_mainWindow, "id": "grid", "type": "GridView", "unnamed": 1, "visible": True}
|
||||
grid_seedWordInput_StatusSeedPhraseInput = {"container": mainWindow_grid_GridView, "id": "seedWordInput", "index": 5, "type": "StatusSeedPhraseInput", "unnamed": 1, "visible": True}
|
||||
seedWordInput_background_Rectangle = {"container": grid_seedWordInput_StatusSeedPhraseInput, "id": "background", "type": "Rectangle", "unnamed": 1, "visible": True}
|
||||
mainWindow_placeholder_StatusBaseText_12 = {"container": statusDesktop_mainWindow, "id": "placeholder", "occurrence": 12, "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_statusIcon_StatusIcon_3 = {"container": statusDesktop_mainWindow, "id": "statusIcon", "occurrence": 3, "source": "qrc:/StatusQ/src/assets/img/icons/arrow-left.svg", "type": "StatusIcon", "unnamed": 1, "visible": True}
|
||||
mainWindow_statusIcon_StatusIcon_4 = {"container": statusDesktop_mainWindow, "id": "statusIcon", "source": "qrc:/StatusQ/src/assets/img/icons/arrow-left.svg", "type": "StatusIcon", "unnamed": 1, "visible": True}
|
||||
mainWindow_Rectangle_3 = {"container": statusDesktop_mainWindow, "occurrence": 4, "type": "Rectangle", "unnamed": 1, "visible": True}
|
||||
|
@ -111,3 +100,48 @@ mainWindow_ScrollView_2 = {"container": statusDesktop_mainWindow, "occurrence":
|
|||
o_StatusSettingsLineButton = {"container": mainWindow_ScrollView_2, "occurrence": 4, "type": "StatusSettingsLineButton", "unnamed": 1, "visible": True}
|
||||
navBarListView_StatusNavBarTabButton_2 = {"checkable": True, "container": mainWindow_navBarListView_ListView, "occurrence": 2, "type": "StatusNavBarTabButton", "unnamed": 1, "visible": True}
|
||||
statusIcon_StatusIcon_4 = {"container": navBarListView_StatusNavBarTabButton_2, "id": "statusIcon", "source": "qrc:/StatusQ/src/assets/img/icons/settings.svg", "type": "StatusIcon", "unnamed": 1, "visible": True}
|
||||
o_Flickable = {"container": mainWindow_ScrollView, "type": "Flickable", "unnamed": 1, "visible": True}
|
||||
settingsMenuDelegate_StatusNavigationListItem_2 = {"container": mainWindow_ScrollView, "id": "settingsMenuDelegate", "occurrence": 5, "type": "StatusNavigationListItem", "unnamed": 1, "visible": True}
|
||||
appsMenuDelegate_StatusNavigationListItem = {"container": mainWindow_ScrollView, "id": "appsMenuDelegate", "occurrence": 2, "type": "StatusNavigationListItem", "unnamed": 1, "visible": True}
|
||||
twelve_seed_phrase_address = {"container": mainWindow_ScrollView_2, "text": "0x8285cb9bf17b23d64a489a8dad29163dd227d0fd", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
o_Flickable_2 = {"container": mainWindow_ScrollView_2, "type": "Flickable", "unnamed": 1, "visible": True}
|
||||
appsMenuDelegate_StatusNavigationListItem_2 = {"container": mainWindow_ScrollView, "id": "appsMenuDelegate", "occurrence": 3, "type": "StatusNavigationListItem", "unnamed": 1, "visible": True}
|
||||
settingsMenuDelegate_StatusNavigationListItem_3 = {"container": mainWindow_ScrollView, "id": "settingsMenuDelegate", "occurrence": 2, "type": "StatusNavigationListItem", "unnamed": 1, "visible": True}
|
||||
settingsMenuDelegate_StatusNavigationListItem_4 = {"container": mainWindow_ScrollView, "id": "settingsMenuDelegate", "type": "StatusNavigationListItem", "unnamed": 1, "visible": True}
|
||||
settingsMenuDelegate_StatusNavigationListItem_5 = {"container": mainWindow_ScrollView, "id": "settingsMenuDelegate", "occurrence": 6, "type": "StatusNavigationListItem", "unnamed": 1, "visible": True}
|
||||
follow_your_interests_in_one_of_the_many_Public_Chats_StatusBaseText = {"container": mainWindow_ScrollView, "text": "Follow your interests in one of the many Public Chats.", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
notifications_Sounds_StatusBaseText = {"container": mainWindow_ScrollView, "text": "Notifications & Sounds", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
wallet_StatusBaseText = {"container": mainWindow_ScrollView, "text": "Wallet", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
switchItem_StatusSwitch = {"checkable": True, "container": mainWindow_ScrollView_2, "id": "switchItem", "occurrence": 2, "type": "StatusSwitch", "unnamed": 1, "visible": True}
|
||||
settingsMenuDelegate_StatusNavigationListItem_6 = {"container": mainWindow_ScrollView, "id": "settingsMenuDelegate", "occurrence": 3, "type": "StatusNavigationListItem", "unnamed": 1, "visible": True}
|
||||
circle_Rectangle = {"container": mainWindow_ScrollView_2, "id": "circle", "occurrence": 2, "type": "Rectangle", "unnamed": 1, "visible": True}
|
||||
o_WalletAccountDelegate = {"container": mainWindow_ScrollView_2, "type": "WalletAccountDelegate", "unnamed": 1, "visible": True}
|
||||
statusIcon_StatusIcon_5 = {"container": mainWindow_ScrollView_2, "id": "statusIcon", "source": "qrc:/StatusQ/src/assets/img/icons/filled-account.svg", "type": "StatusIcon", "unnamed": 1, "visible": True}
|
||||
mainWindow_Wallet_StatusBaseText = {"container": statusDesktop_mainWindow, "occurrence": 2, "text": "Wallet", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
o_StatusListItem = {"container": mainWindow_ScrollView_2, "occurrence": 2, "type": "StatusListItem", "unnamed": 1, "visible": True}
|
||||
mainWindow_Testnet_Mode_StatusSwitch = {"checkable": True, "container": statusDesktop_mainWindow, "text": "Testnet Mode", "type": "StatusSwitch", "unnamed": 1, "visible": True}
|
||||
o_crypto_StyledText = {"container": mainWindow_ScrollView, "text": "#crypto", "type": "StyledText", "unnamed": 1, "visible": True}
|
||||
emptyViewAndSuggestions_EmptyViewPanel = {"container": mainWindow_ScrollView, "id": "emptyViewAndSuggestions", "type": "EmptyViewPanel", "unnamed": 1, "visible": True}
|
||||
o_vr_ar_StyledText = {"container": mainWindow_ScrollView, "text": "#vr-ar", "type": "StyledText", "unnamed": 1, "visible": True}
|
||||
o_SuggestedChannel = {"container": mainWindow_ScrollView, "occurrence": 64, "type": "SuggestedChannel", "unnamed": 1, "visible": True}
|
||||
o_status_assemble_StyledText = {"container": mainWindow_ScrollView, "text": "#status-assemble", "type": "StyledText", "unnamed": 1, "visible": True}
|
||||
mainWindow_statusIcon_StatusIcon_5 = {"container": statusDesktop_mainWindow, "id": "statusIcon", "source": "qrc:/StatusQ/src/assets/img/icons/chevron-down.svg", "type": "StatusIcon", "unnamed": 1, "visible": True}
|
||||
o_AccountMenuItemPanel = {"checkable": False, "container": statusDesktop_mainWindow_overlay, "enabled": True, "occurrence": 2, "type": "AccountMenuItemPanel", "unnamed": 1, "visible": True}
|
||||
mainWindow_walkieTalkieImage_Image = {"container": statusDesktop_mainWindow, "id": "walkieTalkieImage", "source": "qrc:/imports/assets/png/chat/chat@2x.png", "type": "Image", "unnamed": 1, "visible": True}
|
||||
eighteen_seed_phrase_address = {"container": mainWindow_ScrollView_2, "text": "0xba1d0d6ef35df8751df5faf55ebd885ad0e877b0", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
typeRectangle_Rectangle = {"container": mainWindow_ScrollView_2, "id": "typeRectangle", "type": "Rectangle", "unnamed": 1, "visible": True}
|
||||
mainWindow_StatusFlatButton = {"container": statusDesktop_mainWindow, "type": "StatusFlatButton", "unnamed": 1, "visible": True}
|
||||
walletAccount_WalletAccountDelegate = {"container": mainWindow_ScrollView_2, "objectName": "walletAccount", "type": "WalletAccountDelegate", "visible": True}
|
||||
twenty_four_seed_phrase_address = {"container": mainWindow_ScrollView_2, "text": "0x28cf6770664821a51984daf5b9fb1b52e6538e4b", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
settings_icon_StatusIcon = {"container": navBarListView_StatusNavBarTabButton, "objectName": "settings-icon", "source": "qrc:/StatusQ/src/assets/img/icons/settings.svg", "type": "StatusIcon", "visible": True}
|
||||
advanced_listItem_StatusNavigationListItem = {"container": mainWindow_ScrollView, "objectName": "Advanced-listItem", "type": "StatusNavigationListItem", "visible": True}
|
||||
communities_AppMenu_StatusNavigationListItem = {"container": mainWindow_ScrollView, "objectName": "Communities-AppMenu", "type": "StatusNavigationListItem", "visible": True}
|
||||
o_ScrollBar = {"container": mainWindow_ScrollView, "type": "ScrollBar", "unnamed": 1, "visible": True}
|
||||
wallet_AppMenu_StatusNavigationListItem = {"container": mainWindow_ScrollView, "objectName": "Wallet-AppMenu", "type": "StatusNavigationListItem", "visible": True}
|
||||
mainWindow_public_chat_icon_StatusIcon = {"container": statusDesktop_mainWindow, "objectName": "public-chat-icon", "source": "qrc:/StatusQ/src/assets/img/icons/public-chat.svg", "type": "StatusIcon", "visible": True}
|
||||
|
||||
mainWindow_Rectangle_5 = {"container": statusDesktop_mainWindow, "occurrence": 3, "type": "Rectangle", "unnamed": 1, "visible": True}
|
||||
mainWindow_Welcome_to_Status_StyledText = {"container": statusDesktop_mainWindow, "text": "Welcome to Status", "type": "StyledText", "unnamed": 1, "visible": True}
|
||||
mainWindow_Your_fully_decentralized_gateway_to_Ethereum_and_Web3_Crypto_wallet_privacy_first_group_chat_and_dApp_browser_StyledText = {"container": statusDesktop_mainWindow, "text": "Your fully decentralized gateway to Ethereum and Web3. Crypto wallet, privacy first group chat, and dApp browser.", "type": "StyledText", "unnamed": 1, "visible": True}
|
||||
mainWindow_I_already_use_Status_StatusBaseText = {"container": statusDesktop_mainWindow, "text": "I already use Status", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
mainWindow_Enter_a_seed_phrase_StatusBaseText = {"container": statusDesktop_mainWindow, "text": "Enter a seed phrase", "type": "StatusBaseText", "unnamed": 1, "visible": True}
|
||||
|
|
|
@ -7,11 +7,15 @@ _settingsScreen =SettingsScreen()
|
|||
|
||||
|
||||
@When("the user opens app settings screen")
|
||||
def step(context):
|
||||
def step(context: any):
|
||||
_statusMain.open_settings()
|
||||
|
||||
|
||||
@When("the user activates wallet")
|
||||
def step(context):
|
||||
_settingsScreen.activate_wallet()
|
||||
|
||||
@When("the user activates wallet and opens the wallets section")
|
||||
def step(context: any):
|
||||
_settingsScreen.activate_open_wallet_section()
|
||||
|
||||
@Then("the |any| seed phrase address is |any| displayed in the wallet")
|
||||
def step(context: any, phrase :str, address: str):
|
||||
_settingsScreen.verify_address(phrase, address)
|
||||
|
|
@ -11,88 +11,191 @@
|
|||
|
||||
Feature: Status Desktop Sign Up
|
||||
|
||||
As a user I want to Sign-up into the Status Desktop application.
|
||||
The following scenarios cover Sign up process.
|
||||
As a user I want to Sign-up into the Status Desktop application.
|
||||
The following scenarios cover Sign up process.
|
||||
|
||||
Scenario: User signs up and signs in with password
|
||||
Given A first time user lands on the status desktop and generates new key
|
||||
When user signs up with username tester123 and password TesTEr16843/!@00
|
||||
Then the user lands on the signed in app
|
||||
Scenario: User signs up and signs in with password
|
||||
Given A first time user lands on the status desktop and generates new key
|
||||
When user signs up with username tester123 and password TesTEr16843/!@00
|
||||
Then the user lands on the signed in app
|
||||
|
||||
|
||||
Scenario Outline: User cannot sign up with wrong username format
|
||||
Given A first time user lands on the status desktop and generates new key
|
||||
When user inputs the following <username> with ui-component mainWindow_edit_TextEdit
|
||||
Then the following ui-component mainWindow_Next_StatusBaseText is not enabled
|
||||
Scenario Outline: User cannot sign up with wrong username format
|
||||
Given A first time user lands on the status desktop and generates new key
|
||||
When user inputs the following <username> with ui-component mainWindow_edit_TextEdit
|
||||
Then the following ui-component mainWindow_Next_StatusBaseText is not enabled
|
||||
|
||||
Examples:
|
||||
| username |
|
||||
| Athl |
|
||||
| Nervo |
|
||||
| Gra |
|
||||
| tester3@ |
|
||||
Examples:
|
||||
| username |
|
||||
| Athl |
|
||||
| Nervo |
|
||||
| Gra |
|
||||
| tester3@ |
|
||||
|
||||
|
||||
Scenario Outline: User cannot sign up with wrong password format
|
||||
Given A first time user lands on the status desktop and generates new key
|
||||
When the user inputs username <username>
|
||||
Scenario Outline: User cannot sign up with wrong password format
|
||||
Given A first time user lands on the status desktop and generates new key
|
||||
When the user inputs username <username>
|
||||
|
||||
# Input wrong password format in both new password and confirmation input and verify create password button is not enabled
|
||||
When user inputs the following <wrongpassword> with ui-component loginView_passwordInput
|
||||
And user inputs the following <wrongpassword> with ui-component mainWindow_inputValue_StyledTextField
|
||||
Then the following ui-component mainWindow_Create_password_StatusBaseText is not enabled
|
||||
# Input wrong password format in both new password and confirmation input and verify create password button is not enabled
|
||||
When user inputs the following <wrongpassword> with ui-component loginView_passwordInput
|
||||
And user inputs the following <wrongpassword> with ui-component mainWindow_inputValue_StyledTextField
|
||||
Then the following ui-component mainWindow_Create_password_StatusBaseText is not enabled
|
||||
|
||||
|
||||
# Input right password format in new password input but incorrect in confirmation password input and verify create password button is not enabled
|
||||
When user inputs the following <password> with ui-component loginView_passwordInput
|
||||
And user inputs the following <wrongpassword> with ui-component mainWindow_inputValue_StyledTextField
|
||||
Then the following ui-component mainWindow_Create_password_StatusBaseText is not enabled
|
||||
# Input right password format in new password input but incorrect in confirmation password input and verify create password button is not enabled
|
||||
When user inputs the following <password> with ui-component loginView_passwordInput
|
||||
And user inputs the following <wrongpassword> with ui-component mainWindow_inputValue_StyledTextField
|
||||
Then the following ui-component mainWindow_Create_password_StatusBaseText is not enabled
|
||||
|
||||
Examples:
|
||||
| username | wrongpassword | password |
|
||||
| tester123 | Invalid34 | TesTEr16843/!@00 |
|
||||
| tester124 | badP | TesTEr16843/!@01 |
|
||||
| tester124 | bad2!s | TesTEr16843/!@01 |
|
||||
Examples:
|
||||
| username | wrongpassword | password |
|
||||
| tester123 | Invalid34 | TesTEr16843/!@00 |
|
||||
| tester124 | badP | TesTEr16843/!@01 |
|
||||
| tester124 | bad2!s | TesTEr16843/!@01 |
|
||||
|
||||
|
||||
Scenario Outline: User cannot finish Sign Up and Sign In process with wrong password
|
||||
Given A first time user lands on the status desktop and generates new key
|
||||
When the user inputs username <username>
|
||||
Scenario Outline: User cannot finish Sign Up and Sign In process with wrong password
|
||||
Given A first time user lands on the status desktop and generates new key
|
||||
When the user inputs username <username>
|
||||
|
||||
# Input correct password format in both new password and confirmation input
|
||||
When user inputs the following <password> with ui-component loginView_passwordInput
|
||||
And user inputs the following <password> with ui-component mainWindow_inputValue_StyledTextField
|
||||
And user clicks on the following ui-component mainWindow_Create_password_StatusBaseText
|
||||
# Input correct password format in both new password and confirmation input
|
||||
When user inputs the following <password> with ui-component loginView_passwordInput
|
||||
And user inputs the following <password> with ui-component mainWindow_inputValue_StyledTextField
|
||||
And user clicks on the following ui-component mainWindow_Create_password_StatusBaseText
|
||||
|
||||
# Input wrong password in final password input and verify password creation button is not enabled
|
||||
When user inputs the following <wrongpassword> with ui-component loginView_passwordInput
|
||||
Then the following ui-component mainWindow_Finalise_Status_Password_Creation_StatusBaseText is not enabled
|
||||
# Input wrong password in final password input and verify password creation button is not enabled
|
||||
When user inputs the following <wrongpassword> with ui-component loginView_passwordInput
|
||||
Then the following ui-component mainWindow_Finalise_Status_Password_Creation_StatusBaseText is not enabled
|
||||
|
||||
Examples:
|
||||
| username | wrongpassword | password |
|
||||
| tester123 | Invalid34 | TesTEr16843/!@00 |
|
||||
| tester123 | TesTEr16843/!@) | TesTEr16843/!@01 |
|
||||
Examples:
|
||||
| username | wrongpassword | password |
|
||||
| tester123 | Invalid34 | TesTEr16843/!@00 |
|
||||
| tester123 | TesTEr16843/!@) | TesTEr16843/!@01 |
|
||||
|
||||
|
||||
Scenario: User signs up with imported seed phrase
|
||||
Scenario: User signs up with imported 12 seed phrase
|
||||
|
||||
Given A first time user lands on the status desktop and navigates to import seed phrase
|
||||
When The user inputs 12 seed phrases
|
||||
| phrases | occurrence |
|
||||
| lawn | 1 |
|
||||
| corn | 3 |
|
||||
| paddle | 5 |
|
||||
| survey | 7 |
|
||||
| shrimp | 9 |
|
||||
| mind | 11 |
|
||||
| select | 2 |
|
||||
| gaze | 4 |
|
||||
| arrest | 6 |
|
||||
| pear | 8 |
|
||||
| reduce | 10 |
|
||||
| scan | 12 |
|
||||
And user clicks on the following ui-component mainWindow_submitButton_StatusButton
|
||||
When user signs up with username tester123 and password TesTEr16843/!@00
|
||||
Then the user lands on the signed in app
|
||||
When the user opens app settings screen
|
||||
And the user activates wallet
|
||||
Given A first time user lands on the status desktop and navigates to import seed phrase
|
||||
When The user inputs 12 seed phrases
|
||||
| phrases | occurrence |
|
||||
| lawn | 1 |
|
||||
| corn | 3 |
|
||||
| paddle | 5 |
|
||||
| survey | 7 |
|
||||
| shrimp | 9 |
|
||||
| mind | 11 |
|
||||
| select | 2 |
|
||||
| gaze | 4 |
|
||||
| arrest | 6 |
|
||||
| pear | 8 |
|
||||
| reduce | 10 |
|
||||
| scan | 12 |
|
||||
And user clicks on the following ui-component mainWindow_submitButton_StatusButton
|
||||
When user signs up with username tester123 and password TesTEr16843/!@00
|
||||
Then the user lands on the signed in app
|
||||
When the user opens app settings screen
|
||||
And the user activates wallet and opens the wallets section
|
||||
Then the 12 seed phrase address is 0x8285cb9bf17b23d64a489a8dad29163dd227d0fd displayed in the wallet
|
||||
|
||||
|
||||
Scenario: User signs up with imported 18 seed phrase
|
||||
|
||||
Given A first time user lands on the status desktop and navigates to import seed phrase
|
||||
When The user inputs 18 seed phrases
|
||||
| phrases | occurrence |
|
||||
| flip | 1 |
|
||||
| foam | 4 |
|
||||
| time | 7 |
|
||||
| sight | 10 |
|
||||
| scheme | 13 |
|
||||
| describe | 16 |
|
||||
| candy | 2 |
|
||||
| erosion | 5 |
|
||||
| layer | 8 |
|
||||
| depth | 11 |
|
||||
| extend | 14 |
|
||||
| dish | 17 |
|
||||
| fog | 3 |
|
||||
| seven | 6 |
|
||||
| budget | 9 |
|
||||
| denial | 12 |
|
||||
| body | 15 |
|
||||
| device | 18 |
|
||||
|
||||
And user clicks on the following ui-component mainWindow_submitButton_StatusButton
|
||||
When user signs up with username tester124 and password TesTEr16843/!@00
|
||||
Then the user lands on the signed in app
|
||||
When the user opens app settings screen
|
||||
And the user activates wallet and opens the wallets section
|
||||
Then the 18 seed phrase address is 0xba1d0d6ef35df8751df5faf55ebd885ad0e877b0 displayed in the wallet
|
||||
|
||||
|
||||
Scenario: User signs up with imported 24 seed phrase
|
||||
|
||||
Given A first time user lands on the status desktop and navigates to import seed phrase
|
||||
When The user inputs 24 seed phrases
|
||||
| phrases | occurrence |
|
||||
| abstract | 1 |
|
||||
| maple | 5 |
|
||||
| license | 9 |
|
||||
| damage | 13 |
|
||||
| margin | 17 |
|
||||
| marine | 21 |
|
||||
| prevent | 2 |
|
||||
| neutral | 6 |
|
||||
| slender | 10 |
|
||||
| unique | 14 |
|
||||
| sphere | 18 |
|
||||
| drama | 22 |
|
||||
| exact | 3 |
|
||||
| pottery | 7 |
|
||||
| just | 11 |
|
||||
| consider | 15 |
|
||||
| debate | 19 |
|
||||
| dial | 23 |
|
||||
| oil | 4 |
|
||||
| deny | 8 |
|
||||
| timber | 12 |
|
||||
| angle | 16 |
|
||||
| exhibit | 20 |
|
||||
| actress | 24 |
|
||||
|
||||
And user clicks on the following ui-component mainWindow_submitButton_StatusButton
|
||||
When user signs up with username tester124 and password TesTEr16843/!@00
|
||||
Then the user lands on the signed in app
|
||||
When the user opens app settings screen
|
||||
And the user activates wallet and opens the wallets section
|
||||
Then the 24 seed phrase address is 0x28cf6770664821a51984daf5b9fb1b52e6538e4b displayed in the wallet
|
||||
|
||||
Scenario: User signs up with wrong imported seed phrase
|
||||
|
||||
Given A first time user lands on the status desktop and navigates to import seed phrase
|
||||
When The user inputs 24 seed phrases
|
||||
| phrases | occurrence |
|
||||
| abstract | 1 |
|
||||
| maple | 5 |
|
||||
| games | 9 |
|
||||
| damage | 13 |
|
||||
| margin | 17 |
|
||||
| drama | 21 |
|
||||
| prevent | 2 |
|
||||
| neutral | 6 |
|
||||
| timber | 10 |
|
||||
| unique | 14 |
|
||||
| sphere | 18 |
|
||||
| only | 22 |
|
||||
| exact | 3 |
|
||||
| pottery | 7 |
|
||||
| just | 11 |
|
||||
| consider | 15 |
|
||||
| actress | 19 |
|
||||
| dial | 23 |
|
||||
| oil | 4 |
|
||||
| deny | 8 |
|
||||
| dial | 12 |
|
||||
| timber | 16 |
|
||||
| exhibit | 20 |
|
||||
| house | 24 |
|
||||
|
||||
Then the following ui-component mainWindow_submitButton_StatusButton is not enabled
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
source(findFile('scripts', 'python/bdd.py'))
|
||||
|
||||
setupHooks('../shared/scripts/bdd_hooks.py')
|
||||
collectStepDefinitions('./steps', '../shared/steps', '../shared/signUpSteps')
|
||||
collectStepDefinitions('./steps', '../shared/steps', '../shared/signUpSteps', '../shared/settingsSteps')
|
||||
|
||||
def main():
|
||||
testSettings.throwOnFailure = True
|
||||
|
|
|
@ -57,6 +57,7 @@ Column {
|
|||
id: appsMenuItems
|
||||
delegate: StatusNavigationListItem {
|
||||
id: appsMenuDelegate
|
||||
objectName: model.text + "-AppMenu"
|
||||
itemId: model.subsection
|
||||
title: model.text
|
||||
icon.name: model.icon
|
||||
|
@ -84,6 +85,7 @@ Column {
|
|||
id: settingsMenuItems
|
||||
delegate: StatusNavigationListItem {
|
||||
id: settingsMenuDelegate
|
||||
objectName: model.text + "-SettingsMenu"
|
||||
itemId: model.subsection
|
||||
title: model.text
|
||||
icon.name: model.icon
|
||||
|
|
Loading…
Reference in New Issue