Skip to content

Commit 5f4b52a

Browse files
committed
refactor: replace hasChannelsReady with canReceive
1 parent 6a7aaff commit 5f4b52a

File tree

4 files changed

+15
-19
lines changed

4 files changed

+15
-19
lines changed

app/src/main/java/to/bitkit/repositories/LightningRepo.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -708,10 +708,9 @@ class LightningRepo @Inject constructor(
708708
fun getChannels(): List<ChannelDetails>? =
709709
if (_lightningState.value.nodeLifecycleState.isRunning()) lightningService.channels else null
710710

711-
fun hasChannelsReady(): Boolean {
711+
fun canReceive(): Boolean {
712712
val isRunning = _lightningState.value.nodeLifecycleState.isRunning()
713-
val hasChannelsReady = lightningService.channels?.any { it.isChannelReady } == true
714-
return isRunning && hasChannelsReady
713+
return isRunning && lightningService.canReceive()
715714
}
716715

717716
suspend fun registerForNotifications(token: String? = null) = executeWhenNodeRunning("registerForNotifications") {

app/src/main/java/to/bitkit/repositories/WalletRepo.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -382,8 +382,8 @@ class WalletRepo @Inject constructor(
382382
updateBip21AmountSats(amountSats)
383383
updateBip21Description(description)
384384

385-
val hasChannelsReady = lightningRepo.hasChannelsReady()
386-
if (hasChannelsReady && _walletState.value.receiveOnSpendingBalance) {
385+
val canReceive = lightningRepo.canReceive()
386+
if (canReceive && _walletState.value.receiveOnSpendingBalance) {
387387
lightningRepo.createInvoice(
388388
amountSats = _walletState.value.bip21AmountSats,
389389
description = _walletState.value.bip21Description,

app/src/test/java/to/bitkit/repositories/LightningRepoTest.kt

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -254,25 +254,24 @@ class LightningRepoTest : BaseUnitTest() {
254254
}
255255

256256
@Test
257-
fun `hasChannelsReady should return false when node is not running`() = test {
258-
assertFalse(sut.hasChannelsReady())
257+
fun `canReceive should return false when node is not running`() = test {
258+
assertFalse(sut.canReceive())
259259
}
260260

261261
@Test
262-
fun `hasChannelsReady should return false when having non-ready channels`() = test {
262+
fun `canReceive should return false when node is running but cannot receive`() = test {
263263
startNodeForTesting()
264-
whenever(lightningService.channels).thenReturn(listOf(mock()))
264+
whenever(lightningService.canReceive()).thenReturn(false)
265265

266-
assertFalse(sut.hasChannelsReady())
266+
assertFalse(sut.canReceive())
267267
}
268268

269269
@Test
270-
fun `hasChannelsReady should return true when having channels ready`() = test {
270+
fun `canReceive should return true when node can receive`() = test {
271271
startNodeForTesting()
272-
val channelReady = mock<ChannelDetails> { on { isChannelReady } doReturn true }
273-
whenever(lightningService.channels).thenReturn(listOf(channelReady))
272+
whenever(lightningService.canReceive()).thenReturn(true)
274273

275-
assertTrue(sut.hasChannelsReady())
274+
assertTrue(sut.canReceive())
276275
}
277276

278277
@Test

app/src/test/java/to/bitkit/repositories/WalletRepoTest.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -258,9 +258,9 @@ class WalletRepoTest : BaseUnitTest() {
258258
}
259259

260260
@Test
261-
fun `updateBip21Invoice should create bolt11 when having channels ready`() = test {
261+
fun `updateBip21Invoice should create bolt11 when node can receive`() = test {
262262
val testInvoice = "testInvoice"
263-
whenever(lightningRepo.hasChannelsReady()).thenReturn(true)
263+
whenever(lightningRepo.canReceive()).thenReturn(true)
264264
whenever(lightningRepo.createInvoice(anyOrNull(), any(), any())).thenReturn(Result.success(testInvoice))
265265

266266
sut.updateBip21Invoice(amountSats = 1000uL, description = "test").let { result ->
@@ -270,8 +270,7 @@ class WalletRepoTest : BaseUnitTest() {
270270
}
271271

272272
@Test
273-
fun `updateBip21Invoice should not create bolt11 when no channels exist`() = test {
274-
whenever(lightningRepo.hasChannelsReady()).thenReturn(false)
273+
fun `updateBip21Invoice should not create bolt11 when node cannot receive`() = test {
275274
sut.updateBip21Invoice(amountSats = 1000uL, description = "test").let { result ->
276275
assertTrue(result.isSuccess)
277276
assertEquals("", sut.walletState.value.bolt11)
@@ -282,7 +281,6 @@ class WalletRepoTest : BaseUnitTest() {
282281
fun `updateBip21Invoice should build correct BIP21 URL`() = test {
283282
val testAddress = "testAddress"
284283
whenever(cacheStore.data).thenReturn(flowOf(AppCacheData(onchainAddress = testAddress)))
285-
whenever(lightningRepo.hasChannelsReady()).thenReturn(false)
286284
whenever(lightningRepo.createInvoice(anyOrNull(), any(), any())).thenReturn(Result.success("testInvoice"))
287285
sut = createSut()
288286

0 commit comments

Comments
 (0)