From 90d3a5a39d1c62a5b93ea65b4682453a6bb6398f Mon Sep 17 00:00:00 2001 From: Yevheniia Berdnyk Date: Tue, 31 Oct 2023 02:21:52 +0200 Subject: [PATCH] e2e: test fixes --- .../chats/test_public_chat_browsing.py | 37 ++++++++++++------ .../views/elements_templates/member3.png | Bin 7284 -> 7337 bytes test/appium/views/home_view.py | 5 +++ 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/test/appium/tests/critical/chats/test_public_chat_browsing.py b/test/appium/tests/critical/chats/test_public_chat_browsing.py index 9a0ebde1b2..51eb4a64ab 100644 --- a/test/appium/tests/critical/chats/test_public_chat_browsing.py +++ b/test/appium/tests/critical/chats/test_public_chat_browsing.py @@ -121,20 +121,30 @@ class TestCommunityOneDeviceMerged(MultipleSharedDeviceTestCase): self.home.mute_chat_long_press(chat_name=self.community_name, mute_period="mute-for-1-hour", community=True) device_time = self.home.driver.device_time current_time = datetime.datetime.strptime(device_time, "%Y-%m-%dT%H:%M:%S%z") - expected_time = current_time + datetime.timedelta(hours=1) - expected_text = "Muted until %s %s" % ( - expected_time.strftime('%H:%M'), - "today" if current_time.hour < 23 else "tomorrow" - ) + expected_times = [current_time + datetime.timedelta(minutes=i) for i in range(59, 62)] + expected_texts = ["Muted until %s %s" % ( + exp_time.strftime('%H:%M'), "today" if current_time.hour < 23 else "tomorrow" + ) for exp_time in expected_times] + self.home.get_chat(self.community_name, community=True).long_press_element() - if not self.home.element_by_text(expected_text).is_element_displayed(): - self.errors.append("Text '%s' is not shown for muted community" % expected_text) + self.home.unmute_community_button.wait_for_visibility_of_element() + try: + current_text = self.home.unmute_community_button.unmute_caption_text + if current_text not in expected_texts: + self.errors.append("Text '%s' is not shown for muted community" % expected_texts[1]) + except NoSuchElementException: + self.errors.append("Caption with text 'Muted until...' is not shown for muted community") self.home.click_system_back_button() self.home.get_chat(self.community_name, community=True).click() self.community_view.get_channel(self.channel_name).long_press_element() - if not self.home.element_by_text(expected_text).is_element_displayed(): - self.errors.append("Text '%s' is not shown for a channel in muted community" % expected_text) + self.home.mute_channel_button.wait_for_visibility_of_element() + try: + current_text = self.home.mute_channel_button.unmute_caption_text + if current_text not in expected_texts: + self.errors.append("Text '%s' is not shown for a channel in muted community" % expected_texts[1]) + except NoSuchElementException: + self.errors.append("Caption with text 'Muted until...' is not shown for a channel in muted community") self.home.just_fyi("Unmute channel and check that the community is also unmuted") self.home.mute_channel_button.click() @@ -154,8 +164,13 @@ class TestCommunityOneDeviceMerged(MultipleSharedDeviceTestCase): expected_time = current_time + datetime.timedelta(days=7) expected_text = "Muted until %s" % expected_time.strftime('%H:%M %a %-d %b') self.community_view.get_channel(self.channel_name).long_press_element() - if not self.home.element_by_text(expected_text).is_element_displayed(): - self.errors.append("Text '%s' is not shown for a muted community channel" % expected_text) + self.home.mute_channel_button.wait_for_visibility_of_element() + try: + current_text = self.home.mute_channel_button.unmute_caption_text + if current_text != expected_text: + self.errors.append("Text '%s' is not shown for a muted community channel" % expected_text) + except NoSuchElementException: + self.errors.append("Caption with text '%s' is not shown for a muted community channel" % expected_text) self.home.click_system_back_button() self.home.navigate_back_to_home_view() self.home.communities_tab.click() diff --git a/test/appium/views/elements_templates/member3.png b/test/appium/views/elements_templates/member3.png index 8b881c7095410bfc7a7a0417e39fdf1459754462..95eaeaef68093a8b44231b46f16e65d0476ae66b 100644 GIT binary patch literal 7337 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 P00000NkvXXu0mjfT~P85 literal 7284 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