Test can cancel quote message
Signed-off-by: Serhy <sergii@status.im>
This commit is contained in:
parent
0c6cd948ad
commit
6aa225192f
|
@ -159,6 +159,7 @@
|
|||
[react/scroll-view {:style style/reply-message-content}
|
||||
[react/view {:style style/reply-message-to-container}
|
||||
[vector-icons/tiny-icon :tiny-icons/tiny-reply {:container-style style/reply-icon
|
||||
:accessibility-label :tiny-reply-icon
|
||||
:width 20
|
||||
:color colors/gray}]
|
||||
(chat-utils/format-reply-author from alias ens-name current-public-key style/reply-message-author)]
|
||||
|
|
|
@ -2,7 +2,7 @@ import pytest
|
|||
import time
|
||||
|
||||
from tests import marks, camera_access_error_text, get_current_time
|
||||
from tests.users import basic_user
|
||||
from tests.users import basic_user, dummy_user
|
||||
from tests.base_test_case import SingleDeviceTestCase, MultipleDeviceTestCase
|
||||
from views.sign_in_view import SignInView
|
||||
|
||||
|
@ -211,6 +211,39 @@ class TestChatManagement(SingleDeviceTestCase):
|
|||
if home.element_by_text(basic_user["username"]).is_element_displayed():
|
||||
self.driver.fail("Unblocked user not added previously in contact list added in contacts!")
|
||||
|
||||
@marks.testrail_id(5496)
|
||||
@marks.low
|
||||
def test_can_remove_quote_snippet_from_inputs(self):
|
||||
sign_in = SignInView(self.driver)
|
||||
home = sign_in.create_user()
|
||||
chat_view = home.add_contact(dummy_user["public_key"], add_in_contacts=False)
|
||||
message_to_quote_1_to_1 = "This is a message to quote in 1-1"
|
||||
message_to_quote_public = "This is a message to quote in public"
|
||||
|
||||
chat_view.just_fyi("Send and quote message in 1-1 chat")
|
||||
chat_view.send_message(message_to_quote_1_to_1)
|
||||
chat_view.quote_message(message_to_quote_1_to_1)
|
||||
chat_view.get_back_to_home_view(times_to_click_on_back_btn=1)
|
||||
|
||||
chat_view.just_fyi("Send and quote message in public chat")
|
||||
public_chat_name = home.get_public_chat_name()
|
||||
home.join_public_chat(public_chat_name)
|
||||
chat_view.send_message(message_to_quote_public)
|
||||
chat_view.quote_message(message_to_quote_public)
|
||||
|
||||
chat_view.just_fyi("Clear quotes from both chats")
|
||||
chat_view.cancel_reply_button.click()
|
||||
|
||||
if chat_view.tiny_reply_icon_in_message_input.is_element_displayed():
|
||||
self.errors.append("Message quote kept in public chat input after it's cancelation")
|
||||
chat_view.get_back_to_home_view(times_to_click_on_back_btn=1)
|
||||
home.get_chat_with_user(dummy_user["username"]).click()
|
||||
chat_view.cancel_reply_button.click()
|
||||
if chat_view.tiny_reply_icon_in_message_input.is_element_displayed():
|
||||
self.errors.append("Message quote kept in 1-1 chat input after it's cancelation")
|
||||
|
||||
self.errors.verify_no_errors()
|
||||
|
||||
|
||||
@marks.chat
|
||||
class TestChatManagementMultipleDevice(MultipleDeviceTestCase):
|
||||
|
@ -301,9 +334,8 @@ class TestChatManagementMultipleDevice(MultipleDeviceTestCase):
|
|||
"'%s' from blocked user %s are shown in public chat" % (message, device_2.driver.number))
|
||||
|
||||
@marks.testrail_id(5763)
|
||||
@marks.high
|
||||
@marks.medium
|
||||
def test_block_user_from_one_to_one_header(self):
|
||||
|
||||
self.create_drivers(2)
|
||||
device_1, device_2 = SignInView(self.drivers[0]), SignInView(self.drivers[1])
|
||||
message_before_block_1 = "Before block from %s" % device_1.driver.number
|
||||
|
|
|
@ -138,8 +138,7 @@ class TestPublicChatMultipleDevice(MultipleDeviceTestCase):
|
|||
if not chat_element_2.is_element_displayed(sec=10):
|
||||
self.errors.append('Message with emoji was not received in public chat by the recipient')
|
||||
|
||||
chat_element_2.long_press_element()
|
||||
chat_2.element_by_text('Reply').click()
|
||||
chat_2.quote_message(emoji_unicode)
|
||||
message_text = 'test message'
|
||||
chat_2.chat_message_input.send_keys(message_text)
|
||||
chat_2.send_message_button.click()
|
||||
|
|
|
@ -393,7 +393,7 @@ class TestTransactionWalletSingleDevice(SingleDeviceTestCase):
|
|||
send_transaction.sign_with_password.click_until_presence_of_element(send_transaction.enter_password_input)
|
||||
send_transaction.enter_password_input.send_keys(common_password)
|
||||
send_transaction.sign_button.click()
|
||||
send_transaction.element_by_text('intrinsic gas too low', 'text').wait_for_visibility_of_element(40)
|
||||
send_transaction.element_by_text('intrinsic gas too low', 'text').wait_for_visibility_of_element(80)
|
||||
send_transaction.ok_button.click()
|
||||
|
||||
send_transaction.sign_transaction_button.click()
|
||||
|
@ -409,6 +409,7 @@ class TestTransactionWalletSingleDevice(SingleDeviceTestCase):
|
|||
self.network_api.find_transaction_by_unique_amount(sender['address'], amount)
|
||||
|
||||
@marks.testrail_id(5314)
|
||||
@marks.critical
|
||||
def test_can_see_all_transactions_in_history(self):
|
||||
address = wallet_users['D']['address']
|
||||
passphrase = wallet_users['D']['passphrase']
|
||||
|
|
|
@ -18,6 +18,14 @@ ens_user_other_domain = dict()
|
|||
ens_user_other_domain['ens'] = 'tanyatest1.eth'
|
||||
ens_user_other_domain['address'] = '0xcf2272205cc0cf96Cfbb9Dd740BD681D1E86901E'
|
||||
|
||||
dummy_user = dict()
|
||||
dummy_user['username'] = "Vain Wordy Hagfish"
|
||||
dummy_user['passphrase'] = "near broom kiss excess sad switch slab melt trade crash spare dinner"
|
||||
dummy_user['public_key'] = "0x04596348471aa19d31c8503fa00f95abd0fc3ca908668817284b52b7ced95f966cc13457254aa908aa8e64" \
|
||||
"a2748453accf9d358b8d7a1448597201c664dc280e37"
|
||||
dummy_user['address'] = "0xdF6Bc71206d7ea89ec905a7f5ce8Ff34C85eB04e"
|
||||
|
||||
|
||||
wallet_users = dict()
|
||||
|
||||
wallet_users['A'] = dict()
|
||||
|
|
|
@ -541,12 +541,12 @@ class BaseView(object):
|
|||
raw_public_key = bytearray.fromhex(public_key.replace('0x04', ''))
|
||||
return datatypes.PublicKey(raw_public_key).to_address()[2:]
|
||||
|
||||
def get_back_to_home_view(self):
|
||||
def get_back_to_home_view(self, times_to_click_on_back_btn=5):
|
||||
counter = 0
|
||||
from views.home_view import PlusButton
|
||||
while not PlusButton(self.driver).is_element_displayed(2):
|
||||
try:
|
||||
if counter >= 5:
|
||||
if counter >= times_to_click_on_back_btn:
|
||||
break
|
||||
self.back_button.click()
|
||||
except (NoSuchElementException, TimeoutException):
|
||||
|
|
|
@ -14,11 +14,24 @@ class ChatMessageInput(BaseEditBox):
|
|||
self.locator = self.Locator.accessibility_id('chat-message-input')
|
||||
|
||||
|
||||
class TinyReplyIconInMessageInput(BaseElement):
|
||||
def __init__(self, driver):
|
||||
super(TinyReplyIconInMessageInput, self).__init__(driver)
|
||||
self.locator = self.Locator.accessibility_id('tiny-reply-icon')
|
||||
|
||||
|
||||
class CancelReplyButton(BaseEditBox):
|
||||
def __init__(self, driver):
|
||||
super(CancelReplyButton, self).__init__(driver)
|
||||
self.locator = self.Locator.accessibility_id('cancel-message-reply')
|
||||
|
||||
|
||||
class AddToContacts(BaseButton):
|
||||
def __init__(self, driver):
|
||||
super(AddToContacts, self).__init__(driver)
|
||||
self.locator = self.Locator.accessibility_id('add-to-contacts-button')
|
||||
|
||||
|
||||
class RemoveFromContactsButton(BaseButton):
|
||||
def __init__(self, driver):
|
||||
super(RemoveFromContactsButton, self).__init__(driver)
|
||||
|
@ -100,6 +113,12 @@ class ClearHistoryButton(BaseButton):
|
|||
self.locator = self.Locator.xpath_selector('//*[@text="Clear history"]')
|
||||
|
||||
|
||||
class ReplyMessageButton(BaseButton):
|
||||
def __init__(self, driver):
|
||||
super(ReplyMessageButton, self).__init__(driver)
|
||||
self.locator = self.Locator.text_selector("Reply")
|
||||
|
||||
|
||||
class GroupInfoButton(BaseButton):
|
||||
|
||||
def __init__(self, driver):
|
||||
|
@ -380,6 +399,8 @@ class ChatView(BaseView):
|
|||
super(ChatView, self).__init__(driver)
|
||||
|
||||
self.chat_message_input = ChatMessageInput(self.driver)
|
||||
self.tiny_reply_icon_in_message_input = TinyReplyIconInMessageInput(self.driver)
|
||||
self.cancel_reply_button = CancelReplyButton(self.driver)
|
||||
self.add_to_contacts = AddToContacts(self.driver)
|
||||
self.remove_from_contacts = RemoveFromContactsButton(self.driver)
|
||||
self.user_name_text = UserNameText(self.driver)
|
||||
|
@ -399,6 +420,7 @@ class ChatView(BaseView):
|
|||
self.members_button = MembersButton(self.driver)
|
||||
self.delete_chat_button = DeleteChatButton(self.driver)
|
||||
self.clear_history_button = ClearHistoryButton(self.driver)
|
||||
self.reply_message_button = ReplyMessageButton(self.driver)
|
||||
self.clear_button = ClearButton(self.driver)
|
||||
self.block_contact_button = BlockContactButton(self.driver)
|
||||
self.unblock_contact_button = UnblockContactButton(self.driver)
|
||||
|
@ -568,6 +590,10 @@ class ChatView(BaseView):
|
|||
self.chat_message_input.send_keys(message)
|
||||
self.send_message_button.click()
|
||||
|
||||
def quote_message(self, message = str):
|
||||
self.chat_element_by_text(message).long_press_element()
|
||||
self.reply_message_button.click()
|
||||
|
||||
def move_to_messages_by_time_marker(self, marker='Today'):
|
||||
self.driver.info("Moving to messages by time marker: '%s'" % marker)
|
||||
HistoryTimeMarker(self.driver, marker).scroll_to_element(depth=50, direction='up')
|
||||
|
|
Loading…
Reference in New Issue