71 lines
3.4 KiB
Python
71 lines
3.4 KiB
Python
import random
|
|
import string
|
|
|
|
import allure
|
|
import pytest
|
|
from allure import step
|
|
|
|
from gui.components.toast_message import ToastMessage
|
|
from gui.screens.wallet import SavedAddressesView
|
|
from . import marks
|
|
|
|
import configs
|
|
import driver
|
|
from gui.components.signing_phrase_popup import SigningPhrasePopup
|
|
from gui.main_window import MainWindow
|
|
|
|
pytestmark = marks
|
|
|
|
|
|
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703021', 'Manage a saved address')
|
|
@pytest.mark.case(703021)
|
|
@pytest.mark.parametrize('name, address, new_name',
|
|
[
|
|
pytest.param(
|
|
''.join(random.choices(string.ascii_letters, k=24)),
|
|
'0x8397bc3c5a60a1883174f722403d63a8833312b7',
|
|
''.join(random.choices(string.ascii_letters, k=24)))
|
|
])
|
|
# TODO: https://github.com/status-im/desktop-qa-automation/issues/452
|
|
def test_manage_saved_address(main_screen: MainWindow, name: str, address: str, new_name: str):
|
|
with step('Add new saved address'):
|
|
wallet = main_screen.left_panel.open_wallet()
|
|
SigningPhrasePopup().confirm_phrase()
|
|
wallet.left_panel.open_saved_addresses().open_add_saved_address_popup().add_saved_address(name, address)
|
|
|
|
with step('Verify that saved address is in the list of saved addresses'):
|
|
assert driver.waitFor(
|
|
lambda: name in wallet.left_panel.open_saved_addresses().address_names,
|
|
configs.timeouts.UI_LOAD_TIMEOUT_MSEC), f'Address: {name} not found'
|
|
|
|
with step('Verify toast message when adding saved address'):
|
|
messages = ToastMessage().get_toast_messages
|
|
assert f'{name} successfully added to your saved addresses' in messages, \
|
|
f"Toast message about adding saved address is not correct or not present. Current list of messages: {messages}"
|
|
|
|
with step('Edit saved address to new name'):
|
|
SavedAddressesView().open_edit_address_popup(name).edit_saved_address(new_name, address)
|
|
|
|
with step('Verify that saved address with new name is in the list of saved addresses'):
|
|
assert driver.waitFor(
|
|
lambda: new_name in SavedAddressesView().address_names,
|
|
configs.timeouts.UI_LOAD_TIMEOUT_MSEC), f'Address: {new_name} not found'
|
|
|
|
with step('Verify toast message when editing saved address'):
|
|
messages = ToastMessage().get_toast_messages
|
|
assert f'{new_name} saved address successfully edited' in messages, \
|
|
f"Toast message about editing saved address is not correct or not present. Current list of messages: {messages}"
|
|
|
|
with step('Delete address with new name'):
|
|
wallet.left_panel.open_saved_addresses().delete_saved_address(new_name)
|
|
|
|
with step('Verify toast message when deleting saved address'):
|
|
messages = ToastMessage().get_toast_messages
|
|
assert f'{new_name} was successfully removed from your saved addresses' in messages, \
|
|
f"Toast message about deleting saved address is not correct or not present. Current list of messages: {messages}"
|
|
|
|
with step('Verify that saved address with new name is not in the list of saved addresses'):
|
|
assert not driver.waitFor(
|
|
lambda: new_name in wallet.left_panel.open_saved_addresses().get_saved_addresses_list(),
|
|
configs.timeouts.UI_LOAD_TIMEOUT_MSEC), f'Address: {new_name} is still present'
|