2023-03-03 05:06:03 -08:00
|
|
|
package co.electriccoin.zcash.ui.screen.onboarding.view
|
|
|
|
|
|
|
|
import androidx.compose.ui.test.assertHasClickAction
|
|
|
|
import androidx.compose.ui.test.assertIsEnabled
|
|
|
|
import androidx.compose.ui.test.junit4.createComposeRule
|
|
|
|
import androidx.compose.ui.test.onNodeWithText
|
|
|
|
import androidx.compose.ui.test.performClick
|
|
|
|
import androidx.test.filters.MediumTest
|
|
|
|
import co.electriccoin.zcash.test.UiTestPrerequisites
|
|
|
|
import co.electriccoin.zcash.ui.R
|
|
|
|
import co.electriccoin.zcash.ui.screen.onboarding.ShortOnboardingTestSetup
|
|
|
|
import co.electriccoin.zcash.ui.test.getStringResource
|
|
|
|
import org.junit.Assert.assertEquals
|
|
|
|
import org.junit.Rule
|
|
|
|
import org.junit.Test
|
|
|
|
|
|
|
|
class ShortOnboardingViewTest : UiTestPrerequisites() {
|
|
|
|
@get:Rule
|
|
|
|
val composeTestRule = createComposeRule()
|
|
|
|
|
|
|
|
private fun newTestSetup(): ShortOnboardingTestSetup {
|
|
|
|
return ShortOnboardingTestSetup(composeTestRule).apply {
|
|
|
|
setDefaultContent()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@MediumTest
|
|
|
|
fun layout() {
|
|
|
|
newTestSetup()
|
|
|
|
|
|
|
|
composeTestRule.onNodeWithText(getStringResource(R.string.onboarding_short_import_existing_wallet)).also {
|
|
|
|
it.assertExists()
|
|
|
|
it.assertIsEnabled()
|
|
|
|
it.assertHasClickAction()
|
|
|
|
}
|
|
|
|
|
2023-10-03 05:23:43 -07:00
|
|
|
composeTestRule.onNodeWithText(
|
|
|
|
text = getStringResource(R.string.onboarding_short_create_new_wallet),
|
|
|
|
ignoreCase = true
|
|
|
|
).also {
|
2023-03-03 05:06:03 -08:00
|
|
|
it.assertExists()
|
|
|
|
it.assertIsEnabled()
|
|
|
|
it.assertHasClickAction()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@MediumTest
|
|
|
|
fun click_create_wallet() {
|
|
|
|
val testSetup = newTestSetup()
|
|
|
|
|
2023-06-18 23:59:00 -07:00
|
|
|
val newWalletButton = composeTestRule.onNodeWithText(
|
2023-10-03 05:23:43 -07:00
|
|
|
text = getStringResource(R.string.onboarding_short_create_new_wallet),
|
|
|
|
ignoreCase = true
|
2023-06-18 23:59:00 -07:00
|
|
|
)
|
2023-03-03 05:06:03 -08:00
|
|
|
newWalletButton.performClick()
|
|
|
|
|
|
|
|
assertEquals(1, testSetup.getOnCreateWalletCallbackCount())
|
|
|
|
assertEquals(0, testSetup.getOnImportWalletCallbackCount())
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@MediumTest
|
|
|
|
fun click_import_wallet() {
|
|
|
|
val testSetup = newTestSetup()
|
|
|
|
|
2023-06-18 23:59:00 -07:00
|
|
|
val newWalletButton = composeTestRule.onNodeWithText(
|
|
|
|
getStringResource(R.string.onboarding_short_import_existing_wallet)
|
|
|
|
)
|
2023-03-03 05:06:03 -08:00
|
|
|
newWalletButton.performClick()
|
|
|
|
|
|
|
|
assertEquals(1, testSetup.getOnImportWalletCallbackCount())
|
|
|
|
assertEquals(0, testSetup.getOnCreateWalletCallbackCount())
|
|
|
|
}
|
|
|
|
}
|