mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-13 19:37:00 +05:30
paparazzi-tests: setup a base test class
This commit is contained in:
parent
4b6cc1659d
commit
431444f87c
3 changed files with 18 additions and 19 deletions
|
@ -0,0 +1,14 @@
|
||||||
|
package dev.msfjarvis.claw.android.tests
|
||||||
|
|
||||||
|
import app.cash.paparazzi.Paparazzi
|
||||||
|
import com.google.testing.junit.testparameterinjector.TestParameter
|
||||||
|
import com.google.testing.junit.testparameterinjector.TestParameterInjector
|
||||||
|
import org.junit.Rule
|
||||||
|
import org.junit.runner.RunWith
|
||||||
|
|
||||||
|
/** Base class for Paparazzi based tests that handles parameterization based on [Theme]. */
|
||||||
|
@RunWith(TestParameterInjector::class)
|
||||||
|
abstract class BasePaparazziTest {
|
||||||
|
@get:Rule val paparazzi = Paparazzi()
|
||||||
|
@TestParameter lateinit var theme: Theme
|
||||||
|
}
|
|
@ -1,19 +1,12 @@
|
||||||
package dev.msfjarvis.claw.android.tests
|
package dev.msfjarvis.claw.android.tests
|
||||||
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import app.cash.paparazzi.Paparazzi
|
|
||||||
import com.google.testing.junit.testparameterinjector.TestParameter
|
|
||||||
import com.google.testing.junit.testparameterinjector.TestParameterInjector
|
|
||||||
import dev.msfjarvis.claw.common.posts.LobstersCard
|
import dev.msfjarvis.claw.common.posts.LobstersCard
|
||||||
import dev.msfjarvis.claw.common.posts.PostActions
|
import dev.msfjarvis.claw.common.posts.PostActions
|
||||||
import dev.msfjarvis.claw.database.local.SavedPost
|
import dev.msfjarvis.claw.database.local.SavedPost
|
||||||
import org.junit.Rule
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
|
||||||
|
|
||||||
@RunWith(TestParameterInjector::class)
|
class LobstersCardTest : BasePaparazziTest() {
|
||||||
class LobstersCardTest {
|
|
||||||
@get:Rule val paparazzi = Paparazzi()
|
|
||||||
companion object {
|
companion object {
|
||||||
private val post =
|
private val post =
|
||||||
SavedPost(
|
SavedPost(
|
||||||
|
@ -40,7 +33,7 @@ class LobstersCardTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun verify(@TestParameter theme: Theme) {
|
fun verify() {
|
||||||
paparazzi.snapshot {
|
paparazzi.snapshot {
|
||||||
MaterialTheme(colorScheme = theme.colors) { LobstersCard(post, false, postActions) }
|
MaterialTheme(colorScheme = theme.colors) { LobstersCard(post, false, postActions) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,13 @@
|
||||||
package dev.msfjarvis.claw.android.tests
|
package dev.msfjarvis.claw.android.tests
|
||||||
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import app.cash.paparazzi.Paparazzi
|
|
||||||
import com.google.testing.junit.testparameterinjector.TestParameter
|
|
||||||
import com.google.testing.junit.testparameterinjector.TestParameterInjector
|
|
||||||
import dev.msfjarvis.claw.common.ui.decorations.MonthHeader
|
import dev.msfjarvis.claw.common.ui.decorations.MonthHeader
|
||||||
import kotlinx.datetime.Month
|
import kotlinx.datetime.Month
|
||||||
import org.junit.Rule
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
|
||||||
|
|
||||||
@RunWith(TestParameterInjector::class)
|
|
||||||
class MonthHeaderTest {
|
|
||||||
@get:Rule val paparazzi = Paparazzi()
|
|
||||||
|
|
||||||
|
class MonthHeaderTest : BasePaparazziTest() {
|
||||||
@Test
|
@Test
|
||||||
fun verify(@TestParameter theme: Theme) {
|
fun verify() {
|
||||||
paparazzi.snapshot { MaterialTheme(colorScheme = theme.colors) { MonthHeader(Month.APRIL) } }
|
paparazzi.snapshot { MaterialTheme(colorScheme = theme.colors) { MonthHeader(Month.APRIL) } }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue