From 6ecac6d3acd6b96c1b8ee9a515b85f595ef51681 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 10 Jul 2026 16:25:46 +0300 Subject: [PATCH 1/3] Updated on 2026-08-14 --- .../kotlin/com/tangem/tests/FeedbackTest.kt | 43 +++++++++++++++++++ .../com/tangem/tests/main/WarningsTest.kt | 2 - 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt b/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt index 821cf2ca7b..eb39e37b15 100644 --- a/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt +++ b/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt @@ -196,4 +196,47 @@ class FeedbackTest : BaseTestCase() { } } } + @AllureId("3960") + @DisplayName("Send feedback: Failed card scanning on Details screen") + @Test + fun sendFeedbackFailedScanningOnDetails() { + val gmailText = "Welcome to Gmail" + + setupHooks( + additionalAfterSection = { MockProvider.resetEmulateError() }, + ).run { + step("Open 'Main Screen'") { + openMainScreen() + } + step("Synchronize addresses") { + synchronizeAddresses() + } + step("Open 'Details screen'") { + onMainScreenTopBar { moreButton.clickWithAssertion() } + } + step("Set scanning error (the next card scan will fail with TagLost)") { + MockProvider.setEmulateError(TangemSdkError.TagLost()) + } + step("Click 'Add new wallet' button") { + onDetailsScreen { addWalletButton.clickWithAssertion() } + } + step("Force show 'Scan warning' dialog"){ + runOnUiThread { + MainScope().launch { + scanFailsRequester.show(AnalyticsParam.ScreensSources.Main) + } + } + } + step("Check 'Scan warning' dialog") { + waitForIdle() + checkScanWarningDialog() + } + step("Click on 'Request support' button") { + onScanWarningDialog { requestSupportButton.performClick() } + } + step("Assert 'Gmail' app is open") { + ThirdPartyAppPageObject { assertElementWithTextExists(gmailText) } + } + } + } } \ No newline at end of file diff --git a/app/src/androidTest/kotlin/com/tangem/tests/main/WarningsTest.kt b/app/src/androidTest/kotlin/com/tangem/tests/main/WarningsTest.kt index 8510d1e1c6..a4ee078d5a 100644 --- a/app/src/androidTest/kotlin/com/tangem/tests/main/WarningsTest.kt +++ b/app/src/androidTest/kotlin/com/tangem/tests/main/WarningsTest.kt @@ -27,11 +27,9 @@ class WarningsTest : BaseTestCase() { resetWireMockScenarioState(USER_TOKENS_API_SCENARIO) } ).run { - step("Set WireMock scenario: '$USER_TOKENS_API_SCENARIO' to state: '$scenarioState'") { setWireMockScenarioState(USER_TOKENS_API_SCENARIO, scenarioState) } - step("Open 'Main Screen'") { openMainScreen() } From b02bb7ba554fe267e7a4e3e93305709d3f648809 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 10 Jul 2026 16:37:23 +0300 Subject: [PATCH 2/3] Updated on 2026-08-14 --- app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt b/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt index eb39e37b15..dd900ee21a 100644 --- a/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt +++ b/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt @@ -203,7 +203,10 @@ class FeedbackTest : BaseTestCase() { val gmailText = "Welcome to Gmail" setupHooks( - additionalAfterSection = { MockProvider.resetEmulateError() }, + additionalAfterSection = { + device.uiDevice.pressBack() + MockProvider.resetEmulateError() + } ).run { step("Open 'Main Screen'") { openMainScreen() @@ -221,6 +224,7 @@ class FeedbackTest : BaseTestCase() { onDetailsScreen { addWalletButton.clickWithAssertion() } } step("Force show 'Scan warning' dialog"){ + waitForIdle() runOnUiThread { MainScope().launch { scanFailsRequester.show(AnalyticsParam.ScreensSources.Main) From bb2572bcb4341ac39f39a3bd4db5386a84d43c03 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 10 Jul 2026 17:03:52 +0300 Subject: [PATCH 3/3] Updated on 2026-08-14 --- .../kotlin/com/tangem/tests/FeedbackTest.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt b/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt index dd900ee21a..27c5591601 100644 --- a/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt +++ b/app/src/androidTest/kotlin/com/tangem/tests/FeedbackTest.kt @@ -9,6 +9,7 @@ import com.tangem.common.extensions.clickAndWaitFor import com.tangem.common.extensions.clickWithAssertion import com.tangem.core.analytics.models.AnalyticsParam import com.tangem.domain.card.ScanFailsRequester +import com.tangem.domain.models.scan.ProductType import kotlinx.coroutines.MainScope import kotlinx.coroutines.launch import com.tangem.scenarios.checkFailedTransactionDialog @@ -243,4 +244,21 @@ class FeedbackTest : BaseTestCase() { } } } + + @AllureId("3603") + @DisplayName("Send feedback: S2C card has Contact support option") + @Test + fun sendFeedbackForS2CTest() { + setupHooks().run { + step("Open 'Main Screen'") { + openMainScreen(productType = ProductType.Start2Coin) + } + step("Open 'Details screen'") { + onMainScreenTopBar { moreButton.clickWithAssertion() } + } + step("Verify 'Contact support' button is displayed") { + onDetailsScreen { contactSupportButton.assertIsDisplayed() } + } + } + } } \ No newline at end of file