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
+}