Skip to content

Instantly share code, notes, and snippets.

@krzdabrowski
Last active December 11, 2022 18:40
Show Gist options
  • Save krzdabrowski/51a8c59e7839a0f12ea8608d8287f54b to your computer and use it in GitHub Desktop.
Save krzdabrowski/51a8c59e7839a0f12ea8608d8287f54b to your computer and use it in GitHub Desktop.
@HiltAndroidTest
class RocketsRouteTest {
@get:Rule(order = 0)
val hiltTestRule = HiltAndroidRule(this)
@get:Rule(order = 1)
val composeTestRule = createAndroidComposeRule<MainActivity>()
private val testRockets = generateTestRocketsFromDomain()
@Before
fun setUp() {
hiltTestRule.inject()
composeTestRule.activity.setContent {
RocketsRoute(
viewModel = composeTestRule.getHiltTestViewModel()
)
}
}
@Test
fun rocketsRoute_whenHappyPath_shouldShowAllFakeRockets() {
testRockets.forEach { rocket ->
composeTestRule
.onNodeWithText(rocket.name)
.assertExists()
}
}
}
inline fun <reified T : ViewModel> AndroidComposeTestRule<*, *>.getHiltTestViewModel() =
activity
.viewModels<T>()
.value
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment