Merge "Use hasScrollAction in ApnEditPageProviderTest" into main
diff --git a/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
index 3621948..2f7417d 100644
--- a/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
@@ -19,26 +19,16 @@
import android.content.Context
import android.net.Uri
import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.remember
import androidx.compose.ui.test.assertIsDisplayed
-import androidx.compose.ui.test.assertIsOff
-import androidx.compose.ui.test.assertIsOn
+import androidx.compose.ui.test.hasScrollAction
import androidx.compose.ui.test.hasText
-import androidx.compose.ui.test.isFocused
import androidx.compose.ui.test.junit4.createComposeRule
-import androidx.compose.ui.test.onAllNodesWithText
-import androidx.compose.ui.test.onChild
-import androidx.compose.ui.test.onChildAt
-import androidx.compose.ui.test.onLast
import androidx.compose.ui.test.onNodeWithText
-import androidx.compose.ui.test.onRoot
-import androidx.compose.ui.test.performClick
import androidx.compose.ui.test.performScrollToNode
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.R
-import com.google.common.truth.Truth
-import org.junit.Ignore
+import com.google.common.truth.Truth.assertThat
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -46,8 +36,7 @@
@RunWith(AndroidJUnit4::class)
class ApnEditPageProviderTest {
- @get:Rule
- val composeTestRule = createComposeRule()
+ @get:Rule val composeTestRule = createComposeRule()
private val context: Context = ApplicationProvider.getApplicationContext()
private val apnName = "apn_name"
@@ -55,124 +44,76 @@
private val port = "port"
private val apnType = context.resources.getString(R.string.apn_type)
private val apnRoaming = "IPv4"
- private val apnEnable = context.resources.getString(R.string.carrier_enabled)
private val apnProtocolOptions =
context.resources.getStringArray(R.array.apn_protocol_entries).toList()
private val passwordTitle = context.resources.getString(R.string.apn_password)
- private val apnInit = ApnData(
- name = apnName,
- proxy = proxy,
- port = port,
- apnType = apnType,
- apnRoaming = apnProtocolOptions.indexOf(apnRoaming),
- apnEnable = true
- )
- private val apnData = mutableStateOf(
- apnInit
- )
+ private val apnInit =
+ ApnData(
+ name = apnName,
+ proxy = proxy,
+ port = port,
+ apnType = apnType,
+ apnRoaming = apnProtocolOptions.indexOf(apnRoaming),
+ )
+ private val apnData = mutableStateOf(apnInit)
private val uri = mock<Uri> {}
@Test
fun apnEditPageProvider_name() {
- Truth.assertThat(ApnEditPageProvider.name).isEqualTo("ApnEdit")
+ assertThat(ApnEditPageProvider.name).isEqualTo("ApnEdit")
}
@Test
fun title_displayed() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
+ composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
+
composeTestRule.onNodeWithText(context.getString(R.string.apn_edit)).assertIsDisplayed()
}
@Test
fun name_displayed() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
+ composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
+
composeTestRule.onNodeWithText(apnName, true).assertIsDisplayed()
}
@Test
fun proxy_displayed() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(proxy, true))
+ composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
+
+ composeTestRule.onNode(hasScrollAction()).performScrollToNode(hasText(proxy, true))
composeTestRule.onNodeWithText(proxy, true).assertIsDisplayed()
}
@Test
fun port_displayed() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(port, true))
+ composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
+
+ composeTestRule.onNode(hasScrollAction()).performScrollToNode(hasText(port, true))
composeTestRule.onNodeWithText(port, true).assertIsDisplayed()
}
@Test
- fun apn_type_displayed() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(apnType, true))
+ fun apnType_displayed() {
+ composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
+
+ composeTestRule.onNode(hasScrollAction()).performScrollToNode(hasText(apnType, true))
composeTestRule.onNodeWithText(apnType, true).assertIsDisplayed()
}
@Test
- fun apn_roaming_displayed() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(apnRoaming, true))
+ fun apnRoaming_displayed() {
+ composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
+
+ composeTestRule.onNode(hasScrollAction()).performScrollToNode(hasText(apnRoaming, true))
composeTestRule.onNodeWithText(apnRoaming, true).assertIsDisplayed()
}
- @Ignore("b/342374681")
- @Test
- fun carrier_enabled_displayed() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(apnEnable, true))
- composeTestRule.onNodeWithText(apnEnable, true).assertIsDisplayed()
- }
-
- @Test
- fun carrier_enabled_isChecked() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(apnEnable, true))
- composeTestRule.onNodeWithText(apnEnable, true).assertIsOn()
- }
-
- @Ignore("b/342374681")
- @Test
- fun carrier_enabled_checkChanged() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(apnEnable, true))
- composeTestRule.onNodeWithText(apnEnable, true).performClick()
- composeTestRule.onNodeWithText(apnEnable, true).assertIsOff()
- }
-
@Test
fun password_displayed() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(passwordTitle, true))
+ composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
+
+ composeTestRule.onNode(hasScrollAction()).performScrollToNode(hasText(passwordTitle, true))
composeTestRule.onNodeWithText(passwordTitle, true).assertIsDisplayed()
}
-}
\ No newline at end of file
+}