Updated on 2026-08-14
This commit is contained in:
parent
0b81b905c3
commit
50332186fa
47 changed files with 38 additions and 408 deletions
|
|
@ -1,8 +1,6 @@
|
|||
package com.tangem.data.account.utils
|
||||
|
||||
import com.tangem.blockchain.common.Blockchain
|
||||
import com.tangem.core.configtoggle.FeatureToggles
|
||||
import com.tangem.core.configtoggle.feature.FeatureTogglesManager
|
||||
import com.tangem.data.account.converter.CryptoPortfolioConverter
|
||||
import com.tangem.data.common.currency.UserTokensResponseFactory
|
||||
import com.tangem.data.common.network.NetworkFactory
|
||||
|
|
@ -34,7 +32,6 @@ internal class DefaultWalletAccountsResponseFactory @Inject constructor(
|
|||
private val cryptoPortfolioCF: CryptoPortfolioConverter.Factory,
|
||||
private val userTokensResponseFactory: UserTokensResponseFactory,
|
||||
private val networkFactory: NetworkFactory,
|
||||
private val featureTogglesManager: FeatureTogglesManager,
|
||||
) {
|
||||
|
||||
fun create(userWalletId: UserWalletId, userTokensResponse: UserTokensResponse?): GetWalletAccountsResponse {
|
||||
|
|
@ -79,11 +76,10 @@ internal class DefaultWalletAccountsResponseFactory @Inject constructor(
|
|||
|
||||
private fun UserWallet.extraDefaultBlockchains(): List<Blockchain> {
|
||||
val batchId = (this as? UserWallet.Cold)?.scanResponse?.card?.batchId ?: return emptyList()
|
||||
return when {
|
||||
batchId == ADI_PROMO_BATCH_ID &&
|
||||
featureTogglesManager.isFeatureEnabled(FeatureToggles.AND_15402_ADI_MAIN_SCREEN_DEFAULT_ENABLED) ->
|
||||
listOf(Blockchain.Adi)
|
||||
else -> emptyList()
|
||||
return if (batchId == ADI_PROMO_BATCH_ID) {
|
||||
listOf(Blockchain.Adi)
|
||||
} else {
|
||||
emptyList()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@ package com.tangem.data.account.utils
|
|||
|
||||
import com.google.common.truth.Truth
|
||||
import com.tangem.blockchain.common.Blockchain
|
||||
import com.tangem.core.configtoggle.FeatureToggles
|
||||
import com.tangem.core.configtoggle.feature.FeatureTogglesManager
|
||||
import com.tangem.data.account.converter.CryptoPortfolioConverter
|
||||
import com.tangem.data.account.converter.createWalletAccountDTO
|
||||
import com.tangem.data.account.utils.GetWalletAccountsResponseExtTest.Companion.createUserToken
|
||||
|
|
@ -35,14 +33,12 @@ class DefaultWalletAccountsResponseFactoryTest {
|
|||
private val cryptoPortfolioConverter = mockk<CryptoPortfolioConverter>()
|
||||
private val userTokensResponseFactory = mockk<UserTokensResponseFactory>()
|
||||
private val networkFactory = mockk<NetworkFactory>()
|
||||
private val featureTogglesManager = mockk<FeatureTogglesManager>()
|
||||
|
||||
private val factory = DefaultWalletAccountsResponseFactory(
|
||||
userWalletsListRepository = userWalletsListRepository,
|
||||
cryptoPortfolioCF = cryptoPortfolioCF,
|
||||
userTokensResponseFactory = userTokensResponseFactory,
|
||||
networkFactory = networkFactory,
|
||||
featureTogglesManager = featureTogglesManager,
|
||||
)
|
||||
|
||||
private val userWalletId = UserWalletId("011")
|
||||
|
|
@ -221,7 +217,7 @@ class DefaultWalletAccountsResponseFactoryTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
fun `create passes ADI as extra blockchain when batch is BB000053 and toggle is on`() = runTest {
|
||||
fun `create passes ADI as extra blockchain when batch is BB000053`() = runTest {
|
||||
// Arrange
|
||||
val userWallet = mockk<UserWallet.Cold>(relaxed = true) {
|
||||
every { walletId } returns userWalletId
|
||||
|
|
@ -229,9 +225,6 @@ class DefaultWalletAccountsResponseFactoryTest {
|
|||
}
|
||||
|
||||
every { userWalletsListRepository.userWallets } returns MutableStateFlow(listOf(userWallet))
|
||||
every {
|
||||
featureTogglesManager.isFeatureEnabled(FeatureToggles.AND_15402_ADI_MAIN_SCREEN_DEFAULT_ENABLED)
|
||||
} returns true
|
||||
|
||||
val accounts = AccountList.empty(userWallet.walletId).accounts
|
||||
.filterIsInstance<Account.CryptoPortfolio>()
|
||||
|
|
@ -265,51 +258,7 @@ class DefaultWalletAccountsResponseFactoryTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
fun `create passes no extra blockchains when batch is BB000053 but toggle is off`() = runTest {
|
||||
// Arrange
|
||||
val userWallet = mockk<UserWallet.Cold>(relaxed = true) {
|
||||
every { walletId } returns userWalletId
|
||||
every { scanResponse.card.batchId } returns "BB000053"
|
||||
}
|
||||
|
||||
every { userWalletsListRepository.userWallets } returns MutableStateFlow(listOf(userWallet))
|
||||
every {
|
||||
featureTogglesManager.isFeatureEnabled(FeatureToggles.AND_15402_ADI_MAIN_SCREEN_DEFAULT_ENABLED)
|
||||
} returns false
|
||||
|
||||
val accounts = AccountList.empty(userWallet.walletId).accounts
|
||||
.filterIsInstance<Account.CryptoPortfolio>()
|
||||
val defaultResponse = UserTokensResponse(
|
||||
group = UserTokensResponse.GroupType.NETWORK,
|
||||
sort = UserTokensResponse.SortType.BALANCE,
|
||||
tokens = emptyList(),
|
||||
)
|
||||
every {
|
||||
userTokensResponseFactory.createDefaultResponse(
|
||||
userWallet = userWallet,
|
||||
networkFactory = networkFactory,
|
||||
accountId = accounts.first().accountId,
|
||||
extraBlockchains = emptyList(),
|
||||
)
|
||||
} returns defaultResponse
|
||||
every { cryptoPortfolioConverter.convertListBack(accounts) } returns emptyList()
|
||||
|
||||
// Act
|
||||
factory.create(userWalletId, null)
|
||||
|
||||
// Assert
|
||||
coVerifyOrder {
|
||||
userTokensResponseFactory.createDefaultResponse(
|
||||
userWallet = userWallet,
|
||||
networkFactory = networkFactory,
|
||||
accountId = accounts.first().accountId,
|
||||
extraBlockchains = emptyList(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `create passes no extra blockchains when batch is not BB000053 even if toggle is on`() = runTest {
|
||||
fun `create passes no extra blockchains when batch is not BB000053`() = runTest {
|
||||
// Arrange
|
||||
val userWallet = mockk<UserWallet.Cold>(relaxed = true) {
|
||||
every { walletId } returns userWalletId
|
||||
|
|
@ -317,9 +266,6 @@ class DefaultWalletAccountsResponseFactoryTest {
|
|||
}
|
||||
|
||||
every { userWalletsListRepository.userWallets } returns MutableStateFlow(listOf(userWallet))
|
||||
every {
|
||||
featureTogglesManager.isFeatureEnabled(FeatureToggles.AND_15402_ADI_MAIN_SCREEN_DEFAULT_ENABLED)
|
||||
} returns true
|
||||
|
||||
val accounts = AccountList.empty(userWallet.walletId).accounts
|
||||
.filterIsInstance<Account.CryptoPortfolio>()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue