From 6480fb498dafb3bbdc5c4a7f6a2841edc1d5930d Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 22 Jun 2026 15:30:39 +0200 Subject: [PATCH] Updated on 2026-08-14 --- .../impl/presentation/model/StakingModel.kt | 5 +++-- .../model/StakingModelNavigationTest.kt | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/model/StakingModel.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/model/StakingModel.kt index da5b4c29e8..580a5ac4c3 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/model/StakingModel.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/model/StakingModel.kt @@ -619,10 +619,11 @@ internal class StakingModel @Inject constructor( } override fun onAmountEnterClick() { - if (integration.preferredTargets.isEmpty()) { + val actionType = uiState.value.actionType + if (actionType !is StakingActionCommonType.Exit && integration.preferredTargets.isEmpty()) { messageSender.send(StakingAlertUM.noAvailableValidators()) } else { - if (uiState.value.actionType is StakingActionCommonType.Enter) { + if (actionType is StakingActionCommonType.Enter) { stateController.updateAll( ValidatorSelectChangeTransformer( selectedTarget = null, diff --git a/features/staking/impl/src/test/kotlin/com/tangem/features/staking/impl/presentation/model/StakingModelNavigationTest.kt b/features/staking/impl/src/test/kotlin/com/tangem/features/staking/impl/presentation/model/StakingModelNavigationTest.kt index 00d51a6c28..dde5946c11 100644 --- a/features/staking/impl/src/test/kotlin/com/tangem/features/staking/impl/presentation/model/StakingModelNavigationTest.kt +++ b/features/staking/impl/src/test/kotlin/com/tangem/features/staking/impl/presentation/model/StakingModelNavigationTest.kt @@ -354,6 +354,24 @@ internal class StakingModelNavigationTest : StakingModelTestBase() { model.onDestroy() } + @Test + fun `GIVEN empty preferredTargets AND Exit action WHEN onAmountEnterClick THEN no alert sent`() = runTest { + every { stateController.value } returns initialUiState + every { initialUiState.actionType } returns StakingActionCommonType.Exit(partiallyUnstakeDisabled = false) + every { testYield.preferredValidators } returns emptyList() + every { messageSender.send(any()) } just Runs + + val model = createModel(testScope = this) + advanceUntilIdle() + + model.onAmountEnterClick() + advanceUntilIdle() + + verify(exactly = 0) { messageSender.send(any()) } + + model.onDestroy() + } + @Test fun `GIVEN non-empty preferredTargets WHEN onAmountEnterClick THEN validator reset and onNextClick called`() = runTest {