diff --git a/app/src/androidTest/kotlin/com/tangem/scenarios/OpenMainScreenScenario.kt b/app/src/androidTest/kotlin/com/tangem/scenarios/OpenMainScreenScenario.kt index cd966f6a0f..7a2117accb 100644 --- a/app/src/androidTest/kotlin/com/tangem/scenarios/OpenMainScreenScenario.kt +++ b/app/src/androidTest/kotlin/com/tangem/scenarios/OpenMainScreenScenario.kt @@ -5,10 +5,7 @@ import com.kaspersky.kaspresso.testcases.api.scenario.Scenario import com.kaspersky.kaspresso.testcases.core.testcontext.TestContext import com.tangem.common.extensions.clickWithAssertion import com.tangem.domain.models.scan.ProductType -import com.tangem.screens.DisclaimerTestScreen -import com.tangem.screens.MainTestScreen -import com.tangem.screens.StoriesTestScreen -import com.tangem.screens.TestTopBar +import com.tangem.screens.* import com.tangem.tap.domain.sdk.mocks.MockProvider import io.github.kakaocup.compose.node.element.ComposeScreen @@ -20,22 +17,22 @@ class OpenMainScreenScenario( if (productType != null) { MockProvider.setMocks(productType) } - ComposeScreen.onComposeScreen(testRule) { + ComposeScreen.onComposeScreen(testRule) { step("Click on \"Accept\" button") { acceptButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(testRule) { + ComposeScreen.onComposeScreen(testRule) { step("Click on \"Scan\" button") { scanButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(testRule) { + ComposeScreen.onComposeScreen(testRule) { step("Make sure wallet screen is visible") { assertIsDisplayed() } } - ComposeScreen.onComposeScreen(testRule) { + ComposeScreen.onComposeScreen(testRule) { step("Close Markets tooltip"){ performClick() } diff --git a/app/src/androidTest/kotlin/com/tangem/screens/DetailsTestScreen.kt b/app/src/androidTest/kotlin/com/tangem/screens/DetailsPageObject.kt similarity index 60% rename from app/src/androidTest/kotlin/com/tangem/screens/DetailsTestScreen.kt rename to app/src/androidTest/kotlin/com/tangem/screens/DetailsPageObject.kt index 528989a4e3..62b73d6c4b 100644 --- a/app/src/androidTest/kotlin/com/tangem/screens/DetailsTestScreen.kt +++ b/app/src/androidTest/kotlin/com/tangem/screens/DetailsPageObject.kt @@ -1,25 +1,27 @@ package com.tangem.screens import androidx.compose.ui.test.SemanticsNodeInteractionsProvider -import com.tangem.core.ui.test.TestTags +import com.tangem.common.BaseTestCase +import com.tangem.core.ui.test.DetailsScreenTestTags import com.tangem.wallet.R import io.github.kakaocup.compose.node.element.ComposeScreen +import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen import io.github.kakaocup.compose.node.element.KNode import io.github.kakaocup.kakao.common.utilities.getResourceString -class DetailsTestScreen(semanticsProvider: SemanticsNodeInteractionsProvider) : - ComposeScreen( +class DetailsPageObject(semanticsProvider: SemanticsNodeInteractionsProvider) : + ComposeScreen( semanticsProvider = semanticsProvider, - viewBuilderAction = { hasTestTag(TestTags.DETAILS_SCREEN) } + viewBuilderAction = { hasTestTag(DetailsScreenTestTags.SCREEN_CONTAINER) } ) { val walletConnectButton: KNode = child { - hasTestTag(TestTags.DETAILS_SCREEN_ITEM) + hasTestTag(DetailsScreenTestTags.SCREEN_ITEM) hasText(getResourceString(R.string.wallet_connect_title)) } private val walletBlock: KNode = child { - hasTestTag(TestTags.DETAILS_SCREEN_ITEM) + hasTestTag(DetailsScreenTestTags.SCREEN_ITEM) } val walletNameButton: KNode = walletBlock.child { @@ -32,20 +34,23 @@ class DetailsTestScreen(semanticsProvider: SemanticsNodeInteractionsProvider) : } val buyTangemButton: KNode = child { - hasTestTag(TestTags.DETAILS_SCREEN_ITEM) + hasTestTag(DetailsScreenTestTags.SCREEN_ITEM) hasText(getResourceString(R.string.details_buy_wallet)) } val appSettingsButton: KNode = child { - hasTestTag(TestTags.DETAILS_SCREEN_ITEM) + hasTestTag(DetailsScreenTestTags.SCREEN_ITEM) hasText(getResourceString(R.string.app_settings_title)) } val contactSupportButton: KNode = child { - hasTestTag(TestTags.DETAILS_SCREEN_ITEM) + hasTestTag(DetailsScreenTestTags.SCREEN_ITEM) hasText(getResourceString(R.string.details_row_title_contact_to_support)) } val toSButton: KNode = child { - hasTestTag(TestTags.DETAILS_SCREEN_ITEM) + hasTestTag(DetailsScreenTestTags.SCREEN_ITEM) hasText(getResourceString(R.string.disclaimer_title)) } -} \ No newline at end of file +} + +internal fun BaseTestCase.onDetailsScreen(function: DetailsPageObject.() -> Unit) = + onComposeScreen(composeTestRule, function) \ No newline at end of file diff --git a/app/src/androidTest/kotlin/com/tangem/screens/DisclaimerPageObject.kt b/app/src/androidTest/kotlin/com/tangem/screens/DisclaimerPageObject.kt new file mode 100644 index 0000000000..fa12033630 --- /dev/null +++ b/app/src/androidTest/kotlin/com/tangem/screens/DisclaimerPageObject.kt @@ -0,0 +1,22 @@ +package com.tangem.screens + +import androidx.compose.ui.test.SemanticsNodeInteractionsProvider +import com.tangem.common.BaseTestCase +import com.tangem.core.ui.test.DisclaimerScreenTestTags +import io.github.kakaocup.compose.node.element.ComposeScreen +import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen +import io.github.kakaocup.compose.node.element.KNode + +class DisclaimerPageObject(semanticsProvider: SemanticsNodeInteractionsProvider) : + ComposeScreen( + semanticsProvider = semanticsProvider, + viewBuilderAction = { hasTestTag(DisclaimerScreenTestTags.SCREEN_CONTAINER) } + ) { + + val acceptButton: KNode = child { + hasTestTag(DisclaimerScreenTestTags.ACCEPT_BUTTON) + } +} + +internal fun BaseTestCase.onDisclaimerScreen(function: DisclaimerPageObject.() -> Unit) = + onComposeScreen(composeTestRule, function) \ No newline at end of file diff --git a/app/src/androidTest/kotlin/com/tangem/screens/DisclaimerTestScreen.kt b/app/src/androidTest/kotlin/com/tangem/screens/DisclaimerTestScreen.kt deleted file mode 100644 index 4af7f33d51..0000000000 --- a/app/src/androidTest/kotlin/com/tangem/screens/DisclaimerTestScreen.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.tangem.screens - -import androidx.compose.ui.test.SemanticsNodeInteractionsProvider -import com.tangem.core.ui.test.TestTags -import io.github.kakaocup.compose.node.element.ComposeScreen -import io.github.kakaocup.compose.node.element.KNode - -class DisclaimerTestScreen(semanticsProvider: SemanticsNodeInteractionsProvider) : - ComposeScreen( - semanticsProvider = semanticsProvider, - viewBuilderAction = { hasTestTag(TestTags.DISCLAIMER_SCREEN_CONTAINER) } - ) { - - val acceptButton: KNode = child { - hasTestTag(TestTags.DISCLAIMER_SCREEN_ACCEPT_BUTTON) - } -} \ No newline at end of file diff --git a/app/src/androidTest/kotlin/com/tangem/screens/MainScreenPageObject.kt b/app/src/androidTest/kotlin/com/tangem/screens/MainScreenPageObject.kt new file mode 100644 index 0000000000..73cf124ab4 --- /dev/null +++ b/app/src/androidTest/kotlin/com/tangem/screens/MainScreenPageObject.kt @@ -0,0 +1,16 @@ +package com.tangem.screens + +import androidx.compose.ui.test.SemanticsNodeInteractionsProvider +import com.tangem.common.BaseTestCase +import com.tangem.core.ui.test.MainScreenTestTags +import io.github.kakaocup.compose.node.element.ComposeScreen +import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen + +class MainScreenPageObject(semanticsProvider: SemanticsNodeInteractionsProvider) : + ComposeScreen( + semanticsProvider = semanticsProvider, + viewBuilderAction = { hasTestTag(MainScreenTestTags.SCREEN_CONTAINER) } + ) + +internal fun BaseTestCase.onMainScreen(function: MainScreenPageObject.() -> Unit) = + onComposeScreen(composeTestRule, function) \ No newline at end of file diff --git a/app/src/androidTest/kotlin/com/tangem/screens/MainTestScreen.kt b/app/src/androidTest/kotlin/com/tangem/screens/MainTestScreen.kt deleted file mode 100644 index a342754478..0000000000 --- a/app/src/androidTest/kotlin/com/tangem/screens/MainTestScreen.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.tangem.screens - -import androidx.compose.ui.test.SemanticsNodeInteractionsProvider -import com.tangem.core.ui.test.TestTags -import io.github.kakaocup.compose.node.element.ComposeScreen - -class MainTestScreen(semanticsProvider: SemanticsNodeInteractionsProvider) : - ComposeScreen( - semanticsProvider = semanticsProvider, - viewBuilderAction = { hasTestTag(TestTags.MAIN_SCREEN) } - ) \ No newline at end of file diff --git a/app/src/androidTest/kotlin/com/tangem/screens/StoriesTestScreen.kt b/app/src/androidTest/kotlin/com/tangem/screens/StoriesPageObject.kt similarity index 51% rename from app/src/androidTest/kotlin/com/tangem/screens/StoriesTestScreen.kt rename to app/src/androidTest/kotlin/com/tangem/screens/StoriesPageObject.kt index 9dd1a415e9..63934bb015 100644 --- a/app/src/androidTest/kotlin/com/tangem/screens/StoriesTestScreen.kt +++ b/app/src/androidTest/kotlin/com/tangem/screens/StoriesPageObject.kt @@ -1,25 +1,27 @@ package com.tangem.screens import androidx.compose.ui.test.SemanticsNodeInteractionsProvider -import com.tangem.core.ui.test.TestTags +import com.tangem.common.BaseTestCase +import com.tangem.core.ui.test.StoriesScreenTestTags import com.tangem.wallet.R import io.github.kakaocup.compose.node.element.ComposeScreen +import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen import io.github.kakaocup.compose.node.element.KNode import io.github.kakaocup.kakao.common.views.KView import io.github.kakaocup.kakao.text.KButton -class StoriesTestScreen(semanticsProvider: SemanticsNodeInteractionsProvider) : - ComposeScreen( +class StoriesPageObject(semanticsProvider: SemanticsNodeInteractionsProvider) : + ComposeScreen( semanticsProvider = semanticsProvider, - viewBuilderAction = { hasTestTag(TestTags.STORIES_SCREEN) } + viewBuilderAction = { hasTestTag(StoriesScreenTestTags.SCREEN_CONTAINER) } ) { val scanButton: KNode = child { - hasTestTag(TestTags.STORIES_SCREEN_SCAN_BUTTON) + hasTestTag(StoriesScreenTestTags.SCAN_BUTTON) } val orderButton: KNode = child { - hasTestTag(TestTags.STORIES_SCREEN_ORDER_BUTTON) + hasTestTag(StoriesScreenTestTags.ORDER_BUTTON) } val enableNFCAlert: KView = KView { @@ -29,4 +31,7 @@ class StoriesTestScreen(semanticsProvider: SemanticsNodeInteractionsProvider) : val cancelButton: KButton = KButton { withId(android.R.id.button2) } -} \ No newline at end of file +} + +internal fun BaseTestCase.onStoriesScreen(function: StoriesPageObject.() -> Unit) = + onComposeScreen(composeTestRule, function) \ No newline at end of file diff --git a/app/src/androidTest/kotlin/com/tangem/screens/TestTopBar.kt b/app/src/androidTest/kotlin/com/tangem/screens/TestTopBar.kt deleted file mode 100644 index 83d2e8a6a9..0000000000 --- a/app/src/androidTest/kotlin/com/tangem/screens/TestTopBar.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.tangem.screens - -import androidx.compose.ui.test.SemanticsNodeInteractionsProvider -import com.tangem.core.ui.test.TestTags -import io.github.kakaocup.compose.node.element.ComposeScreen -import io.github.kakaocup.compose.node.element.KNode - -class TestTopBar(semanticsProvider: SemanticsNodeInteractionsProvider) : - ComposeScreen( - semanticsProvider = semanticsProvider, - viewBuilderAction = { hasTestTag(TestTags.MAIN_SCREEN_TOP_BAR) } - ) { - val moreButton: KNode = child { - hasTestTag(TestTags.MAIN_SCREEN_MORE_BUTTON) - } -} \ No newline at end of file diff --git a/app/src/androidTest/kotlin/com/tangem/screens/TopBarPageObject.kt b/app/src/androidTest/kotlin/com/tangem/screens/TopBarPageObject.kt new file mode 100644 index 0000000000..e18c510849 --- /dev/null +++ b/app/src/androidTest/kotlin/com/tangem/screens/TopBarPageObject.kt @@ -0,0 +1,21 @@ +package com.tangem.screens + +import androidx.compose.ui.test.SemanticsNodeInteractionsProvider +import com.tangem.common.BaseTestCase +import com.tangem.core.ui.test.MainScreenTestTags +import io.github.kakaocup.compose.node.element.ComposeScreen +import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen +import io.github.kakaocup.compose.node.element.KNode + +class TopBarPageObject(semanticsProvider: SemanticsNodeInteractionsProvider) : + ComposeScreen( + semanticsProvider = semanticsProvider, + viewBuilderAction = { hasTestTag(MainScreenTestTags.TOP_BAR) } + ) { + val moreButton: KNode = child { + hasTestTag(MainScreenTestTags.MORE_BUTTON) + } +} + +internal fun BaseTestCase.onTopBar(function: TopBarPageObject.() -> Unit) = + onComposeScreen(composeTestRule, function) \ No newline at end of file diff --git a/app/src/androidTest/kotlin/com/tangem/screens/WalletSettingsTestScreen.kt b/app/src/androidTest/kotlin/com/tangem/screens/WalletSettingsPageObject.kt similarity index 62% rename from app/src/androidTest/kotlin/com/tangem/screens/WalletSettingsTestScreen.kt rename to app/src/androidTest/kotlin/com/tangem/screens/WalletSettingsPageObject.kt index 1b31bd509c..6a2a606ef5 100644 --- a/app/src/androidTest/kotlin/com/tangem/screens/WalletSettingsTestScreen.kt +++ b/app/src/androidTest/kotlin/com/tangem/screens/WalletSettingsPageObject.kt @@ -1,19 +1,21 @@ package com.tangem.screens import androidx.compose.ui.test.SemanticsNodeInteractionsProvider -import com.tangem.core.ui.test.TestTags +import com.tangem.common.BaseTestCase +import com.tangem.core.ui.test.WalletSettingsScreenTestTags import com.tangem.wallet.R import io.github.kakaocup.compose.node.element.ComposeScreen +import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen import io.github.kakaocup.compose.node.element.KNode import io.github.kakaocup.kakao.common.utilities.getResourceString -class WalletSettingsTestScreen(semanticsProvider: SemanticsNodeInteractionsProvider) : - ComposeScreen( +class WalletSettingsPageObject(semanticsProvider: SemanticsNodeInteractionsProvider) : + ComposeScreen( semanticsProvider = semanticsProvider, - viewBuilderAction = { hasTestTag(TestTags.WALLET_SETTINGS_SCREEN) } + viewBuilderAction = { hasTestTag(WalletSettingsScreenTestTags.SCREEN_CONTAINER) } ) { private val walletSettingsItem: KNode = child { - hasTestTag(TestTags.WALLET_SETTINGS_SCREEN_ITEM) + hasTestTag(WalletSettingsScreenTestTags.SCREEN_ITEM) } val linkMoreCardsButton: KNode = walletSettingsItem.child { @@ -28,4 +30,7 @@ class WalletSettingsTestScreen(semanticsProvider: SemanticsNodeInteractionsProvi val forgetWalletButton: KNode = walletSettingsItem.child { hasText(getResourceString(R.string.settings_forget_wallet)) } -} \ No newline at end of file +} + +internal fun BaseTestCase.onWalletSettingsScreen(function: WalletSettingsPageObject.() -> Unit) = + onComposeScreen(composeTestRule, function) \ No newline at end of file diff --git a/app/src/androidTest/kotlin/com/tangem/tests/DetailsScreenTest.kt b/app/src/androidTest/kotlin/com/tangem/tests/DetailsTest.kt similarity index 54% rename from app/src/androidTest/kotlin/com/tangem/tests/DetailsScreenTest.kt rename to app/src/androidTest/kotlin/com/tangem/tests/DetailsTest.kt index dd86a046cc..1242a1285e 100644 --- a/app/src/androidTest/kotlin/com/tangem/tests/DetailsScreenTest.kt +++ b/app/src/androidTest/kotlin/com/tangem/tests/DetailsTest.kt @@ -4,152 +4,151 @@ import com.tangem.common.BaseTestCase import com.tangem.common.extensions.clickWithAssertion import com.tangem.domain.models.scan.ProductType import com.tangem.scenarios.OpenMainScreenScenario -import com.tangem.screens.DetailsTestScreen -import com.tangem.screens.TestTopBar -import com.tangem.screens.WalletSettingsTestScreen +import com.tangem.screens.onDetailsScreen +import com.tangem.screens.onTopBar +import com.tangem.screens.onWalletSettingsScreen import dagger.hilt.android.testing.HiltAndroidTest -import io.github.kakaocup.compose.node.element.ComposeScreen import org.junit.Test @HiltAndroidTest -class DetailsScreenTest : BaseTestCase() { +class DetailsTest : BaseTestCase() { @Test - fun walletWithoutBackupDetails() = + fun walletWithoutBackupDetailsTest() = setupHooks().run { scenario(OpenMainScreenScenario(composeTestRule)) - ComposeScreen.onComposeScreen(composeTestRule) { + onTopBar { step("Open wallet details") { moreButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(composeTestRule) { - step("Assert wallet connect button is visible") { + onDetailsScreen { + step("Assert 'Wallet connect' button is visible") { walletConnectButton.assertIsDisplayed() } - step("Assert scan card button is visible") { + step("Assert 'Scan card' button is visible") { scanCardButton.assertIsDisplayed() } - step("Assert buy Tangem card button is visible") { + step("Assert 'Buy Tangem card' button is visible") { buyTangemButton.assertIsDisplayed() } - step("Assert app settings button is visible") { + step("Assert 'App settings' button is visible") { appSettingsButton.assertIsDisplayed() } - step("Assert contact support button is visible") { + step("Assert 'Contact support' button is visible") { contactSupportButton.assertIsDisplayed() } - step("Assert terms or service button is visible") { + step("Assert 'Terms of service' button is visible") { toSButton.assertIsDisplayed() } - step("Open wallet settings screen") { + step("Open 'Wallet settings' screen") { walletNameButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(composeTestRule) { - step("Assert Link more cards button is visible") { + onWalletSettingsScreen { + step("Assert 'Link more cards' button is visible") { linkMoreCardsButton.assertIsDisplayed() } - step("Assert Card Settings button is visible") { + step("Assert 'Card Settings' button is visible") { cardSettingsButton.assertIsDisplayed() } - step("Assert Referral program button is visible") { + step("Assert 'Referral program' button is visible") { referralProgramButton.assertIsDisplayed() } - step("Assert Forget wallet button is visible") { + step("Assert 'Forget wallet' button is visible") { forgetWalletButton.assertIsDisplayed() } } } @Test - fun wallet2Details() = + fun wallet2DetailsTest() = setupHooks().run { scenario(OpenMainScreenScenario(composeTestRule, ProductType.Wallet2)) - ComposeScreen.onComposeScreen(composeTestRule) { + onTopBar { step("Open wallet details") { moreButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(composeTestRule) { - step("Assert wallet connect button is visible") { + onDetailsScreen { + step("Assert 'Wallet connect' button is visible") { walletConnectButton.assertIsDisplayed() } - step("Assert scan card button is visible") { + step("Assert 'Scan card' button is visible") { scanCardButton.assertIsDisplayed() } - step("Assert buy Tangem card button is visible") { + step("Assert 'Buy Tangem card' button is visible") { buyTangemButton.assertIsDisplayed() } - step("Assert app settings button is visible") { + step("Assert 'App settings' button is visible") { appSettingsButton.assertIsDisplayed() } - step("Assert contact support button is visible") { + step("Assert 'Contact support' button is visible") { contactSupportButton.assertIsDisplayed() } - step("Assert terms or service button is visible") { + step("Assert 'Terms or service' button is visible") { toSButton.assertIsDisplayed() } - step("Open wallet settings screen") { + step("Open 'Wallet settings' screen") { walletNameButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(composeTestRule) { - step("Assert Link more cards button does not exist") { + onWalletSettingsScreen { + step("Assert 'Link more cards' button does not exist") { linkMoreCardsButton.assertIsNotDisplayed() } - step("Assert Card Settings button is visible") { + step("Assert 'Card Settings' button is visible") { cardSettingsButton.assertIsDisplayed() } - step("Assert Referral program button is visible") { + step("Assert 'Referral program' button is visible") { referralProgramButton.assertIsDisplayed() } - step("Assert Forget wallet button is visible") { + step("Assert 'Forget wallet' button is visible") { forgetWalletButton.assertIsDisplayed() } } } @Test - fun noteDetails() = + fun noteDetailsTest() = setupHooks().run { scenario(OpenMainScreenScenario(composeTestRule, ProductType.Note)) - ComposeScreen.onComposeScreen(composeTestRule) { + onTopBar { step("Open wallet details") { moreButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(composeTestRule) { - step("Assert wallet connect button does not exist") { + onDetailsScreen { + step("Assert 'Wallet connect' button does not exist") { walletConnectButton.assertIsNotDisplayed() } - step("Assert scan card button is visible") { + step("Assert 'Scan card' button is visible") { scanCardButton.assertIsDisplayed() } - step("Assert buy Tangem card button is visible") { + step("Assert 'Buy Tangem card' button is visible") { buyTangemButton.assertIsDisplayed() } - step("Assert app settings button is visible") { + step("Assert 'App settings' button is visible") { appSettingsButton.assertIsDisplayed() } - step("Assert contact support button is visible") { + step("Assert 'Contact support' button is visible") { contactSupportButton.assertIsDisplayed() } - step("Assert terms or service button is visible") { + step("Assert 'Terms or service' button is visible") { toSButton.assertIsDisplayed() } - step("Open wallet settings screen") { + step("Open 'Wallet settings' screen") { walletNameButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(composeTestRule) { - step("Assert Card Settings button is visible") { + onWalletSettingsScreen { + step("Assert 'Card Settings' button is visible") { cardSettingsButton.assertIsDisplayed() } - step("Assert Referral program button does not exist") { + step("Assert 'Referral program' button does not exist") { referralProgramButton.assertIsNotDisplayed() } - step("Assert Forget wallet button is visible") { + step("Assert 'Forget wallet' button is visible") { forgetWalletButton.assertIsDisplayed() } } diff --git a/app/src/androidTest/kotlin/com/tangem/tests/MainScreenTest.kt b/app/src/androidTest/kotlin/com/tangem/tests/MainScreenTest.kt index fd3a2df953..c708b29087 100644 --- a/app/src/androidTest/kotlin/com/tangem/tests/MainScreenTest.kt +++ b/app/src/androidTest/kotlin/com/tangem/tests/MainScreenTest.kt @@ -1,11 +1,8 @@ package com.tangem.tests -import androidx.compose.ui.test.junit4.createAndroidComposeRule import com.tangem.common.BaseTestCase import com.tangem.scenarios.OpenMainScreenScenario -import com.tangem.tap.MainActivity import dagger.hilt.android.testing.HiltAndroidTest -import org.junit.Rule import org.junit.Test @HiltAndroidTest diff --git a/app/src/androidTest/kotlin/com/tangem/tests/ScanErrorTest.kt b/app/src/androidTest/kotlin/com/tangem/tests/ScanErrorTest.kt index da686950a7..c31340f9dd 100644 --- a/app/src/androidTest/kotlin/com/tangem/tests/ScanErrorTest.kt +++ b/app/src/androidTest/kotlin/com/tangem/tests/ScanErrorTest.kt @@ -2,36 +2,35 @@ package com.tangem.tests import com.tangem.common.BaseTestCase import com.tangem.common.extensions.clickWithAssertion -import com.tangem.screens.DisclaimerTestScreen -import com.tangem.screens.MainTestScreen -import com.tangem.screens.StoriesTestScreen +import com.tangem.screens.onDisclaimerScreen +import com.tangem.screens.onMainScreen +import com.tangem.screens.onStoriesScreen import com.tangem.tap.domain.sdk.mocks.MockProvider import dagger.hilt.android.testing.HiltAndroidTest -import io.github.kakaocup.compose.node.element.ComposeScreen import org.junit.Test @HiltAndroidTest class ScanErrorTest : BaseTestCase() { @Test - fun goToMain() = + fun goToMainTest() = setupHooks().run { - ComposeScreen.onComposeScreen(composeTestRule) { - step("Click on \"Accept\" button") { + onDisclaimerScreen { + step("Click on 'Accept' button") { acceptButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(composeTestRule) { - step("Click on \"Scan\" button emulating scan error") { + onStoriesScreen { + step("Click on 'Scan' button emulating scan error") { MockProvider.setEmulateError() scanButton.clickWithAssertion() } - step("Click on \"Scan\" button again without emulating error") { + step("Click on 'Scan' button again without emulating error") { MockProvider.resetEmulateError() scanButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(composeTestRule) { + onMainScreen { step("Make sure wallet screen is visible") { assertIsDisplayed() } diff --git a/app/src/androidTest/kotlin/com/tangem/tests/StoriesTest.kt b/app/src/androidTest/kotlin/com/tangem/tests/StoriesTest.kt index eab4389f6b..c17f7fc08d 100644 --- a/app/src/androidTest/kotlin/com/tangem/tests/StoriesTest.kt +++ b/app/src/androidTest/kotlin/com/tangem/tests/StoriesTest.kt @@ -1,31 +1,28 @@ package com.tangem.tests import android.content.Intent.ACTION_VIEW -import androidx.test.espresso.intent.matcher.UriMatchers import com.tangem.common.BaseTestCase import com.tangem.common.extensions.clickWithAssertion -import com.tangem.screens.DisclaimerTestScreen -import com.tangem.screens.StoriesTestScreen +import com.tangem.screens.onDisclaimerScreen +import com.tangem.screens.onStoriesScreen import com.tangem.tap.features.home.redux.HomeMiddleware.NEW_BUY_WALLET_URL import dagger.hilt.android.testing.HiltAndroidTest -import io.github.kakaocup.compose.node.element.ComposeScreen import io.github.kakaocup.kakao.intent.KIntent -import org.hamcrest.Matchers import org.junit.Test @HiltAndroidTest class StoriesTest : BaseTestCase() { @Test - fun clickOnOrderButton() = + fun clickOnOrderButtonTest() = setupHooks().run { - ComposeScreen.onComposeScreen(composeTestRule) { - step("Click on \"Accept\" button") { + onDisclaimerScreen { + step("Click on 'Accept' button") { acceptButton.clickWithAssertion() } } - ComposeScreen.onComposeScreen(composeTestRule) { - step("Click on \"Order\" button") { + onStoriesScreen { + step("Click on 'Order' button") { orderButton.clickWithAssertion() } step("Assert: browser opened") { diff --git a/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreen.kt b/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreen.kt index 88f9d53d3b..3ccd4ba7fe 100644 --- a/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreen.kt +++ b/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreen.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.test.TestTags +import com.tangem.core.ui.test.StoriesScreenTestTags import com.tangem.tap.features.home.compose.content.* import com.tangem.tap.features.home.compose.views.HomeButtons import com.tangem.tap.features.home.compose.views.SearchCurrenciesButton @@ -61,7 +61,7 @@ internal fun StoriesScreen( StoriesScreenContent( modifier = Modifier .fillMaxSize() - .testTag(TestTags.STORIES_SCREEN), + .testTag(StoriesScreenTestTags.SCREEN_CONTAINER), config = StoriesScreenContentConfig( storiesSize = state.stories.lastIndex, currentStoryIndex = currentStoryIndex, diff --git a/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreenV2.kt b/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreenV2.kt index a17f707453..5ba5f44315 100644 --- a/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreenV2.kt +++ b/app/src/main/java/com/tangem/tap/features/home/compose/StoriesScreenV2.kt @@ -19,7 +19,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.test.TestTags +import com.tangem.core.ui.test.StoriesScreenTestTags import com.tangem.tap.features.home.compose.content.* import com.tangem.tap.features.home.compose.views.HomeButtonsV2 import com.tangem.tap.features.home.compose.views.StoriesProgressBar @@ -57,7 +57,7 @@ internal fun StoriesScreenV2( StoriesScreenContentV2( modifier = Modifier .fillMaxSize() - .testTag(TestTags.STORIES_SCREEN), + .testTag(StoriesScreenTestTags.SCREEN_CONTAINER), config = StoriesScreenContentV2Config( storiesSize = state.stories.lastIndex, currentStoryIndex = currentStoryIndex, diff --git a/app/src/main/java/com/tangem/tap/features/home/compose/views/HomeButtons.kt b/app/src/main/java/com/tangem/tap/features/home/compose/views/HomeButtons.kt index 6b7987848b..eab6ba4ced 100644 --- a/app/src/main/java/com/tangem/tap/features/home/compose/views/HomeButtons.kt +++ b/app/src/main/java/com/tangem/tap/features/home/compose/views/HomeButtons.kt @@ -17,7 +17,7 @@ import com.tangem.core.ui.components.buttons.common.TangemButtonIconPosition import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.test.TestTags +import com.tangem.core.ui.test.StoriesScreenTestTags import com.tangem.wallet.R @Composable @@ -34,7 +34,7 @@ internal fun HomeButtons( ScanCardButton( modifier = Modifier .weight(weight = 1f) - .testTag(TestTags.STORIES_SCREEN_SCAN_BUTTON), + .testTag(StoriesScreenTestTags.SCAN_BUTTON), showProgress = btnScanStateInProgress, onClick = onScanButtonClick, ) @@ -42,7 +42,7 @@ internal fun HomeButtons( OrderCardButton( modifier = Modifier .weight(weight = 1f) - .testTag(TestTags.STORIES_SCREEN_ORDER_BUTTON), + .testTag(StoriesScreenTestTags.ORDER_BUTTON), onClick = onShopButtonClick, ) } diff --git a/app/src/main/java/com/tangem/tap/features/home/compose/views/HomeButtonsV2.kt b/app/src/main/java/com/tangem/tap/features/home/compose/views/HomeButtonsV2.kt index 6b620da6dc..dc2192b603 100644 --- a/app/src/main/java/com/tangem/tap/features/home/compose/views/HomeButtonsV2.kt +++ b/app/src/main/java/com/tangem/tap/features/home/compose/views/HomeButtonsV2.kt @@ -18,7 +18,7 @@ import com.tangem.core.ui.components.buttons.common.TangemButtonIconPosition import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.test.TestTags +import com.tangem.core.ui.test.StoriesScreenTestTags import com.tangem.wallet.R @Composable @@ -37,19 +37,19 @@ internal fun HomeButtonsV2( CreateNewWalletButton( modifier = Modifier .fillMaxWidth() - .testTag(TestTags.STORIES_SCREEN_CREATE_NEW_WALLET_BUTTON), + .testTag(StoriesScreenTestTags.CREATE_NEW_WALLET_BUTTON), onClick = onCreateNewWalletButtonClick, ) AddExistingWalletButton( modifier = Modifier .fillMaxWidth() - .testTag(TestTags.STORIES_SCREEN_ADD_EXISTING_WALLET_BUTTON), + .testTag(StoriesScreenTestTags.ADD_EXISTING_WALLET_BUTTON), onClick = onAddExistingWalletButtonClick, ) ScanCardButton( modifier = Modifier .fillMaxWidth() - .testTag(TestTags.STORIES_SCREEN_SCAN_BUTTON), + .testTag(StoriesScreenTestTags.SCAN_BUTTON), showProgress = btnScanStateInProgress, onClick = onScanButtonClick, ) diff --git a/core/ui/src/main/java/com/tangem/core/ui/test/DetailsScreenTestTags.kt b/core/ui/src/main/java/com/tangem/core/ui/test/DetailsScreenTestTags.kt new file mode 100644 index 0000000000..33f7b56ef3 --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/test/DetailsScreenTestTags.kt @@ -0,0 +1,6 @@ +package com.tangem.core.ui.test + +object DetailsScreenTestTags { + const val SCREEN_CONTAINER = "DETAILS_SCREEN_CONTAINER" + const val SCREEN_ITEM = "DETAILS_SCREEN_ITEM" +} \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/test/DisclaimerScreenTestTags.kt b/core/ui/src/main/java/com/tangem/core/ui/test/DisclaimerScreenTestTags.kt new file mode 100644 index 0000000000..b1355ed20a --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/test/DisclaimerScreenTestTags.kt @@ -0,0 +1,6 @@ +package com.tangem.core.ui.test + +object DisclaimerScreenTestTags { + const val SCREEN_CONTAINER = "DISCLAIMER_SCREEN_CONTAINER" + const val ACCEPT_BUTTON = "DISCLAIMER_SCREEN_ACCEPT_BUTTON" +} \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/test/MainScreenTestTags.kt b/core/ui/src/main/java/com/tangem/core/ui/test/MainScreenTestTags.kt new file mode 100644 index 0000000000..a999018849 --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/test/MainScreenTestTags.kt @@ -0,0 +1,7 @@ +package com.tangem.core.ui.test + +object MainScreenTestTags { + const val SCREEN_CONTAINER = "MAIN_SCREEN_CONTAINER" + const val MORE_BUTTON = "MAIN_SCREEN_MORE_BUTTON" + const val TOP_BAR = "MAIN_SCREEN_TOP_BAR" +} \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/test/StoriesScreenTestTags.kt b/core/ui/src/main/java/com/tangem/core/ui/test/StoriesScreenTestTags.kt new file mode 100644 index 0000000000..a1b7576f50 --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/test/StoriesScreenTestTags.kt @@ -0,0 +1,9 @@ +package com.tangem.core.ui.test + +object StoriesScreenTestTags { + const val SCREEN_CONTAINER = "STORIES_SCREEN_CONTAINER" + const val SCAN_BUTTON = "STORIES_SCREEN_SCAN_BUTTON" + const val ORDER_BUTTON = "STORIES_SCREEN_ORDER_BUTTON" + const val CREATE_NEW_WALLET_BUTTON = "STORIES_SCREEN_CREATE_NEW_WALLET_BUTTON" + const val ADD_EXISTING_WALLET_BUTTON = "STORIES_SCREEN_ADD_EXISTING_WALLET_BUTTON" +} \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/test/TestTags.kt b/core/ui/src/main/java/com/tangem/core/ui/test/TestTags.kt deleted file mode 100644 index feca4f686c..0000000000 --- a/core/ui/src/main/java/com/tangem/core/ui/test/TestTags.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.tangem.core.ui.test - -object TestTags { - const val STORIES_SCREEN = "STORIES_SCREEN_CONTAINER" - const val STORIES_SCREEN_SCAN_BUTTON = "STORIES_SCREEN_SCAN_BUTTON" - const val STORIES_SCREEN_ORDER_BUTTON = "STORIES_SCREEN_ORDER_BUTTON" - const val STORIES_SCREEN_CREATE_NEW_WALLET_BUTTON = "STORIES_SCREEN_CREATE_NEW_WALLET_BUTTON" - const val STORIES_SCREEN_ADD_EXISTING_WALLET_BUTTON = "STORIES_SCREEN_ADD_EXISTING_WALLET_BUTTON" - - const val MAIN_SCREEN = "MAIN_SCREEN_CONTAINER" - const val MAIN_SCREEN_MORE_BUTTON = "MAIN_SCREEN_MORE_BUTTON" - const val MAIN_SCREEN_TOP_BAR = "MAIN_SCREEN_TOP_BAR" - - const val DETAILS_SCREEN = "DETAILS_SCREEN_CONTAINER" - const val DETAILS_SCREEN_ITEM = "DETAILS_SCREEN_ITEM" - - const val WALLET_SETTINGS_SCREEN = "WALLET_SETTINGS_SCREEN" - const val WALLET_SETTINGS_SCREEN_ITEM = "WALLET_SETTINGS_SCREEN_ITEM" - - const val DISCLAIMER_SCREEN_CONTAINER = "DISCLAIMER_SCREEN_CONTAINER" - const val DISCLAIMER_SCREEN_ACCEPT_BUTTON = "DISCLAIMER_SCREEN_ACCEPT_BUTTON" -} \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/test/WalletSettingsScreenTestTags.kt b/core/ui/src/main/java/com/tangem/core/ui/test/WalletSettingsScreenTestTags.kt new file mode 100644 index 0000000000..ade4f96e6f --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/test/WalletSettingsScreenTestTags.kt @@ -0,0 +1,6 @@ +package com.tangem.core.ui.test + +object WalletSettingsScreenTestTags { + const val SCREEN_CONTAINER = "WALLET_SETTINGS_SCREEN_CONTAINER" + const val SCREEN_ITEM = "WALLET_SETTINGS_SCREEN_ITEM" +} \ No newline at end of file diff --git a/features/details/impl/src/main/kotlin/com/tangem/features/details/ui/DetailsScreen.kt b/features/details/impl/src/main/kotlin/com/tangem/features/details/ui/DetailsScreen.kt index 0c4d3e218e..0bd950c5c8 100644 --- a/features/details/impl/src/main/kotlin/com/tangem/features/details/ui/DetailsScreen.kt +++ b/features/details/impl/src/main/kotlin/com/tangem/features/details/ui/DetailsScreen.kt @@ -25,7 +25,7 @@ import com.tangem.core.ui.decompose.ComposableContentComponent import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.test.TestTags +import com.tangem.core.ui.test.DetailsScreenTestTags import com.tangem.features.details.component.preview.PreviewDetailsComponent import com.tangem.features.details.entity.DetailsFooterUM import com.tangem.features.details.entity.DetailsItemUM @@ -67,7 +67,7 @@ private fun Content( modifier: Modifier = Modifier, ) { LazyColumn( - modifier = modifier.testTag(TestTags.DETAILS_SCREEN), + modifier = modifier.testTag(DetailsScreenTestTags.SCREEN_CONTAINER), verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing16), contentPadding = PaddingValues( top = TangemTheme.dimens.spacing12, @@ -120,7 +120,7 @@ private fun Block( ) { val itemModifier = Modifier .fillMaxWidth() - .testTag(TestTags.DETAILS_SCREEN_ITEM) + .testTag(DetailsScreenTestTags.SCREEN_ITEM) when (model) { is DetailsItemUM.Basic -> { diff --git a/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt b/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt index 1174e7d634..72c38a4347 100644 --- a/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt +++ b/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt @@ -32,8 +32,7 @@ import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemColorPalette import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.test.TestTags.DISCLAIMER_SCREEN_ACCEPT_BUTTON -import com.tangem.core.ui.test.TestTags.DISCLAIMER_SCREEN_CONTAINER +import com.tangem.core.ui.test.DisclaimerScreenTestTags import com.tangem.core.ui.webview.applySafeSettings import com.tangem.features.disclaimer.impl.R import com.tangem.features.disclaimer.impl.entity.DisclaimerUM @@ -58,7 +57,7 @@ internal fun DisclaimerScreen(state: DisclaimerUM) { modifier = Modifier .background(backgroundColor) .statusBarsPadding() - .testTag(DISCLAIMER_SCREEN_CONTAINER), + .testTag(DisclaimerScreenTestTags.SCREEN_CONTAINER), ) { Column( modifier = Modifier @@ -183,7 +182,7 @@ private fun BoxScope.DisclaimerButton(onAccept: (Boolean) -> Unit) { disabledContentColor = TangemColorPalette.Dark6, ), modifier = Modifier - .testTag(DISCLAIMER_SCREEN_ACCEPT_BUTTON) + .testTag(DisclaimerScreenTestTags.ACCEPT_BUTTON) .align(Alignment.BottomCenter) .navigationBarsPadding() .padding( diff --git a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/ui/WalletSettingsScreen.kt b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/ui/WalletSettingsScreen.kt index 64dc1120ee..08719a0e52 100644 --- a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/ui/WalletSettingsScreen.kt +++ b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/ui/WalletSettingsScreen.kt @@ -27,7 +27,7 @@ import com.tangem.core.ui.extensions.resolveReference import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.test.TestTags +import com.tangem.core.ui.test.WalletSettingsScreenTestTags import com.tangem.core.ui.utils.requestPushPermission import com.tangem.feature.walletsettings.component.preview.PreviewWalletSettingsComponent import com.tangem.feature.walletsettings.entity.WalletSettingsItemUM @@ -56,7 +56,7 @@ internal fun WalletSettingsScreen( Content( modifier = Modifier .padding(paddingValues) - .testTag(TestTags.WALLET_SETTINGS_SCREEN), + .testTag(WalletSettingsScreenTestTags.SCREEN_CONTAINER), state = state, ) @@ -90,7 +90,7 @@ private fun Content(state: WalletSettingsUM, modifier: Modifier = Modifier) { val itemModifier = Modifier .padding(horizontal = TangemTheme.dimens.spacing16) .fillMaxWidth() - .testTag(TestTags.WALLET_SETTINGS_SCREEN_ITEM) + .testTag(WalletSettingsScreenTestTags.SCREEN_ITEM) when (item) { is WalletSettingsItemUM.WithItems -> ItemsBlock( diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt index 7989bb0be0..6d5b80febe 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt @@ -62,7 +62,7 @@ import com.tangem.core.ui.res.LocalMainBottomSheetColor import com.tangem.core.ui.res.LocalWindowSize import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.test.TestTags +import com.tangem.core.ui.test.MainScreenTestTags import com.tangem.core.ui.utils.lineTo import com.tangem.core.ui.utils.moveTo import com.tangem.core.ui.utils.toPx @@ -178,7 +178,7 @@ private fun WalletContent( } ?: PaddingValues(bottom = TangemTheme.dimens.spacing92 + bottomBarHeight) LazyColumn( - modifier = Modifier.testTag(TestTags.MAIN_SCREEN), + modifier = Modifier.testTag(MainScreenTestTags.SCREEN_CONTAINER), state = listState, contentPadding = contentPadding, horizontalAlignment = Alignment.CenterHorizontally, diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletTopBar.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletTopBar.kt index ebb2fdcfa9..cb76a6809e 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletTopBar.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletTopBar.kt @@ -9,8 +9,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.test.TestTags.MAIN_SCREEN_MORE_BUTTON -import com.tangem.core.ui.test.TestTags.MAIN_SCREEN_TOP_BAR +import com.tangem.core.ui.test.MainScreenTestTags import com.tangem.feature.wallet.impl.R import com.tangem.feature.wallet.presentation.common.WalletPreviewData import com.tangem.feature.wallet.presentation.wallet.state.model.WalletTopBarConfig @@ -28,7 +27,7 @@ internal fun WalletTopBar(config: WalletTopBarConfig) { Icon(painter = painterResource(id = R.drawable.img_tangem_logo_90_24), contentDescription = null) }, actions = { - IconButton(onClick = config.onDetailsClick, modifier = Modifier.testTag(MAIN_SCREEN_MORE_BUTTON)) { + IconButton(onClick = config.onDetailsClick, modifier = Modifier.testTag(MainScreenTestTags.MORE_BUTTON)) { Icon(painter = painterResource(id = R.drawable.ic_more_vertical_24), contentDescription = null) } }, @@ -38,7 +37,7 @@ internal fun WalletTopBar(config: WalletTopBarConfig) { actionIconContentColor = TangemTheme.colors.icon.primary1, ), scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(), - modifier = Modifier.testTag(MAIN_SCREEN_TOP_BAR), + modifier = Modifier.testTag(MainScreenTestTags.TOP_BAR), ) }