Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: quo2 implement amount input component #18687

Merged
merged 23 commits into from
Feb 12, 2024

Conversation

nazariifenii
Copy link
Contributor

@nazariifenii nazariifenii commented Jan 31, 2024

Fixes #18641

Summary

This PR implements a Quo2 Amount input component.
Screenshot 2024-01-31 at 21 49 01
Screenshot 2024-01-31 at 21 48 57
Screenshot 2024-01-31 at 22 07 02

Review notes

Platforms

  • Android
  • iOS

Areas that maybe impacted

None, only components preview screen

Steps to test

  • Open Status
  • Select "I'm new to status"
  • Open Qou components preview screen
  • Select "wallet" dropdown
  • Select "amount-input"

status: ready

Copy link

Hey @nazariifenii, and thank you so much for making your first pull request in status-mobile! ❤️ Please help us make your experience better by filling out this brief questionnaire https://goo.gl/forms/uWqNcVpVz7OIopXg2

@@ -0,0 +1,86 @@
(ns quo.components.inputs.amount-input.view
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

while it's true this is an input, we follow the same hierarchy as in Figma to make the component library easier to main.

Screenshot 2024-01-31 at 22 11 06

the name space here should be
quo.components.wallet.amount-input.view
same for style file and component-spec

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! Done ✅

@@ -0,0 +1,29 @@
(ns status-im.contexts.preview.quo.inputs.amount-input
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here.
status-im.contexts.preview.quo.wallet.amount-input

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done ✅

@@ -281,6 +282,7 @@
(def recovery-phrase-input quo.components.inputs.recovery-phrase.view/recovery-phrase-input)
(def search-input quo.components.inputs.search-input.view/search-input)
(def title-input quo.components.inputs.title-input.view/view)
(def amount-input quo.components.inputs.amount-input.view/view)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this will be moved with the ns updates, but please keep this file alpha sorted ( depending on what section of components it is)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done ✅


(def view
(quo.theme/with-theme
(schema/instrument #'view-internal amount-input.schema/?schema)))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👌

min-value 0
max-value 999999999}}]
[rn/view
{:style (merge style/container container-style)}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙌

[theme type]
{:padding 0
:color (if (= type :error)
colors/danger-60
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please use (colors/resolve-color :danger theme 60) in place of colors/danger-60

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done ✅

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, @J-Son89, looks like the third parameter of the function is for the opacity, and according to the Figma the opacity should be 100%, so I'll remove param "60". The function will look next (colors/resolve-color :danger theme).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry yes you are correct, my bad for the confusion 😅🙏

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No worries 😃


(defn get-selection-color
[customization-color theme]
(colors/alpha
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should instead be -

(defn get-selection-color
  [customization-color theme]   
(colors/resolve-color customization-color
                         theme   
   (if platform/ios? 1 0.2)))

as resolve color handles the opacity with the 3rd parameter. The 50/60 values are also handled internally within the resolve color function so there is no need to do that there.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done ✅

@nazariifenii nazariifenii marked this pull request as draft February 1, 2024 09:34
@status-im-auto
Copy link
Member

status-im-auto commented Feb 1, 2024

Jenkins Builds

Click to see older builds (53)
Commit #️⃣ Finished (UTC) Duration Platform Result
0087420 #1 2024-02-01 09:39:58 ~5 min tests 📄log
✔️ 0087420 #1 2024-02-01 09:41:44 ~6 min ios 📱ipa 📲
✔️ 0087420 #1 2024-02-01 09:43:10 ~8 min android-e2e 🤖apk 📲
✔️ 0087420 #1 2024-02-01 09:43:25 ~8 min android 🤖apk 📲
✔️ d46daf6 #2 2024-02-01 10:05:53 ~6 min tests 📄log
✔️ d46daf6 #2 2024-02-01 10:07:10 ~7 min ios 📱ipa 📲
✔️ d46daf6 #2 2024-02-01 10:08:13 ~8 min android-e2e 🤖apk 📲
✔️ d46daf6 #2 2024-02-01 10:08:18 ~8 min android 🤖apk 📲
✔️ 73bda8e #4 2024-02-01 10:54:59 ~5 min tests 📄log
✔️ 73bda8e #4 2024-02-01 10:56:31 ~6 min ios 📱ipa 📲
✔️ 73bda8e #4 2024-02-01 10:57:19 ~7 min android-e2e 🤖apk 📲
✔️ 73bda8e #4 2024-02-01 10:57:47 ~8 min android 🤖apk 📲
17e594a #5 2024-02-01 11:16:00 ~5 min tests 📄log
✔️ 17e594a #5 2024-02-01 11:16:34 ~6 min ios 📱ipa 📲
✔️ 17e594a #5 2024-02-01 11:18:45 ~8 min android-e2e 🤖apk 📲
✔️ 17e594a #5 2024-02-01 11:18:53 ~8 min android 🤖apk 📲
✔️ 80e0070 #6 2024-02-01 11:26:06 ~5 min tests 📄log
✔️ 80e0070 #6 2024-02-01 11:26:45 ~6 min ios 📱ipa 📲
✔️ 80e0070 #6 2024-02-01 11:29:00 ~9 min android-e2e 🤖apk 📲
✔️ 80e0070 #6 2024-02-01 11:29:07 ~9 min android 🤖apk 📲
✔️ 409fef2 #7 2024-02-01 15:59:23 ~6 min tests 📄log
✔️ 409fef2 #7 2024-02-01 15:59:54 ~6 min ios 📱ipa 📲
✔️ 409fef2 #7 2024-02-01 16:02:03 ~8 min android-e2e 🤖apk 📲
✔️ 409fef2 #7 2024-02-01 16:02:11 ~8 min android 🤖apk 📲
✔️ 044a717 #8 2024-02-02 11:06:14 ~5 min tests 📄log
✔️ 044a717 #8 2024-02-02 11:07:28 ~6 min ios 📱ipa 📲
✔️ 044a717 #8 2024-02-02 11:08:21 ~7 min android-e2e 🤖apk 📲
✔️ 044a717 #8 2024-02-02 11:08:21 ~7 min android 🤖apk 📲
✔️ d6acecc #9 2024-02-06 07:44:14 ~5 min tests 📄log
✔️ d6acecc #9 2024-02-06 07:44:50 ~6 min ios 📱ipa 📲
✔️ d6acecc #9 2024-02-06 07:46:49 ~8 min android 🤖apk 📲
✔️ d6acecc #9 2024-02-06 07:46:50 ~8 min android-e2e 🤖apk 📲
✔️ cb3d246 #10 2024-02-06 08:48:28 ~4 min tests 📄log
✔️ cb3d246 #10 2024-02-06 08:50:09 ~6 min ios 📱ipa 📲
✔️ cb3d246 #10 2024-02-06 08:51:14 ~7 min android-e2e 🤖apk 📲
✔️ cb3d246 #10 2024-02-06 08:51:25 ~7 min android 🤖apk 📲
✔️ 84dca31 #11 2024-02-08 09:49:53 ~5 min tests 📄log
✔️ 84dca31 #11 2024-02-08 09:51:27 ~7 min ios 📱ipa 📲
✔️ 84dca31 #11 2024-02-08 09:51:59 ~7 min android 🤖apk 📲
✔️ 84dca31 #11 2024-02-08 09:52:08 ~7 min android-e2e 🤖apk 📲
23f805a #12 2024-02-08 10:06:58 ~5 min tests 📄log
✔️ 23f805a #12 2024-02-08 10:07:32 ~6 min ios 📱ipa 📲
✔️ 23f805a #12 2024-02-08 10:08:17 ~7 min android-e2e 🤖apk 📲
✔️ 23f805a #12 2024-02-08 10:08:40 ~7 min android 🤖apk 📲
✔️ 23f805a #13 2024-02-08 10:39:45 ~5 min tests 📄log
c9d8e4a #13 2024-02-08 10:59:54 ~33 sec android 📄log
✔️ c9d8e4a #14 2024-02-08 11:04:46 ~5 min tests 📄log
✔️ c9d8e4a #13 2024-02-08 11:05:51 ~6 min ios 📱ipa 📲
✔️ c9d8e4a #13 2024-02-08 11:06:54 ~7 min android-e2e 🤖apk 📲
✔️ 9eb522e #15 2024-02-09 09:47:18 ~5 min tests 📄log
✔️ 9eb522e #14 2024-02-09 09:48:29 ~7 min ios 📱ipa 📲
✔️ 9eb522e #14 2024-02-09 09:49:39 ~8 min android-e2e 🤖apk 📲
✔️ 9eb522e #14 2024-02-09 09:49:47 ~8 min android 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 64683ab #16 2024-02-09 17:41:28 ~5 min tests 📄log
✔️ 64683ab #15 2024-02-09 17:42:49 ~6 min android-e2e 🤖apk 📲
✔️ 64683ab #15 2024-02-09 17:43:03 ~6 min ios 📱ipa 📲
✔️ 64683ab #15 2024-02-09 17:43:57 ~7 min android 🤖apk 📲
✔️ ecd3a89 #17 2024-02-12 15:32:51 ~5 min tests 📄log
✔️ ecd3a89 #16 2024-02-12 15:33:31 ~6 min ios 📱ipa 📲
✔️ ecd3a89 #16 2024-02-12 15:35:15 ~8 min android-e2e 🤖apk 📲
✔️ ecd3a89 #16 2024-02-12 15:35:19 ~8 min android 🤖apk 📲

@nazariifenii nazariifenii marked this pull request as ready for review February 1, 2024 11:32
@status-im-auto
Copy link
Member

75% of end-end tests have passed

Total executed tests: 48
Failed tests: 10
Expected to fail tests: 2
Passed tests: 36
IDs of failed tests: 702809,702733,702732,704613,703495,703297,704615,703391,702808,702775 
IDs of expected to fail tests: 703503,703629 

Failed tests (10)

Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMerged:

    1. test_community_edit_delete_message_when_offline, id: 704615

    Device 1: Looking for a message by text: text after edit
    Device 1: Looking for a message by text: message to delete

    critical/chats/test_public_chat_browsing.py:796: in test_community_edit_delete_message_when_offline
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Updated message 'text after edit' is not delivered to the receiver
    



    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613

    Device 1: Find Text by xpath: //android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/G0UAAMTyNsn2QZDEG0EXftOl8pOEfwEBOOSA_YTfIk85xmADDgINGmxpUHAXzK36bN0fK42Xf4YD2yjPk1z2pbFwFw==#zQ3shgkDFQEnwxji7CvMTokMrShmC2UgxiJ549X5Aw746zQrK')]

    critical/test_deep_and_universal_links.py:70: in test_links_open_universal_links_from_chat
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Closed community was not requested to join by the url https://status.app/c/G00AAGS9TbI9mSR-ZNmFrhRjNuEeXAAbcAIUaLLJyjMOG3ACJQ12oIHD78QhzO9s_T5bUeU7rnATWJg3mGgTUemrAg==#zQ3shspPKCZ1VPVQ9dLXGufUGvGphjxVwrcZ6rkZc7S39T4b3
    E    Closed community was not requested to join by the url https://status.app/c/G0UAAMTyNsn2QZDEG0EXftOl8pOEfwEBOOSA_YTfIk85xmADDgINGmxpUHAXzK36bN0fK42Xf4YD2yjPk1z2pbFwFw==#zQ3shgkDFQEnwxji7CvMTokMrShmC2UgxiJ549X5Aw746zQrK
    



    Device sessions

    2. test_links_deep_links, id: 702775

    Device 1: Find BrowserTab by accessibility id: browser-stack-tab
    Device 1: Tap on found: BrowserTab

    critical/test_deep_and_universal_links.py:114: in test_links_deep_links
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Closed community was not requested to join by the deep link status.app://c/G00AAGS9TbI9mSR-ZNmFrhRjNuEeXAAbcAIUaLLJyjMOG3ACJQ12oIHD78QhzO9s_T5bUeU7rnATWJg3mGgTUemrAg==#zQ3shspPKCZ1VPVQ9dLXGufUGvGphjxVwrcZ6rkZc7S39T4b3
    E    Closed community was not requested to join by the deep link status.app://c/G0UAAMTyNsn2QZDEG0EXftOl8pOEfwEBOOSA_YTfIk85xmADDgINGmxpUHAXzK36bN0fK42Xf4YD2yjPk1z2pbFwFw==#zQ3shgkDFQEnwxji7CvMTokMrShmC2UgxiJ549X5Aw746zQrK
    



    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809

    Device 1: Looking for a message by text: quote reply (one row)
    Device 2: Looking for a message by text: quote reply (one row)

    critical/chats/test_public_chat_browsing.py:979: in test_community_markdown_support
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     inline code is not displayed with markdown in community channel for the recipient (device 1)
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Device 2: Looking for a message by text: Message 1
    Device 2: Find ChatElementByText by xpath: //*[starts-with(@text,'Message 1')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']

    critical/chats/test_group_chat.py:342: in test_group_chat_pin_messages
        self.chats[1].chat_element_by_text(self.message_1).long_press_element()
    ../views/base_element.py:312: in long_press_element
        element = self.find_element()
    ../views/chat_view.py:134: in find_element
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'Message 1')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    2. test_group_chat_mute_chat, id: 703495

    Device 2: Click until ChatMessageInput by accessibility id: chat-message-input will be presented
    Device 2: Looking for a message by text: Chat is unmuted now

    critical/chats/test_group_chat.py:491: in test_group_chat_mute_chat
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message text 'Text message in the muted chat' is not shown in chat preview after mute
    E    Message 'Text message in the muted chat' is not shown in chat for member_1 after mute
    



    Device sessions

    3. test_group_chat_send_image_save_and_share, id: 703297

    Device 3: Find Button by accessibility id: save-image
    Device 3: Tap on found: Button

    critical/chats/test_group_chat.py:254: in test_group_chat_send_image_save_and_share
        toast_element_text = toast_element.wait_for_visibility_of_element().text
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:90: in text
        return self._execute(Command.GET_ELEMENT_TEXT)["value"]
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:395: in _execute
        return self._parent.execute(command, params)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     The element 'By.accessibilityId: toast-content' does not exist in DOM anymore; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
    E   Stacktrace:
    E   io.appium.uiautomator2.common.exceptions.StaleElementReferenceException: The element 'By.accessibilityId: toast-content' does not exist in DOM anymore
    E   	at io.appium.uiautomator2.model.ElementsCache.restore(ElementsCache.java:117)
    E   	at io.appium.uiautomator2.model.ElementsCache.get(ElementsCache.java:153)
    E   	at io.appium.uiautomator2.handler.GetText.safeHandle(GetText.java:20)
    E   	at io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:59)
    E   	at io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:277)
    E   	at io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:271)
    E   	at io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:68)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
    E   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
    E   	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
    E   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
    E   	at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:435)
    E   	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
    E   	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
    E   	at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:250)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
    E   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
    E   	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
    E   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
    E   	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
    E   	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)
    E   	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
    E   	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:611)
    E   	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:552)
    E   	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:466)
    E   	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438)
    E   	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:140)
    E   	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
    E   	at java.lang.Thread.run(Thread.java:1012)
    



    Device sessions

    4. test_group_chat_offline_pn, id: 702808

    Device 2: Tap on found: SendMessageButton
    Device 3: Sending message 'message from new member'

    critical/chats/test_group_chat.py:300: in test_group_chat_offline_pn
        self.chats[2].send_message(message_2)
    ../views/chat_view.py:1012: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:121: in wait_for_element
        raise TimeoutException(
     Device `3`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Device 2: Find Text by xpath: //*[starts-with(@text,'smth I should edit')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView
    Device 2: Text is Sent

    critical/chats/test_1_1_public_chats.py:467: in test_1_1_chat_text_message_delete_push_disappear
        self.chat_2.chat_element_by_text(message_after_edit_1_1).wait_for_status_to_be("Delivered")
    ../views/chat_view.py:243: in wait_for_status_to_be
        raise TimeoutException("Message status was not changed to %s, it's %s" % (expected_status, current_status))
     Message status was not changed to Delivered, it's Sent
    



    Device sessions

    2. test_1_1_chat_send_image_save_and_share, id: 703391

    Device 2: Find Button by accessibility id: image-0
    Device 2: Click system back button

    critical/chats/test_1_1_public_chats.py:453: in test_1_1_chat_send_image_save_and_share
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message about saving a photo is not shown for sender.
    



    Device sessions

    Expected to fail tests (2)

    Click to expand

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com//issues/17852]]

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_join_when_node_owner_offline, id: 703629

    Device 2: Tap on found: Button
    Device 2: Looking for community: 'open community'

    critical/chats/test_public_chat_browsing.py:1177: in test_community_join_when_node_owner_offline
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     open community is not listed inside Pending communities tab
    E    Text "You joined “closed community”" in shown toast element doesn't match expected "You joined “open community”"
    E    open community is not listed inside Joined communities tab 
    

    [[Can't join a community if admin goes offline, https://github.com//issues/17678]]

    Device sessions

    Passed tests (36)

    Click to expand

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    Device sessions

    2. test_community_one_image_send_reply, id: 702859
    Device sessions

    3. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    4. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    5. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    6. test_community_message_delete, id: 702839
    Device sessions

    7. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    8. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    9. test_community_message_edit, id: 702843
    Device sessions

    10. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
    Device sessions

    2. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    3. test_community_undo_delete_message, id: 702869
    Device sessions

    4. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    5. test_community_mute_community_and_channel, id: 703382
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777
    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    2. test_community_mentions_push_notification, id: 702786
    Device sessions

    3. test_community_leave, id: 702845
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    2. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    4. test_1_1_chat_edit_message, id: 702855
    Device sessions

    5. test_1_1_chat_pin_messages, id: 702731
    Device sessions

    6. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    [customization-color theme]
    (colors/resolve-color customization-color
    theme
    (if platform/ios? 1 0.2)))
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Why is the value different for ios and Android here?

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    That was a leftover from the copying of this function. The :selection-color param is probably not needed here at all. What do you think @OmarBasem?

    Copy link
    Contributor

    @OmarBasem OmarBasem Feb 2, 2024

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    @J-Son89 do you know why we have different values here? 🤔

    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    No idea, @nazariifenii whatever is in here should be matching the designs. So if it's not needed or just some mistakingly copied code then we probably don't need it.
    We will ask the design team for a review of the component so once you feel it's at a ready state for that let us know and we can ask them :)

    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    If you need a hand inspecting the designs feel free to ask and we can go through it

    Copy link
    Contributor Author

    @nazariifenii nazariifenii Feb 2, 2024

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I will remove this prop. From Figma, I can see that we don't need different customizations of input selection and cursor colors.
    Also, I have access to hand inspecting the designs at Figma, so should be good, thank you!

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Removed in this PR.

    @@ -0,0 +1,17 @@
    (ns quo.components.wallet.amount-input.schema)

    (def ?schema
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    @ilmotta, @clauxx can you check this schema please?

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Hi, @ilmotta and @clauxx, I just wanted to ensure the request was not lost.
    Thanks in advance!

    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    thanks for reminding, would've missed it 👍

    @J-Son89
    Copy link
    Contributor

    J-Son89 commented Feb 2, 2024

    @Francesca-G - could you give this component a design review when you have time? 🙏

    Copy link

    @Francesca-G Francesca-G left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Looks good ✨

    [:catn
    [:props
    [:map {:closed true}
    [:status {:optional true} [:enum :default :error]]
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    usually if a prop is optional, we tend to add :maybe to it to assure that nil will also pass the schema check. This would become:

    [:status {:optional true} [:maybe [:enum :default :error]]]
    

    [:auto-focus {:optional true} [:maybe :boolean]]
    [:min-value {:optional true} [:maybe :int]]
    [:max-value {:optional true} [:maybe :int]]
    [:return-key-type {:optional true} [:maybe :keyword]]
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    if we know ahead of time the possible key-types, this could be also an enum.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    It will be the list of all of the TextInput's returnKeyType param values. Should I just list them all?
    Also, it may vary from one RN version to another. Very rarely, but it is possible.

    Copy link
    Member

    @clauxx clauxx Feb 6, 2024

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    i guess this should be done for the schema of the text-input rather than here, but later when we get to spec-ing the rn components.

    init-value
    return-key-type
    container-style]
    :or {auto-focus false
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    As much as I like to see default values with destructuring, in status-mobile this has been unreliable. Too often callers pass nil values because values can be wrapped in a when macro for example.

    The thing is that the caller will expect the component to deal with nils as if it means "no value passed, use defaults". But because this function is setting default values via destructuring, nils will flow in and no default values will be used.

    So unfortunately in terms of code style, I have to suggest the most reliable solution, which is to use (or value some-default-value) in a let.

    Copy link
    Contributor Author

    @nazariifenii nazariifenii Feb 6, 2024

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    That makes sense to me. Would be nice to have it here as it is an important rule to follow, and from what I've seen a lot of code in the codebase is using defaulting :or when destructuring instead of (or value def-value). I'm happy to contribute to the guidelines update if needed!

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Fixed in this commit.

    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Thank you for the feedback. This guideline should definitely live up there.

    Copy link
    Contributor Author

    @nazariifenii nazariifenii Feb 6, 2024

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    @ilmotta I had some time and created the PR with the doc update #18731. Do you think it makes sense to do this?
    If yes, I can make the PR Ready for Review.
    I've used some of your sentences, thank you for that.

    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    That's very useful @nazariifenii. Looks good o/

    init-value 0
    return-key-type :done}}]
    (let [value (reagent/atom init-value)]
    (fn [{:keys [theme status min-value max-value]
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    You haven't repeated some args from the outer function. For example, this component won't be reactive to auto-focus unless it's fully re-mounted.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Yes, I've done this intentionally, as some props, like auto-focus? and return-key-type are unlikely to be changed when the component is mounted. But I'm happy to apply your suggestion.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Fixed in this commit.

    (reset! value processed-amount)
    (when on-change-text
    (on-change-text processed-amount))
    (reagent/flush)))}]] ;; Fixes the input flickering issue when typing
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Fixed in this commit.

    {:theme theme
    :icon :i/add
    :accessibility-label :amount-input-inc-button
    :on-press #(swap! value inc)
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    For components with high re-render rates such as view, we have to be careful with regenerating anonymous functions and passing them downstream. This forces Reagent to do more work than it needs to. Better is to extract as much as possible to let bindings on the mount phase (alongside value).

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Fixed in this commit.

    [:theme :schema.common/theme]
    [:on-change-text {:optional true} [:maybe fn?]]
    [:container-style {:optional true} [:maybe :map]]
    [:auto-focus {:optional true} [:maybe :boolean]]
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    In this repo, we try to suffix with a question mark if the value is a boolean.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Sure, I've missed that, thanks!

    Copy link
    Member

    @clauxx clauxx left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Thank you!! LGTM 👍

    @J-Son89
    Copy link
    Contributor

    J-Son89 commented Feb 9, 2024

    @status-im/mobile-qa - this pr is just a design system component (quo).
    I have ran e2e tests, can you take a look once ready to let me know if it's safe to merge? 🙏

    @status-im-auto
    Copy link
    Member

    67% of end-end tests have passed

    Total executed tests: 48
    Failed tests: 15
    Expected to fail tests: 1
    Passed tests: 32
    
    IDs of failed tests: 702809,702782,702733,703194,702859,702732,702840,702894,704615,702838,702844,702843,702731,702958,703629 
    
    IDs of expected to fail tests: 703503 
    

    Failed tests (15)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194

    Device 2: Click until `ChatMessageInput` by `accessibility id`: `chat-message-input` will be presented
    Device 2: Looking for a message by text: gallery

    critical/chats/test_public_chat_browsing.py:428: in test_community_several_images_send_reply
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Gallery message was not received
    



    Device sessions

    2. test_community_one_image_send_reply, id: 702859

    Device 2: Looking for a message by text: description
    Device 2: Looking for a message by text: description

    critical/chats/test_public_chat_browsing.py:439: in test_community_one_image_send_reply
        self.channel_2.chat_element_by_text(image_description).wait_for_visibility_of_element(10)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'description')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    3. test_community_emoji_send_copy_paste_reply, id: 702840

    Device 2: Quoting '🙋🏿‍♂️' message
    Device 2: Find BaseElement by xpath: //*[@content-desc=':chat-floating-screen']//*[starts-with(@text,'🙋🏿‍♂️')]

    critical/chats/test_public_chat_browsing.py:520: in test_community_emoji_send_copy_paste_reply
        self.channel_2.quote_message(emoji_unicode)
    ../views/chat_view.py:1070: in quote_message
        self.chat_view_element_starts_with_text(message).long_press_until_element_is_shown(self.reply_message_button)
    ../views/base_element.py:318: in long_press_until_element_is_shown
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc=':chat-floating-screen']//*[starts-with(@text,'🙋🏿‍♂️')]` is not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
    



    Device sessions

    4. test_community_contact_block_unblock_offline, id: 702894

    # STEP: Block user
    Device 1: Looking for a message by text: I should not be in chat

    critical/chats/test_public_chat_browsing.py:651: in test_community_contact_block_unblock_offline
        self.channel_1.chat_element_by_text(message_to_disappear).wait_for_visibility_of_element(30)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: ChatElementByText by xpath:`//*[starts-with(@text,'I should not be in chat')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    5. test_community_edit_delete_message_when_offline, id: 704615

    Device 1: Looking for a message by text: message to edit
    Device 1: Looking for a message by text: message to delete

    critical/chats/test_public_chat_browsing.py:781: in test_community_edit_delete_message_when_offline
        self.channel_1.driver.fail("Message '%s' was not received")
    base_test_case.py:179: in fail
        pytest.fail('Device %s: %s' % (self.number, text))
     Device 1: Message '%s' was not received
    



    Device sessions

    6. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 2: Verifying that 'new message' is under today
    Device 2: Looking for a message by text: new message

    critical/chats/test_public_chat_browsing.py:339: in test_community_message_send_check_timestamps_sender_username
        self.channel_2.verify_message_is_under_today_text(new_message, self.errors, 60)
    ../views/chat_view.py:1002: in verify_message_is_under_today_text
        message_element.wait_for_visibility_of_element(timeout)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'new message')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    7. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844

    Device 2: Tap on found: SendMessageButton
    Device 1: Getting preview message for link: https://m.youtube.com/watch?v=Je7yErjEVt4

    critical/chats/test_public_chat_browsing.py:584: in test_community_links_with_previews_github_youtube_twitter_gif_send_enable
        message.wait_for_element(60)
    ../views/base_element.py:121: in wait_for_element
        raise TimeoutException(
     Device `1`: `PreviewMessage` by` xpath`: `//*[starts-with(@text,'https://m.youtube.com/watch?v=Je7yErjEVt4')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_element
    



    Device sessions

    8. test_community_message_edit, id: 702843

    Device 2: Looking for a message by text: Message AFTER edit 2 (Edited)
    Device 2: Find ChatElementByText by xpath: //*[starts-with(@text,'Message AFTER edit 2 (Edited)')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']

    critical/chats/test_public_chat_browsing.py:353: in test_community_message_edit
        self.channel_2.set_reaction(message_text_after_edit)
    ../views/chat_view.py:1082: in set_reaction
        self.chat_element_by_text(message).long_press_until_element_is_shown(element)
    ../views/base_element.py:318: in long_press_until_element_is_shown
        element = self.find_element()
    ../views/chat_view.py:134: in find_element
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'Message AFTER edit 2 (Edited)')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Device 2: Text is user admin
    Device 2: Looking for a pinned by message with text: Message 4

    critical/chats/test_group_chat.py:404: in test_group_chat_pin_messages
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Pinned messages count 2 doesn't match expected 3 for user 2
    E    Message 'Message 4' is missed on Pinned messages list for user 2
    



    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_admin_notification_accept_swipe, id: 702958

    Device 2: Find Text by xpath: //android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]
    Device 2: Wait for element Button for max 120s and click when it is available

    activity_center/test_activity_center.py:469: in test_activity_center_admin_notification_accept_swipe
        self.community_2.join_community(open_community=False)
    ../views/chat_view.py:436: in join_community
        self.join_button.wait_and_click(120)
    ../views/base_element.py:96: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809

    Device 1: Looking for a message by text: quote reply (one row)
    Device 2: Looking for a message by text: quote reply (one row)

    critical/chats/test_public_chat_browsing.py:979: in test_community_markdown_support
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     bold text in asterics is not displayed with markdown in community channel for the recipient (device 1)
    



    Device sessions

    2. test_community_join_when_node_owner_offline, id: 703629

    Device 2: Tap on found: Button
    Device 2: Looking for community: 'open community'

    critical/chats/test_public_chat_browsing.py:1177: in test_community_join_when_node_owner_offline
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Joined status is not displayed
    E    open community is not listed inside Joined communities tab
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Device 2: Long press on ChatElementByText until expected element is shown
    Device 2: Find Button by accessibility id: reaction-thumbs-up

    critical/chats/test_1_1_public_chats.py:157: in test_1_1_chat_emoji_send_reply_and_open_link
        self.chat_2.set_reaction(url_message)
    ../views/chat_view.py:1087: in set_reaction
        element.click()
    ../views/base_element.py:90: in click
        self.find_element().click()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 2: Button by accessibility id: `reaction-thumbs-up` is not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
    



    Device sessions

    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Device 2: Tap on found: Button
    Device 1: Getting PN by 'DELETE ME'

    critical/chats/test_1_1_public_chats.py:518: in test_1_1_chat_text_message_delete_push_disappear
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message status was not changed to 'Delivered' after 60 s
    



    Device sessions

    3. test_1_1_chat_pin_messages, id: 702731

    Device 1: Find Button by xpath: //*[@content-desc='pins-count']//android.widget.TextView
    Device 1: Find Button by xpath: //*[@content-desc='pins-count']//android.widget.TextView

    critical/chats/test_1_1_public_chats.py:195: in test_1_1_chat_pin_messages
        chat.pinned_messages_count.wait_for_element_text(text="2",
    ../views/base_element.py:182: in wait_for_element_text
        self.driver.fail(message if message else "`%s` is not equal to expected `%s` in %s sec" % (
    base_test_case.py:179: in fail
        pytest.fail('Device %s: %s' % (self.number, text))
     Device 1: Pinned messages count is not 2 as expected!
    



    Device sessions

    Expected to fail tests (1)

    Click to expand

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com//issues/17852]]

    Passed tests (32)

    Click to expand

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links, id: 702775
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    2. test_community_mentions_push_notification, id: 702786
    Device sessions

    3. test_community_leave, id: 702845
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777
    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495
    Device sessions

    2. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    3. test_group_chat_reactions, id: 703202
    Device sessions

    4. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    5. test_group_chat_offline_pn, id: 702808
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    2. test_community_message_delete, id: 702839
    Device sessions

    3. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    2. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    3. test_1_1_chat_edit_message, id: 702855
    Device sessions

    4. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    5. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
    Device sessions

    2. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    3. test_community_undo_delete_message, id: 702869
    Device sessions

    4. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    5. test_community_mute_community_and_channel, id: 703382
    Device sessions

    @J-Son89 J-Son89 merged commit e86faa0 into status-im:develop Feb 12, 2024
    4 checks passed
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Archived in project
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    Component: Amount input
    9 participants