204 lines
No EOL
6.7 KiB
Kotlin
204 lines
No EOL
6.7 KiB
Kotlin
package com.tangem.tests
|
|
|
|
import com.tangem.common.BaseTestCase
|
|
import com.tangem.common.annotations.ApiEnv
|
|
import com.tangem.common.annotations.ApiEnvConfig
|
|
import com.tangem.datasource.api.common.config.ApiConfig
|
|
import com.tangem.datasource.api.common.config.ApiEnvironment
|
|
import com.tangem.domain.models.scan.ProductType
|
|
import com.tangem.scenarios.checkMultiCurrencyMainScreen
|
|
import com.tangem.scenarios.checkSingleCurrencyMainScreen
|
|
import com.tangem.scenarios.openMainScreen
|
|
import com.tangem.tap.domain.sdk.mocks.MockContent
|
|
import com.tangem.tap.domain.sdk.mocks.content.*
|
|
import dagger.hilt.android.testing.HiltAndroidTest
|
|
import io.qameta.allure.kotlin.AllureId
|
|
import io.qameta.allure.kotlin.junit4.DisplayName
|
|
import org.junit.Test
|
|
|
|
@HiltAndroidTest
|
|
class ScanCardTest : BaseTestCase() {
|
|
|
|
@ApiEnv(
|
|
ApiEnvConfig(ApiConfig.ID.TangemTech, ApiEnvironment.PROD),
|
|
ApiEnvConfig(ApiConfig.ID.Express, ApiEnvironment.PROD)
|
|
)
|
|
@AllureId("868")
|
|
@DisplayName("Scan: Scanning single-currency cards")
|
|
@Test
|
|
fun singleTokenNoteCardScanTest() {
|
|
val cardBlockchain = "DOGE"
|
|
val cardType: ProductType = ProductType.Note
|
|
|
|
setupHooks().run {
|
|
step("Open 'Main Screen' on '${cardType.name}' card") {
|
|
openMainScreen(cardType)
|
|
}
|
|
step("Check 'Main' screen for '${cardType.name}' $cardBlockchain card") {
|
|
checkSingleCurrencyMainScreen(
|
|
cardBlockchain = cardBlockchain,
|
|
cardTitle = cardType.name,
|
|
withTransactions = true
|
|
)
|
|
}
|
|
}
|
|
}
|
|
|
|
@AllureId("869")
|
|
@DisplayName("Scan: 'Twin' card")
|
|
@Test
|
|
fun twinsCardScanTest() {
|
|
val cardBlockchain = "BTC"
|
|
val cardType: MockContent = TwinsMockContent
|
|
val cardName = "Twin"
|
|
|
|
setupHooks().run {
|
|
step("Open 'Main Screen' on '$cardName' card") {
|
|
openMainScreen(mockContent = cardType, isTwinsCard = true)
|
|
}
|
|
step("Check 'Main' screen for '$cardName' $cardBlockchain card") {
|
|
checkSingleCurrencyMainScreen(cardBlockchain = cardBlockchain, cardTitle = cardName)
|
|
}
|
|
}
|
|
}
|
|
|
|
@AllureId("872")
|
|
@DisplayName("Scan: Card with Secp256k1 curve")
|
|
@Test
|
|
fun secpk1CurveCardScanTest() {
|
|
val devicesCount = "1 device"
|
|
val cardType: MockContent = Secpk1CurveMockContent
|
|
val cardName = "Wallet"
|
|
val card = "card with Secp256k1 curve"
|
|
|
|
setupHooks().run {
|
|
step("Open 'Main Screen' on $card") {
|
|
openMainScreen(mockContent = cardType)
|
|
}
|
|
step("Check 'Main' screen for $card curve with devices count = '$devicesCount'") {
|
|
checkMultiCurrencyMainScreen(
|
|
devicesCount = devicesCount,
|
|
cardTitle = cardName,
|
|
withWalletImage = false
|
|
)
|
|
}
|
|
}
|
|
}
|
|
|
|
@AllureId("870")
|
|
@DisplayName("Scan: Card with Ed25519 curve")
|
|
@Test
|
|
fun edCurveCardScanTest() {
|
|
val cardBlockchain = "XLM"
|
|
val cardType: MockContent = EdCurveMockContent
|
|
val cardName = "Tangem card"
|
|
val card = "card with Ed25519 curve"
|
|
|
|
setupHooks().run {
|
|
step("Open 'Main Screen' on $card") {
|
|
openMainScreen(mockContent = cardType)
|
|
}
|
|
step("Check 'Main' screen for $card with blockchain: '$cardBlockchain'") {
|
|
checkSingleCurrencyMainScreen(
|
|
cardBlockchain = cardBlockchain,
|
|
cardTitle = cardName,
|
|
withWalletImage = false
|
|
)
|
|
}
|
|
}
|
|
}
|
|
|
|
@AllureId("866")
|
|
@DisplayName("Scan: 'Shiba' card")
|
|
@Test
|
|
fun shibaCardScanTest() {
|
|
val devicesCount = "2 devices"
|
|
val cardType: MockContent = ShibaMockContent
|
|
val cardName = "Wallet"
|
|
val card = "Shiba"
|
|
|
|
setupHooks().run {
|
|
step("Open 'Main Screen' on '$card' card") {
|
|
openMainScreen(mockContent = cardType)
|
|
}
|
|
step("Check 'Main' screen for '$card' card with devices count = '$devicesCount'") {
|
|
checkMultiCurrencyMainScreen(devicesCount, cardName)
|
|
}
|
|
}
|
|
}
|
|
|
|
@AllureId("864")
|
|
@DisplayName("Scan: 'Ring'")
|
|
@Test
|
|
fun ringScanTest() {
|
|
val devicesCount = "3 devices"
|
|
val cardType: ProductType = ProductType.Ring
|
|
val cardName = "Wallet"
|
|
val ring = "Ring"
|
|
|
|
setupHooks().run {
|
|
step("Open 'Main Screen' on '$ring'") {
|
|
openMainScreen(productType = cardType)
|
|
}
|
|
step("Check 'Main' screen for '$ring' with devices count = '$devicesCount'") {
|
|
checkMultiCurrencyMainScreen(devicesCount, cardName)
|
|
}
|
|
}
|
|
}
|
|
|
|
@AllureId("867")
|
|
@DisplayName("Scan: 'Wallet' card")
|
|
@Test
|
|
fun walletCardScanTest() {
|
|
val devicesCount = "1 device"
|
|
val cardType: ProductType = ProductType.Wallet
|
|
val cardName = "Wallet"
|
|
|
|
setupHooks().run {
|
|
step("Open 'Main Screen' on '$cardName' card") {
|
|
openMainScreen(productType = cardType)
|
|
}
|
|
step("Check 'Main' screen for '$cardName' card with devices count = '$devicesCount'") {
|
|
checkMultiCurrencyMainScreen(devicesCount, cardName)
|
|
}
|
|
}
|
|
}
|
|
|
|
@AllureId("865")
|
|
@DisplayName("Scan: 'Wallet 2' card")
|
|
@Test
|
|
fun wallet2ScanTest() {
|
|
val devicesCount = "2 devices"
|
|
val cardType: MockContent = Wallet2MockContent
|
|
val cardName = "Wallet"
|
|
val card = "Wallet 2"
|
|
|
|
setupHooks().run {
|
|
step("Open 'Main Screen' on '$card' card") {
|
|
openMainScreen(mockContent = cardType)
|
|
}
|
|
step("Check 'Main' screen for '$card' card with devices count = '$devicesCount'") {
|
|
checkMultiCurrencyMainScreen(devicesCount, cardName)
|
|
}
|
|
}
|
|
}
|
|
|
|
@AllureId("871")
|
|
@DisplayName("Scan: Card with 4.12 firmware")
|
|
@Test
|
|
fun firmware412CardScanTest() {
|
|
val devicesCount = "1 device"
|
|
val cardType: MockContent = Firmware412MockContent
|
|
val cardName = "Tangem card"
|
|
val card = "card with 4.12 firmware"
|
|
|
|
setupHooks().run {
|
|
step("Open 'Main Screen' on '$card'") {
|
|
openMainScreen(mockContent = cardType)
|
|
}
|
|
step("Check 'Main' screen for '$card' with devices count = '$devicesCount'") {
|
|
checkMultiCurrencyMainScreen(devicesCount, cardName)
|
|
}
|
|
}
|
|
}
|
|
} |