Updated on 2026-08-14

This commit is contained in:
Tangem 2026-06-03 14:10:17 +04:00
parent 09c52231e2
commit 3cc0a643e9
40 changed files with 77 additions and 71 deletions

View file

@ -8,7 +8,7 @@ import com.tangem.domain.wallets.models.AppsFlyerConversionData
import com.tangem.feature.referral.domain.SetShouldShowMobileWalletPromoUseCase import com.tangem.feature.referral.domain.SetShouldShowMobileWalletPromoUseCase
import com.tangem.test.core.ProvideTestModels import com.tangem.test.core.ProvideTestModels
import arrow.core.right import arrow.core.right
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import io.mockk.clearMocks import io.mockk.clearMocks
import io.mockk.coEvery import io.mockk.coEvery
import io.mockk.coVerify import io.mockk.coVerify

View file

@ -1,7 +1,7 @@
package com.tangem.tap.domain package com.tangem.tap.domain
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.domain.card.MockScanResponseFactory import com.tangem.common.test.domain.card.MockScanResponseFactory
import com.tangem.common.test.domain.wallet.MockUserWalletFactory import com.tangem.common.test.domain.wallet.MockUserWalletFactory
import com.tangem.core.analytics.utils.TrackingContextProxy import com.tangem.core.analytics.utils.TrackingContextProxy

View file

@ -335,7 +335,10 @@ class DefaultWalletAccountsFetcherTest {
body = SaveWalletAccountsResponse(savedAccountsResponse.accounts), body = SaveWalletAccountsResponse(savedAccountsResponse.accounts),
) )
eTagsStore.clear(userWalletId, ETagsStore.Key.WalletAccounts) eTagsStore.clear(userWalletId, ETagsStore.Key.WalletAccounts)
userTokensSaver.push(userWalletId = userWalletId, response = savedAccountsResponse.toUserTokensResponse()) userTokensSaver.push(
userWalletId = userWalletId,
response = savedAccountsResponse.toUserTokensResponse(),
)
tokensMigration.migrate(userWalletId) tokensMigration.migrate(userWalletId)
} }
} }

View file

@ -19,7 +19,6 @@ import com.tangem.datasource.api.tangemTech.models.account.WalletAccountDTO
import com.tangem.datasource.local.datastore.RuntimeStateStore import com.tangem.datasource.local.datastore.RuntimeStateStore
import com.tangem.domain.account.models.AccountList import com.tangem.domain.account.models.AccountList
import com.tangem.domain.account.models.ArchivedAccount import com.tangem.domain.account.models.ArchivedAccount
import com.tangem.domain.models.account.Account
import com.tangem.domain.models.account.Account.CryptoPortfolio import com.tangem.domain.models.account.Account.CryptoPortfolio
import com.tangem.domain.models.account.AccountId import com.tangem.domain.models.account.AccountId
import com.tangem.domain.models.account.AccountName import com.tangem.domain.models.account.AccountName

View file

