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

[#19946] feat: add key pair QR code view #20073

Merged
merged 3 commits into from
May 20, 2024
Merged

Conversation

mohsen-ghafouri
Copy link
Contributor

@mohsen-ghafouri mohsen-ghafouri commented May 16, 2024

fixes #19946

Summary

Implement the action for displaying the QR code for a key-pair inside wallet settings.

Areas that maybe impacted

  • Show Encrypted QR of key pair in wallet setting

Steps to test

  1. Have a paired device
  2. Open Wallet setting
  3. Click on Show encrypted QR of key pairs on device

Result

Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2024-05-17.at.17.01.55.mp4

status: ready

@mohsen-ghafouri mohsen-ghafouri self-assigned this May 16, 2024
@status-github-bot status-github-bot bot added this to REVIEW in Pipeline for QA May 16, 2024
@status-im-auto
Copy link
Member

status-im-auto commented May 16, 2024

Jenkins Builds

Click to see older builds (17)
Commit #️⃣ Finished (UTC) Duration Platform Result
e856756 #1 2024-05-16 21:00:51 ~6 min tests 📄log
✔️ e856756 #1 2024-05-16 21:05:12 ~11 min ios 📱ipa 📲
✔️ e856756 #1 2024-05-16 21:06:42 ~12 min android-e2e 🤖apk 📲
✔️ e856756 #1 2024-05-16 21:06:45 ~12 min android 🤖apk 📲
✔️ e4c967e #2 2024-05-17 09:49:29 ~4 min tests 📄log
✔️ e4c967e #2 2024-05-17 09:56:28 ~11 min android-e2e 🤖apk 📲
✔️ e4c967e #2 2024-05-17 09:56:37 ~11 min android 🤖apk 📲
✔️ e4c967e #2 2024-05-17 09:59:11 ~13 min ios 📱ipa 📲
✔️ 42c1216 #3 2024-05-17 14:05:52 ~4 min tests 📄log
✔️ c60af0d #5 2024-05-17 14:13:57 ~5 min tests 📄log
✔️ c60af0d #5 2024-05-17 14:18:55 ~10 min android-e2e 🤖apk 📲
✔️ c60af0d #5 2024-05-17 14:19:06 ~10 min android 🤖apk 📲
✔️ c60af0d #5 2024-05-17 14:24:33 ~15 min ios 📱ipa 📲
✔️ 2c6899d #7 2024-05-17 19:18:57 ~4 min tests 📄log
✔️ 2c6899d #7 2024-05-17 19:20:27 ~5 min android-e2e 🤖apk 📲
✔️ 2c6899d #7 2024-05-17 19:24:10 ~9 min ios 📱ipa 📲
✔️ 2c6899d #7 2024-05-17 19:25:18 ~10 min android 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ d8efb87 #8 2024-05-20 15:29:43 ~3 min tests 📄log
✔️ d8efb87 #8 2024-05-20 15:35:19 ~9 min ios 📱ipa 📲
✔️ d8efb87 #8 2024-05-20 15:36:21 ~10 min android-e2e 🤖apk 📲
✔️ d8efb87 #8 2024-05-20 15:36:31 ~10 min android 🤖apk 📲
✔️ c59bebd #9 2024-05-20 15:55:30 ~7 min tests 📄log
✔️ c59bebd #9 2024-05-20 15:57:47 ~9 min ios 📱ipa 📲
✔️ c59bebd #9 2024-05-20 16:00:53 ~12 min android-e2e 🤖apk 📲
✔️ c59bebd #9 2024-05-20 16:01:02 ~12 min android 🤖apk 📲

@mohsen-ghafouri mohsen-ghafouri force-pushed the feat/key-pair-qr-view branch 4 times, most recently from 4b900ec to c60af0d Compare May 17, 2024 14:08
@mohsen-ghafouri mohsen-ghafouri marked this pull request as ready for review May 17, 2024 14:09
Copy link
Member

@smohamedjavid smohamedjavid left a comment

Choose a reason for hiding this comment

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

Awesome work! 🙌

@mohsen-ghafouri mohsen-ghafouri force-pushed the feat/key-pair-qr-view branch 2 times, most recently from b25216b to 2c6899d Compare May 17, 2024 19:14
Copy link
Member

@smohamedjavid smohamedjavid left a comment

Choose a reason for hiding this comment

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

Nice work! 🙌

@mohsen-ghafouri mohsen-ghafouri moved this from REVIEW to E2E Tests in Pipeline for QA May 18, 2024
@status-im-auto
Copy link
Member

79% of end-end tests have passed

Total executed tests: 52
Failed tests: 9
Expected to fail tests: 2
Passed tests: 41
IDs of failed tests: 727230,702948,727229,703202,702839,702843,702807,702731,727232 
IDs of expected to fail tests: 703495,703503 

Failed tests (9)

Click to expand
  • Rerun failed tests

  • Class TestWalletOneDevice:

    1. test_wallet_add_remove_watch_only_account, id: 727232

    Device 1: `Text` is `eth:oeth:arb1:0x8d2413447ff297d30bdc475f6d5cb00254685aae`
    Device 1: Click system back button

    critical/test_wallet.py:212: in test_wallet_add_remove_watch_only_account
        self.home_view.driver.fail(
    base_test_case.py:178: in fail
        pytest.fail('Device %s: %s' % (self.number, text))
     Device 1: Incorrect address 'eth:oeth:arb1:0x8d2413447ff297d30bdc475f6d5cb00254685aae' is shown when swiping between accounts, expected one is '0:x:8:d:2:4:1:3:4:4:7:f:f:2:9:7:d:3:0:b:d:c:4:7:5:f:6:d:5:c:b:0:0:2:5:4:6:8:5:a:a:e'
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_pin_messages, id: 702731

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

    critical/chats/test_1_1_public_chats.py:223: in test_1_1_chat_pin_messages
        self.chat_1.chat_element_by_text(message).wait_for_status_to_be("Delivered")
    ../views/chat_view.py:225: 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

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_hashtag_links_to_community_channels, id: 702948

    Device 2: Find Text by xpath: //android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'#cats')]
    Device 2: Looking for a message by text: it is just a message text

    critical/chats/test_public_chat_browsing.py:1092: in test_community_hashtag_links_to_community_channels
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Receiver was not navigated to the cats channel
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202

    Device 3: Adding one more 'sad' reaction or removing an added one
    Device 3: Wait for element Button for max 30s and click when it is available

    critical/chats/test_group_chat.py:162: in test_group_chat_reactions
        self.chats[2].add_remove_same_reaction(message=message, emoji="sad")
    ../views/chat_view.py:1064: in add_remove_same_reaction
        element.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 3: Button by accessibility id:`emoji-reaction-5` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807

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

    critical/chats/test_group_chat.py:95: in test_group_chat_join_send_text_messages_push
        self.chats[1].chat_element_by_text(message_to_admin).wait_for_status_to_be('Delivered', timeout=120)
    ../views/chat_view.py:225: 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

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    # STEP: Getting ETH amount in the wallet of the sender before transaction
    Device 1: Find WalletTab by accessibility id: wallet-stack-tab

    critical/test_wallet.py:119: in test_wallet_send_asset_from_drawer
        sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx()
    critical/test_wallet.py:41: in _get_balances_before_tx
        self.wallet_1.wallet_tab.click()
    ../views/base_element.py:90: in click
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: WalletTab by accessibility id: `wallet-stack-tab` 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
    



    2. test_wallet_send_eth, id: 727229

    Device 1: Tap on found: LogInButton
    Device 1: Find Button by accessibility id: done

    critical/test_wallet.py:111: in test_wallet_send_eth
        self.wallet_1.send_asset(address=self.receiver['address'], asset_name='Ether', amount=amount_to_send)
    ../views/wallet_view.py:100: in send_asset
        self.confirm_transaction()
    ../views/wallet_view.py:88: in confirm_transaction
        self.done_button.click()
    ../views/base_element.py:90: in click
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: Button by accessibility id: `done` 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
    



    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_delete, id: 702839

    Device 2: Tap on found: SendMessageButton
    Device 1: Looking for a message by text: delete for me

    critical/chats/test_public_chat_browsing.py:377: in test_community_message_delete
        self.channel_1.chat_element_by_text(message_to_delete_for_me).wait_for_element(120)
    ../views/base_element.py:129: in wait_for_element
        raise TimeoutException(
     Device `1`: `ChatElementByText` by` xpath`: `//*[starts-with(@text,'delete for me')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_element
    



    Device sessions

    2. test_community_message_edit, id: 702843

    Device 1: Wait for text element EmojisNumber to be equal to 1
    Device 1: Find EmojisNumber by xpath: //*[starts-with(@text,'Message AFTER edit 2 (Edited)')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']/../..//*[@content-desc='emoji-reaction-2']/android.widget.TextView[2]

    critical/chats/test_public_chat_browsing.py:359: in test_community_message_edit
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message reaction is not shown for the 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 TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495

    # STEP: Change device time so chat will be unmuted by timer
    Device 2: Long press on ChatElement

    critical/chats/test_group_chat.py:464: in test_group_chat_mute_chat
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Chat is still muted after timeout 
    

    [[Chat is not unmuted after expected time: https://github.com//issues/19627]]

    Device sessions

    Passed tests (41)

    Click to expand

    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 TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    3. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    4. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    5. test_1_1_chat_edit_message, id: 702855
    Device sessions

    6. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    7. test_1_1_chat_message_reaction, id: 702730
    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_markdown_support, id: 702809
    Device sessions

    2. test_community_mentions_push_notification, id: 702786
    Device sessions

    3. test_community_leave, id: 702845
    Device sessions

    4. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links, id: 702775
    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_pin_messages, id: 702732
    Device sessions

    2. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    3. test_group_chat_offline_pn, id: 702808
    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 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 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_edit_delete_message_when_offline, id: 704615
    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_unread_messages_badge, id: 702841
    Device sessions

    @mohsen-ghafouri
    Copy link
    Contributor Author

    Hey @status-im/mobile-qa could you please check test results?

    Copy link
    Member

    @seanstrom seanstrom left a comment

    Choose a reason for hiding this comment

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

    Well done! ✅

    @yevh-berdnyk
    Copy link
    Contributor

    hi @mohsen-ghafouri, thanks for your PR, e2e failures are known and not related. But quick manual testing would be nice to have here

    @mohsen-ghafouri
    Copy link
    Contributor Author

    mohsen-ghafouri commented May 20, 2024

    Hi @yevh-berdnyk this screen is still behind the feature flag, I think we agreed to have manual QA when we want to remove feature flag.

    @pavloburykh
    Copy link
    Contributor

    Hi @yevh-berdnyk this screen is still behind the feature flag, I think we agreed to have manual QA when we want to remove feature flag.

    @mohsen-ghafouri thanks for clarification. In this case we can skip manual QA. PR is ready for merge.

    @mohsen-ghafouri mohsen-ghafouri merged commit 389a730 into develop May 20, 2024
    6 checks passed
    Pipeline for QA automation moved this from MERGE to DONE May 20, 2024
    @mohsen-ghafouri mohsen-ghafouri deleted the feat/key-pair-qr-view branch May 20, 2024 16:35
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Status: DONE
    Development

    Successfully merging this pull request may close these issues.

    Allow users to view key-pair QR code from wallet settings
    6 participants