diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d7f65989..88630fe8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -67,6 +67,7 @@ sqldelight-androidDriver = { module = "app.cash.sqldelight:android-driver", vers sqldelight-extensions-coroutines = { module = "app.cash.sqldelight:coroutines-extensions-jvm", version.ref = "sqldelight" } sqldelight-jvmDriver = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqldelight" } sqldelight-primitiveAdapters = { module = "app.cash.sqldelight:primitive-adapters", version.ref = "sqldelight" } +testparameterinjector = "com.google.testparameterinjector:test-parameter-injector:1.8" [plugins] android-test = { id = "com.android.test", version.ref = "agp" } diff --git a/paparazzi-tests/build.gradle.kts b/paparazzi-tests/build.gradle.kts index e846b80f..9865e3df 100644 --- a/paparazzi-tests/build.gradle.kts +++ b/paparazzi-tests/build.gradle.kts @@ -16,6 +16,7 @@ android { dependencies { testImplementation(kotlin("test-junit")) testImplementation(libs.kotlinx.datetime) + testImplementation(libs.testparameterinjector) testImplementation(projects.common) } diff --git a/paparazzi-tests/src/test/kotlin/dev/msfjarvis/claw/android/tests/MonthHeaderTest.kt b/paparazzi-tests/src/test/kotlin/dev/msfjarvis/claw/android/tests/MonthHeaderTest.kt index 57599a01..f4acdd22 100644 --- a/paparazzi-tests/src/test/kotlin/dev/msfjarvis/claw/android/tests/MonthHeaderTest.kt +++ b/paparazzi-tests/src/test/kotlin/dev/msfjarvis/claw/android/tests/MonthHeaderTest.kt @@ -2,27 +2,22 @@ package dev.msfjarvis.claw.android.tests import androidx.compose.material3.MaterialTheme import app.cash.paparazzi.Paparazzi -import dev.msfjarvis.claw.common.theme.DarkThemeColors -import dev.msfjarvis.claw.common.theme.LightThemeColors +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() @Test - fun light_mode() { - paparazzi.snapshot { - MaterialTheme(colorScheme = LightThemeColors) { MonthHeader(Month.APRIL) } - } - } - - @Test - fun dark_mode() { - paparazzi.snapshot { - MaterialTheme(colorScheme = DarkThemeColors) { MonthHeader(Month.JANUARY) } + fun verify(@TestParameter theme: Theme) { + paparazzi.snapshot(name = theme.name) { + MaterialTheme(colorScheme = theme.colors) { MonthHeader(Month.APRIL) } } } } diff --git a/paparazzi-tests/src/test/kotlin/dev/msfjarvis/claw/android/tests/Theme.kt b/paparazzi-tests/src/test/kotlin/dev/msfjarvis/claw/android/tests/Theme.kt new file mode 100644 index 00000000..1450ae46 --- /dev/null +++ b/paparazzi-tests/src/test/kotlin/dev/msfjarvis/claw/android/tests/Theme.kt @@ -0,0 +1,10 @@ +package dev.msfjarvis.claw.android.tests + +import androidx.compose.material3.ColorScheme +import dev.msfjarvis.claw.common.theme.DarkThemeColors +import dev.msfjarvis.claw.common.theme.LightThemeColors + +enum class Theme(val colors: ColorScheme) { + Light(LightThemeColors), + Dark(DarkThemeColors), +} diff --git a/paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_dark_mode.png b/paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_dark_mode.png deleted file mode 100644 index 8f572f13..00000000 Binary files a/paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_dark_mode.png and /dev/null differ diff --git a/paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_verify[Dark]_dark.png b/paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_verify[Dark]_dark.png new file mode 100644 index 00000000..45c3d691 Binary files /dev/null and b/paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_verify[Dark]_dark.png differ diff --git a/paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_light_mode.png b/paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_verify[Light]_light.png similarity index 100% rename from paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_light_mode.png rename to paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_verify[Light]_light.png