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 {