tangem-app-android-audited/app/src/androidTest/kotlin/com/tangem/screens/ChooseNetworkBottomSheetPageObject.kt
2026-04-28 19:12:53 +03:00

34 lines
No EOL
1.4 KiB
Kotlin

package com.tangem.screens
import androidx.compose.ui.test.SemanticsNodeInteractionsProvider
import com.tangem.common.BaseTestCase
import com.tangem.core.ui.R
import com.tangem.core.ui.test.BaseBottomSheetTestTags
import com.tangem.core.ui.test.ChooseNetworkBottomSheetTestTags
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
import androidx.compose.ui.test.hasText as withText
class ChooseNetworkBottomSheetPageObject(semanticsProvider: SemanticsNodeInteractionsProvider) :
ComposeScreen<ChooseNetworkBottomSheetPageObject>(semanticsProvider = semanticsProvider) {
val title: KNode = child {
hasTestTag(BaseBottomSheetTestTags.TITLE)
hasText(getResourceString(R.string.common_choose_network))
useUnmergedTree = true
}
fun networkItem(name: String, type: String? = null): KNode = child {
hasTestTag(ChooseNetworkBottomSheetTestTags.NETWORK_ITEM)
hasAnyDescendant(withText(name))
if (!type.isNullOrBlank()) {
hasAnyDescendant(withText(type))
}
useUnmergedTree = true
}
}
internal fun BaseTestCase.onChooseNetworkBottomSheet(function: ChooseNetworkBottomSheetPageObject.() -> Unit) =
onComposeScreen(composeTestRule, function)