summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2022-06-14 06:22:57 +0200
committerAlbin <albin@mullvad.net>2022-06-14 07:44:20 +0200
commit85ffa84e998175f9f007b450d0756cde8c7530d0 (patch)
tree76010559dd537dbb313c8f6b1d4b2f1f99fe8d50
parent3f2417b4436a744463836a562ced84fc2ff60af8 (diff)
downloadmullvadvpn-85ffa84e998175f9f007b450d0756cde8c7530d0.tar.xz
mullvadvpn-85ffa84e998175f9f007b450d0756cde8c7530d0.zip
Fix failing test due to non-loaded di modules
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ui/fragments/SplitTunnelingFragmentTest.kt19
1 files changed, 18 insertions, 1 deletions
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ui/fragments/SplitTunnelingFragmentTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ui/fragments/SplitTunnelingFragmentTest.kt
index a241593c00..a9ee9f8438 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ui/fragments/SplitTunnelingFragmentTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ui/fragments/SplitTunnelingFragmentTest.kt
@@ -23,6 +23,7 @@ import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.runBlocking
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.RecyclerViewMatcher.Companion.withRecyclerView
+import net.mullvad.mullvadvpn.applist.ApplicationsIconManager
import net.mullvad.mullvadvpn.applist.ViewIntent
import net.mullvad.mullvadvpn.di.APPS_SCOPE
import net.mullvad.mullvadvpn.model.ListItemData
@@ -33,8 +34,11 @@ import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
+import org.koin.core.context.loadKoinModules
+import org.koin.core.context.unloadKoinModules
import org.koin.core.qualifier.named
import org.koin.core.scope.Scope
+import org.koin.dsl.module
import org.koin.test.KoinTest
import org.koin.test.mock.MockProviderRule
import org.koin.test.mock.declareMock
@@ -45,7 +49,17 @@ class SplitTunnelingFragmentTest : KoinTest {
private val mockedViewModel = mockk<SplitTunnelingViewModel>(relaxUnitFun = true)
private val sharedFlow = MutableSharedFlow<List<ListItemData>>()
- private val scope: Scope = getKoin().getOrCreateScope(APPS_SCOPE, named(APPS_SCOPE))
+ private lateinit var scope: Scope
+
+ private val testModule = module {
+ scope(named(APPS_SCOPE)) {
+ scoped {
+ mockk<ApplicationsIconManager>().apply {
+ every { getAppIcon(any()) } returns mockk(relaxed = true)
+ }
+ }
+ }
+ }
@get:Rule
val mockProvider = MockProviderRule.create { clazz ->
@@ -57,6 +71,8 @@ class SplitTunnelingFragmentTest : KoinTest {
@Before
fun setUp() {
+ loadKoinModules(testModule)
+ scope = getKoin().getOrCreateScope(APPS_SCOPE, named(APPS_SCOPE))
scope.declareMock<SplitTunnelingViewModel>()
every { mockedViewModel.listItems } returns sharedFlow
coEvery { mockedViewModel.processIntent(ViewIntent.ViewIsReady) } just Runs
@@ -65,6 +81,7 @@ class SplitTunnelingFragmentTest : KoinTest {
@After
fun tearDown() {
scope.close()
+ unloadKoinModules(testModule)
unmockkAll()
}