Skip to content

Commit 1d9bbe6

Browse files
committed
fix: lighting node service test mocks
1 parent 05f5487 commit 1d9bbe6

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

app/src/test/java/to/bitkit/androidServices/LightningNodeServiceTest.kt

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ import android.app.Notification
77
import android.app.NotificationManager
88
import android.content.Context
99
import androidx.test.core.app.ApplicationProvider
10+
import com.google.firebase.messaging.FirebaseMessaging
1011
import dagger.hilt.android.testing.BindValue
1112
import dagger.hilt.android.testing.HiltAndroidRule
1213
import dagger.hilt.android.testing.HiltAndroidTest
1314
import dagger.hilt.android.testing.HiltTestApplication
1415
import dagger.hilt.android.testing.UninstallModules
16+
import kotlinx.coroutines.CoroutineScope
1517
import kotlinx.coroutines.flow.MutableSharedFlow
1618
import kotlinx.coroutines.runBlocking
1719
import org.junit.After
@@ -23,7 +25,6 @@ import org.junit.Rule
2325
import org.junit.Test
2426
import org.junit.runner.RunWith
2527
import org.lightningdevkit.ldknode.Event
26-
import org.mockito.kotlin.KArgumentCaptor
2728
import org.mockito.kotlin.any
2829
import org.mockito.kotlin.anyOrNull
2930
import org.mockito.kotlin.argumentCaptor
@@ -42,6 +43,7 @@ import to.bitkit.data.AppCacheData
4243
import to.bitkit.data.CacheStore
4344
import to.bitkit.di.DbModule
4445
import to.bitkit.di.DispatchersModule
46+
import to.bitkit.di.ViewModelModule
4547
import to.bitkit.domain.commands.NotifyPaymentReceived
4648
import to.bitkit.domain.commands.NotifyPaymentReceivedHandler
4749
import to.bitkit.models.NewTransactionSheetDetails
@@ -52,16 +54,23 @@ import to.bitkit.repositories.LightningRepo
5254
import to.bitkit.repositories.WalletRepo
5355
import to.bitkit.services.NodeEventHandler
5456
import to.bitkit.test.BaseUnitTest
57+
import to.bitkit.ui.shared.toast.ToastQueueManager
5558

5659
@HiltAndroidTest
57-
@UninstallModules(DispatchersModule::class, DbModule::class)
60+
@UninstallModules(DispatchersModule::class, DbModule::class, ViewModelModule::class)
5861
@Config(application = HiltTestApplication::class, sdk = [34]) // Pin Robolectric to an SDK that supports Java 17
5962
@RunWith(RobolectricTestRunner::class)
6063
class LightningNodeServiceTest : BaseUnitTest() {
6164

6265
@get:Rule(order = 1)
6366
var hiltRule = HiltAndroidRule(this)
6467

68+
@BindValue
69+
val firebaseMessaging = mock<FirebaseMessaging>()
70+
71+
@BindValue
72+
val toastManagerProvider = mock<(CoroutineScope) -> ToastQueueManager>()
73+
6574
@BindValue
6675
val lightningRepo = mock<LightningRepo>()
6776

@@ -74,8 +83,8 @@ class LightningNodeServiceTest : BaseUnitTest() {
7483
@BindValue
7584
val cacheStore = mock<CacheStore>()
7685

77-
private val captor: KArgumentCaptor<NodeEventHandler?> = argumentCaptor()
78-
private val cacheDataFlow = MutableSharedFlow<AppCacheData>(replay = 1)
86+
private val captor = argumentCaptor<NodeEventHandler>()
87+
private val cacheData = MutableSharedFlow<AppCacheData>(replay = 1)
7988
private val context = ApplicationProvider.getApplicationContext<Context>()
8089

8190
@Before
@@ -95,7 +104,7 @@ class LightningNodeServiceTest : BaseUnitTest() {
95104
whenever(lightningRepo.stop()).thenReturn(Result.success(Unit))
96105

97106
// Set up CacheStore mock
98-
whenever(cacheStore.data).thenReturn(cacheDataFlow)
107+
whenever(cacheStore.data).thenReturn(cacheData)
99108

100109
// Mock NotifyPaymentReceivedHandler to return ShowNotification result
101110
val sheet = NewTransactionSheetDetails(

0 commit comments

Comments
 (0)