Skip to content

Commit 0162022

Browse files
committed
Add test case for nested navigation
1 parent 31c26a1 commit 0162022

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

decompose-router/src/androidInstrumentedTest/kotlin/io/github/xxfast/decompose/TestDecomposeRouter.kt

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,18 @@ import androidx.compose.ui.test.performScrollToNode
1616
import androidx.test.ext.junit.rules.ActivityScenarioRule
1717
import io.github.xxfast.decompose.screen.BACK_BUTTON_TAG
1818
import io.github.xxfast.decompose.screen.DETAILS_TAG
19-
import io.github.xxfast.decompose.screen.LAZY_COLUMN_TAG
20-
import io.github.xxfast.decompose.screen.TITLEBAR_TAG
19+
import io.github.xxfast.decompose.screen.FAVORITE_TAG
20+
import io.github.xxfast.decompose.screen.LIST_TAG
21+
import io.github.xxfast.decompose.screen.TITLE_BAR_TAG
2122
import org.junit.Rule
2223
import org.junit.Test
2324

2425
private val backButton = hasTestTag(BACK_BUTTON_TAG)
25-
private val titleBar = hasTestTag(TITLEBAR_TAG)
26+
private val titleBar = hasTestTag(TITLE_BAR_TAG)
2627
private val details = hasTestTag(DETAILS_TAG)
2728
private val circularProgressIndicator = hasProgressBarRangeInfo(ProgressBarRangeInfo.Indeterminate)
28-
private val lazyColumn = hasTestTag(LAZY_COLUMN_TAG)
29+
private val lazyColumn = hasTestTag(LIST_TAG)
30+
private val favouriteButton = hasTestTag(FAVORITE_TAG)
2931

3032
typealias TestActivityRule = AndroidComposeTestRule<ActivityScenarioRule<TestActivity>, TestActivity>
3133

@@ -110,4 +112,20 @@ class TestDecomposeRouterWithActivity {
110112
onNode(circularProgressIndicator).assertDoesNotExist()
111113
onNode(hasText(testItem)).assertExists()
112114
}
115+
116+
@Test
117+
fun testNestedNavigation(): Unit = with(composeRule) {
118+
onNode(favouriteButton).performClick()
119+
onNode(titleBar).assertExists().assertTextEquals("Colors")
120+
onNode(hasText("Primary")).performClick()
121+
onNode(titleBar).assertExists().assertTextEquals("Primary")
122+
onNode(backButton).performClick()
123+
onNode(hasText("Secondary")).performClick()
124+
onNode(titleBar).assertExists().assertTextEquals("Secondary")
125+
onNode(hasText("10")).performClick()
126+
onNode(titleBar).assertExists().assertTextEquals("10")
127+
onNode(hasText("5")).performClick()
128+
onNode(backButton).performClick()
129+
onNode(titleBar).assertExists().assertTextEquals("Secondary")
130+
}
113131
}

0 commit comments

Comments
 (0)