@ -2,7 +2,7 @@ package com.tangem.data.account.repository
import app.cash.turbine.test import app.cash.turbine.test
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.domain.account.models.AccountExpandedState import com.tangem.domain.account.models.AccountExpandedState
import com.tangem.domain.models.account.AccountId import com.tangem.domain.models.account.AccountId
import com.tangem.domain.models.account.DerivationIndex import com.tangem.domain.models.account.DerivationIndex
@ -21,7 +21,7 @@ class DefaultAccountsExpandedRepositoryTest {
@Test @Test
fun `expandedAccounts emits updated state when store changes`() = runTest { fun `expandedAccounts emits updated state when store changes`() = runTest {
val dataStore = MockStateDataStore<Map<String, Set<AccountsExpandedDTO>>>( val dataStore = MockStateDataStore<Map<String, Set<AccountsExpandedDTO>>>(
default = emptyMap() default = emptyMap(),
) )
val repository = DefaultAccountsExpandedRepository(dataStore) val repository = DefaultAccountsExpandedRepository(dataStore)
@ -37,9 +37,9 @@ class DefaultAccountsExpandedRepositoryTest {
walletId.stringValue to setOf( walletId.stringValue to setOf(
AccountsExpandedDTO( AccountsExpandedDTO(
accountId = mainAccountId.value, accountId = mainAccountId.value,
isExpanded = true isExpanded = true,
) ),
) ),
) )
} }
@ -60,14 +60,14 @@ class DefaultAccountsExpandedRepositoryTest {
@Test @Test
fun `expandedAccounts emits when update is called`() = runTest { fun `expandedAccounts emits when update is called`() = runTest {
val dataStore = MockStateDataStore<Map<String, Set<AccountsExpandedDTO>>>( val dataStore = MockStateDataStore<Map<String, Set<AccountsExpandedDTO>>>(
default = emptyMap() default = emptyMap(),
) )
val repository = DefaultAccountsExpandedRepository(dataStore) val repository = DefaultAccountsExpandedRepository(dataStore)
val state = AccountExpandedState( val state = AccountExpandedState(
accountId = mainAccountId, accountId = mainAccountId,
isExpanded = true isExpanded = true,
) )
repository.expandedAccounts.test { repository.expandedAccounts.test {
@ -94,9 +94,9 @@ class DefaultAccountsExpandedRepositoryTest {
mapOf( mapOf(
walletId.stringValue to setOf( walletId.stringValue to setOf(
AccountsExpandedDTO(mainAccountId.value, true), AccountsExpandedDTO(mainAccountId.value, true),
AccountsExpandedDTO(secondAccountId.value, false) AccountsExpandedDTO(secondAccountId.value, false),
) ),
) ),
) )
val repository = DefaultAccountsExpandedRepository(dataStore) val repository = DefaultAccountsExpandedRepository(dataStore)
@ -109,7 +109,7 @@ class DefaultAccountsExpandedRepositoryTest {
// when // when
repository.syncStore( repository.syncStore(
walletId = walletId, walletId = walletId,
existAccounts = setOf(mainAccountId) // without secondAccountId existAccounts = setOf(mainAccountId), // without secondAccountId
) )
// then // then

View file

@ -3,7 +3,7 @@ package com.tangem.data.account.store
import android.content.Context import android.content.Context
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.squareup.moshi.Moshi import com.squareup.moshi.Moshi
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.domain.models.wallet.UserWalletId import com.tangem.domain.models.wallet.UserWalletId
import io.mockk.clearMocks import io.mockk.clearMocks
import io.mockk.mockk import io.mockk.mockk

View file

@ -1,7 +1,7 @@
package com.tangem.data.account.token package com.tangem.data.account.token
import arrow.core.right import arrow.core.right
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.data.account.converter.createGetWalletAccountsResponse import com.tangem.data.account.converter.createGetWalletAccountsResponse
import com.tangem.data.account.converter.createWalletAccountDTO import com.tangem.data.account.converter.createWalletAccountDTO
import com.tangem.data.account.store.AccountsResponseStore import com.tangem.data.account.store.AccountsResponseStore

View file

@ -40,7 +40,12 @@ internal class DefaultMultiNetworkStatusFetcherTest {
@BeforeEach @BeforeEach
fun resetMocks() { fun resetMocks() {
clearMocks(networksStatusesStore, cardCryptoCurrencyFactory, commonNetworkStatusFetcher, dynamicAddressesInitializer) clearMocks(
networksStatusesStore,
cardCryptoCurrencyFactory,
commonNetworkStatusFetcher,
dynamicAddressesInitializer,
)
// No dynamic addresses restore by default // No dynamic addresses restore by default
coEvery { dynamicAddressesInitializer.getXpubs(any(), any()) } returns emptyMap() coEvery { dynamicAddressesInitializer.getXpubs(any(), any()) } returns emptyMap()
} }

View file

@ -66,7 +66,7 @@ internal class DefaultMultiNetworkStatusProducerTest {
val networksStatusesFlow = flowOf(simpleStatuses) val networksStatusesFlow = flowOf(simpleStatuses)
every { networksStatusesStore.get(params.userWalletId) } returns networksStatusesFlow every { networksStatusesStore.get(params.userWalletId) } returns networksStatusesFlow
val userWalletsFlow = MutableStateFlow(listOf(userWallet)) val userWalletsFlow = MutableStateFlow(listOf(userWallet))
every { userWalletsListRepository.userWallets } returns userWalletsFlow every { userWalletsListRepository.userWallets } returns userWalletsFlow
@ -132,7 +132,7 @@ internal class DefaultMultiNetworkStatusProducerTest {
// region every // region every
every { networksStatusesStore.get(params.userWalletId) } returns networksStatusesFlow every { networksStatusesStore.get(params.userWalletId) } returns networksStatusesFlow
val userWalletsFlow = MutableStateFlow(listOf(userWallet)) val userWalletsFlow = MutableStateFlow(listOf(userWallet))
every { userWalletsListRepository.userWallets } returns userWalletsFlow every { userWalletsListRepository.userWallets } returns userWalletsFlow
every { every {
@ -235,7 +235,7 @@ internal class DefaultMultiNetworkStatusProducerTest {
// region every // region every
every { networksStatusesStore.get(params.userWalletId) } returns networksStatusesFlow every { networksStatusesStore.get(params.userWalletId) } returns networksStatusesFlow
val userWalletsFlow = MutableStateFlow(listOf(userWallet)) val userWalletsFlow = MutableStateFlow(listOf(userWallet))
every { userWalletsListRepository.userWallets } returns userWalletsFlow every { userWalletsListRepository.userWallets } returns userWalletsFlow
@ -319,7 +319,7 @@ internal class DefaultMultiNetworkStatusProducerTest {
// region every // region every
every { networksStatusesStore.get(params.userWalletId) } returns networksStatusesFlow every { networksStatusesStore.get(params.userWalletId) } returns networksStatusesFlow
val userWalletsFlow = MutableStateFlow(listOf(userWallet)) val userWalletsFlow = MutableStateFlow(listOf(userWallet))
every { userWalletsListRepository.userWallets } returns userWalletsFlow every { userWalletsListRepository.userWallets } returns userWalletsFlow
every { every {
@ -407,7 +407,7 @@ internal class DefaultMultiNetworkStatusProducerTest {
val networksStatusesFlow = flowOf(simpleStatuses) val networksStatusesFlow = flowOf(simpleStatuses)
every { networksStatusesStore.get(params.userWalletId) } returns networksStatusesFlow every { networksStatusesStore.get(params.userWalletId) } returns networksStatusesFlow
val userWalletsFlow = MutableStateFlow(listOf(userWallet)) val userWalletsFlow = MutableStateFlow(listOf(userWallet))
every { userWalletsListRepository.userWallets } returns userWalletsFlow every { userWalletsListRepository.userWallets } returns userWalletsFlow
coEvery { networkFactory.create(networkId = any(), any(), any()) } returns null coEvery { networkFactory.create(networkId = any(), any(), any()) } returns null

View file

@ -2,8 +2,8 @@ package com.tangem.data.networks.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.Blockchain
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory
import com.tangem.data.networks.models.SimpleNetworkStatus import com.tangem.data.networks.models.SimpleNetworkStatus

View file

@ -2,8 +2,8 @@ package com.tangem.data.networks.store
import androidx.datastore.core.DataStore import androidx.datastore.core.DataStore
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.data.networks.models.SimpleNetworkStatus import com.tangem.data.networks.models.SimpleNetworkStatus
import com.tangem.data.networks.toDataModel import com.tangem.data.networks.toDataModel

View file

@ -1,8 +1,8 @@
package com.tangem.data.networks.store package com.tangem.data.networks.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.data.networks.models.SimpleNetworkStatus import com.tangem.data.networks.models.SimpleNetworkStatus
import com.tangem.data.networks.toDataModel import com.tangem.data.networks.toDataModel

View file

@ -1,8 +1,8 @@
package com.tangem.data.networks.store package com.tangem.data.networks.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.data.networks.models.SimpleNetworkStatus import com.tangem.data.networks.models.SimpleNetworkStatus
import com.tangem.data.networks.toDataModel import com.tangem.data.networks.toDataModel

View file

@ -1,8 +1,8 @@
package com.tangem.data.networks.store package com.tangem.data.networks.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.data.networks.models.SimpleNetworkStatus import com.tangem.data.networks.models.SimpleNetworkStatus
import com.tangem.data.networks.toDataModel import com.tangem.data.networks.toDataModel

View file

@ -1,8 +1,8 @@
package com.tangem.data.networks.store package com.tangem.data.networks.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory
import com.tangem.data.networks.toSimple import com.tangem.data.networks.toSimple

View file

@ -1,8 +1,8 @@
package com.tangem.data.networks.store package com.tangem.data.networks.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory
import com.tangem.data.networks.toSimple import com.tangem.data.networks.toSimple

View file

@ -27,7 +27,6 @@ internal class StoreAdaptiveThrottleTest {
val upstream = MutableSharedFlow<Set<Int>>() val upstream = MutableSharedFlow<Set<Int>>()
upstream.adaptiveThrottle().test { upstream.adaptiveThrottle().test {
upstream.emit(setOf(1, 2)) upstream.emit(setOf(1, 2))
assertThat(awaitItem()).isEqualTo(setOf(1, 2)) assertThat(awaitItem()).isEqualTo(setOf(1, 2))
@ -44,7 +43,6 @@ internal class StoreAdaptiveThrottleTest {
val upstream = MutableSharedFlow<Set<Int>>() val upstream = MutableSharedFlow<Set<Int>>()
upstream.adaptiveThrottle().test { upstream.adaptiveThrottle().test {
upstream.emit(setOf(1, 2)) upstream.emit(setOf(1, 2))
awaitItem() awaitItem()
@ -64,7 +62,6 @@ internal class StoreAdaptiveThrottleTest {
val upstream = MutableSharedFlow<Set<Int>>() val upstream = MutableSharedFlow<Set<Int>>()
upstream.adaptiveThrottle().test { upstream.adaptiveThrottle().test {
upstream.emit(setOf(1, 2)) upstream.emit(setOf(1, 2))
awaitItem() awaitItem()
@ -88,7 +85,6 @@ internal class StoreAdaptiveThrottleTest {
val upstream = MutableSharedFlow<Set<Int>>() val upstream = MutableSharedFlow<Set<Int>>()
upstream.adaptiveThrottle().test { upstream.adaptiveThrottle().test {
upstream.emit(setOf(1, 2)) upstream.emit(setOf(1, 2))
awaitItem() awaitItem()

View file

@ -1,8 +1,8 @@
package com.tangem.data.networks.store package com.tangem.data.networks.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory
import com.tangem.data.networks.toDataModel import com.tangem.data.networks.toDataModel

View file

@ -1,8 +1,8 @@
package com.tangem.data.networks.store package com.tangem.data.networks.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory
import com.tangem.data.networks.toDataModel import com.tangem.data.networks.toDataModel

View file

@ -1,8 +1,8 @@
package com.tangem.data.networks.store package com.tangem.data.networks.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory
import com.tangem.data.networks.toDataModel import com.tangem.data.networks.toDataModel

View file

@ -1,8 +1,8 @@
package com.tangem.data.networks.store package com.tangem.data.networks.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.common.test.domain.network.MockNetworkStatusFactory import com.tangem.common.test.domain.network.MockNetworkStatusFactory
import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory import com.tangem.common.test.domain.token.MockCryptoCurrencyFactory
import com.tangem.data.networks.models.SimpleNetworkStatus import com.tangem.data.networks.models.SimpleNetworkStatus

View file

@ -97,7 +97,7 @@ internal class QuoteStatusConverterTest {
priceChange24h = BigDecimal.ONE, priceChange24h = BigDecimal.ONE,
priceChange1w = null, priceChange1w = null,
priceChange30d = null, priceChange30d = null,
priceUsd = BigDecimal.ONE priceUsd = BigDecimal.ONE,
), ),
), ),
expected = QuoteStatus( expected = QuoteStatus(

View file

@ -240,6 +240,7 @@ internal class DefaultMultiQuoteStatusFetcherTest {
), ),
) )
val fields = setOf(QuotesFetcher.Field.PRICE, QuotesFetcher.Field.PRICE_CHANGE_24H, QuotesFetcher.Field.PRICE_USD) val fields =
setOf(QuotesFetcher.Field.PRICE, QuotesFetcher.Field.PRICE_CHANGE_24H, QuotesFetcher.Field.PRICE_USD)
} }
} }

View file

@ -2,7 +2,7 @@ package com.tangem.data.quotes.multi
import arrow.core.right import arrow.core.right
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.data.quotes.store.QuotesStatusesStore import com.tangem.data.quotes.store.QuotesStatusesStore
import com.tangem.datasource.api.tangemTech.models.CurrenciesResponse import com.tangem.datasource.api.tangemTech.models.CurrenciesResponse
import com.tangem.datasource.appcurrency.AppCurrencyResponseStore import com.tangem.datasource.appcurrency.AppCurrencyResponseStore

View file

@ -1,10 +1,10 @@
package com.tangem.data.quotes.store package com.tangem.data.quotes.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.data.quote.MockQuoteResponseFactory import com.tangem.common.test.data.quote.MockQuoteResponseFactory
import com.tangem.common.test.data.quote.toDomain import com.tangem.common.test.data.quote.toDomain
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.datasource.local.datastore.RuntimeSharedStore import com.tangem.datasource.local.datastore.RuntimeSharedStore
import com.tangem.domain.models.StatusSource import com.tangem.domain.models.StatusSource
import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.domain.models.currency.CryptoCurrency

View file

@ -2,10 +2,10 @@ package com.tangem.data.quotes.store
import androidx.datastore.core.DataStore import androidx.datastore.core.DataStore
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.data.quote.MockQuoteResponseFactory import com.tangem.common.test.data.quote.MockQuoteResponseFactory
import com.tangem.common.test.data.quote.toDomain import com.tangem.common.test.data.quote.toDomain
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.datasource.local.datastore.RuntimeSharedStore import com.tangem.datasource.local.datastore.RuntimeSharedStore
import com.tangem.domain.models.StatusSource import com.tangem.domain.models.StatusSource
import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.domain.models.currency.CryptoCurrency

View file

@ -1,9 +1,9 @@
package com.tangem.data.staking.store package com.tangem.data.staking.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.data.staking.MockYieldBalanceWrapperDTOFactory import com.tangem.common.test.data.staking.MockYieldBalanceWrapperDTOFactory
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.data.staking.toDomain import com.tangem.data.staking.toDomain
import com.tangem.datasource.local.datastore.RuntimeSharedStore import com.tangem.datasource.local.datastore.RuntimeSharedStore
import com.tangem.domain.models.staking.StakingBalance import com.tangem.domain.models.staking.StakingBalance

View file

@ -2,9 +2,9 @@ package com.tangem.data.staking.store
import androidx.datastore.core.DataStore import androidx.datastore.core.DataStore
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.data.staking.MockYieldBalanceWrapperDTOFactory import com.tangem.common.test.data.staking.MockYieldBalanceWrapperDTOFactory
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.data.staking.toDomain import com.tangem.data.staking.toDomain
import com.tangem.datasource.local.datastore.RuntimeSharedStore import com.tangem.datasource.local.datastore.RuntimeSharedStore
import com.tangem.domain.models.staking.StakingBalance import com.tangem.domain.models.staking.StakingBalance

View file

@ -1,9 +1,9 @@
package com.tangem.data.staking.store package com.tangem.data.staking.store
import com.google.common.truth.Truth import com.google.common.truth.Truth
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.common.test.data.staking.MockYieldBalanceWrapperDTOFactory import com.tangem.common.test.data.staking.MockYieldBalanceWrapperDTOFactory
import com.tangem.common.test.datastore.MockStateDataStore import com.tangem.test.core.datastore.MockStateDataStore
import com.tangem.data.staking.toDomain import com.tangem.data.staking.toDomain
import com.tangem.datasource.api.stakekit.models.response.model.YieldBalanceWrapperDTO import com.tangem.datasource.api.stakekit.models.response.model.YieldBalanceWrapperDTO
import com.tangem.datasource.local.datastore.RuntimeSharedStore import com.tangem.datasource.local.datastore.RuntimeSharedStore

View file

@ -85,6 +85,5 @@ dependencies {
/** Test */ /** Test */
testRuntimeOnly(deps.test.junit5.engine) testRuntimeOnly(deps.test.junit5.engine)
testImplementation(projects.common.test)
testImplementation(projects.test.core) testImplementation(projects.test.core)
} }

View file

@ -2,7 +2,7 @@ package com.tangem.data.pay.repository
import arrow.core.left import arrow.core.left
import arrow.core.right import arrow.core.right
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.data.common.quote.QuotesFetcher import com.tangem.data.common.quote.QuotesFetcher
import com.tangem.datasource.api.common.response.ApiResponse import com.tangem.datasource.api.common.response.ApiResponse
import com.tangem.datasource.api.common.response.ApiResponseError import com.tangem.datasource.api.common.response.ApiResponseError

View file

@ -46,5 +46,5 @@ dependencies {
testImplementation(deps.test.mockk) testImplementation(deps.test.mockk)
testImplementation(deps.test.coroutine) testImplementation(deps.test.coroutine)
testImplementation(deps.test.truth) testImplementation(deps.test.truth)
testImplementation(projects.common.test) testImplementation(projects.test.core)
} }

View file

@ -3,7 +3,7 @@ package com.tangem.domain.pay.usecase
import arrow.core.left import arrow.core.left
import arrow.core.right import arrow.core.right
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.domain.models.pay.TangemPayCardFrozenState import com.tangem.domain.models.pay.TangemPayCardFrozenState
import com.tangem.domain.models.wallet.UserWalletId import com.tangem.domain.models.wallet.UserWalletId
import com.tangem.domain.pay.model.OrderStatus import com.tangem.domain.pay.model.OrderStatus

View file

@ -3,7 +3,7 @@ package com.tangem.domain.pay.usecase
import arrow.core.left import arrow.core.left
import arrow.core.right import arrow.core.right
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.domain.models.wallet.UserWalletId import com.tangem.domain.models.wallet.UserWalletId
import com.tangem.domain.pay.flow.PaymentAccountStatusFetcher import com.tangem.domain.pay.flow.PaymentAccountStatusFetcher
import com.tangem.domain.pay.model.OrderStatus import com.tangem.domain.pay.model.OrderStatus

View file

@ -39,7 +39,7 @@ dependencies {
implementation(deps.arrow.core) implementation(deps.arrow.core)
/** tests */ /** tests */
testImplementation(projects.common.test) testImplementation(projects.test.core)
testImplementation(deps.test.junit5) testImplementation(deps.test.junit5)
testRuntimeOnly(deps.test.junit5.engine) testRuntimeOnly(deps.test.junit5.engine)
testImplementation(deps.test.coroutine) testImplementation(deps.test.coroutine)

View file

@ -2,7 +2,7 @@ package com.tangem.domain.yield.supply.usecase
import arrow.core.Either import arrow.core.Either
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import com.tangem.common.test.TestAppCoroutineScope import com.tangem.test.core.TestAppCoroutineScope
import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.domain.models.currency.CryptoCurrency
import com.tangem.domain.models.network.Network import com.tangem.domain.models.network.Network
import com.tangem.domain.models.wallet.UserWalletId import com.tangem.domain.models.wallet.UserWalletId

View file

@ -170,6 +170,7 @@ lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", v
lifecycle-viewModel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidxLifecycle" } lifecycle-viewModel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidxLifecycle" }
lifecycle-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "compose-lifecycle-runtime" } lifecycle-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "compose-lifecycle-runtime" }
androidx-datastore = { module = "androidx.datastore:datastore-preferences", version.ref = "androidx-datastore" } androidx-datastore = { module = "androidx.datastore:datastore-preferences", version.ref = "androidx-datastore" }
androidx-datastore-core = { module = "androidx.datastore:datastore-core", version.ref = "androidx-datastore" }
androidx-workmanager = { module = "androidx.work:work-runtime", version.ref = "androidxWorkManager" } androidx-workmanager = { module = "androidx.work:work-runtime", version.ref = "androidxWorkManager" }
hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "hilt-work" } hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "hilt-work" }
# region AndroidX # region AndroidX

View file

@ -4,8 +4,10 @@ plugins {
} }
dependencies { dependencies {
implementation(projects.core.utils)
implementation(deps.arrow.core) implementation(deps.arrow.core)
api(deps.androidx.datastore.core)
api(deps.test.coroutine) api(deps.test.coroutine)
api(deps.test.junit5) api(deps.test.junit5)
api(deps.test.mockk) api(deps.test.mockk)

View file

@ -1,4 +1,4 @@
package com.tangem.common.test package com.tangem.test.core
import com.tangem.utils.coroutines.AppCoroutineScope import com.tangem.utils.coroutines.AppCoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers

View file

@ -1,4 +1,4 @@
package com.tangem.common.test.datastore package com.tangem.test.core.datastore
import androidx.datastore.core.DataStore import androidx.datastore.core.DataStore
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow