@@ -7,11 +7,13 @@ import android.app.Notification
77import android.app.NotificationManager
88import android.content.Context
99import androidx.test.core.app.ApplicationProvider
10+ import com.google.firebase.messaging.FirebaseMessaging
1011import dagger.hilt.android.testing.BindValue
1112import dagger.hilt.android.testing.HiltAndroidRule
1213import dagger.hilt.android.testing.HiltAndroidTest
1314import dagger.hilt.android.testing.HiltTestApplication
1415import dagger.hilt.android.testing.UninstallModules
16+ import kotlinx.coroutines.CoroutineScope
1517import kotlinx.coroutines.flow.MutableSharedFlow
1618import kotlinx.coroutines.runBlocking
1719import org.junit.After
@@ -23,7 +25,6 @@ import org.junit.Rule
2325import org.junit.Test
2426import org.junit.runner.RunWith
2527import org.lightningdevkit.ldknode.Event
26- import org.mockito.kotlin.KArgumentCaptor
2728import org.mockito.kotlin.any
2829import org.mockito.kotlin.anyOrNull
2930import org.mockito.kotlin.argumentCaptor
@@ -42,6 +43,7 @@ import to.bitkit.data.AppCacheData
4243import to.bitkit.data.CacheStore
4344import to.bitkit.di.DbModule
4445import to.bitkit.di.DispatchersModule
46+ import to.bitkit.di.ViewModelModule
4547import to.bitkit.domain.commands.NotifyPaymentReceived
4648import to.bitkit.domain.commands.NotifyPaymentReceivedHandler
4749import to.bitkit.models.NewTransactionSheetDetails
@@ -52,16 +54,23 @@ import to.bitkit.repositories.LightningRepo
5254import to.bitkit.repositories.WalletRepo
5355import to.bitkit.services.NodeEventHandler
5456import 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 )
6063class 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