diff --git a/test/appium/tests/critical/chats/test_group_chat.py b/test/appium/tests/critical/chats/test_group_chat.py index 11ff94e6e1..0a75958b36 100644 --- a/test/appium/tests/critical/chats/test_group_chat.py +++ b/test/appium/tests/critical/chats/test_group_chat.py @@ -29,9 +29,10 @@ class TestGroupChatMultipleDeviceMerged(MultipleSharedDeviceTestCase): self.homes[0].add_contact(self.public_keys[i]) self.homes[0].home_button.double_click() - self.homes[0].just_fyi('Member adds admin to contacts to see PNs and put app in background') - self.homes[1].add_contact(self.public_keys[0]) - self.homes[1].home_button.double_click() + self.homes[0].just_fyi('Members add admin to contacts to see PNs and put app in background') + for i in range(1, 3): + self.homes[i].handle_contact_request(self.usernames[0]) + self.homes[i].home_button.double_click() self.homes[0].just_fyi('Admin creates group chat') self.chats[0] = self.homes[0].create_group_chat([self.usernames[1]], self.chat_name) @@ -102,19 +103,24 @@ class TestGroupChatMultipleDeviceMerged(MultipleSharedDeviceTestCase): self.errors.verify_no_errors() @marks.testrail_id(700732) - def test_group_chat_add_new_member_activity_centre(self): + def test_group_chat_add_new_member(self): [self.homes[i].home_button.double_click() for i in range(3)] self.homes[0].get_chat(self.chat_name).click() self.chats[0].add_members_to_group_chat([self.usernames[2]]) - self.chats[2].just_fyi("Check there will be no PN but unread in AC if got invite from non-contact") - if not self.homes[2].notifications_unread_badge.is_element_displayed(60): - self.drivers[2].fail("Group chat is not appeared in AC!") + self.chats[2].just_fyi("Check there will be PN and no unread in AC for a new member") + if self.homes[2].notifications_unread_badge.is_element_displayed(60): + self.drivers[2].fail("Group chat appeared in AC!") self.homes[2].open_notification_bar() - if self.homes[2].element_by_text_part(self.usernames[0]).is_element_displayed(): - self.errors.append("PN about group chat invite is shown when invited by non-contact") + if not self.homes[2].element_by_text_part(self.usernames[0]).is_element_displayed(): + self.errors.append("PN about group chat invite is not shown when invited by mutual contact") self.homes[2].click_system_back_button() + + self.homes[2].just_fyi("Check new group appeared in chat list for a new member") + if not self.homes[2].get_chat(self.chat_name).is_element_displayed(60): + self.drivers[2].fail("New group chat hasn't appeared in chat list") + self.homes[2].get_chat(self.chat_name).click() for message in (self.message_to_admin, self.message_before_adding): diff --git a/test/appium/tests/critical/test_pairing_devices_sync.py b/test/appium/tests/critical/test_pairing_devices_sync.py index e5cfa3e398..c64dc2c958 100644 --- a/test/appium/tests/critical/test_pairing_devices_sync.py +++ b/test/appium/tests/critical/test_pairing_devices_sync.py @@ -148,6 +148,8 @@ class TestPairingSyncMultipleDevicesMerged(MultipleSharedDeviceTestCase): dapp = self.home_1.dapp_tab_button.click() web_page = dapp.open_url('status.im') web_page.add_to_bookmarks() + if not web_page.home_button.is_element_displayed(): + web_page.click_system_back_button_until_element_is_shown() self.home_1.just_fyi("Close the ENS banner") [home.home_button.double_click() for home in (self.home_1, self.home_2)] diff --git a/test/appium/tests/medium/test_activity_center.py b/test/appium/tests/medium/test_activity_center.py index 16d2b7e963..54b4f8519c 100644 --- a/test/appium/tests/medium/test_activity_center.py +++ b/test/appium/tests/medium/test_activity_center.py @@ -15,8 +15,7 @@ class TestActivityCenterMultipleDeviceMedium(MultipleSharedDeviceTestCase): self.home_1, self.home_2 = self.device_1.create_user(enable_notifications=True), self.device_2.create_user() self.public_key_user_1, self.username_1 = self.home_1.get_public_key_and_username(return_username=True) self.public_key_user_2, self.username_2 = self.home_2.get_public_key_and_username(return_username=True) - [self.group_chat_name_1, self.group_chat_name_2, self.group_chat_name_3, self.group_chat_name_4, \ - self.group_chat_name_5] = "GroupChat1", "GroupChat2", "GroupChat3", "GroupChat4", "GroupChat5" + [self.group_chat_name_1, self.group_chat_name_2] = "GroupChat1", "GroupChat2" self.message_from_sender = "Message sender" self.home_2.home_button.double_click() @@ -36,39 +35,24 @@ class TestActivityCenterMultipleDeviceMedium(MultipleSharedDeviceTestCase): [home.home_button.double_click() for home in [self.home_1, self.home_2]] - self.device_2.just_fyi('Device2 creates Group chat 1 with Device1') - self.home_2.create_group_chat([self.username_1], group_chat_name=self.group_chat_name_1) - self.home_2.home_button.double_click() - self.home_1.home_button.double_click() - - self.device_1.just_fyi('Device1 rejects both chats and verifies they disappeared and not in Chats too') + self.device_1.just_fyi('Device1 rejects chat and verifies it disappeared and not in Chats too') self.home_1.notifications_unread_badge.wait_and_click(20) self.home_1.notifications_select_button.click() self.home_1.element_by_text_part(self.username_2[:10]).click() self.home_1.element_by_text_part("Please add me to your contacts").click() - self.home_1.element_by_text_part(self.group_chat_name_1).click() self.home_1.notifications_reject_and_delete_button.click() if self.home_1.element_by_text_part(self.username_2[:20]).is_element_displayed(2): self.errors.append("1-1 chat is on Activity Center view after action made on it") - if self.home_1.element_by_text_part(self.group_chat_name_1).is_element_displayed(2): - self.errors.append("Group chat is on Activity Center view after action made on it") - self.home_1.home_button.double_click() if self.home_1.element_by_text_part(self.username_2[:20]).is_element_displayed(2): self.errors.append("1-1 chat is added on home after rejection") - if self.home_1.element_by_text_part(self.group_chat_name_1).is_element_displayed(2): - self.errors.append("Group chat is added on home after rejection") - self.home_1.just_fyi("Verify there are still no chats after relogin") + self.home_1.just_fyi("Verify there is still no chat after relogin") self.home_1.reopen_app() if self.home_1.element_by_text_part(self.username_2[:20]).is_element_displayed(2): self.errors.append("1-1 chat appears on Chats view after relogin") - if self.home_1.element_by_text_part(self.group_chat_name_1).is_element_displayed(2): - self.errors.append("Group chat appears on Chats view after relogin") self.home_1.notifications_button.click() if self.home_1.element_by_text_part(self.username_2[:20]).is_element_displayed(2): self.errors.append("1-1 chat request reappears back in Activity Center view after relogin") - if self.home_1.element_by_text_part(self.group_chat_name_1).is_element_displayed(2): - self.errors.append("Group chat request reappears back in Activity Center view after relogin") self.errors.verify_no_errors() @@ -76,13 +60,12 @@ class TestActivityCenterMultipleDeviceMedium(MultipleSharedDeviceTestCase): def test_activity_center_accept_chats(self): [home.home_button.double_click() for home in [self.home_1, self.home_2]] - self.device_2.just_fyi('Device2 sends a message in 1-1 and creates Group chat 2') + self.device_2.just_fyi('Device2 sends a message in 1-1') self.home_2.get_chat_from_home_view(self.username_1).click() self.device_2_one_to_one_chat.send_message(self.message_from_sender) self.device_2_one_to_one_chat.home_button.double_click() - self.home_2.create_group_chat([self.username_1], group_chat_name=self.group_chat_name_2) - self.device_1.just_fyi('Device1 accepts both chats (via Select All button) and verifies they disappeared ' + self.device_1.just_fyi('Device1 accepts chat (via Select All button) and verifies it disappeared ' 'from activity center view but present on Chats view') self.home_1.notifications_unread_badge.wait_and_click(20) self.home_1.notifications_select_button.click() @@ -90,13 +73,10 @@ class TestActivityCenterMultipleDeviceMedium(MultipleSharedDeviceTestCase): self.home_1.notifications_accept_and_add_button.click() if self.home_1.element_by_text_part(self.username_2[:20]).is_element_displayed(2): self.errors.append("1-1 chat request stays on Activity Center view after it was accepted") - if self.home_1.element_by_text_part(self.group_chat_name_2).is_element_displayed(2): - self.errors.append("Group chat request stays on Activity Center view after it was accepted") + self.home_1.home_button.double_click() if not self.home_1.element_by_text_part(self.username_2[:20]).is_element_displayed(2): self.errors.append("1-1 chat is not added on home after accepted from Activity Center") - if not self.home_1.element_by_text_part(self.group_chat_name_2).is_element_displayed(2): - self.errors.append("Group chat is not added on home after accepted from Activity Center") self.errors.verify_no_errors() @@ -114,22 +94,21 @@ class TestActivityCenterMultipleDeviceMedium(MultipleSharedDeviceTestCase): profile_1.accept_new_chats_from_contacts_only.click() profile_1.profile_button.click() - self.device_1.just_fyi('Device2 creates 1-1 chat Group chats') + self.device_1.just_fyi('Device2 creates 1-1 chat') self.home_2.home_button.double_click() self.home_2.get_chat(self.username_1).click() self.device_2_one_to_one_chat.send_message(self.message_from_sender) self.device_2_one_to_one_chat.home_button.double_click() - self.home_2.create_group_chat([self.username_1], group_chat_name=self.group_chat_name_4) self.device_1.just_fyi('Device1 check there are no any chats in Activity Center nor Chats view') self.home_1.home_button.double_click() - if self.home_1.element_by_text_part(self.username_2).is_element_displayed() or self.home_1.element_by_text_part( - self.group_chat_name_4).is_element_displayed(): + + if self.home_1.element_by_text_part(self.username_2).is_element_displayed(): self.errors.append("Chats are present on Chats view despite they created by non-contact") self.home_1.notifications_button.click() - if self.home_1.element_by_text_part(self.username_2).is_element_displayed() or self.home_1.element_by_text_part( - self.group_chat_name_4).is_element_displayed(): - self.errors.append("Chats are present in Activity Center view despite they created by non-contact") + + if self.home_1.element_by_text_part(self.username_2).is_element_displayed(): + self.errors.append("Chat is present in Activity Center view despite they created by non-contact") self.device_1.just_fyi('Device1 adds Device2 in Contacts so chat requests should be visible now') self.home_1.home_button.double_click() @@ -140,13 +119,13 @@ class TestActivityCenterMultipleDeviceMedium(MultipleSharedDeviceTestCase): self.home_2.get_chat_from_home_view(self.username_1).click() self.device_2_one_to_one_chat.send_message(self.message_from_sender) self.device_2_one_to_one_chat.home_button.double_click() - self.home_2.create_group_chat([self.username_1], group_chat_name=self.group_chat_name_5) + self.home_2.create_group_chat([self.username_1], group_chat_name=self.group_chat_name_2) self.device_1.just_fyi('Device1 verifies 1-1 chat Group chats are visible') self.home_1.home_button.double_click() if not self.home_1.element_by_text_part( self.username_2).is_element_displayed() or not self.home_1.element_by_text_part( - self.group_chat_name_5).is_element_displayed(): + self.group_chat_name_2).is_element_displayed(): self.errors.append("Chats are not present on Chats view while they have to!") self.errors.verify_no_errors() @@ -156,16 +135,16 @@ class TestActivityCenterMultipleDeviceMedium(MultipleSharedDeviceTestCase): [home.home_button.double_click() for home in [self.home_1, self.home_2]] self.device_2.just_fyi('Device2 creates Group chat 3') - self.home_2.create_group_chat([self.username_1], group_chat_name=self.group_chat_name_3) + self.home_2.create_group_chat([self.username_1], group_chat_name=self.group_chat_name_1) self.home_2.home_button.double_click() self.home_1.just_fyi("Device1 joins Group chat 3") - group_chat_1 = self.home_1.get_chat(self.group_chat_name_3).click() + group_chat_1 = self.home_1.get_chat(self.group_chat_name_1).click() group_chat_1.join_chat_button.click_if_shown() group_chat_1.home_button.double_click() self.home_2.just_fyi("Device2 mentions Device1 in Group chat 3") - chat_2 = self.home_2.get_chat_from_home_view(self.group_chat_name_3).click() + chat_2 = self.home_2.get_chat_from_home_view(self.group_chat_name_1).click() chat_2.select_mention_from_suggestion_list(self.username_1, self.username_1[:2]) chat_2.send_as_keyevent("group") group_chat_message = self.username_1 + " group" @@ -187,7 +166,7 @@ class TestActivityCenterMultipleDeviceMedium(MultipleSharedDeviceTestCase): self.home_1.just_fyi("Check there are no unread messages counter on chats after message is read") if (self.home_1.notifications_unread_badge.is_element_present() or - self.home_1.get_chat_from_home_view(self.group_chat_name_3).new_messages_counter.text == "1"): + self.home_1.get_chat_from_home_view(self.group_chat_name_1).new_messages_counter.text == "1"): self.errors.append("Unread message indicator is kept after message is read in chat") self.home_1.just_fyi("Check there is an empty view on Activity Center") diff --git a/test/appium/tests/medium/test_browser_profile.py b/test/appium/tests/medium/test_browser_profile.py index d5d0b7be03..e01330830f 100644 --- a/test/appium/tests/medium/test_browser_profile.py +++ b/test/appium/tests/medium/test_browser_profile.py @@ -33,7 +33,7 @@ class TestBrowserProfileOneDevice(MultipleSharedDeviceTestCase): dapp.open_url(url) if dapp.web_page.is_element_differs_from_template(urls[url], 5): self.errors.append('Web page does not match expected template %s' % urls[url]) - base_web.browser_previous_page_button.click_until_presence_of_element(dapp.element_by_text_part('Discover')) + base_web.browser_previous_page_button.click_until_presence_of_element(dapp.element_by_text_part('Discover'), attempts=2) self.errors.verify_no_errors() @@ -47,19 +47,19 @@ class TestBrowserProfileOneDevice(MultipleSharedDeviceTestCase): browsing.just_fyi("Check next page") browsing.just_fyi('Navigate to next page and back') - browsing.element_by_text_part('може редагувати кожен').click() - browsing.element_by_text_part('написана спільно її читачами').wait_for_element(30) + browsing.element_by_text_part('може редагувати кожен').scroll_and_click() + browsing.element_by_text_part('написана спільно її читачами').scroll_to_element() browsing.browser_previous_page_button.click() - browsing.wait_for_element_starts_with_text('може редагувати кожен') + browsing.wait_for_element_starts_with_text('Головна сторінка') browsing.just_fyi('Relogin and check that tap on "Next" navigates to next page') browsing.reopen_app() self.home.dapp_tab_button.click() browsing.open_tabs_button.click() dapp.element_by_text_part(ua_url).click() - browsing.wait_for_element_starts_with_text('може редагувати кожен') + browsing.element_by_text_part('може редагувати кожен').scroll_to_element() browsing.browser_next_page_button.click() - browsing.element_by_text_part('написана спільно її читачами').wait_for_element(30) + browsing.element_by_text_part('написана спільно її читачами').scroll_to_element() self.errors.verify_no_errors() diff --git a/test/appium/tests/medium/test_chats_m.py b/test/appium/tests/medium/test_chats_m.py index c30ad76310..81ac2adac5 100644 --- a/test/appium/tests/medium/test_chats_m.py +++ b/test/appium/tests/medium/test_chats_m.py @@ -317,7 +317,7 @@ class TestChatMediumMultipleDevice(MultipleSharedDeviceTestCase): self.home_1.just_fyi("Creating group chats") self.initial_group_chat_name = "GroupChat before rename" self.new_group_chat_name = "GroupChat after rename" - self.group_user_not_a_contact = basic_user + # self.group_user_not_a_contact = basic_user self.group_chat_1 = self.home_1.create_group_chat(user_names_to_add=[self.default_username_2], group_chat_name=self.initial_group_chat_name) self.group_chat_2 = self.home_2.get_chat(self.initial_group_chat_name).click() @@ -640,9 +640,7 @@ class TestChatMediumMultipleDevice(MultipleSharedDeviceTestCase): chat_2.send_message("first") chat_2.home_button.click() chat_1.home_button.click() - chat_1 = self.home_1.add_contact(self.group_user_not_a_contact['public_key']) - chat_1.home_button.click() - chat_1 = self.home_1.create_group_chat([full_ens, self.group_user_not_a_contact['username']], group_name) + chat_1 = self.home_1.create_group_chat([full_ens], group_name) chat_2 = self.home_2.get_chat(group_name).click() chat_2.join_chat_button.click_if_shown() @@ -690,17 +688,6 @@ class TestChatMediumMultipleDevice(MultipleSharedDeviceTestCase): 'ENS is not resolved in chat input after setting nickname in mention suggestions list (search by nickname)!') chat_1.chat_message_input.clear() - self.home_1.just_fyi("Check can mention not a contact group member who hasn't sent messages yet") - chat_2.chat_message_input.send_keys('@') - if not chat_2.element_by_text('%s' % self.group_user_not_a_contact['username']).is_element_displayed(): - self.errors.append("Username of not a contact group member is not shown in mention input") - chat_2.chat_message_input.clear() - chat_2.select_mention_from_suggestion_list('%s' % self.group_user_not_a_contact['username'], typed_search_pattern=self.group_user_not_a_contact['username'][:2]) - if chat_2.chat_message_input.text != '@' + self.group_user_not_a_contact['username'] + ' ': - self.errors.append( - 'Can not select mention of not a contact member from suggestions list') - chat_2.chat_message_input.clear() - self.home_1.just_fyi('Can delete nickname via group info and recheck received messages') device_2_options = chat_1.get_user_options(full_ens) device_2_options.view_profile_button.click() @@ -737,6 +724,11 @@ class TestGroupChatMultipleDeviceMediumMerged(MultipleSharedDeviceTestCase): for member in (self.public_keys[1], self.public_keys[2]): self.homes[0].add_contact(member) self.homes[0].home_button.click() + + for i in range(1, 3): + self.homes[i].handle_contact_request(self.usernames[0]) + self.homes[i].home_button.double_click() + [SignInView(self.drivers[i]).put_app_to_background_and_back() for i in range(1, 3)] self.chat_name = self.homes[0].get_random_chat_name() self.invite_chat_name = '%s_invite' % self.homes[0].get_random_chat_name() diff --git a/test/appium/tests/medium/test_pairing_devices_sync_m.py b/test/appium/tests/medium/test_pairing_devices_sync_m.py index 82358b9658..48afc42703 100644 --- a/test/appium/tests/medium/test_pairing_devices_sync_m.py +++ b/test/appium/tests/medium/test_pairing_devices_sync_m.py @@ -18,6 +18,8 @@ class TestPairingSyncMediumMultipleDevicesMerged(MultipleSharedDeviceTestCase): self.drivers[1]), SignInView(self.drivers[2]) self.home_1 = self.device_1.create_user() + self.public_key_1, self.username_1 = self.home_1.get_public_key_and_username(return_username=True) + self.profile_1 = self.home_1.profile_button.click() self.profile_1.privacy_and_security_button.click() self.profile_1.backup_recovery_phrase_button.click() @@ -81,6 +83,10 @@ class TestPairingSyncMediumMultipleDevicesMerged(MultipleSharedDeviceTestCase): self.device_1.just_fyi('Add contact, start group chat') self.home_1.home_button.click() self.home_1.add_contact(self.public_key_3) + + self.home_3.handle_contact_request(self.username_1) + self.home_3.home_button.double_click() + self.device_2.put_app_to_background_and_back() self.home_1.get_back_to_home_view() self.chat_1 = self.home_1.create_group_chat([self.username_3], self.group_chat_name) diff --git a/test/appium/tests/medium/test_profile_m.py b/test/appium/tests/medium/test_profile_m.py index d1b592daa2..6810eaae6d 100644 --- a/test/appium/tests/medium/test_profile_m.py +++ b/test/appium/tests/medium/test_profile_m.py @@ -24,7 +24,7 @@ class TestProfileGapsCommunityMediumMultipleDevicesMerged(MultipleSharedDeviceTe self.home_1.just_fyi("Creating 1-1 chats") self.chat_1 = self.home_1.add_contact(self.public_key_2) self.first_message = 'first message' - self.chat_2 = self.home_2.add_contact(self.public_key_1, add_in_contacts=False) + self.chat_2 = self.home_2.add_contact(self.public_key_1) [home.home_button.click() for home in (self.home_1, self.home_2)] self.home_1.just_fyi("Creating group chat") @@ -46,7 +46,16 @@ class TestProfileGapsCommunityMediumMultipleDevicesMerged(MultipleSharedDeviceTe @marks.testrail_id(702281) def test_profile_show_profile_picture_and_online_indicator_settings(self): [home.home_button.double_click() for home in (self.home_1, self.home_2)] - logo_online, logo_default, logo_chats, logo_group = 'logo_new.png', 'sauce_logo.png', 'logo_chats_view.png', 'group_logo.png' + + self.chat_2.just_fyi('Removing user 1 from contacts') + self.home_2.get_chat(self.default_username_1).click() + self.chat_2.chat_options.click() + self.chat_2.view_profile_button.click() + self.chat_2.remove_from_contacts.click_until_absense_of_element(self.chat_2.remove_from_contacts) + self.chat_2.close_button.click() + self.chat_2.home_button.double_click() + + logo_online, logo_default, logo_chats, logo_group = 'logo_new.png', 'sauce_logo.png', 'logo_chats_view_2.png', 'group_logo.png' profile_1 = self.home_1.profile_button.click() profile_1.just_fyi("Set user Profile image from Gallery") @@ -149,7 +158,7 @@ class TestProfileGapsCommunityMediumMultipleDevicesMerged(MultipleSharedDeviceTe one_to_one_chat_2.get_back_to_home_view() one_to_one_chat_2.home_button.double_click() if self.home_2.get_chat(self.default_username_1).chat_image.is_element_image_similar_to_template(logo_default): - self.errors.append('User profile picture is not default to default after user removed from Contacts') + self.errors.append('User profile picture is not returned to default after user removed from Contacts') profile_2.just_fyi('Enable to see profile image from "Everyone" setting') self.home_2.profile_button.double_click() @@ -160,7 +169,7 @@ class TestProfileGapsCommunityMediumMultipleDevicesMerged(MultipleSharedDeviceTe profile_2.home_button.click(desired_view='home') if not self.home_2.get_chat(self.default_username_1).chat_image.is_element_image_similar_to_template( logo_chats): - self.errors.append('User profile picture is not returned to default after user removed from Contacts') + self.errors.append('User profile picture is not shown after user after enabling see profile image from Everyone') self.errors.verify_no_errors() @marks.testrail_id(702282) diff --git a/test/appium/tests/medium/test_single_device.py b/test/appium/tests/medium/test_single_device.py index 4db57b7cb4..03ce4180bb 100644 --- a/test/appium/tests/medium/test_single_device.py +++ b/test/appium/tests/medium/test_single_device.py @@ -998,15 +998,15 @@ class TestChatManagement(SingleDeviceTestCase): home = sign_in.recover_access(user_20_contacts['passphrase']) users = [chat_users['A'], - chat_users['B'], + transaction_senders['A'], transaction_senders['ETH_8'], transaction_senders['ETH_1'], transaction_senders['ETH_2'], transaction_senders['ETH_7'], transaction_senders['ETH_STT_3'], transaction_senders['ETH_STT_ADI_1'], + transaction_senders['ETH_STT_1'], transaction_senders['C'], - transaction_senders['F'], transaction_senders['G'], transaction_senders['H'], transaction_senders['I'], diff --git a/test/appium/views/elements_templates/logo_chats_view_2.png b/test/appium/views/elements_templates/logo_chats_view_2.png new file mode 100644 index 0000000000..e8ee0e8229 Binary files /dev/null and b/test/appium/views/elements_templates/logo_chats_view_2.png differ