Mark all as read in public and e2e fix

Signed-off-by: Serhy <sergii@status.im>
This commit is contained in:
Serhy 2020-04-06 19:21:23 +03:00
parent e7a213fe95
commit 14d1a6cfb2
No known key found for this signature in database
GPG Key ID: 5D7C4B9E2B6F500B
5 changed files with 48 additions and 7 deletions

View File

@ -20,7 +20,8 @@ RERUN_ERRORS = [
"http.client.RemoteDisconnected: Remote end closed connection without response", "http.client.RemoteDisconnected: Remote end closed connection without response",
"[Errno 110] Connection timed out", "[Errno 110] Connection timed out",
"replacement transaction underpriced", "replacement transaction underpriced",
"StaleElementReferenceException" "StaleElementReferenceException",
"No System TLS"
] ]

View File

@ -368,6 +368,9 @@ class TestProfileSingleDevice(SingleDeviceTestCase):
base_web_view.open_in_webview() base_web_view.open_in_webview()
base_web_view.find_full_text('Frequently Asked Questions') base_web_view.find_full_text('Frequently Asked Questions')
base_web_view.click_system_back_button() base_web_view.click_system_back_button()
profile_view.submit_bug_button.click()
base_web_view.find_full_text('Welcome to Gmail')
base_web_view.click_system_back_button()
profile_view.request_a_feature_button.click() profile_view.request_a_feature_button.click()
profile_view.find_full_text('#status') profile_view.find_full_text('#status')

View File

@ -121,6 +121,36 @@ class TestPublicChatMultipleDevice(MultipleDeviceTestCase):
self.errors.verify_no_errors() self.errors.verify_no_errors()
@marks.testrail_id(6270)
@marks.medium
def test_mark_all_messages_as_read_public_chat(self):
self.create_drivers(2)
device_1, device_2 = SignInView(self.drivers[0]), SignInView(self.drivers[1])
home_1, home_2 = device_1.create_user(), device_2.create_user()
chat_name = home_1.get_public_chat_name()
chat_1, chat_2 = home_1.join_public_chat(chat_name), home_2.join_public_chat(chat_name)
home_1.get_back_to_home_view()
message = 'test message'
chat_2.chat_message_input.send_keys(message)
chat_2.send_message_button.click()
if not home_1.home_button.public_unread_messages.is_element_displayed():
self.errors.append('New messages public chat badge is not shown on Home button')
chat_element = home_1.get_chat('#' + chat_name)
if not chat_element.new_messages_public_chat.is_element_displayed():
self.errors.append('New messages counter is not shown in public chat')
chat_element.long_press_element()
home_1.mark_all_messages_as_read_button.click()
home_1.get_back_to_home_view()
if home_1.home_button.public_unread_messages.is_element_displayed():
self.errors.append('New messages public chat badge is shown on Home button')
if chat_element.new_messages_public_chat.is_element_displayed():
self.errors.append('Unread messages badge is shown in public chat while while there are no unread messages')
self.errors.verify_no_errors()
@marks.testrail_id(6202) @marks.testrail_id(6202)
@marks.low @marks.low
def test_emoji_messages_long_press(self): def test_emoji_messages_long_press(self):

View File

