mirror of
https://github.com/status-im/status-react.git
synced 2025-01-30 20:55:03 +00:00
Goerli contracts, go-version bump: 3a46b051...3cd92fda
This commit is contained in:
parent
a07bc82c37
commit
28a2113874
8
.env.e2e
8
.env.e2e
@ -1,10 +1,10 @@
|
||||
DEBUG_WEBVIEW=1
|
||||
DEFAULT_NETWORK=testnet_rpc
|
||||
DEFAULT_NETWORK=goerli_rpc
|
||||
ETHEREUM_DEV_CLUSTER=1
|
||||
EXTENSIONS=0
|
||||
FLEET=eth.staging
|
||||
GROUP_CHATS_ENABLED=1
|
||||
LOG_LEVEL=info
|
||||
LOG_LEVEL=debug
|
||||
MAILSERVER_CONFIRMATIONS_ENABLED=0
|
||||
PAIRING_POPUP_DISABLED=1
|
||||
PFS_ENCRYPTION_ENABLED=1
|
||||
@ -23,8 +23,8 @@ QR_READ_TEST_MENU=1
|
||||
ENABLE_ROOT_ALERT=0
|
||||
MAX_IMAGES_BATCH=5
|
||||
APN_TOPIC=im.status.ethereum.pr
|
||||
VERIFY_TRANSACTION_CHAIN_ID=3
|
||||
VERIFY_ENS_CHAIN_ID=3
|
||||
VERIFY_TRANSACTION_CHAIN_ID=5
|
||||
VERIFY_ENS_CHAIN_ID=5
|
||||
TEST_STATEOFUS=1
|
||||
DATABASE_MANAGEMENT_ENABLED=1
|
||||
COMMUNITIES_ENABLED=1
|
||||
|
@ -1,11 +1,11 @@
|
||||
CACHED_WEBVIEWS_ENABLED=1
|
||||
DEBUG_WEBVIEW=1
|
||||
DEFAULT_NETWORK=testnet_rpc
|
||||
DEFAULT_NETWORK=goerli_rpc
|
||||
ETHEREUM_DEV_CLUSTER=1
|
||||
EXTENSIONS=0
|
||||
FLEET=eth.prod
|
||||
GROUP_CHATS_ENABLED=1
|
||||
LOG_LEVEL=info
|
||||
LOG_LEVEL=debug
|
||||
MAILSERVER_CONFIRMATIONS_ENABLED=1
|
||||
MAINNET_WARNING_ENABLED=1
|
||||
PFS_ENCRYPTION_ENABLED=1
|
||||
@ -22,8 +22,8 @@ KEYCARD_TEST_MENU=0
|
||||
ENABLE_ROOT_ALERT=1
|
||||
DISABLE_WALLET_ON_MOBILE_NETWORK=1
|
||||
APN_TOPIC=im.status.ethereum.pr
|
||||
VERIFY_TRANSACTION_CHAIN_ID=3
|
||||
VERIFY_ENS_CHAIN_ID=3
|
||||
VERIFY_TRANSACTION_CHAIN_ID=5
|
||||
VERIFY_ENS_CHAIN_ID=5
|
||||
TEST_STATEOFUS=1
|
||||
BLANK_PREVIEW=0
|
||||
MAX_IMAGES_BATCH=5
|
||||
|
@ -139,10 +139,10 @@
|
||||
{"mainnet_rpc" true}}}}))))
|
||||
(testing "is on a different network"
|
||||
(testing "it returns false when not enabled"
|
||||
(is (not (model/custom-bootnodes-in-use? {:db {:networks/current-network "testnet_rpc"}}))))
|
||||
(is (not (model/custom-bootnodes-in-use? {:db {:networks/current-network "goerli_rpc"}}))))
|
||||
(testing "it returns true when enabled"
|
||||
(is (not (model/custom-bootnodes-in-use?
|
||||
{:db {:networks/current-network "testnet_rpc"
|
||||
{:db {:networks/current-network "goerli_rpc"
|
||||
:multiaccount {:custom-bootnodes-enabled?
|
||||
{"mainnnet_rpc" true}}}}))))))
|
||||
|
||||
|
@ -150,6 +150,7 @@
|
||||
[chain-id]
|
||||
(case chain-id
|
||||
3 50
|
||||
5 10
|
||||
1 10))
|
||||
|
||||
(fx/defn register-name
|
||||
|
@ -4,18 +4,22 @@
|
||||
(def contracts
|
||||
{:status/snt
|
||||
{:mainnet "0x744d70fdbe2ba4cf95131626614a1763df805b9e"
|
||||
:testnet "0xc55cf4b03948d7ebc8b9e8bad92643703811d162"}
|
||||
:testnet "0xc55cf4b03948d7ebc8b9e8bad92643703811d162"
|
||||
:goerli "0x3D6AFAA395C31FCd391fE3D562E75fe9E8ec7E6a"}
|
||||
:status/tribute-to-talk
|
||||
{:testnet "0xC61aa0287247a0398589a66fCD6146EC0F295432"}
|
||||
:status/stickers
|
||||
{:testnet "0x8cc272396be7583c65bee82cd7b743c69a87287d"
|
||||
:mainnet "0x0577215622f43a39f4bc9640806dfea9b10d2a36"}
|
||||
:mainnet "0x0577215622f43a39f4bc9640806dfea9b10d2a36"
|
||||
:goerli "0x07f7CB0C0a4ab3e0999AfE8b3997Da34880f05d0"}
|
||||
:status/sticker-market
|
||||
{:testnet "0x6CC7274aF9cE9572d22DFD8545Fb8c9C9Bcb48AD"
|
||||
:mainnet "0x12824271339304d3a9f7e096e62a2a7e73b4a7e7"}
|
||||
:mainnet "0x12824271339304d3a9f7e096e62a2a7e73b4a7e7"
|
||||
:goerli "0xf1E149A7DF70D5Ff1E265daAa738d785D3274717"}
|
||||
:status/sticker-pack
|
||||
{:testnet "0xf852198d0385c4b871e0b91804ecd47c6ba97351"
|
||||
:mainnet "0x110101156e8F0743948B2A61aFcf3994A8Fb172e"}})
|
||||
:mainnet "0x110101156e8F0743948B2A61aFcf3994A8Fb172e"
|
||||
:goerli "0x8D3fD2EA24bD53a8Bd2b1026727db8bbe9A8C8Af"}})
|
||||
|
||||
(defn get-address
|
||||
[db contract]
|
||||
|
@ -6,6 +6,7 @@
|
||||
(is (= (ethereum/chain-id->chain-keyword 1) :mainnet))
|
||||
(is (= (ethereum/chain-id->chain-keyword 3) :testnet))
|
||||
(is (= (ethereum/chain-id->chain-keyword 4) :rinkeby))
|
||||
(is (= (ethereum/chain-id->chain-keyword 5) :goerli))
|
||||
(is (= (ethereum/chain-id->chain-keyword 5777) :custom)))
|
||||
|
||||
(deftest coordinates
|
||||
|
@ -83,6 +83,10 @@
|
||||
:symbol :SNT
|
||||
:decimals 18}}
|
||||
:testnet {"0xc55cf4b03948d7ebc8b9e8bad92643703811d162" {:address "0xc55cf4b03948d7ebc8b9e8bad92643703811d162"
|
||||
:name "Status Test Token"
|
||||
:symbol :STT
|
||||
:decimals 18}}
|
||||
:goerli {"0x3d6afaa395c31fcd391fe3d562e75fe9e8ec7e6a" {:address "0x3d6afaa395c31fcd391fe3d562e75fe9e8ec7e6a"
|
||||
:name "Status Test Token"
|
||||
:symbol :STT
|
||||
:decimals 18}}})
|
||||
|
@ -7,6 +7,7 @@
|
||||
(def ens-registries
|
||||
{:mainnet "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"
|
||||
:testnet "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"
|
||||
:goerli "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"
|
||||
:rinkeby "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"})
|
||||
|
||||
(def default-address "0x0000000000000000000000000000000000000000")
|
||||
|
@ -30,7 +30,7 @@
|
||||
(merge
|
||||
{:mainnet "0xDB5ac1a559b02E12F29fC0eC0e37Be8E046DEF49"}
|
||||
(when config/test-stateofus?
|
||||
{:testnet "0x11d9F481effd20D76cEE832559bd9Aca25405841"})))
|
||||
{:goerli "0xD1f7416F91E7Eb93dD96A61F12FC092aD6B67B11"})))
|
||||
|
||||
(def registrars-cache (atom {}))
|
||||
|
||||
|
@ -28,6 +28,10 @@
|
||||
:symbol :ETH
|
||||
:symbol-display :ETHri
|
||||
:decimals 18}
|
||||
:goerli {:name "Goerli Ether"
|
||||
:symbol :ETH
|
||||
:symbol-display :ETHgo
|
||||
:decimals 18}
|
||||
:xdai {:name "xDAI"
|
||||
:symbol :ETH
|
||||
:symbol-display :xDAI
|
||||
|
@ -17,13 +17,15 @@
|
||||
(def etherscan-supported?
|
||||
#{(ethereum/chain-keyword->chain-id :mainnet)
|
||||
(ethereum/chain-keyword->chain-id :testnet)
|
||||
(ethereum/chain-keyword->chain-id :goerli)
|
||||
(ethereum/chain-keyword->chain-id :rinkeby)})
|
||||
|
||||
(def binance-mainnet-chain-id (ethereum/chain-keyword->chain-id :bsc))
|
||||
(def binance-testnet-chain-id (ethereum/chain-keyword->chain-id :bsc-testnet))
|
||||
|
||||
(def network->subdomain {3 "ropsten"
|
||||
4 "rinkeby"})
|
||||
4 "rinkeby"
|
||||
5 "goerli"})
|
||||
|
||||
(defn get-transaction-details-url [chain-id hash]
|
||||
{:pre [(number? chain-id) (string? hash)]
|
||||
|
@ -87,6 +87,7 @@
|
||||
:wallet/visible-tokens {:testnet #{:STT
|
||||
:HND}
|
||||
:mainnet #{:SNT}
|
||||
:goerli #{:STT}
|
||||
:rinkeby #{:MOKSHA
|
||||
:KDO}
|
||||
:xdai #{}}
|
||||
|
@ -13,6 +13,7 @@
|
||||
:mainnet (i18n/label :t/mainnet-network)
|
||||
:testnet (i18n/label :t/ropsten-network)
|
||||
:rinkeby (i18n/label :t/rinkeby-network)
|
||||
:goerli (i18n/label :t/goerli-network)
|
||||
:custom (i18n/label :t/custom))]
|
||||
[quo/list-item
|
||||
{:title name
|
||||
@ -48,7 +49,7 @@
|
||||
:default-value (get-in manage-network [:url :value])
|
||||
:on-change-text #(re-frame/dispatch [::network/input-changed :url %])}]]]
|
||||
[quo/list-header (i18n/label :t/network-chain)]
|
||||
[list/flat-list {:data [:mainnet :testnet :rinkeby :custom]
|
||||
[list/flat-list {:data [:mainnet :testnet :rinkeby :goerli :custom]
|
||||
:key-fn (fn [_ i] (str i))
|
||||
:render-data manage-network
|
||||
:render-fn render-network-type}]
|
||||
|
@ -23,6 +23,7 @@
|
||||
|
||||
(def mainnet-rpc-url (str "https://mainnet.infura.io/v3/" INFURA_TOKEN))
|
||||
(def testnet-rpc-url (str "https://ropsten.infura.io/v3/" INFURA_TOKEN))
|
||||
(def goerli-rpc-url (str "https://goerli.infura.io/v3/" INFURA_TOKEN))
|
||||
(def bootnodes-settings-enabled? (enabled? (get-config :BOOTNODES_SETTINGS_ENABLED "1")))
|
||||
(def rpc-networks-only? (enabled? (get-config :RPC_NETWORKS_ONLY "1")))
|
||||
(def mailserver-confirmations-enabled? (enabled? (get-config :MAILSERVER_CONFIRMATIONS_ENABLED)))
|
||||
@ -57,7 +58,7 @@
|
||||
(string/upper-case (get-config :LOG_LEVEL "")))
|
||||
(def fleet (get-config :FLEET "eth.staging"))
|
||||
(def apn-topic (get-config :APN_TOPIC "im.status.ethereum"))
|
||||
(def default-network (get-config :DEFAULT_NETWORK "testnet_rpc"))
|
||||
(def default-network (get-config :DEFAULT_NETWORK "goerli_rpc"))
|
||||
(def pow-target (js/parseFloat (get-config :POW_TARGET "0.0001")))
|
||||
(def pow-time (js/parseInt (get-config :POW_TIME "1")))
|
||||
(def max-installations 2)
|
||||
@ -67,12 +68,12 @@
|
||||
(def verify-transaction-chain-id (js/parseInt (get-config :VERIFY_TRANSACTION_CHAIN_ID "1")))
|
||||
(def verify-transaction-url (if (= :mainnet (ethereum/chain-id->chain-keyword verify-transaction-chain-id))
|
||||
mainnet-rpc-url
|
||||
testnet-rpc-url))
|
||||
goerli-rpc-url))
|
||||
|
||||
(def verify-ens-chain-id (js/parseInt (get-config :VERIFY_ENS_CHAIN_ID "1")))
|
||||
(def verify-ens-url (if (= :mainnet (ethereum/chain-id->chain-keyword verify-ens-chain-id))
|
||||
mainnet-rpc-url
|
||||
testnet-rpc-url))
|
||||
goerli-rpc-url))
|
||||
(def verify-ens-contract-address (get-config :VERIFY_ENS_CONTRACT_ADDRESS ((ethereum/chain-id->chain-keyword verify-ens-chain-id) ens/ens-registries)))
|
||||
|
||||
(def default-multiaccount
|
||||
@ -137,7 +138,7 @@
|
||||
:config {:NetworkId (ethereum/chain-keyword->chain-id :goerli)
|
||||
:DataDir "/ethereum/goerli_rpc"
|
||||
:UpstreamConfig {:Enabled true
|
||||
:URL (str "https://goerli.infura.io/v3/" INFURA_TOKEN)}}}
|
||||
:URL goerli-rpc-url}}}
|
||||
{:id "bsc_testnet_rpc",
|
||||
:chain-explorer-link "https://testnet.bscscan.com/address/",
|
||||
:name "BSC testnet",
|
||||
|
@ -3,7 +3,7 @@
|
||||
"_comment": "Instead use: scripts/update-status-go.sh <rev>",
|
||||
"owner": "status-im",
|
||||
"repo": "status-go",
|
||||
"version": "v0.103.2",
|
||||
"commit-sha1": "3a46b051149e567e2be48bd9eb8e6703b01ae86f",
|
||||
"src-sha256": "1vbd71crazy4jq7pvwiv0vzw3nfa8wl22k88vga5ppz0nz196cm7"
|
||||
"version": "v0.103.3",
|
||||
"commit-sha1": "3cd92fda7875ae22244d40a589ea921bc61bdaef",
|
||||
"src-sha256": "1m4954qhd1vqap74scn03hbp2wfxwsjq8n24japqp4scjcq6gngw"
|
||||
}
|
||||
|
@ -16,7 +16,8 @@ import support.api.web3_api as w3
|
||||
class NetworkApi(object):
|
||||
|
||||
def __init__(self):
|
||||
self.network_url = 'http://api-ropsten.etherscan.io/api?'
|
||||
# self.network_url = 'http://api-ropsten.etherscan.io/api?'
|
||||
self.network_url = 'http://api-goerli.etherscan.io/api?'
|
||||
self.faucet_url = 'https://faucet-ropsten.status.im/donate'
|
||||
self.faucet_backup_address = w3.account_address
|
||||
self.headers = {
|
||||
@ -114,7 +115,7 @@ class NetworkApi(object):
|
||||
self.log("Failed iterate transactions(Etherscan unexpected error): " + str(e))
|
||||
continue
|
||||
|
||||
def wait_for_confirmation_of_transaction(self, address, amount, confirmations=3, token=False):
|
||||
def wait_for_confirmation_of_transaction(self, address, amount, confirmations=6, token=False):
|
||||
start_time = time.time()
|
||||
if token:
|
||||
token_info = "token transaction"
|
||||
|
File diff suppressed because one or more lines are too long
@ -57,8 +57,11 @@ mailserver_hk = 'mail-01.ac-cn-hongkong-c'
|
||||
mailserver_gc = 'mail-01.gc-us-central1-a'
|
||||
|
||||
test_dapp_web_url = "status-im.github.io/dapp"
|
||||
test_dapp_url = 'simpledapp.eth'
|
||||
test_dapp_name = 'simpledapp.eth'
|
||||
# TODO: temp due to goerli transition
|
||||
# test_dapp_url = 'simpledapp.eth'
|
||||
# test_dapp_name = 'simpledapp.eth'
|
||||
test_dapp_url = 'https://bafybeidzlqpkbtvpjtxnzgew6ffxhozq5f4ojbk64iq3tjl7lkjue2biby.ipfs.infura-ipfs.io/'
|
||||
test_dapp_name = 'bafybeidzlqpkbtvpjtxnzgew6ffxhozq5f4ojbk64iq3tjl7lkjue2biby.ipfs.infura-ipfs.io'
|
||||
|
||||
emojis = {'thumbs-up': 2, 'thumbs-down': 3, 'love': 1, 'laugh': 4, 'angry': 6, 'sad': 5}
|
||||
|
||||
|
@ -4,7 +4,7 @@ import time
|
||||
|
||||
from tests import marks, common_password
|
||||
from tests.base_test_case import MultipleSharedDeviceTestCase, create_shared_drivers
|
||||
from tests.users import transaction_senders, basic_user, ens_user, ens_user_ropsten
|
||||
from tests.users import transaction_senders, basic_user, ens_user, ens_user_message_sender
|
||||
from views.sign_in_view import SignInView
|
||||
import pytest
|
||||
|
||||
@ -1039,7 +1039,7 @@ class TestEnsStickersMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
self.chat_2.just_fyi("Check that message is fetched for receiver")
|
||||
self.home_2.get_chat(self.sender['username']).click()
|
||||
chat_2_reciever_message = self.chat_2.get_incoming_transaction(transaction_value=amount)
|
||||
chat_2_reciever_message.transaction_status.wait_for_element_text(chat_2_reciever_message.confirmed)
|
||||
chat_2_reciever_message.transaction_status.wait_for_element_text(chat_2_reciever_message.confirmed, wait_time=60)
|
||||
|
||||
@marks.testrail_id(702155)
|
||||
def test_ens_mention_nickname_1_1_chat(self):
|
||||
@ -1118,13 +1118,13 @@ class TestEnsStickersMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
else:
|
||||
self.errors.append('No PN on mention in public chat! ')
|
||||
self.home_2.click_system_back_button(2)
|
||||
if self.home_2.element_starts_with_text(self.reciever['ens']).is_element_differs_from_template('ment_new.png',
|
||||
if self.home_2.element_starts_with_text(self.reciever['ens']).is_element_differs_from_template('ment_new_1.png',
|
||||
2):
|
||||
self.errors.append('Mention is not highlighted!')
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
@marks.testrail_id(702157)
|
||||
def test_sticker_1_1_public_chat(self):
|
||||
def test_sticker_1_1_public_chat_mainnet(self):
|
||||
self.home_2.status_in_background_button.click_if_shown()
|
||||
[home.home_button.double_click() for home in (self.home_1, self.home_2)]
|
||||
profile_2 = self.home_2.profile_button.click()
|
||||
@ -1136,11 +1136,13 @@ class TestEnsStickersMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
self.chat_2.sticker_icon.click()
|
||||
if not self.chat_2.chat_item.is_element_displayed():
|
||||
self.errors.append('Cannot use purchased stickers')
|
||||
self.home_2.profile_button.click()
|
||||
profile_2.switch_network('Goerli with upstream RPC')
|
||||
|
||||
self.home_1.just_fyi('Install free sticker pack and use it in 1-1 chat on Ropsten')
|
||||
self.home_1.just_fyi('Install free sticker pack and use it in 1-1 chat on Goerli')
|
||||
self.home_1.get_chat(self.ens).click()
|
||||
self.chat_1.chat_message_input.clear()
|
||||
self.chat_1.install_sticker_pack_by_name('Status Cat')
|
||||
self.chat_1.install_sticker_pack_by_name()
|
||||
self.chat_1.sticker_icon.click()
|
||||
if not self.chat_1.sticker_message.is_element_displayed():
|
||||
self.errors.append('Sticker was not sent')
|
||||
@ -1156,16 +1158,17 @@ class TestEnsStickersMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
if not self.chat_1.chat_item.is_element_displayed():
|
||||
self.errors.append('Sticker was not sent from Recent')
|
||||
|
||||
self.home_2.just_fyi('Check that can install stickers by tapping on sticker message')
|
||||
# self.home_2.just_fyi('Check that can install stickers by tapping on sticker message')
|
||||
# TODO: disabled because of #13683
|
||||
self.home_2.home_button.double_click()
|
||||
self.home_2.get_chat(self.sender['username']).click()
|
||||
self.chat_2.chat_item.click()
|
||||
self.chat_2.element_by_text_part('Free').wait_and_click(40)
|
||||
if self.chat_2.element_by_text_part('Free').is_element_displayed():
|
||||
self.errors.append('Stickerpack was not installed')
|
||||
# self.chat_2.chat_item.click()
|
||||
# self.chat_2.element_by_text_part('Free').wait_and_click(40)
|
||||
# if self.chat_2.element_by_text_part('Free').is_element_displayed():
|
||||
# self.errors.append('Stickerpack was not installed')
|
||||
|
||||
self.chat_2.just_fyi('Check that can navigate to another user profile via long tap on sticker message')
|
||||
self.chat_2.close_sticker_view_icon.click()
|
||||
# self.chat_2.close_sticker_view_icon.click()
|
||||
self.chat_2.chat_item.long_press_element()
|
||||
self.chat_2.element_by_text('View Details').click()
|
||||
self.chat_2.profile_send_message.wait_and_click()
|
||||
@ -1180,7 +1183,7 @@ class TestEnsStickersMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
chat = self.home_1.start_new_chat_button.click()
|
||||
|
||||
self.home_1.just_fyi("Validation: invalid public key and invalid ENS")
|
||||
for invalid_chat_key in (basic_user['public_key'][:-1], ens_user_ropsten['ens'][:-2]):
|
||||
for invalid_chat_key in (basic_user['public_key'][:-1], ens_user_message_sender['ens'][:-2]):
|
||||
chat.public_key_edit_box.clear()
|
||||
chat.public_key_edit_box.set_value(invalid_chat_key)
|
||||
chat.confirm()
|
||||
@ -1189,8 +1192,8 @@ class TestEnsStickersMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
|
||||
self.home_1.just_fyi("Check that valid ENS is resolved")
|
||||
chat.public_key_edit_box.clear()
|
||||
chat.public_key_edit_box.set_value(ens_user_ropsten['ens'])
|
||||
resolved_ens = '%s.stateofus.eth' % ens_user_ropsten['ens']
|
||||
chat.public_key_edit_box.set_value(ens_user_message_sender['ens'])
|
||||
resolved_ens = '%s.stateofus.eth' % ens_user_message_sender['ens']
|
||||
if not chat.element_by_text(resolved_ens).is_element_displayed(10):
|
||||
self.errors.append('ENS name is not resolved after pasting chat key')
|
||||
self.home_1.close_button.click()
|
||||
|
@ -233,7 +233,7 @@ class TestRestoreOneDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
self.sign_in = SignInView(self.drivers[0])
|
||||
self.passphrase = fill_string_with_char(self.user['passphrase'].upper(), ' ', 3, True, True)
|
||||
self.password = basic_user['special_chars_password']
|
||||
|
||||
self.assets = ['ETH', 'YEENUS', 'STT']
|
||||
self.home = self.sign_in.recover_access(passphrase=self.passphrase, password=self.password)
|
||||
|
||||
@marks.testrail_id(700748)
|
||||
@ -392,8 +392,8 @@ class TestRestoreOneDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
self.errors.append("Was not redirected to Key management screen when Manage keys from logged in state!")
|
||||
|
||||
self.home.just_fyi("Checking keycard banner and starting migrate multiaccount to keycard: no db saved")
|
||||
self.sign_in.close_button.click()
|
||||
self.sign_in.navigate_up_button.click()
|
||||
self.sign_in.close_button.click_if_shown()
|
||||
self.sign_in.navigate_up_button.click_if_shown()
|
||||
self.sign_in.multi_account_on_login_button.wait_for_visibility_of_element(30)
|
||||
self.sign_in.get_multiaccount_by_position(1).click()
|
||||
if not self.sign_in.get_keycard_banner.is_element_displayed():
|
||||
@ -443,7 +443,7 @@ class TestRestoreOneDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
|
||||
self.sign_in.just_fyi('Check that after migrating account with assets is restored')
|
||||
wallet = self.sign_in.wallet_button.click()
|
||||
for asset in ['ETH', 'ADI', 'STT']:
|
||||
for asset in self.assets:
|
||||
if wallet.get_asset_amount_by_name(asset) == 0:
|
||||
self.errors.append('Asset %s was not restored' % asset)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import pytest
|
||||
from tests import marks
|
||||
from tests.base_test_case import MultipleSharedDeviceTestCase, create_shared_drivers
|
||||
from tests.users import transaction_senders, basic_user, ens_user, ens_user_ropsten
|
||||
from tests.users import transaction_senders, basic_user, ens_user, ens_user_message_sender
|
||||
from views.sign_in_view import SignInView
|
||||
|
||||
|
||||
@ -203,7 +203,7 @@ class TestPairingSyncMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
def test_pairing_sync_contacts_add_remove_set_nickname_ens(self):
|
||||
[device.home_button.double_click() for device in (self.profile_1, self.profile_2)]
|
||||
new_contact, new_nickname = transaction_senders['F'], "completely_new_nick"
|
||||
self.home_1.add_contact(ens_user_ropsten['ens'])
|
||||
self.home_1.add_contact(ens_user_message_sender['ens'])
|
||||
self.home_1.home_button.click()
|
||||
self.home_1.add_contact(new_contact['public_key'])
|
||||
|
||||
@ -211,7 +211,7 @@ class TestPairingSyncMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
self.profile_2.profile_button.double_click()
|
||||
self.profile_2.contacts_button.scroll_to_element(direction='up')
|
||||
self.profile_2.contacts_button.click()
|
||||
for contact in (new_contact['username'], '@%s' % ens_user_ropsten['ens']):
|
||||
for contact in (new_contact['username'], '@%s' % ens_user_message_sender['ens']):
|
||||
if not self.profile_2.element_by_text(contact).is_element_displayed():
|
||||
self.errors.append("'%s' new contact is not synced!" % contact)
|
||||
|
||||
|
@ -5,7 +5,7 @@ from support.utilities import get_merged_txs_list
|
||||
|
||||
from tests import marks, common_password, pin, puk, pair_code
|
||||
from tests.base_test_case import MultipleSharedDeviceTestCase, create_shared_drivers
|
||||
from tests.users import transaction_senders, basic_user, wallet_users, ens_user_ropsten, ens_user
|
||||
from tests.users import transaction_senders, basic_user, wallet_users, ens_user_message_sender, ens_user
|
||||
from views.sign_in_view import SignInView
|
||||
|
||||
|
||||
@ -22,13 +22,14 @@ class TestSendTxDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
self.sign_in = SignInView(self.drivers[0])
|
||||
self.home = self.sign_in.recover_access(self.user['passphrase'])
|
||||
self.wallet = self.home.wallet_button.click()
|
||||
self.assets = ('ETH', 'ADI', 'STT')
|
||||
self.assets = ('ETH', 'YEENUS', 'STT')
|
||||
self.token_8_dec = 'YEENUS'
|
||||
[self.wallet.wait_balance_is_changed(asset) for asset in self.assets]
|
||||
self.initial_balances = dict()
|
||||
for asset in self.assets:
|
||||
self.initial_balances[asset] = self.wallet.get_asset_amount_by_name(asset)
|
||||
self.wallet.send_transaction(amount=self.amount_eth, recipient=self.recipient_address)
|
||||
self.wallet.send_transaction(amount=self.amount_adi, recipient=self.recipient_address, asset_name='ADI')
|
||||
self.wallet.send_transaction(amount=self.amount_adi, recipient=self.recipient_address, asset_name=self.token_8_dec)
|
||||
|
||||
@marks.testrail_id(700763)
|
||||
def test_send_tx_eth_check_logcat(self):
|
||||
@ -44,8 +45,8 @@ class TestSendTxDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
self.wallet.driver.fail(values_in_logcat)
|
||||
|
||||
@marks.testrail_id(700764)
|
||||
def test_send_tx_token_7_decimals(self):
|
||||
asset = 'ADI'
|
||||
def test_send_tx_token_8_decimals(self):
|
||||
asset = self.token_8_dec
|
||||
self.wallet.just_fyi("Checking tx with 7 decimals")
|
||||
transaction_adi = self.wallet.find_transaction_in_history(amount=self.amount_adi, asset=asset, return_hash=True)
|
||||
self.wallet.wallet_button.double_click()
|
||||
@ -58,11 +59,12 @@ class TestSendTxDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
status_test_dapp = self.home.open_status_test_dapp()
|
||||
status_test_dapp.wait_for_d_aap_to_load()
|
||||
|
||||
self.wallet.just_fyi("Checking request STT")
|
||||
status_test_dapp.assets_button.click()
|
||||
status_test_dapp.request_stt_button.wait_for_element(60)
|
||||
send_transaction = status_test_dapp.request_stt_button.click()
|
||||
send_transaction.sign_transaction()
|
||||
# TODO: temp due to goerli transition
|
||||
# self.wallet.just_fyi("Checking request STT")
|
||||
# status_test_dapp.assets_button.click()
|
||||
# status_test_dapp.request_stt_button.wait_for_element(60)
|
||||
# send_transaction = status_test_dapp.request_stt_button.click()
|
||||
# send_transaction.sign_transaction()
|
||||
|
||||
self.wallet.just_fyi("Checking signing message")
|
||||
status_test_dapp.transactions_button.click()
|
||||
@ -102,7 +104,7 @@ class TestSendTxDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
|
||||
@marks.testrail_id(700765)
|
||||
def test_send_tx_custom_token_18_decimals_invalid_password(self):
|
||||
contract_address, name, symbol, decimals = '0x101848D5C5bBca18E6b4431eEdF6B95E9ADF82FA', 'Weenus 💪', 'WEENUS', '18'
|
||||
contract_address, name, symbol, decimals = '0xaFF4481D10270F50f203E0763e2597776068CBc5', 'Weenus 💪', 'WEENUS', '18'
|
||||
self.home.wallet_button.double_click()
|
||||
|
||||
self.wallet.just_fyi("Check that can add custom token")
|
||||
@ -165,8 +167,8 @@ class TestSendTxDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
account_name = 'my_acc_name'
|
||||
account_address = '0x8c2E3Cd844848E79cFd4671cE45C12F210b630d7'
|
||||
recent_add_to_fav_name = 'my_Recent_STT'
|
||||
recent_add_to_fav_address = '0x58d8c3d70ce4fa4b9fb10a665c8712238746f2ff'
|
||||
ens_status, ens_other = ens_user_ropsten, ens_user
|
||||
recent_add_to_fav_address = '0xcf2272205cc0cf96cfbb9dd740bd681d1e86901e'
|
||||
ens_status, ens_other = ens_user_message_sender, ens_user
|
||||
|
||||
basic_add_to_fav_name = 'my_basic_address'
|
||||
self.drivers[0].reset()
|
||||
@ -195,7 +197,7 @@ class TestSendTxDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
|
||||
send_tr.just_fyi('Set one of my accounts')
|
||||
send_tr.chose_recipient_button.click_if_shown()
|
||||
send_tr.element_by_translation_id("my-accounts").click()
|
||||
send_tr.element_by_translation_id("my-accounts").scroll_and_click()
|
||||
send_tr.element_by_text(account_name).click()
|
||||
if send_tr.enter_recipient_address_text.text != send_tr.get_formatted_recipient_address(account_address):
|
||||
self.errors.append('Added account is not resolved as recipient')
|
||||
@ -203,11 +205,11 @@ class TestSendTxDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
send_tr.just_fyi('Set contract address from recent and check smart contract error')
|
||||
send_tr.chose_recipient_button.click()
|
||||
send_tr.element_by_translation_id("recent").click()
|
||||
send_tr.element_by_text('↓ 1000 MDS').click()
|
||||
send_tr.element_by_text('↑ 0.02 ETHgo').scroll_and_click()
|
||||
if not send_tr.element_by_translation_id("warning-sending-to-contract-descr").is_element_displayed():
|
||||
self.driver.fail('No warning is shown at attempt to set as recipient smart contract')
|
||||
send_tr.ok_button.click()
|
||||
send_tr.element_by_text('↑ 0.001 ETHro').scroll_and_click()
|
||||
send_tr.element_by_text('↓ 2 STT').scroll_and_click()
|
||||
send_tr.add_to_favorites(recent_add_to_fav_name)
|
||||
wallet.element_by_translation_id("recent").click()
|
||||
|
||||
@ -241,7 +243,7 @@ class TestSendTxDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
self.errors.append('ENS from contact is not resolved as recipient')
|
||||
|
||||
send_tr.just_fyi('Set different ENS options')
|
||||
send_tr.set_recipient_address(ens_other['ens_another'])
|
||||
send_tr.set_recipient_address(ens_other['ens'])
|
||||
if send_tr.enter_recipient_address_text.text != send_tr.get_formatted_recipient_address(ens_other['address']):
|
||||
self.errors.append('ENS address on another domain is not resolved as recipient')
|
||||
send_tr.set_recipient_address('%s.stateofus.eth' % ens_status['ens'])
|
||||
@ -277,7 +279,7 @@ class TestKeycardTxOneDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
|
||||
self.home = self.sign_in.recover_access(passphrase=self.user['passphrase'], keycard=True)
|
||||
self.wallet = self.home.wallet_button.click()
|
||||
self.assets = ('ETH', 'ADI', 'STT')
|
||||
self.assets = ('ETH', 'YEENUS', 'STT')
|
||||
[self.wallet.wait_balance_is_changed(asset) for asset in self.assets]
|
||||
self.initial_balances = dict()
|
||||
for asset in self.assets:
|
||||
@ -321,11 +323,13 @@ class TestKeycardTxOneDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
status_test_dapp = self.home.open_status_test_dapp()
|
||||
status_test_dapp.wait_for_d_aap_to_load()
|
||||
|
||||
self.wallet.just_fyi("Requesting STT in dapp")
|
||||
status_test_dapp.assets_button.click()
|
||||
send_tx = status_test_dapp.request_stt_button.click()
|
||||
send_tx.sign_transaction(keycard=True)
|
||||
# TODO: temp due to goerli transition
|
||||
# self.wallet.just_fyi("Requesting STT in dapp")
|
||||
# status_test_dapp.assets_button.click()
|
||||
# send_tx = status_test_dapp.request_stt_button.click()
|
||||
# send_tx.sign_transaction(keycard=True)
|
||||
|
||||
send_tx = self.home.get_send_transaction_view()
|
||||
self.wallet.just_fyi("Checking signing message")
|
||||
status_test_dapp.transactions_button.click()
|
||||
status_test_dapp.sign_message_button.click()
|
||||
@ -357,9 +361,10 @@ class TestKeycardTxOneDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
self.sign_in.driver.fail('Second send transaction screen did not appear!')
|
||||
send_tx.sign_transaction(keycard=True)
|
||||
|
||||
self.wallet.just_fyi('Verify that wallet balance is updated after receiving money from faucet')
|
||||
self.home.wallet_button.click()
|
||||
self.wallet.wait_balance_is_changed('STT', initial_balance=self.initial_balances['STT'])
|
||||
# TODO: temp due to goerli transition
|
||||
# self.wallet.just_fyi('Verify that wallet balance is updated after receiving money from faucet')
|
||||
# self.home.wallet_button.click()
|
||||
# self.wallet.wait_balance_is_changed('STT', initial_balance=self.initial_balances['STT'])
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
@marks.testrail_id(700770)
|
||||
@ -385,14 +390,14 @@ class TestKeycardTxOneDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
self.sign_in.just_fyi("Check balance will be restored after going back online")
|
||||
self.sign_in.toggle_airplane_mode()
|
||||
wallet = self.home.wallet_button.click()
|
||||
[wallet.wait_balance_is_changed(asset) for asset in ("ETH", "LXS")]
|
||||
[wallet.wait_balance_is_changed(asset) for asset in ("ETH", "STT")]
|
||||
|
||||
self.wallet.just_fyi("Checking whole tx history after backing from offline")
|
||||
self.wallet.accounts_status_account.click()
|
||||
address = user['address']
|
||||
ropsten_txs = self.network_api.get_transactions(address)
|
||||
ropsten_tokens = self.network_api.get_token_transactions(address)
|
||||
expected_txs_list = get_merged_txs_list(ropsten_txs, ropsten_tokens)
|
||||
eth_txs = self.network_api.get_transactions(address)
|
||||
token_txs = self.network_api.get_token_transactions(address)
|
||||
expected_txs_list = get_merged_txs_list(eth_txs, token_txs)
|
||||
transactions = self.wallet.transaction_history_button.click()
|
||||
if self.wallet.element_by_translation_id("transactions-history-empty").is_element_displayed():
|
||||
self.wallet.pull_to_refresh()
|
||||
|
@ -21,9 +21,9 @@ class TestWalletManagementDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
self.sign_in.switch_to_mobile(before_login=True)
|
||||
self.home = self.sign_in.recover_access(self.user['passphrase'])
|
||||
self.wallet = self.home.wallet_button.click()
|
||||
[self.wallet.wait_balance_is_changed(asset) for asset in ('ETH', 'MDS', 'STT')]
|
||||
[self.wallet.wait_balance_is_changed(asset) for asset in ('ETH', 'YEENUS', 'STT')]
|
||||
self.initial_balances = {'ETH': self.wallet.get_asset_amount_by_name('ETH'),
|
||||
'ADI': 0,
|
||||
'YEENUS': self.wallet.get_asset_amount_by_name('YEENUS'),
|
||||
'STT': self.wallet.get_asset_amount_by_name('STT')}
|
||||
|
||||
@marks.testrail_id(700756)
|
||||
@ -117,7 +117,7 @@ class TestWalletManagementDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
|
||||
@marks.testrail_id(700758)
|
||||
def test_wallet_manage_assets(self):
|
||||
asset = "HND"
|
||||
asset = "ZEENUS"
|
||||
self.sign_in.just_fyi("Getting back to main wallet view")
|
||||
self.wallet.get_back_to_home_view()
|
||||
|
||||
@ -128,11 +128,9 @@ class TestWalletManagementDeviceMerged(MultipleSharedDeviceTestCase):
|
||||
self.errors.append('%s asset is not shown in wallet' % asset)
|
||||
|
||||
self.sign_in.just_fyi("Check that 0 asset is not disappearing after relogin")
|
||||
profile = self.wallet.profile_button.click()
|
||||
profile.relogin()
|
||||
self.wallet.reopen_app()
|
||||
self.sign_in.wallet_button.click()
|
||||
if not self.wallet.asset_by_name(asset).is_element_displayed():
|
||||
self.errors.append('%s asset is not shown in wallet after relogin' % asset)
|
||||
self.wallet.asset_by_name(asset).scroll_to_element()
|
||||
|
||||
self.sign_in.just_fyi("Deselecting asset")
|
||||
self.wallet.multiaccount_more_options.click()
|
||||
|
@ -1,9 +1,11 @@
|
||||
import time
|
||||
|
||||
import pytest
|
||||
|
||||
from tests import marks, common_password, used_fleet
|
||||
from tests.base_test_case import create_shared_drivers, MultipleSharedDeviceTestCase
|
||||
from views.sign_in_view import SignInView
|
||||
from tests.users import basic_user, ens_user, ens_user_ropsten, transaction_senders, chat_users
|
||||
from tests.users import basic_user, ens_user, ens_user_message_sender, transaction_senders, chat_users
|
||||
|
||||
|
||||
@pytest.mark.xdist_group(name="one_1")
|
||||
@ -14,7 +16,7 @@ class TestBrowserProfileOneDevice(MultipleSharedDeviceTestCase):
|
||||
self.drivers, self.loop = create_shared_drivers(1)
|
||||
self.sign_in = SignInView(self.drivers[0])
|
||||
self.home = self.sign_in.create_user()
|
||||
self.wiki_texts = ['Español', '日本語', 'Français', '中文', 'Português']
|
||||
self.wiki_texts = ['Español', '日本語', '中文', 'Português']
|
||||
|
||||
@marks.testrail_id(702149)
|
||||
def test_browser_can_access_images_by_link(self):
|
||||
@ -78,30 +80,26 @@ class TestBrowserProfileOneDevice(MultipleSharedDeviceTestCase):
|
||||
|
||||
# Switching back to ropsten
|
||||
web_page.profile_button.click()
|
||||
profile.switch_network('Ropsten with upstream RPC')
|
||||
profile.switch_network('Goerli with upstream RPC')
|
||||
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
@marks.testrail_id(702179)
|
||||
def test_browser_refresh_page(self):
|
||||
|
||||
dapp = self.home.dapp_tab_button.click()
|
||||
url = 'app.uniswap.org'
|
||||
|
||||
dapp.just_fyi("Check refresh button")
|
||||
url = 'status.im'
|
||||
web_page = dapp.open_url(url)
|
||||
dapp.allow_button.click_if_shown()
|
||||
element_on_start_page = dapp.element_by_text('Select a token')
|
||||
dapp.allow_button.click_if_shown()
|
||||
element_on_start_page.scroll_and_click()
|
||||
|
||||
# when bottom sheet is opened, elements by text couldn't be found
|
||||
element_on_start_page.wait_for_invisibility_of_element(20)
|
||||
self.home.just_fyi("Open collapsed menu and check required element is shown")
|
||||
web_page.open_right_collapsed_menu()
|
||||
element_on_start_page = dapp.element_by_text('Get Involved')
|
||||
element_on_start_page.wait_for_visibility_of_element(20)
|
||||
|
||||
self.home.just_fyi("Tap on Refresh and check that popup is closed")
|
||||
web_page.browser_refresh_page_button.click()
|
||||
|
||||
if not element_on_start_page.is_element_displayed(30):
|
||||
time.sleep(2)
|
||||
if element_on_start_page.is_element_displayed(10):
|
||||
self.errors.append("Page failed to be refreshed")
|
||||
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
@marks.testrail_id(702151)
|
||||
@ -187,21 +185,23 @@ class TestBrowserProfileOneDevice(MultipleSharedDeviceTestCase):
|
||||
|
||||
@marks.testrail_id(702159)
|
||||
def test_profile_invite_friends(self):
|
||||
chat_key = self.home.get_public_key_and_username()
|
||||
self.home.home_button.double_click()
|
||||
|
||||
self.home.just_fyi("Check it via 'Invite friends' on home view")
|
||||
self.home.invite_friends_button.click()
|
||||
self.home.share_via_messenger()
|
||||
self.home.element_by_text_part("Hey join me on Status: https://join.status.im/u/0x")
|
||||
self.home.click_system_back_button()
|
||||
if not self.home.element_by_text_part('Hey join me on Status: https://join.status.im/u/%s' % chat_key).is_element_displayed(20):
|
||||
self.errors.append("No expected message in input field when sharing via 'Invite friend'")
|
||||
self.home.click_system_back_button_until_element_is_shown()
|
||||
|
||||
self.home.just_fyi("Check it via bottom sheet menu")
|
||||
self.home.plus_button.click()
|
||||
self.home.chats_menu_invite_friends_button.click()
|
||||
self.home.share_via_messenger()
|
||||
self.home.element_by_text_part("Hey join me on Status: https://join.status.im/u/0x")
|
||||
self.home.click_system_back_button()
|
||||
|
||||
if not self.home.element_by_text_part('Hey join me on Status: https://join.status.im/u/%s' % chat_key).is_element_displayed(20):
|
||||
self.errors.append("No expected message in input field when sharing via 'bottom sheet'")
|
||||
self.home.click_system_back_button_until_element_is_shown()
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
@marks.testrail_id(702160)
|
||||
@ -215,8 +215,8 @@ class TestBrowserProfileOneDevice(MultipleSharedDeviceTestCase):
|
||||
|
||||
users = {
|
||||
'scanning_ens_with_stateofus_domain_deep_link': {
|
||||
'contact_code': 'https://join.status.im/u/%s.stateofus.eth' % ens_user_ropsten['ens'],
|
||||
'username': ens_user_ropsten['username']
|
||||
'contact_code': 'https://join.status.im/u/%s.stateofus.eth' % ens_user_message_sender['ens'],
|
||||
'username': ens_user_message_sender['username']
|
||||
},
|
||||
'scanning_public_key': {
|
||||
'contact_code': transaction_senders['A']['public_key'],
|
||||
@ -289,8 +289,8 @@ class TestBrowserProfileOneDevice(MultipleSharedDeviceTestCase):
|
||||
if not profile.element_by_text_part('custom_ropsten').is_element_displayed():
|
||||
self.driver.fail("Network custom_ropsten was not added!")
|
||||
profile.get_back_to_home_view()
|
||||
# Switching back to Ropsten for the next cases
|
||||
profile.switch_network('Ropsten with upstream RPC')
|
||||
# Switching back to Goerli for the next cases
|
||||
profile.switch_network('Goerli with upstream RPC')
|
||||
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
@ -374,13 +374,11 @@ class TestBrowserProfileOneDevice(MultipleSharedDeviceTestCase):
|
||||
|
||||
profile = self.home.profile_button.click()
|
||||
profile.advanced_button.click()
|
||||
default_log_level = 'INFO'
|
||||
default_log_level = 'DEBUG'
|
||||
if not profile.element_by_text(default_log_level).is_element_displayed():
|
||||
self.errors.append('%s is not selected by default' % default_log_level)
|
||||
if self.home.find_values_in_geth('lvl=trce', 'lvl=dbug'):
|
||||
if self.home.find_values_in_geth('lvl=trce'):
|
||||
self.errors.append('"%s" is set, but found another entries!' % default_log_level)
|
||||
if not self.home.find_values_in_geth('lvl=info'):
|
||||
self.errors.append('"%s" is set, but no entries are found!' % default_log_level)
|
||||
|
||||
self.home.just_fyi('Set another loglevel and check that changes are applied')
|
||||
profile.log_level_setting_button.click()
|
||||
|
@ -185,6 +185,7 @@ class TestTimelineHistoryNodesBootnodesMultipleDeviceMergedMedium(MultipleShared
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
@marks.testrail_id(702286)
|
||||
@marks.xfail(reason="flaky; history was not fetched after enabling use_history_node - something needs investigation")
|
||||
def test_profile_use_history_node_disable_enable(self):
|
||||
[home.home_button.double_click() for home in (self.home_1, self.home_2)]
|
||||
self.home_1.toggle_airplane_mode()
|
||||
@ -224,7 +225,7 @@ class TestTimelineHistoryNodesBootnodesMultipleDeviceMergedMedium(MultipleShared
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
@marks.testrail_id(702287)
|
||||
@marks.xfail(reason="may be failed due to #13333")
|
||||
#@marks.xfail(reason="may be failed due to #13333")
|
||||
def test_profile_can_not_connect_to_custom_history_node_add_delete(self):
|
||||
self.home_1.profile_button.double_click()
|
||||
self.home_2.home_button.double_click()
|
||||
@ -716,6 +717,7 @@ class TestChatMediumMultipleDevice(MultipleSharedDeviceTestCase):
|
||||
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
|
||||
@pytest.mark.xdist_group(name="one_3")
|
||||
@marks.medium
|
||||
class TestGroupChatMultipleDeviceMediumMerged(MultipleSharedDeviceTestCase):
|
||||
|
@ -4,7 +4,7 @@ from selenium.common.exceptions import NoSuchElementException
|
||||
from tests import marks, test_dapp_url
|
||||
from tests.base_test_case import create_shared_drivers, MultipleSharedDeviceTestCase
|
||||
from tests.users import dummy_user, transaction_senders, basic_user, \
|
||||
ens_user_ropsten, ens_user
|
||||
ens_user_message_sender, ens_user
|
||||
from views.sign_in_view import SignInView
|
||||
|
||||
|
||||
@ -22,11 +22,11 @@ class TestDeeplinkChatProfileOneDevice(MultipleSharedDeviceTestCase):
|
||||
self.nickname = 'dummy_user'
|
||||
self.search_list_1 = {
|
||||
basic_user['username']: basic_user['username'],
|
||||
ens_user_ropsten['username']: ens_user_ropsten['ens'],
|
||||
ens_user_message_sender['username']: ens_user_message_sender['ens'],
|
||||
self.public_chat_name: self.public_chat_name,
|
||||
self.nickname: self.nickname,
|
||||
dummy_user['username']: self.nickname,
|
||||
ens_user_ropsten['ens']: ens_user_ropsten['ens']
|
||||
ens_user_message_sender['ens']: ens_user_message_sender['ens']
|
||||
}
|
||||
self.public_chat = self.home.join_public_chat(self.public_chat_name)
|
||||
self.public_chat.get_back_to_home_view()
|
||||
@ -56,7 +56,7 @@ class TestDeeplinkChatProfileOneDevice(MultipleSharedDeviceTestCase):
|
||||
|
||||
@marks.testrail_id(702245)
|
||||
def test_deep_link_open_user_profile(self):
|
||||
for user_ident in ens_user['ens'], ens_user['ens_another'], ens_user['public_key']:
|
||||
for user_ident in ens_user['ens'], ens_user['ens_upgrade'], ens_user['public_key']:
|
||||
self.drivers[0].close_app()
|
||||
deep_link = 'status-im://u/%s' % user_ident
|
||||
self.sign_in.open_weblink_and_login(deep_link)
|
||||
@ -148,8 +148,8 @@ class TestDeeplinkChatProfileOneDevice(MultipleSharedDeviceTestCase):
|
||||
self.public_chat.set_nickname(self.nickname)
|
||||
self.public_chat.home_button.click()
|
||||
|
||||
ens_name_status, ens_name_another_domain, public_chat_name = ens_user_ropsten['ens'], \
|
||||
ens_user['ens_another'], 'some-pub-chat'
|
||||
ens_name_status, ens_name_another_domain, public_chat_name = ens_user_message_sender['ens'], \
|
||||
ens_user['ens'], 'some-pub-chat'
|
||||
search_list_2 = {
|
||||
ens_name_status: {
|
||||
'home': {
|
||||
|
@ -1,8 +1,8 @@
|
||||
import pytest
|
||||
|
||||
from tests import marks
|
||||
from tests import marks, test_dapp_url
|
||||
from tests.base_test_case import create_shared_drivers, MultipleSharedDeviceTestCase
|
||||
from tests.users import transaction_senders, basic_user, ens_user_ropsten, ens_user
|
||||
from tests.users import transaction_senders, basic_user, ens_user_message_sender, ens_user
|
||||
from views.chat_view import ChatView
|
||||
from views.profile_view import ProfileView
|
||||
from views.send_transaction_view import SendTransactionView
|
||||
@ -139,7 +139,7 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
|
||||
camera_dapp.just_fyi("Relogin and check camera access still needs to be allowed")
|
||||
self.home.profile_button.click()
|
||||
profile.relogin()
|
||||
profile.reopen_app()
|
||||
self.home.dapp_tab_button.click()
|
||||
camera_dapp.open_tabs_button.click()
|
||||
dapp.element_by_text_part("https").click()
|
||||
@ -155,16 +155,16 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
|
||||
url_data = {
|
||||
'ens_with_stateofus_domain_deep_link': {
|
||||
'url': 'https://join.status.im/u/%s.stateofus.eth' % ens_user_ropsten['ens'],
|
||||
'username': '@%s' % ens_user_ropsten['ens']
|
||||
'url': 'https://join.status.im/u/%s.stateofus.eth' % ens_user_message_sender['ens'],
|
||||
'username': '@%s' % ens_user_message_sender['ens']
|
||||
},
|
||||
'ens_without_stateofus_domain_deep_link': {
|
||||
'url': 'https://join.status.im/u/%s' % ens_user_ropsten['ens'],
|
||||
'username': '@%s' % ens_user_ropsten['ens']
|
||||
'url': 'https://join.status.im/u/%s' % ens_user_message_sender['ens'],
|
||||
'username': '@%s' % ens_user_message_sender['ens']
|
||||
},
|
||||
'ens_another_domain_deep_link': {
|
||||
'url': 'status-im://u/%s' % ens_user['ens_another'],
|
||||
'username': '@%s' % ens_user['ens_another']
|
||||
'url': 'status-im://u/%s' % ens_user['ens'],
|
||||
'username': '@%s' % ens_user['ens']
|
||||
},
|
||||
'own_profile_key_deep_link': {
|
||||
'url': 'https://join.status.im/u/%s' % self.public_key,
|
||||
@ -225,8 +225,8 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
|
||||
url_data = {
|
||||
'ens_without_stateofus_domain_deep_link': {
|
||||
'url': 'https://join.status.im/u/%s' % ens_user_ropsten['ens'],
|
||||
'username': '@%s' % ens_user_ropsten['ens']
|
||||
'url': 'https://join.status.im/u/%s' % ens_user_message_sender['ens'],
|
||||
'username': '@%s' % ens_user_message_sender['ens']
|
||||
},
|
||||
|
||||
'other_user_profile_key_deep_link': {
|
||||
@ -245,19 +245,19 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
'username': transaction_senders['A']['username']
|
||||
},
|
||||
'wallet_validation_wrong_address_transaction': {
|
||||
'url': 'ethereum:0x744d70fdbe2ba4cf95131626614a1763df805b9e@3/transfer?address=blablabla&uint256=1e10',
|
||||
'url': 'ethereum:0x744d70fdbe2ba4cf95131626614a1763df805b9e@5/transfer?address=blablabla&uint256=1e10',
|
||||
'error': 'Invalid address',
|
||||
},
|
||||
'wallet_eip_ens_for_receiver': {
|
||||
'url': 'ethereum:0xc55cf4b03948d7ebc8b9e8bad92643703811d162@3/transfer?address=nastya.stateofus.eth&uint256=1e-1',
|
||||
'url': 'ethereum:0x3d6afaa395c31fcd391fe3d562e75fe9e8ec7e6a@5/transfer?address=%s.stateofus.eth&uint256=1e-1' % ens_user_message_sender['ens'],
|
||||
'data': {
|
||||
'asset': 'STT',
|
||||
'amount': '0.1',
|
||||
'address': '0x58d8…F2ff',
|
||||
'address': '0x75fF…4184',
|
||||
},
|
||||
},
|
||||
'wallet_eip_payment_link': {
|
||||
'url': 'ethereum:pay-0xc55cf4b03948d7ebc8b9e8bad92643703811d162@3/transfer?address=0x3d597789ea16054a084ac84ce87f50df9198f415&uint256=1e1',
|
||||
'url': 'ethereum:pay-0x3d6afaa395c31fcd391fe3d562e75fe9e8ec7e6a@5/transfer?address=0x3d597789ea16054a084ac84ce87f50df9198f415&uint256=1e1',
|
||||
'data': {
|
||||
'amount': '10',
|
||||
'asset': 'STT',
|
||||
@ -265,10 +265,10 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
},
|
||||
},
|
||||
'dapp_deep_link': {
|
||||
'url': 'https://join.status.im/b/simpledapp.eth',
|
||||
'url': 'https://join.status.im/b/%s' % test_dapp_url,
|
||||
},
|
||||
'dapp_deep_link_https': {
|
||||
'url': 'https://join.status.im/b/https://simpledapp.eth',
|
||||
'url': 'https://join.status.im/b/%s' % test_dapp_url,
|
||||
},
|
||||
'public_chat_deep_link': {
|
||||
'url': 'https://join.status.im/baga-ma-2020',
|
||||
@ -309,8 +309,7 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
wallet.home_button.click()
|
||||
if 'dapp' in key:
|
||||
self.home.open_in_status_button.click()
|
||||
if not (chat.allow_button.is_element_displayed() or chat.element_by_text(
|
||||
"Can't find web3 library").is_element_displayed()):
|
||||
if not chat.allow_button.is_element_displayed():
|
||||
self.errors.append('No allow button is shown in case of navigating to Status dapp!')
|
||||
chat.dapp_tab_button.click()
|
||||
chat.home_button.click()
|
||||
@ -343,11 +342,11 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
|
||||
url_data = {
|
||||
'ens_for_receiver': {
|
||||
'url': 'ethereum:0xc55cf4b03948d7ebc8b9e8bad92643703811d162@3/transfer?address=nastya.stateofus.eth&uint256=1e-1',
|
||||
'url': 'ethereum:0x3D6AFAA395C31FCd391fE3D562E75fe9E8ec7E6a@5/transfer?address=%s.stateofus.eth&uint256=1e-1' % ens_user_message_sender['ens'],
|
||||
'data': {
|
||||
'asset': 'STT',
|
||||
'amount': '0.1',
|
||||
'address': '0x58d8…F2ff',
|
||||
'address': '0x75fF…4184',
|
||||
},
|
||||
},
|
||||
# 'gas_settings': {
|
||||
@ -361,7 +360,7 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
# },
|
||||
# },
|
||||
'payment_link': {
|
||||
'url': 'ethereum:pay-0xc55cf4b03948d7ebc8b9e8bad92643703811d162@3/transfer?address=0x3d597789ea16054a084ac84ce87f50df9198f415&uint256=1e1',
|
||||
'url': 'ethereum:pay-0x3D6AFAA395C31FCd391fE3D562E75fe9E8ec7E6a@5/transfer?address=0x3d597789ea16054a084ac84ce87f50df9198f415&uint256=1e1',
|
||||
'data': {
|
||||
'amount': '10',
|
||||
'asset': 'STT',
|
||||
@ -369,7 +368,7 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
},
|
||||
},
|
||||
'validation_amount_too_presize': {
|
||||
'url': 'ethereum:0xc55cf4b03948d7ebc8b9e8bad92643703811d162@3/transfer?address=0x101848D5C5bBca18E6b4431eEdF6B95E9ADF82FA&uint256=1e-19',
|
||||
'url': 'ethereum:0x3D6AFAA395C31FCd391fE3D562E75fe9E8ec7E6a@5/transfer?address=0x101848D5C5bBca18E6b4431eEdF6B95E9ADF82FA&uint256=1e-19',
|
||||
'data': {
|
||||
'amount': '1e-19',
|
||||
'asset': 'STT',
|
||||
@ -379,10 +378,10 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
'send_transaction_validation_error': 'Amount is too precise',
|
||||
},
|
||||
'validation_amount_too_big': {
|
||||
'url': 'ethereum:0x101848D5C5bBca18E6b4431eEdF6B95E9ADF82FA@3?value=1e25',
|
||||
'url': 'ethereum:0x101848D5C5bBca18E6b4431eEdF6B95E9ADF82FA@5?value=1e25',
|
||||
'data': {
|
||||
'amount': '10000000',
|
||||
'asset': 'ETHro',
|
||||
'asset': 'ETHgo',
|
||||
'address': '0x1018…82FA',
|
||||
|
||||
},
|
||||
@ -393,12 +392,12 @@ class TestPermissionsScanQrOneDevice(MultipleSharedDeviceTestCase):
|
||||
'error': 'Network does not match',
|
||||
'data': {
|
||||
'amount': '0.1',
|
||||
'asset': 'ETHro',
|
||||
'asset': 'ETHgo',
|
||||
'address': '0x1018…82FA',
|
||||
},
|
||||
},
|
||||
'validation_wrong_address': {
|
||||
'url': 'ethereum:0x744d70fdbe2ba4cf95131626614a1763df805b9e@3/transfer?address=blablabla&uint256=1e10',
|
||||
'url': 'ethereum:0x744d70fdbe2ba4cf95131626614a1763df805b9e@5/transfer?address=blablabla&uint256=1e10',
|
||||
'error': 'Invalid address',
|
||||
},
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ import random
|
||||
from tests import marks, mailserver_ams, mailserver_gc, mailserver_hk, used_fleet, common_password,\
|
||||
pair_code, unique_password
|
||||
from tests.users import user_mainnet, chat_users, recovery_users, transaction_senders, basic_user,\
|
||||
wallet_users, ens_user_ropsten, ens_user
|
||||
wallet_users, ens_user_message_sender, ens_user
|
||||
from tests.base_test_case import SingleDeviceTestCase
|
||||
from views.sign_in_view import SignInView
|
||||
import support.api.web3_api as w3
|
||||
@ -44,7 +44,7 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
sign_in.toggle_mobile_data()
|
||||
sign_in.element_by_text_part('Stop syncing').wait_and_click(60)
|
||||
sign_in.wallet_button.click()
|
||||
if not wallet_view.element_by_text_part('LXS').is_element_displayed():
|
||||
if not wallet_view.element_by_text_part('XEENUS').is_element_displayed():
|
||||
self.errors.append('Token balance is not fetched while on cellular network!')
|
||||
|
||||
wallet_view.just_fyi('Add watch-only account when on cellular network')
|
||||
@ -60,7 +60,7 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
|
||||
wallet_view.just_fyi('Check that balance is changed after go back to WI-FI')
|
||||
sign_in.toggle_mobile_data()
|
||||
for asset in ('ADI', 'STT'):
|
||||
for asset in ('YEENUS', 'STT'):
|
||||
wallet_view.asset_by_name(asset).scroll_to_element()
|
||||
wallet_view.wait_balance_is_changed(asset, wait_time=60)
|
||||
|
||||
@ -487,7 +487,7 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
sign_in = SignInView(self.driver)
|
||||
|
||||
errors = {'send_transaction_screen': {
|
||||
'too_precise': 'Amount is too precise. Max number of decimals is 7.',
|
||||
'too_precise': 'Amount is too precise. Max number of decimals is 8.',
|
||||
'insufficient_funds': 'Insufficient funds'
|
||||
},
|
||||
'sending_screen': {
|
||||
@ -499,14 +499,14 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
|
||||
sign_in.recover_access(sender['passphrase'])
|
||||
wallet = sign_in.wallet_button.click()
|
||||
wallet.wait_balance_is_changed('ADI')
|
||||
wallet.wait_balance_is_changed('YEENUS')
|
||||
wallet.accounts_status_account.click()
|
||||
|
||||
screen = 'send transaction screen from wallet'
|
||||
sign_in.just_fyi('Checking %s on %s' % (errors['send_transaction_screen']['too_precise'], screen))
|
||||
initial_amount_adi = wallet.get_asset_amount_by_name('ADI')
|
||||
initial_amount_adi = wallet.get_asset_amount_by_name('YEENUS')
|
||||
send_transaction = wallet.send_transaction_button.click()
|
||||
adi_button = send_transaction.asset_by_name('ADI')
|
||||
adi_button = send_transaction.asset_by_name('YEENUS')
|
||||
send_transaction.select_asset_button.click_until_presence_of_element(
|
||||
send_transaction.eth_asset_in_select_asset_bottom_sheet_button)
|
||||
adi_button.click()
|
||||
@ -533,7 +533,7 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
wallet.get_account_by_name(account_name).click()
|
||||
wallet.send_transaction_button.click()
|
||||
send_transaction.amount_edit_box.set_value('0')
|
||||
send_transaction.set_recipient_address(ens_user_ropsten['ens'])
|
||||
send_transaction.set_recipient_address(ens_user_message_sender['ens'])
|
||||
send_transaction.next_button.click()
|
||||
wallet.ok_got_it_button.wait_and_click(30)
|
||||
if not send_transaction.validation_error_element.is_element_displayed(10):
|
||||
@ -569,8 +569,8 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
|
||||
send_transaction = wallet.send_transaction_button.click()
|
||||
amount = '0.000%s' % str(random.randint(100000, 999999)) + '1'
|
||||
send_transaction.amount_edit_box.set_value(amount)
|
||||
send_transaction.set_recipient_address(ens_user_ropsten['ens'])
|
||||
self.value = send_transaction.amount_edit_box.set_value(amount)
|
||||
send_transaction.set_recipient_address(ens_user_message_sender['ens'])
|
||||
send_transaction.next_button.click()
|
||||
wallet.ok_got_it_button.wait_and_click(30)
|
||||
send_transaction.network_fee_button.click()
|
||||
@ -630,8 +630,9 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
wallet.just_fyi('Verify custom fee data on tx screen')
|
||||
wallet.swipe_up()
|
||||
for key in expected_params:
|
||||
if not wallet.element_by_text_part(expected_params[key]).is_element_displayed():
|
||||
self.errors.append("Custom tx param %s is not shown on tx history screen" % key)
|
||||
if key != 'fee_cap':
|
||||
if not wallet.element_by_text_part(expected_params[key]).is_element_displayed():
|
||||
self.errors.append("Custom tx param %s is not shown on tx history screen" % key)
|
||||
|
||||
wallet.just_fyi("Check below fee popup on mainnet")
|
||||
profile = wallet.profile_button.click()
|
||||
@ -641,7 +642,7 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
|
||||
send_transaction = wallet.send_transaction_button.click_until_presence_of_element(send_transaction.amount_edit_box)
|
||||
send_transaction.amount_edit_box.set_value(0)
|
||||
send_transaction.set_recipient_address(ens_user_ropsten['ens'])
|
||||
send_transaction.set_recipient_address(ens_user_message_sender['ens'])
|
||||
send_transaction.next_button.click()
|
||||
wallet.element_by_translation_id("network-fee").click()
|
||||
if not wallet.element_by_translation_id("tx-fail-description2").is_element_displayed():
|
||||
@ -740,7 +741,7 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
send_tx.next_button.click()
|
||||
send_tx.set_up_wallet_when_sending_tx()
|
||||
send_tx.advanced_button.click()
|
||||
send_tx.nonce_input.set_value('4')
|
||||
send_tx.nonce_input.set_value('0')
|
||||
send_tx.nonce_save_button.click()
|
||||
error_text = send_tx.sign_transaction(error=True)
|
||||
if error_text != 'nonce too low':
|
||||
@ -770,13 +771,13 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
@marks.testrail_id(6219)
|
||||
def test_profile_set_primary_ens_custom_domain(self):
|
||||
home = SignInView(self.driver).recover_access(ens_user['passphrase'])
|
||||
ens_second, ens_main = ens_user['ens_another'], ens_user['ens']
|
||||
ens_second, ens_main = ens_user['ens_upgrade'], ens_user['ens']
|
||||
|
||||
home.just_fyi('add 2 ENS names in Profile')
|
||||
profile = home.profile_button.click()
|
||||
dapp = profile.connect_existing_ens(ens_main)
|
||||
|
||||
profile.element_by_translation_id("ens-add-username").wait_and_click()
|
||||
profile.element_by_translation_id("ens-want-custom-domain").wait_and_click()
|
||||
dapp.ens_name_input.set_value(ens_second)
|
||||
dapp.check_ens_name.click_until_presence_of_element(dapp.element_by_translation_id("ens-got-it"))
|
||||
dapp.element_by_translation_id("ens-got-it").wait_and_click()
|
||||
@ -1055,12 +1056,15 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
self.wallet = self.home.wallet_button.click()
|
||||
self.address = self.wallet.get_wallet_address()
|
||||
self.chat_key = self.home.get_public_key_and_username()
|
||||
|
||||
self.wallet.just_fyi("Get required donate")
|
||||
w3.donate_testnet_eth(self.address, amount=0.1, inscrease_default_gas_price=10)
|
||||
self.home.wallet_button.click()
|
||||
self.wallet.wait_balance_is_changed()
|
||||
w3.donate_testnet_token('STT', address=self.address, amount=10, inscrease_default_gas_price=10)
|
||||
self.wallet.wait_balance_is_changed('STT', scan_tokens=True)
|
||||
|
||||
self.wallet.just_fyi("Purchase ENS")
|
||||
self.profile = self.home.profile_button.click()
|
||||
self.profile.ens_usernames_button.wait_and_click()
|
||||
self.dapp = self.home.get_dapp_view()
|
||||
@ -1077,24 +1081,40 @@ class TestChatManagement(SingleDeviceTestCase):
|
||||
self.error.append("ENS name %s is not purchasing" % self.ens_name)
|
||||
self.dapp.ens_got_it.click()
|
||||
if self.dapp.registration_in_progress.is_element_displayed(10):
|
||||
self.dapp.registration_in_progress.wait_for_invisibility_of_element(300)
|
||||
self.dapp.registration_in_progress.wait_for_invisibility_of_element(400)
|
||||
self.dapp.element_by_text(self.ens_name).click()
|
||||
for text in ("10 SNT, deposit unlocked", self.chat_key, self.address.lower()):
|
||||
if not self.dapp.element_by_text(text).is_element_displayed(10):
|
||||
self.errors.append("%s is not displayed after ENS purchasing" % text)
|
||||
|
||||
if not w3.get_address_from_ens(self.ens_name) == self.address:
|
||||
self.errors.append("ENS name %s is not resolved to correct address %s" % (self.ens_name, self.address))
|
||||
|
||||
self.wallet.just_fyi("Send leftovers")
|
||||
self.wallet.wallet_button.click()
|
||||
send_transaction = self.wallet.send_transaction_from_main_screen.click()
|
||||
self.wallet.wallet_button.double_click()
|
||||
address = self.wallet.get_wallet_address()
|
||||
send_transaction = self.wallet.send_transaction_button.click()
|
||||
send_transaction.set_max_button.click()
|
||||
send_transaction.confirm()
|
||||
send_transaction.chose_recipient_button.click()
|
||||
send_transaction.set_recipient_address(w3.ACCOUNT_ADDRESS)
|
||||
send_transaction.sign_transaction_button.click()
|
||||
send_transaction.sign_transaction()
|
||||
|
||||
self.wallet.just_fyi("Verify purchased ENS")
|
||||
self.home.home_button.click()
|
||||
self.home.plus_button.click_until_presence_of_element(self.home.start_new_chat_button)
|
||||
chat = self.home.start_new_chat_button.click()
|
||||
chat.public_key_edit_box.click()
|
||||
chat.public_key_edit_box.send_keys(self.ens_name)
|
||||
if not self.home.element_by_translation_id("can-not-add-yourself").is_element_displayed(20):
|
||||
self.errors.append(
|
||||
"Public key in not resolved correctly from %s ENS name on stateofus!" % self.ens_name)
|
||||
self.home.get_back_to_home_view()
|
||||
self.wallet.wallet_button.double_click()
|
||||
self.wallet.send_transaction_from_main_screen.click_until_presence_of_element(send_transaction.chose_recipient_button)
|
||||
send_transaction.chose_recipient_button.scroll_and_click()
|
||||
send_transaction.set_recipient_address(self.ens_name)
|
||||
if not send_transaction.element_by_text_part(send_transaction.get_formatted_recipient_address(address)).is_element_displayed(5):
|
||||
self.errors.append("Wallet address in not resolved correctly from %s ENS name on stateofus!" % self.ens_name)
|
||||
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
@marks.testrail_id(6300)
|
||||
|
@ -5,7 +5,7 @@ import pytest
|
||||
|
||||
from tests import common_password, marks, test_dapp_name
|
||||
from tests.base_test_case import MultipleSharedDeviceTestCase, create_shared_drivers
|
||||
from tests.users import transaction_senders, basic_user, ens_user_ropsten
|
||||
from tests.users import transaction_senders, basic_user, ens_user_message_sender
|
||||
from views.sign_in_view import SignInView
|
||||
|
||||
|
||||
@ -24,6 +24,8 @@ class TestKeycardMediumMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
self.home.home_button.click()
|
||||
|
||||
@marks.testrail_id(702317)
|
||||
@marks.skip
|
||||
# TODO: skipped until fix #13606 and full transition to Goerli
|
||||
def test_keycard_testdapp_sign_typed_message(self):
|
||||
test_dapp = self.home.open_status_test_dapp()
|
||||
test_dapp.wait_for_d_aap_to_load()
|
||||
@ -53,7 +55,7 @@ class TestKeycardMediumMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
@marks.testrail_id(702319)
|
||||
def test_keycard_send_tx_eth_to_ens(self):
|
||||
self.home.home_button.double_click()
|
||||
chat = self.home.add_contact(ens_user_ropsten['ens'])
|
||||
chat = self.home.add_contact(ens_user_message_sender['ens'])
|
||||
chat.commands_button.click()
|
||||
amount = chat.get_unique_amount()
|
||||
|
||||
@ -67,7 +69,7 @@ class TestKeycardMediumMultipleDevicesMerged(MultipleSharedDeviceTestCase):
|
||||
send_transaction.sign_transaction(keycard=True)
|
||||
chat_sender_message = chat.get_outgoing_transaction()
|
||||
self.network_api.wait_for_confirmation_of_transaction(self.user['address'], amount)
|
||||
chat_sender_message.transaction_status.wait_for_element_text(chat_sender_message.confirmed)
|
||||
chat_sender_message.transaction_status.wait_for_element_text(chat_sender_message.confirmed, 60)
|
||||
|
||||
@marks.testrail_id(702320)
|
||||
def test_keycard_profile_pin_puk_edit(self):
|
||||
@ -233,6 +235,8 @@ class TestWalletTestDappMediumMultipleDevicesMerged(MultipleSharedDeviceTestCase
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
@marks.testrail_id(702325)
|
||||
@marks.skip
|
||||
# TODO: skipped until fix #13606 and full transition to Goerli
|
||||
def test_testdapp_sign_typed_message(self):
|
||||
self.home.just_fyi("Checking sign typed message")
|
||||
test_dapp = self.home.open_status_test_dapp(allow_all=True)
|
||||
@ -291,8 +295,8 @@ class TestWalletTestDappMediumMultipleDevicesMerged(MultipleSharedDeviceTestCase
|
||||
def test_wallet_asset_search(self):
|
||||
self.home.wallet_button.double_click()
|
||||
search_list_assets = {
|
||||
'd': ['Adi Test Token', 'Handy Test Token', 'Modest Test Token'],
|
||||
'MD': ['MDS']
|
||||
'ee': ['XEENUS', 'YEENUS', 'ZEENUS'],
|
||||
'ST': ['STT']
|
||||
}
|
||||
self.home.just_fyi('Searching for asset by name and symbol')
|
||||
self.wallet.multiaccount_more_options.click()
|
||||
@ -349,8 +353,9 @@ class TestWalletTestDappMediumMultipleDevicesMerged(MultipleSharedDeviceTestCase
|
||||
|
||||
self.home.just_fyi('check correct account is shown for transaction if sending from DApp')
|
||||
profile.dapp_tab_button.click(desired_element_text='Accounts')
|
||||
status_test_dapp.assets_button.click()
|
||||
send_transaction = status_test_dapp.request_stt_button.click()
|
||||
status_test_dapp.transactions_button.click_until_presence_of_element(
|
||||
status_test_dapp.send_one_tx_in_batch_button)
|
||||
send_transaction = status_test_dapp.send_one_tx_in_batch_button.click()
|
||||
send_transaction.ok_got_it_button.click_if_shown()
|
||||
address = send_transaction.get_formatted_recipient_address(self.sub_acc_address)
|
||||
if not send_transaction.element_by_text(address).is_element_displayed():
|
||||
|
BIN
test/appium/tests/non_func/exp.db
Normal file
BIN
test/appium/tests/non_func/exp.db
Normal file
Binary file not shown.
@ -191,7 +191,7 @@ class TestUpgradeApplication(SingleDeviceTestCase):
|
||||
sign_in.just_fyi('Check that balance is preserved')
|
||||
accounts = dapp_data.wallets
|
||||
wallet = profile.wallet_button.click()
|
||||
for asset in ('ETH', 'ADI', 'STT'):
|
||||
for asset in ('ETH', 'YEENUS', 'STT'):
|
||||
wallet.wait_balance_is_changed(asset=asset)
|
||||
|
||||
sign_in.just_fyi('Check accounts inside multiaccount')
|
||||
@ -215,13 +215,13 @@ class TestUpgradeApplication(SingleDeviceTestCase):
|
||||
sign_in = SignInView(self.driver)
|
||||
home = sign_in.recover_access(passphrase=user['passphrase'], keycard=True)
|
||||
wallet = home.wallet_button.click()
|
||||
wallet.wait_balance_is_changed(asset='ADI', scan_tokens=True)
|
||||
wallet.wait_balance_is_changed(asset='YEENUS', scan_tokens=True)
|
||||
home.upgrade_app()
|
||||
|
||||
home.just_fyi('Check that can login with restored from mnemonic keycard account')
|
||||
sign_in.sign_in(keycard=True)
|
||||
home.wallet_button.click()
|
||||
for asset in ['ETH', 'ADI', 'STT']:
|
||||
for asset in ['ETH', 'YEENUS', 'STT']:
|
||||
if wallet.get_asset_amount_by_name(asset) == 0:
|
||||
self.errors.append('Asset %s was not restored' % asset)
|
||||
|
||||
|
@ -592,7 +592,7 @@ class ChatView(BaseView):
|
||||
self.quote_username_in_message_input = EditBox(self.driver,
|
||||
xpath="//android.view.ViewGroup[@content-desc='cancel-message-reply']/..//android.widget.TextView[1]")
|
||||
self.cancel_reply_button = Button(self.driver, accessibility_id="cancel-message-reply")
|
||||
self.chat_item = Button(self.driver, accessibility_id="chat-item")
|
||||
self.chat_item = Button(self.driver, xpath="(//*[@content-desc='chat-item'])[1]")
|
||||
self.chat_name_editbox = EditBox(self.driver, accessibility_id="chat-name-input")
|
||||
self.commands_button = CommandsButton(self.driver)
|
||||
self.send_command = SendCommand(self.driver)
|
||||
@ -883,7 +883,7 @@ class ChatView(BaseView):
|
||||
self.driver.info("Moving to messages by time marker: '%s'" % marker)
|
||||
Button(self.driver, xpath="//*[@text='%s'']" % marker).scroll_to_element(depth=50, direction='up')
|
||||
|
||||
def install_sticker_pack_by_name(self, pack_name='Status Cat'):
|
||||
def install_sticker_pack_by_name(self, pack_name='HCPP20'):
|
||||
self.driver.info("## Installing '%s' stickerpack" % pack_name, device=False)
|
||||
self.chat_message_input.click()
|
||||
self.show_stickers_button.click()
|
||||
|
@ -1,4 +1,4 @@
|
||||
from tests.users import ens_user_ropsten
|
||||
from tests.users import ens_user_message_sender
|
||||
main = {
|
||||
'name' : 'main chat',
|
||||
'messages': {
|
||||
@ -34,7 +34,7 @@ make_admin = {
|
||||
timeline = {
|
||||
'link': 'https://join.status.im/u/0x045efbcc044e5ae21ac3cf111ea6df6186e0cc50a2cd747f52a56d19ce516e683c66cb47f4b0a21110859aea9592dfba1e0bf4af11ff3eab995f844b3673643bf1',
|
||||
'text': 'Hey there!',
|
||||
'resolved_username': ens_user_ropsten['username']
|
||||
'resolved_username': ens_user_message_sender['username']
|
||||
|
||||
}
|
||||
profile = {
|
||||
|
@ -1,4 +1,4 @@
|
||||
from tests.users import basic_user, ens_user_ropsten
|
||||
from tests.users import basic_user, ens_user_message_sender
|
||||
|
||||
contacts ={
|
||||
'blocked': 'Athletic Lean Noctilio',
|
||||
@ -6,8 +6,8 @@ contacts ={
|
||||
'synced': {
|
||||
'nickname': 'My buddy',
|
||||
'username_nickname': 'Worthy Shady Harrier',
|
||||
'ens': '@%s'% ens_user_ropsten['ens'],
|
||||
'username_ens': ens_user_ropsten['username'],
|
||||
'ens': '@%s'% ens_user_message_sender['ens'],
|
||||
'username_ens': ens_user_message_sender['username'],
|
||||
},
|
||||
'added': {
|
||||
'name': 'my_second_buddy',
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 3.0 KiB |
BIN
test/appium/views/elements_templates/ment_new_1.png
Normal file
BIN
test/appium/views/elements_templates/ment_new_1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
@ -175,7 +175,7 @@ class WalletView(BaseView):
|
||||
self.accounts_status_account.scroll_to_element(direction='up')
|
||||
return
|
||||
|
||||
def wait_balance_is_changed(self, asset='ETH', initial_balance=0, wait_time=400, scan_tokens=False, navigate_to_home=True):
|
||||
def wait_balance_is_changed(self, asset='ETH', initial_balance=0, wait_time=120, scan_tokens=False, navigate_to_home=True):
|
||||
self.driver.info('Waiting %ss for %s updated balance' % (wait_time, asset))
|
||||
counter = 0
|
||||
while True:
|
||||
|
@ -2,6 +2,7 @@ import time
|
||||
|
||||
from views.base_element import EditBox, Button, BaseElement
|
||||
from views.base_view import BaseView
|
||||
from appium.webdriver.common.touch_action import TouchAction
|
||||
|
||||
|
||||
class BaseWebView(BaseView):
|
||||
@ -86,3 +87,8 @@ class BaseWebView(BaseView):
|
||||
bookmark_name = self.bookmark_name_input.text
|
||||
self.save_bookmark_button.click()
|
||||
return bookmark_name
|
||||
|
||||
def open_right_collapsed_menu(self):
|
||||
# written for status.im
|
||||
size = self.driver.get_window_size()
|
||||
TouchAction(self.driver).tap(None, size["width"] * 0.92, size["height"] * 0.2, 1).perform()
|
Loading…
x
Reference in New Issue
Block a user