diff --git a/feature-apkinspector/build.gradle.kts b/feature-apkinspector/build.gradle.kts index 903192e..7c45c13 100644 --- a/feature-apkinspector/build.gradle.kts +++ b/feature-apkinspector/build.gradle.kts @@ -41,4 +41,8 @@ dependencies { implementation(libs.hilt.android) ksp(libs.hilt.compiler) + + testImplementation(libs.junit) + testImplementation(libs.turbine) + testImplementation(libs.kotlinx.coroutines.test) } diff --git a/feature-apkinspector/src/test/java/com/sayanthrock/rockreleasehub/feature/apkinspector/ApkViewModelTest.kt b/feature-apkinspector/src/test/java/com/sayanthrock/rockreleasehub/feature/apkinspector/ApkViewModelTest.kt new file mode 100644 index 0000000..0551cb3 --- /dev/null +++ b/feature-apkinspector/src/test/java/com/sayanthrock/rockreleasehub/feature/apkinspector/ApkViewModelTest.kt @@ -0,0 +1,19 @@ +package com.sayanthrock.rockreleasehub.feature.apkinspector + +import app.cash.turbine.test +import kotlinx.coroutines.test.runTest +import org.junit.Assert.assertEquals +import org.junit.Test + +class ApkViewModelTest { + + @Test + fun initialStateIsIdle() = runTest { + val viewModel = ApkViewModel() + + viewModel.uiState.test { + assertEquals(ApkState.Idle, awaitItem()) + cancelAndIgnoreRemainingEvents() + } + } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ea639be..9b53ee6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,6 +24,7 @@ pagingCompose = "3.3.0-alpha05" coil = "2.6.0" ksp = "1.9.23-1.0.19" coroutines = "1.8.0" +turbine = "1.1.0" [libraries] robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" } @@ -80,6 +81,7 @@ coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coi # Coroutines kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" } kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines" } +turbine = { group = "app.cash.turbine", name = "turbine", version.ref = "turbine" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" }