Add tests for LobstersTopAppBar

(cherry picked from commit eee0737a1c)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2021-03-05 13:33:01 +05:30
parent 3be1d2ad87
commit 08e8993101
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
5 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,74 @@
package dev.msfjarvis.lobsters.ui.main
import androidx.compose.ui.graphics.asAndroidBitmap
import androidx.compose.ui.test.captureToImage
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onRoot
import com.karumi.shot.ScreenshotTest
import dev.msfjarvis.lobsters.ui.DarkTestTheme
import dev.msfjarvis.lobsters.ui.LightTestTheme
import dev.msfjarvis.lobsters.ui.navigation.Destination
import org.junit.Rule
import org.junit.Test
class LobstersTopBarTest : ScreenshotTest {
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun showsRefreshIconWhenOnHottestPostsScreen_DarkTheme() {
composeTestRule.setContent {
DarkTestTheme {
LobstersTopAppBar(
currentDestination = Destination.Hottest,
toggleSortingOrder = { },
)
}
}
compareScreenshot(composeTestRule.onRoot().captureToImage().asAndroidBitmap())
}
@Test
fun showsRefreshIconWhenOnHottestPostsScreen_LightTheme() {
composeTestRule.setContent {
LightTestTheme {
LobstersTopAppBar(
currentDestination = Destination.Hottest,
toggleSortingOrder = { },
)
}
}
compareScreenshot(composeTestRule.onRoot().captureToImage().asAndroidBitmap())
}
@Test
fun doesNotShowRefreshIconWhenOnSavedPostsScreen_DarkTheme() {
composeTestRule.setContent {
DarkTestTheme {
LobstersTopAppBar(
currentDestination = Destination.Saved,
toggleSortingOrder = { },
)
}
}
compareScreenshot(composeTestRule.onRoot().captureToImage().asAndroidBitmap())
}
@Test
fun doesNotShowRefreshIconWhenOnSavedPostsScreen_LightTheme() {
composeTestRule.setContent {
LightTestTheme {
LobstersTopAppBar(
currentDestination = Destination.Saved,
toggleSortingOrder = { },
)
}
}
compareScreenshot(composeTestRule.onRoot().captureToImage().asAndroidBitmap())
}
}