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
|
||||
|
||||
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.PostActions
|
||||
import dev.msfjarvis.claw.database.local.SavedPost
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@RunWith(TestParameterInjector::class)
|
||||
class LobstersCardTest {
|
||||
@get:Rule val paparazzi = Paparazzi()
|
||||
class LobstersCardTest : BasePaparazziTest() {
|
||||
companion object {
|
||||
private val post =
|
||||
SavedPost(
|
||||
|
@ -40,7 +33,7 @@ class LobstersCardTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
fun verify(@TestParameter theme: Theme) {
|
||||
fun verify() {
|
||||
paparazzi.snapshot {
|
||||
MaterialTheme(colorScheme = theme.colors) { LobstersCard(post, false, postActions) }
|
||||
}
|
||||
|
|
|
@ -1,21 +1,13 @@
|
|||
package dev.msfjarvis.claw.android.tests
|
||||
|
||||
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 kotlinx.datetime.Month
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@RunWith(TestParameterInjector::class)
|
||||
class MonthHeaderTest {
|
||||
@get:Rule val paparazzi = Paparazzi()
|
||||
|
||||
class MonthHeaderTest : BasePaparazziTest() {
|
||||
@Test
|
||||
fun verify(@TestParameter theme: Theme) {
|
||||
fun verify() {
|
||||
paparazzi.snapshot { MaterialTheme(colorScheme = theme.colors) { MonthHeader(Month.APRIL) } }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue