Updated on 2026-08-14

This commit is contained in:
Tangem 2026-03-04 19:55:49 +03:00
parent 5c74278e3d
commit d9d8e9b500
7 changed files with 86 additions and 150 deletions

View file

@ -3,6 +3,7 @@ package com.tangem.scenarios
import androidx.compose.ui.test.click
import com.tangem.common.BaseTestCase
import com.tangem.common.extensions.clickWithAssertion
import com.tangem.common.extensions.isDisplayedSafely
import com.tangem.screens.*
import io.github.kakaocup.kakao.common.utilities.getResourceString
import io.qameta.allure.kotlin.Allure.step
@ -195,6 +196,51 @@ fun BaseTestCase.selectFeeType(feeType: FeeType, selectedFeeAmount: String) {
}
}
fun BaseTestCase.selectFeeTypeWithGasless(feeType: FeeType, selectedFeeAmount: String) {
step("Click on 'Select fee' icon") {
onSwapTokenScreen { selectFeeIcon.performClick() }
}
when (feeType) {
FeeType.Market -> selectMarketFee(selectedFeeAmount)
FeeType.Fast -> selectFastFee(selectedFeeAmount)
}
}
private fun BaseTestCase.selectMarketFee(selectedFeeAmount: String) {
step("Deselect current fee and select 'Market'") {
onSwapSelectNetworkFeeBottomSheet {
if (fastSelectorItem.isDisplayedSafely()) {
fastSelectorItem.performClick()
}
marketSelectorItem.performClick()
}
}
step("Click on 'Apply' button") {
onSwapSelectNetworkFeeBottomSheet { applyButton.performClick() }
}
step("Assert fee amount is equal to 'Market' fee:'$selectedFeeAmount'") {
onSwapTokenScreen { feeAmount.assertTextContains(selectedFeeAmount, substring = true) }
}
}
private fun BaseTestCase.selectFastFee(selectedFeeAmount: String) {
step("Deselect current fee and select 'Fast'") {
onSwapSelectNetworkFeeBottomSheet {
if (marketSelectorItem.isDisplayedSafely()) {
marketSelectorItem.performClick()
}
fastSelectorItem.performClick()
}
}
step("Click on 'Apply' button") {
onSwapSelectNetworkFeeBottomSheet { applyButton.performClick() }
}
step("Assert fee amount is equal to 'Fast' fee:'$selectedFeeAmount'") {
onSwapTokenScreen { feeAmount.assertTextContains(selectedFeeAmount, substring = true) }
}
}
fun BaseTestCase.chackUnableToCoverFeeNotification(networkName: String, currencySymbol: String) {
step("Assert 'Unable to cover '$networkName' fee notification title is displayed'") {
onSwapTokenScreen { unableToCoverFeeNotificationTitle(networkName).assertIsDisplayed() }
@ -207,6 +253,9 @@ fun BaseTestCase.chackUnableToCoverFeeNotification(networkName: String, currency
).assertIsDisplayed()
}
}
step("Assert 'Unable to cover '$networkName' fee notification icon is displayed'") {
onSwapTokenScreen { unableToCoverFeeNotificationIcon(networkName).assertIsDisplayed() }
}
}
sealed class SwapEntryPoint {