Updated on 2026-08-14
This commit is contained in:
parent
15995b8fc3
commit
1336f0dc64
5 changed files with 94 additions and 4 deletions
|
|
@ -27,8 +27,8 @@ object TestActions {
|
|||
* @param isTestView - true must be used if you want to show or hide your view depends on BuildConfig
|
||||
*/
|
||||
fun initFor(view: View, actions: List<TestAction>, isTestView: Boolean = false) {
|
||||
if (isTestView) view.show(BuildConfig.TEST_ACTION_ENABLED)
|
||||
if (!BuildConfig.TEST_ACTION_ENABLED) return
|
||||
if (isTestView) view.show(BuildConfig.TEST_ACTION_ENABLED)
|
||||
|
||||
view.setOnClickListener {
|
||||
store.dispatchDialogShow(AppDialog.TestActionsDialog(actions))
|
||||
|
|
|
|||
|
|
@ -41,5 +41,15 @@ class OnboardingSaltPayHelper {
|
|||
Result.Failure(error)
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun testProceedToMainScreen(scanResponse: ScanResponse): Result<Boolean> {
|
||||
return try {
|
||||
Result.Success(false)
|
||||
} catch (ex: Exception) {
|
||||
Result.Failure(ex)
|
||||
} catch (error: SaltPayRegistrationError){
|
||||
Result.Failure(error)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -116,6 +116,8 @@ class OnWalletLoadedReducer {
|
|||
private fun onSingleWalletLoaded(wallet: Wallet, walletState: WalletState): WalletState {
|
||||
if (wallet.blockchain != walletState.primaryBlockchain) return walletState
|
||||
|
||||
// val ratesRespository = store.state.globalState.tapWalletManager.ratesRepository
|
||||
// val tokenCurrency =
|
||||
val fiatCurrencyName = store.state.globalState.appCurrency.code
|
||||
val token = wallet.getFirstToken()
|
||||
val tokenData = if (token != null) {
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ import com.tangem.tap.features.wallet.redux.WalletState.Companion.UNKNOWN_AMOUNT
|
|||
import com.tangem.tap.features.wallet.ui.adapters.PendingTransactionsAdapter
|
||||
import com.tangem.tap.features.wallet.ui.adapters.WalletDetailWarningMessagesAdapter
|
||||
import com.tangem.tap.features.wallet.ui.images.load
|
||||
import com.tangem.tap.features.wallet.ui.test.TestWalletDetails
|
||||
import com.tangem.tap.features.wallet.ui.test.TestWallet
|
||||
import com.tangem.tap.store
|
||||
import com.tangem.wallet.R
|
||||
import com.tangem.wallet.databinding.FragmentWalletDetailsBinding
|
||||
|
|
@ -125,7 +125,7 @@ class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details),
|
|||
view?.findViewById<View>(R.id.l_balance)?.let { view ->
|
||||
TestActions.initFor(
|
||||
view = view,
|
||||
actions = TestWalletDetails.solanaRentExemptWarning()
|
||||
actions = TestWallet.solanaRentExemptWarning()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,13 @@
|
|||
package com.tangem.tap.features.wallet.ui.test
|
||||
|
||||
import com.tangem.blockchain.common.Amount
|
||||
import com.tangem.blockchain.common.AmountType
|
||||
import com.tangem.blockchain.common.Token
|
||||
import com.tangem.blockchain.common.WalletManager
|
||||
import com.tangem.common.extensions.guard
|
||||
import com.tangem.tap.common.TestAction
|
||||
import com.tangem.tap.common.TestActions
|
||||
import com.tangem.tap.common.extensions.dispatchDebugErrorNotification
|
||||
import com.tangem.tap.domain.tokens.models.BlockchainNetwork
|
||||
import com.tangem.tap.features.wallet.redux.WalletAction
|
||||
import com.tangem.tap.store
|
||||
|
|
@ -13,7 +17,7 @@ import kotlin.random.Random
|
|||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
class TestWalletDetails {
|
||||
class TestWallet {
|
||||
companion object {
|
||||
fun solanaRentExemptWarning(): List<TestAction> {
|
||||
val checker = SolanaRentWarningActionEmitter()
|
||||
|
|
@ -26,6 +30,80 @@ class TestWalletDetails {
|
|||
"BALANCE = 0.00089089" to { checker.setMoreThanRentExemptByOne() },
|
||||
)
|
||||
}
|
||||
|
||||
fun getBlockchainBalanceActions(blockchainNetwork: BlockchainNetwork): List<TestAction> {
|
||||
return getBlockchainBalanceActions(
|
||||
getWalletManager(blockchainNetwork),
|
||||
blockchainNetwork.blockchain.decimals(),
|
||||
)
|
||||
}
|
||||
|
||||
fun getTokenBalanceAction(blockchainNetwork: BlockchainNetwork, token: Token): List<TestAction> {
|
||||
return getTokenBalanceAction(getWalletManager(blockchainNetwork), token)
|
||||
}
|
||||
|
||||
fun getBlockchainBalanceActions(walletManager: WalletManager?, decimals: Int): List<TestAction> {
|
||||
val minValue = BigDecimal.ONE.movePointLeft(decimals)
|
||||
val averageValue = BigDecimal.ONE.movePointRight(decimals)
|
||||
.divide(BigDecimal(2)).movePointLeft(decimals)
|
||||
val maxValue = BigDecimal(2).pow(32)
|
||||
|
||||
return listOf(
|
||||
"0.0" to { setBalance(walletManager, BigDecimal.ZERO) },
|
||||
"Min value" to { setBalance(walletManager, minValue) },
|
||||
"Average value" to { setBalance(walletManager, averageValue) },
|
||||
"Max value" to { setBalance(walletManager, maxValue) },
|
||||
"1234567890123.01234567890123" to { setBalance(walletManager, BigDecimal.ZERO) },
|
||||
)
|
||||
}
|
||||
|
||||
fun getTokenBalanceAction(walletManager: WalletManager?, token: Token): List<TestAction> {
|
||||
val minValue = BigDecimal.ONE.movePointLeft(token.decimals)
|
||||
val averageValue = BigDecimal.ONE.movePointRight(token.decimals)
|
||||
.divide(BigDecimal(2)).movePointLeft(token.decimals)
|
||||
val maxValue = BigDecimal(2).pow(32)
|
||||
|
||||
return listOf(
|
||||
"0.0" to { setTokenBalance(walletManager, BigDecimal.ZERO, token) },
|
||||
"Min value" to { setTokenBalance(walletManager, minValue, token) },
|
||||
"Average value" to { setTokenBalance(walletManager, averageValue, token) },
|
||||
"Max value" to { setTokenBalance(walletManager, maxValue, token) },
|
||||
"1234567890123.01234567890123" to { setTokenBalance(walletManager, BigDecimal.ZERO, token) },
|
||||
)
|
||||
}
|
||||
|
||||
fun setBalance(walletManager: WalletManager?, value: BigDecimal) {
|
||||
val manager = walletManager.guard {
|
||||
store.dispatchDebugErrorNotification("WalletManager not found")
|
||||
return
|
||||
}
|
||||
val amount = manager.wallet.amounts[AmountType.Coin] ?: Amount(manager.wallet.blockchain)
|
||||
setBalance(manager, amount, value)
|
||||
}
|
||||
|
||||
private fun setTokenBalance(walletManager: WalletManager?, value: BigDecimal, token: Token? = null) {
|
||||
val manager = walletManager.guard {
|
||||
store.dispatchDebugErrorNotification("WalletManager not found")
|
||||
return
|
||||
}
|
||||
val token = token.guard {
|
||||
store.dispatchDebugErrorNotification("Token not found")
|
||||
return
|
||||
}
|
||||
|
||||
val amount = manager.wallet.amounts[AmountType.Token(token)] ?: Amount(token)
|
||||
setBalance(manager, amount, value)
|
||||
}
|
||||
|
||||
private fun setBalance(walletManager: WalletManager, amount: Amount, value: BigDecimal) {
|
||||
TestActions.testAmountInjectionForWalletManagerEnabled = true
|
||||
walletManager.wallet.setAmount(amount.copy(value = value))
|
||||
store.dispatch(WalletAction.LoadData)
|
||||
}
|
||||
|
||||
private fun getWalletManager(blockchainNetwork: BlockchainNetwork): WalletManager? {
|
||||
return store.state.walletState.getWalletManager(blockchainNetwork)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue