diff --git a/app/src/test/java/com/itsaky/androidide/viewmodel/CloneRepositoryViewModelTest.kt b/app/src/test/java/com/itsaky/androidide/viewmodel/CloneRepositoryViewModelTest.kt index 154ede825a..b3ce6de026 100644 --- a/app/src/test/java/com/itsaky/androidide/viewmodel/CloneRepositoryViewModelTest.kt +++ b/app/src/test/java/com/itsaky/androidide/viewmodel/CloneRepositoryViewModelTest.kt @@ -2,6 +2,7 @@ package com.itsaky.androidide.viewmodel import android.app.Application import androidx.arch.core.executor.testing.InstantTaskExecutorRule +import com.blankj.utilcode.util.NetworkUtils import com.itsaky.androidide.R import com.itsaky.androidide.git.core.GitCredentialsManager import com.itsaky.androidide.git.core.GitRepositoryManager @@ -10,6 +11,7 @@ import io.mockk.coVerify import io.mockk.every import io.mockk.mockk import io.mockk.mockkObject +import io.mockk.mockkStatic import io.mockk.unmockkAll import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.advanceUntilIdle @@ -50,6 +52,13 @@ class CloneRepositoryViewModelTest { @Before fun setup() { + // NetworkUtils.isConnected() transitively triggers blankj Utils.init() -> + // android.util.Log.e(), which throws "not mocked" under plain JVM tests. + // Stub the connectivity check so cloneRepository() proceeds to the + // GitRepositoryManager call these tests are actually exercising. + mockkStatic(NetworkUtils::class) + every { NetworkUtils.isConnected() } returns true + mockkObject(GitRepositoryManager) viewModel = CloneRepositoryViewModel(context, credentialsManager)