Updated on 2026-08-14

This commit is contained in:
Tangem 2026-05-05 18:32:39 +03:00
parent 67ca192c16
commit 7b6fc18a8f
12 changed files with 79 additions and 113 deletions

View file

@ -30,7 +30,6 @@ class SwapChooseTokenScreenTest : BaseTestCase() {
@Test
fun checkAvailableToSwapTokensListTest() {
val tokenTitle = "Polygon"
val inputAmount = "100"
val ethereum = "Ethereum"
val polExMatic = "POL (ex-MATIC)"
val bitcoin = "Bitcoin"
@ -66,13 +65,6 @@ class SwapChooseTokenScreenTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
textInput.clickWithAssertion()
textInput.performTextReplacement(inputAmount)
}
}
step("Click on 'Select token' icon") {
onSwapTokenScreen { swapSelectTokenIcon.performClick() }
}
@ -102,7 +94,6 @@ class SwapChooseTokenScreenTest : BaseTestCase() {
@Test
fun checkSearchOnSwapChooseTokenScreenTest() {
val tokenTitle = "Polygon"
val inputAmount = "100"
val ethereum = "Ethereum"
val polExMatic = "POL (ex-MATIC)"
val polExMaticSymbol = "POL"
@ -129,13 +120,6 @@ class SwapChooseTokenScreenTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
textInput.clickWithAssertion()
textInput.performTextReplacement(inputAmount)
}
}
step("Click on 'Choose token' button") {
onSwapTokenScreen { chooseTokenButton.performClick() }
}

View file

