From 338bcfa46aad5cf33ea08cfa7a8414f157340ee7 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 10:39:50 +0000 Subject: [PATCH] Add unit tests for ApkViewModel Co-authored-by: SayanthRock <202829406+SayanthRock@users.noreply.github.com> --- feature-apkinspector/build.gradle.kts | 4 ++++ .../feature/apkinspector/ApkViewModelTest.kt | 19 +++++++++++++++++++ gradle/libs.versions.toml | 2 ++ 3 files changed, 25 insertions(+) create mode 100644 feature-apkinspector/src/test/java/com/sayanthrock/rockreleasehub/feature/apkinspector/ApkViewModelTest.kt 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" }