@ -16,16 +16,19 @@ class PlusButton(BaseButton):
super(PlusButton, self).__init__(driver) super(PlusButton, self).__init__(driver)
self.locator = self.Locator.accessibility_id("new-chat-button") self.locator = self.Locator.accessibility_id("new-chat-button")
class DeleteChatButton(BaseButton): class DeleteChatButton(BaseButton):
def __init__(self, driver): def __init__(self, driver):
super(DeleteChatButton, self).__init__(driver) super(DeleteChatButton, self).__init__(driver)
self.locator = self.Locator.accessibility_id("delete-chat-button") self.locator = self.Locator.accessibility_id("delete-chat-button")
class ClearHistoryButton(BaseButton): class ClearHistoryButton(BaseButton):
def __init__(self, driver): def __init__(self, driver):
super(ClearHistoryButton, self).__init__(driver) super(ClearHistoryButton, self).__init__(driver)
self.locator = self.Locator.accessibility_id("clear-history-button") self.locator = self.Locator.accessibility_id("clear-history-button")
class StartNewChatButton(BaseButton): class StartNewChatButton(BaseButton):
def __init__(self, driver): def __init__(self, driver):
super(StartNewChatButton, self).__init__(driver) super(StartNewChatButton, self).__init__(driver)
@ -69,6 +72,7 @@ class ChatsMenuInviteFriendsButton(BaseButton):
super(ChatsMenuInviteFriendsButton, self).__init__(driver) super(ChatsMenuInviteFriendsButton, self).__init__(driver)
self.locator = self.Locator.accessibility_id('chats-menu-invite-friends-button') self.locator = self.Locator.accessibility_id('chats-menu-invite-friends-button')
class UserNameBelowNewChatButton(BaseButton): class UserNameBelowNewChatButton(BaseButton):
def __init__(self, driver, username_part): def __init__(self, driver, username_part):
super(UserNameBelowNewChatButton, self).__init__(driver) super(UserNameBelowNewChatButton, self).__init__(driver)
@ -76,6 +80,7 @@ class UserNameBelowNewChatButton(BaseButton):
self.locator = self.Locator.xpath_selector( self.locator = self.Locator.xpath_selector(
"//*[@content-desc='enter-contact-code-input']/../..//*[starts-with(@text,'%s')]" % self.username) "//*[@content-desc='enter-contact-code-input']/../..//*[starts-with(@text,'%s')]" % self.username)
class ChatElement(BaseButton): class ChatElement(BaseButton):
def __init__(self, driver, username_part): def __init__(self, driver, username_part):
super(ChatElement, self).__init__(driver) super(ChatElement, self).__init__(driver)
@ -138,6 +143,12 @@ class ChatElement(BaseButton):
return UnreadMessagesPublicChat(self.driver) return UnreadMessagesPublicChat(self.driver)
class MarkAllMessagesAsReadButton(BaseButton):
def __init__(self, driver):
super().__init__(driver)
self.locator = self.Locator.accessibility_id('mark-all-read-button')
class ChatNameText(BaseText): class ChatNameText(BaseText):
def __init__(self, driver): def __init__(self, driver):
super(ChatNameText, self).__init__(driver) super(ChatNameText, self).__init__(driver)
@ -172,6 +183,7 @@ class HomeView(BaseView):
self.chats_menu_invite_friends_button = ChatsMenuInviteFriendsButton(self.driver) self.chats_menu_invite_friends_button = ChatsMenuInviteFriendsButton(self.driver)
self.delete_chat_button = DeleteChatButton(self.driver) self.delete_chat_button = DeleteChatButton(self.driver)
self.clear_history_button = ClearHistoryButton(self.driver) self.clear_history_button = ClearHistoryButton(self.driver)
self.mark_all_messages_as_read_button = MarkAllMessagesAsReadButton(self.driver)
def wait_for_syncing_complete(self): def wait_for_syncing_complete(self):
self.driver.info('Waiting for syncing complete:') self.driver.info('Waiting for syncing complete:')
@ -188,8 +200,6 @@ class HomeView(BaseView):
def get_username_below_start_new_chat_button(self, username_part): def get_username_below_start_new_chat_button(self, username_part):
return UserNameBelowNewChatButton(self.driver, username_part) return UserNameBelowNewChatButton(self.driver, username_part)
def add_contact(self, public_key, add_in_contacts=True): def add_contact(self, public_key, add_in_contacts=True):
self.plus_button.click_until_presence_of_element(self.start_new_chat_button) self.plus_button.click_until_presence_of_element(self.start_new_chat_button)
contacts_view = self.start_new_chat_button.click() contacts_view = self.start_new_chat_button.click()

View File

@ -81,10 +81,7 @@ class KeycardView(BaseView):
def get_required_word_number(self): def get_required_word_number(self):
description = WordNumberText(self.driver) description = WordNumberText(self.driver)
full_text = description.text full_text = description.text
if ("11" in full_text) or ("12" in full_text): word_number = ''.join(i for i in full_text if i.isdigit())
word_number = full_text[-2:]
else:
word_number = full_text[-1]
return word_number return word_number
def backup_seed_phrase(self): def backup_seed_phrase(self):