Updated on 2026-08-14
This commit is contained in:
parent
fcd85fba97
commit
2d3e5fdb7a
5 changed files with 78 additions and 3 deletions
|
|
@ -3,7 +3,9 @@ package com.tangem.screens
|
|||
import androidx.compose.ui.test.SemanticsNodeInteractionsProvider
|
||||
import com.tangem.common.BaseTestCase
|
||||
import com.tangem.core.ui.test.BaseButtonTestTags
|
||||
import com.tangem.core.ui.test.FooterTestTags
|
||||
import com.tangem.core.ui.test.SendAddressScreenTestTags
|
||||
import com.tangem.core.ui.test.TopAppBarTestTags
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import io.github.kakaocup.compose.node.element.ComposeScreen
|
||||
import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen
|
||||
|
|
@ -21,6 +23,12 @@ class SendAddressPageObject(semanticsProvider: SemanticsNodeInteractionsProvider
|
|||
useUnmergedTree = true
|
||||
}
|
||||
|
||||
val topAppBarTitle: KNode = child {
|
||||
hasTestTag(TopAppBarTestTags.TITLE)
|
||||
hasText(getResourceString(CoreUiR.string.common_address))
|
||||
useUnmergedTree = true
|
||||
}
|
||||
|
||||
val addressTextFieldTitle: KNode = child {
|
||||
hasTestTag(SendAddressScreenTestTags.ADDRESS_TEXT_FIELD_TITLE)
|
||||
useUnmergedTree = true
|
||||
|
|
@ -31,6 +39,19 @@ class SendAddressPageObject(semanticsProvider: SemanticsNodeInteractionsProvider
|
|||
useUnmergedTree = true
|
||||
}
|
||||
|
||||
val addressTextFieldHint: KNode = child {
|
||||
hasParent(withTestTag(SendAddressScreenTestTags.ADDRESS_TEXT_FIELD))
|
||||
useUnmergedTree = true
|
||||
}
|
||||
|
||||
fun recipientNetworkCaution(network: String): KNode = child {
|
||||
val expectedText = getResourceString(R.string.send_recipient_address_footer, network)
|
||||
.replace("**", "")
|
||||
hasText(expectedText, substring = true)
|
||||
hasTestTag(FooterTestTags.FOOTER_TEXT)
|
||||
useUnmergedTree = true
|
||||
}
|
||||
|
||||
val addressPasteButton: KNode = child {
|
||||
hasTestTag(SendAddressScreenTestTags.ADDRESS_PASTE_BUTTON)
|
||||
useUnmergedTree = true
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ class RecentBlockTest : BaseTestCase() {
|
|||
}
|
||||
}
|
||||
|
||||
@AllureId("4596")
|
||||
@AllureId("4598")
|
||||
@DisplayName("Send (address screen): check 'Recent' block, transaction history does not load")
|
||||
@Test
|
||||
fun recentBlockTransactionHistoryDoesNotLoadTest() {
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ class SendAddressScreenTest : BaseTestCase() {
|
|||
}
|
||||
}
|
||||
|
||||
@AllureId("4004")
|
||||
@AllureId("4009")
|
||||
@DisplayName("Send (address screen): check ENS name")
|
||||
@Test
|
||||
fun sendEnsNameTest() {
|
||||
|
|
@ -580,4 +580,50 @@ class SendAddressScreenTest : BaseTestCase() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@AllureId("4567")
|
||||
@DisplayName("Send (address screen): check address field")
|
||||
@Test
|
||||
fun checkSendAddressScreenTest() {
|
||||
val tokenName = "Ethereum"
|
||||
val sendAmount = "1"
|
||||
val hint = getResourceString(R.string.send_enter_address_field_ens)
|
||||
val recipient = getResourceString(R.string.send_recipient)
|
||||
|
||||
setupHooks().run {
|
||||
step("Open 'Main Screen'") {
|
||||
openMainScreen()
|
||||
}
|
||||
step("Synchronize addresses") {
|
||||
synchronizeAddresses()
|
||||
}
|
||||
step("Open 'Send Address' screen") {
|
||||
openSendAddressScreen(tokenName, sendAmount)
|
||||
}
|
||||
step("Assert 'Address' screen title is displayed") {
|
||||
onSendAddressScreen { topAppBarTitle.assertIsDisplayed() }
|
||||
}
|
||||
step("Assert address text field title is displayed") {
|
||||
onSendAddressScreen { addressTextFieldTitle.assertTextContains(recipient) }
|
||||
}
|
||||
step("Assert address text field is displayed") {
|
||||
onSendAddressScreen { addressTextField.assertIsDisplayed() }
|
||||
}
|
||||
step("Assert address text field hint contains text '$hint'") {
|
||||
onSendAddressScreen { addressTextFieldHint.assertTextContains(hint) }
|
||||
}
|
||||
step("Assert 'QR' button is displayed") {
|
||||
onSendAddressScreen { qrButton.assertIsDisplayed() }
|
||||
}
|
||||
step("Assert 'Paste' button is displayed") {
|
||||
onSendAddressScreen { addressPasteButton.assertIsDisplayed() }
|
||||
}
|
||||
step("Assert recipient network caution is displayed for network '$tokenName'") {
|
||||
onSendAddressScreen { recipientNetworkCaution(tokenName).assertIsDisplayed() }
|
||||
}
|
||||
step("Assert 'Next' button is disabled") {
|
||||
onSendAddressScreen { nextButton.assertIsNotEnabled() }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue