From 5e3bc964931ecf4196ec430563ebb46b77e82f1d Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Tue, 28 Jun 2022 00:33:57 +0530 Subject: [PATCH] paparazzi-tests: switch MonthHeaderTest to TestParameterInjector --- gradle/libs.versions.toml | 1 + paparazzi-tests/build.gradle.kts | 1 + .../claw/android/tests/MonthHeaderTest.kt | 19 +++++++----------- .../dev/msfjarvis/claw/android/tests/Theme.kt | 10 +++++++++ ...ndroid.tests_MonthHeaderTest_dark_mode.png | Bin 8889 -> 0 bytes ...ests_MonthHeaderTest_verify[Dark]_dark.png | Bin 0 -> 8116 bytes ...s_MonthHeaderTest_verify[Light]_light.png} | Bin 7 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 paparazzi-tests/src/test/kotlin/dev/msfjarvis/claw/android/tests/Theme.kt delete mode 100644 paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_dark_mode.png create mode 100644 paparazzi-tests/src/test/snapshots/images/dev.msfjarvis.claw.android.tests_MonthHeaderTest_verify[Dark]_dark.png rename paparazzi-tests/src/test/snapshots/images/{dev.msfjarvis.claw.android.tests_MonthHeaderTest_light_mode.png => dev.msfjarvis.claw.android.tests_MonthHeaderTest_verify[Light]_light.png} (100%) 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 8f572f137b70b9e79493800e5344549a844f83d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8889 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

P%B;gn?tNdsdE&0qPel#lf1V1T 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