@@ -16,16 +16,18 @@ import androidx.compose.ui.test.performScrollToNode
1616import androidx.test.ext.junit.rules.ActivityScenarioRule
1717import io.github.xxfast.decompose.screen.BACK_BUTTON_TAG
1818import 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
2122import org.junit.Rule
2223import org.junit.Test
2324
2425private val backButton = hasTestTag(BACK_BUTTON_TAG )
25- private val titleBar = hasTestTag(TITLEBAR_TAG )
26+ private val titleBar = hasTestTag(TITLE_BAR_TAG )
2627private val details = hasTestTag(DETAILS_TAG )
2728private 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
3032typealias 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