Updated on 2026-08-14
This commit is contained in:
parent
8b0a7f01cf
commit
9c81f9ca51
4 changed files with 27 additions and 22 deletions
|
|
@ -45,12 +45,13 @@ internal class DefaultSingleYieldBalanceProducer @AssistedInject constructor(
|
|||
return multiYieldBalanceSupplier(
|
||||
params = MultiYieldBalanceProducer.Params(userWalletId = params.userWalletId),
|
||||
)
|
||||
.mapNotNull {
|
||||
val currentStakingIds = getStakingIds()
|
||||
|
||||
it.firstOrNull { balance ->
|
||||
currentStakingIds.contains(balance.getStakingId())
|
||||
.mapNotNull { balances ->
|
||||
val currentStakingIds = getStakingIds().ifEmpty {
|
||||
return@mapNotNull YieldBalance.Unsupported
|
||||
}
|
||||
|
||||
balances.firstOrNull { currentStakingIds.contains(it.getStakingId()) }
|
||||
?: YieldBalance.Unsupported
|
||||
}
|
||||
.distinctUntilChanged()
|
||||
.flowOn(dispatchers.default)
|
||||
|
|
|
|||
|
|
@ -184,10 +184,10 @@ internal class DefaultSingleYieldBalanceProducerTest {
|
|||
fun `test if flow doesn't contain network from params`() = runTest {
|
||||
val balance = MockYieldBalanceWrapperDTOFactory.createWithBalance(solanaId).toDomain()
|
||||
|
||||
val expected = flowOf(setOf(balance))
|
||||
val yieldBalancesFlow = flowOf(setOf(balance))
|
||||
|
||||
val multiParams = MultiYieldBalanceProducer.Params(userWalletId = params.userWalletId)
|
||||
every { multiNetworkStatusSupplier(multiParams) } returns expected
|
||||
every { multiNetworkStatusSupplier(multiParams) } returns yieldBalancesFlow
|
||||
coEvery { stakingIdFactory.create(params.userWalletId, params.currencyId, params.network) } returns stakingIds
|
||||
|
||||
val actual = producer.produce()
|
||||
|
|
@ -198,17 +198,18 @@ internal class DefaultSingleYieldBalanceProducerTest {
|
|||
|
||||
coVerify { stakingIdFactory.create(params.userWalletId, params.currencyId, params.network) }
|
||||
|
||||
Truth.assertThat(values.size).isEqualTo(0)
|
||||
val expected = YieldBalance.Unsupported
|
||||
Truth.assertThat(values.first()).isEqualTo(expected)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `test if wallet manager facade returns empty set`() = runTest {
|
||||
val balance = MockYieldBalanceWrapperDTOFactory.createWithBalance(tonId).toDomain()
|
||||
|
||||
val expected = flowOf(setOf(balance))
|
||||
val yieldBalancesFlow = flowOf(setOf(balance))
|
||||
|
||||
val multiParams = MultiYieldBalanceProducer.Params(userWalletId = params.userWalletId)
|
||||
every { multiNetworkStatusSupplier(multiParams) } returns expected
|
||||
every { multiNetworkStatusSupplier(multiParams) } returns yieldBalancesFlow
|
||||
coEvery { stakingIdFactory.create(params.userWalletId, params.currencyId, params.network) } returns emptySet()
|
||||
|
||||
val actual = producer.produce()
|
||||
|
|
@ -219,7 +220,8 @@ internal class DefaultSingleYieldBalanceProducerTest {
|
|||
|
||||
coVerify { stakingIdFactory.create(params.userWalletId, params.currencyId, params.network) }
|
||||
|
||||
Truth.assertThat(values.size).isEqualTo(0)
|
||||
val expected = YieldBalance.Unsupported
|
||||
Truth.assertThat(values.first()).isEqualTo(expected)
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue