e2e: added checks for non-token gated community channels

This commit is contained in:
Yevheniia Berdnyk 2024-01-04 19:14:49 +02:00
parent 205962f582
commit 5a832871fe
No known key found for this signature in database
GPG Key ID: 0642C73C66214825
1 changed files with 41 additions and 4 deletions

View File

@ -990,8 +990,6 @@ class TestCommunityMultipleDeviceMergedTwo(MultipleSharedDeviceTestCase):
self.errors.verify_no_errors()
@marks.testrail_id(702948)
@marks.xfail(
reason="Can't navigate to a channel by hashtag link, https://github.com/status-im/status-mobile/issues/18095")
def test_community_hashtag_links_to_community_channels(self):
for home in self.homes:
home.navigate_back_to_home_view()
@ -1002,11 +1000,32 @@ class TestCommunityMultipleDeviceMergedTwo(MultipleSharedDeviceTestCase):
self.home_1.create_community(community_type="closed")
community_name = "closed community"
self.community_1.share_community(community_name, self.username_2)
self.community_1.get_to_community_channel_from_home(community_name, "general")
control_message_general_chat = "this message should be visible to the user before joining"
self.channel_1.send_message(control_message_general_chat)
self.home_2.just_fyi("Device 2 joins the community")
self.home_2.just_fyi("Device 2 checks the community channels and message inside")
self.home_2.get_chat(self.username_1).click()
control_message_1_1_chat = "it is just a message text"
self.chat_2.send_message(control_message_1_1_chat)
self.chat_2.chat_element_by_text("https://status.app/c/").click_on_link_inside_message_body()
closed_com_channels = dogs_channel, cats_channel = "dogs", "cats" # not checking the last channel '# rules' to avoid scrolling
not_shown = list()
for chan_name in closed_com_channels:
if not self.community_2.get_channel(chan_name).is_element_displayed():
not_shown.append(chan_name)
if not_shown:
self.errors.append("Not all channels are shown in community before joining: %s" % not_shown)
chan = self.community_2.get_channel("general")
if chan.is_element_displayed():
chan.click()
if not self.channel_2.chat_element_by_text(control_message_general_chat).is_element_displayed(20):
self.errors.append("Message in community channel is not visible for user before join")
else:
not_shown.append("general")
self.home_2.just_fyi("Device 2 joins the community")
self.home_2.jump_to_card_by_text(self.username_1)
self.community_2.join_community(open_community=False)
self.home_1.just_fyi("Device 1 accepts the community request")
@ -1021,7 +1040,6 @@ class TestCommunityMultipleDeviceMergedTwo(MultipleSharedDeviceTestCase):
self.home_1.activity_notification_swipe_button.click()
self.home_1.close_activity_centre.click()
dogs_channel, cats_channel = "dogs", "cats"
cats_message = "Where is a cat?"
self.home_1.just_fyi("Device 1 sends a message in the cats channel")
@ -1084,6 +1102,16 @@ class TestCommunityMultipleDeviceMergedTwo(MultipleSharedDeviceTestCase):
self.home_1.create_community(community_type="open")
community_name = "open community"
self.community_1.share_community(community_name, self.username_2)
self.community_1.get_to_community_channel_from_home(community_name, "general")
control_message_general_chat = "this message should be visible to the user before joining"
self.channel_1.send_message(control_message_general_chat)
try:
self.channel_1.chat_element_by_text(control_message_general_chat).wait_for_status_to_be(
expected_status='Delivered',
timeout=60)
message_sent = True
except TimeoutException:
message_sent = False
self.home_1.just_fyi("Device 1 goes offline")
app_package = self.device_1.driver.current_package
@ -1103,6 +1131,15 @@ class TestCommunityMultipleDeviceMergedTwo(MultipleSharedDeviceTestCase):
self.errors.append("Toast element with the text \"%s\" doesn't appear" % exp_text)
if not self.community_2.community_status_pending.is_element_displayed():
self.errors.append("Pending status is not displayed")
general_channel = self.community_2.get_channel("general")
if general_channel.is_element_displayed():
general_channel.click()
if not self.channel_2.chat_element_by_text(control_message_general_chat).is_element_displayed(30):
self.errors.append(
"Message in community channel is not visible for user before join, it was indicated as" \
"%s sent for the sender before he went offline" % "" if message_sent else "not")
else:
self.errors.append("Community channel is not displayed for user before join")
self.community_2.toast_content_element.wait_for_invisibility_of_element(30)
self.community_2.close_community_view_button.click()
self.home_2.pending_communities_tab.click()