@ -117,7 +117,7 @@ class SwapStoriesTest : BaseTestCase() {
@DisplayName("Check unavailable swap stories on 'Main' screen")
@Test
fun checkUnavailableSwapStoriesOnMainScreen() {
val scenarioName = "stories_first_time_swap"
val scenarioName = "stories_first_time_swap_v2"
val scenarioErrorState = "Error"
val packageName = getTargetContext().packageName
@ -168,7 +168,7 @@ class SwapStoriesTest : BaseTestCase() {
@DisplayName("Check unavailable swap stories on 'Token details' screen")
@Test
fun checkUnavailableSwapStoriesOnTokenDetailsScreen() {
val scenarioName = "stories_first_time_swap"
val scenarioName = "stories_first_time_swap_v2"
val scenarioErrorState = "Error"
val packageName = getTargetContext().packageName
val tokenName = "Ethereum"
@ -224,7 +224,7 @@ class SwapStoriesTest : BaseTestCase() {
@DisplayName("Check unavailable swap stories on 'Markets' token details screen")
@Test
fun checkUnavailableSwapStoriesOnMarketsTokenDetailsScreen() {
val scenarioName = "stories_first_time_swap"
val scenarioName = "stories_first_time_swap_v2"
val scenarioErrorState = "Error"
val packageName = getTargetContext().packageName
val tokenName = "Ethereum"

View file

@ -68,6 +68,9 @@ class SwapTokenScreenTest : BaseTestCase() {
}
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -75,9 +78,6 @@ class SwapTokenScreenTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Assert input amount = '$inputAmount'") {
onSwapTokenScreen { textInput.assertTextEquals(inputAmount) }
}
@ -121,6 +121,7 @@ class SwapTokenScreenTest : BaseTestCase() {
@Test
fun networkErrorSwapTest() {
val tokenTitle = "Polygon"
val receiveTokenName = "Ethereum"
setupHooks(
additionalAfterSection = {
@ -154,6 +155,9 @@ class SwapTokenScreenTest : BaseTestCase() {
step("Assert 'Swap' screen title is displayed") {
onSwapTokenScreen { title.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Assert error notification title is displayed") {
onSwapTokenScreen {
waitForIdle()
@ -212,6 +216,9 @@ class SwapTokenScreenTest : BaseTestCase() {
}
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -222,9 +229,6 @@ class SwapTokenScreenTest : BaseTestCase() {
step("Assert input amount = '$inputAmount'") {
onSwapTokenScreen { textInput.assertTextEquals(inputAmount) }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Assert receive amount is displayed") {
onSwapTokenScreen {
flakySafely(WAIT_UNTIL_TIMEOUT) {
@ -461,8 +465,12 @@ class SwapTokenScreenTest : BaseTestCase() {
onSwapTokenScreen { receiveTokenSymbol(receiveTokenSymbol).assertIsDisplayed() }
}
step("Click on 'Swap tokens on screen' button") {
onSwapTokenScreen { replaceTokensButton.performClick() }
waitForIdle()
flakySafely(WAIT_UNTIL_TIMEOUT_LONG) {
onSwapTokenScreen {
replaceTokensButton.assertIsEnabled()
replaceTokensButton.performClick()
}
}
}
step("Assert new swap token symbol: '$receiveTokenSymbol' is displayed") {
onSwapTokenScreen { swapTokenSymbol(receiveTokenSymbol).assertIsDisplayed() }
@ -557,6 +565,9 @@ class SwapTokenScreenTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -564,9 +575,6 @@ class SwapTokenScreenTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Select '$market' fee type") {
flakySafely(WAIT_UNTIL_TIMEOUT_LONG) {
selectFeeType(FeeType.Market, selectedFeeAmount = marketFeeAmount)
@ -623,6 +631,9 @@ class SwapTokenScreenTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -630,9 +641,6 @@ class SwapTokenScreenTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Select '$marketFeeType' fee type") {
flakySafely(WAIT_UNTIL_TIMEOUT_LONG) {
selectFeeType(feeType = FeeType.Market, feeAmount)
@ -703,6 +711,9 @@ class SwapTokenScreenTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -710,9 +721,6 @@ class SwapTokenScreenTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Assert 'Swap' button is enabled") {
flakySafely(WAIT_UNTIL_TIMEOUT_LONG) {
onSwapTokenScreen { swapButton.assertIsEnabled() }

View file

@ -60,6 +60,9 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenTitle)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -67,9 +70,6 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenTitle)
}
step("Assert 'Insufficient funds' error is displayed") {
waitForIdle()
onSwapTokenScreen { insufficientFundsErrorTitle.assertIsDisplayed() }
@ -125,6 +125,9 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(networkName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -132,9 +135,6 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(networkName)
}
step("Check 'Unable to cover '$networkName' fee notification") {
flakySafely(WAIT_UNTIL_TIMEOUT_LONG) {
chackUnableToCoverFeeNotification(networkName = networkName, currencySymbol = currencySymbol)
@ -204,6 +204,9 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -211,9 +214,6 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Assert fiat amount with warning is displayed") {
flakySafely(WAIT_UNTIL_TIMEOUT_LONG) {
onSwapTokenScreen {
@ -293,6 +293,9 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -300,9 +303,6 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Assert fiat amount with warning is displayed") {
onSwapTokenScreen { receiveFiatAmount.assertTextContains("%", substring = true) }
}
@ -381,6 +381,9 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -388,9 +391,6 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Assert 'Invalid amount' warning is not displayed") {
flakySafely(WAIT_UNTIL_TIMEOUT_LONG) {
checkSwapWarning(
@ -450,6 +450,9 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -457,9 +460,6 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Assert 'Invalid amount' warning is not displayed") {
flakySafely(WAIT_UNTIL_TIMEOUT_LONG) {
checkSwapWarning(
@ -520,6 +520,9 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -527,9 +530,6 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Assert 'Invalid amount' warning is not displayed") {
flakySafely(WAIT_UNTIL_TIMEOUT_LONG) {
checkSwapWarning(
@ -589,6 +589,9 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
step("Assert 'You swap' block is displayed") {
onSwapTokenScreen { youSwapBlock.assertIsDisplayed() }
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Input swap amount = '$inputAmount'") {
waitForIdle()
onSwapTokenScreen {
@ -596,9 +599,6 @@ class SwapTokenScreenWarningsTest : BaseTestCase() {
textInput.performTextReplacement(inputAmount)
}
}
step("Choose receive token") {
chooseReceiveToken(receiveTokenName)
}
step("Assert 'Invalid amount' warning is displayed") {
flakySafely(WAIT_UNTIL_TIMEOUT_LONG) {
checkSwapWarning(