Updated on 2026-08-14
This commit is contained in:
parent
a8f084ae88
commit
4d5b9b87e6
12 changed files with 105 additions and 17 deletions
|
|
@ -14,7 +14,6 @@ import dagger.assisted.AssistedInject
|
|||
*/
|
||||
internal class GetWalletAccountsResponseConverter @AssistedInject constructor(
|
||||
@Assisted private val userWallet: UserWallet,
|
||||
@Assisted val version: Int,
|
||||
cryptoPortfolioConverterFactory: CryptoPortfolioConverter.Factory,
|
||||
) : Converter<AccountList, GetWalletAccountsResponse> {
|
||||
|
||||
|
|
@ -25,7 +24,6 @@ internal class GetWalletAccountsResponseConverter @AssistedInject constructor(
|
|||
override fun convert(value: AccountList): GetWalletAccountsResponse {
|
||||
return GetWalletAccountsResponse(
|
||||
wallet = GetWalletAccountsResponse.Wallet(
|
||||
version = version,
|
||||
group = TokensGroupTypeConverter.convertBack(value.groupType),
|
||||
sort = TokensSortTypeConverter.convertBack(value.sortType),
|
||||
totalAccounts = value.totalAccounts,
|
||||
|
|
@ -39,6 +37,6 @@ internal class GetWalletAccountsResponseConverter @AssistedInject constructor(
|
|||
|
||||
@AssistedFactory
|
||||
interface Factory {
|
||||
fun create(userWallet: UserWallet, version: Int): GetWalletAccountsResponseConverter
|
||||
fun create(userWallet: UserWallet): GetWalletAccountsResponseConverter
|
||||
}
|
||||
}
|
||||
|
|
@ -104,9 +104,10 @@ internal class FetchWalletAccountsErrorHandler @Inject constructor(
|
|||
): UserTokensResponse? {
|
||||
if (this != null) return this
|
||||
|
||||
return userTokensResponseStore.getSyncOrNull(
|
||||
userWalletId = userWalletProvider().walletId,
|
||||
)
|
||||
val userWalletId = userWalletProvider().walletId
|
||||
|
||||
return userTokensResponseStore.getSyncOrNull(userWalletId)
|
||||
.also { userTokensResponseStore.clear(userWalletId) }
|
||||
}
|
||||
|
||||
private fun UserTokensResponse?.orDefault(userWalletProvider: Provider<UserWallet>): UserTokensResponse {
|
||||
|
|
|
|||
|
|
@ -112,10 +112,7 @@ internal class DefaultAccountsCRUDRepository(
|
|||
.getOrThrow()
|
||||
}
|
||||
|
||||
val converter = convertersContainer.getWalletAccountsResponseCF.create(
|
||||
userWallet = accountList.userWallet,
|
||||
version = version,
|
||||
)
|
||||
val converter = convertersContainer.getWalletAccountsResponseCF.create(userWallet = accountList.userWallet)
|
||||
|
||||
val accountsResponse = converter.convert(value = accountList)
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ class GetWalletAccountsResponseConverterTest {
|
|||
private val cryptoPortfolioConverter = mockk<CryptoPortfolioConverter>()
|
||||
private val converter = GetWalletAccountsResponseConverter(
|
||||
userWallet = userWallet,
|
||||
version = 0,
|
||||
cryptoPortfolioConverterFactory = cryptoPortfolioConverterFactory,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ class FetchWalletAccountsErrorHandlerTest {
|
|||
|
||||
private val userTokensSaver: UserTokensSaver = mockk(relaxUnitFun = true)
|
||||
private val userWalletsStore: UserWalletsStore = mockk()
|
||||
private val userTokensResponseStore: UserTokensResponseStore = mockk()
|
||||
private val userTokensResponseStore: UserTokensResponseStore = mockk(relaxUnitFun = true)
|
||||
private val cryptoPortfolioCF: CryptoPortfolioConverter.Factory = mockk()
|
||||
private val cryptoPortfolioConverter = mockk<CryptoPortfolioConverter>()
|
||||
private val userTokensResponseFactory: UserTokensResponseFactory = mockk()
|
||||
|
|
|
|||
|
|
@ -595,7 +595,7 @@ class DefaultAccountsCRUDRepositoryTest {
|
|||
}
|
||||
|
||||
every {
|
||||
convertersContainer.getWalletAccountsResponseCF.create(userWallet = userWallet, version = version)
|
||||
convertersContainer.getWalletAccountsResponseCF.create(userWallet = userWallet)
|
||||
} returns converter
|
||||
|
||||
coEvery { accountsResponseStore.updateData(transform = any()) } returns accountsResponse
|
||||
|
|
@ -610,7 +610,7 @@ class DefaultAccountsCRUDRepositoryTest {
|
|||
accountsResponseStoreFactory.create(userWalletId)
|
||||
accountsResponseStore.data
|
||||
tangemTechApi.saveWalletAccounts(userWalletId.stringValue, version.toString(), body)
|
||||
convertersContainer.getWalletAccountsResponseCF.create(userWallet, version)
|
||||
convertersContainer.getWalletAccountsResponseCF.create(userWallet)
|
||||
converter.convert(accountList)
|
||||
accountsResponseStore.updateData(any())
|
||||
}
|
||||
|
|
@ -656,7 +656,7 @@ class DefaultAccountsCRUDRepositoryTest {
|
|||
}
|
||||
|
||||
coVerify(inverse = true) {
|
||||
convertersContainer.getWalletAccountsResponseCF.create(any(), any())
|
||||
convertersContainer.getWalletAccountsResponseCF.create(any())
|
||||
accountsResponseStore.updateData(any())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue