Merge "Use hasScrollAction in ApnEditPageProviderTest" into main
This commit is contained in:
@@ -19,26 +19,16 @@ package com.android.settings.network.apn
|
||||
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 @@ import org.mockito.kotlin.mock
|
||||
|
||||
@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 @@ class ApnEditPageProviderTest {
|
||||
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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user