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.content.Context
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.ui.test.assertIsDisplayed
|
import androidx.compose.ui.test.assertIsDisplayed
|
||||||
import androidx.compose.ui.test.assertIsOff
|
import androidx.compose.ui.test.hasScrollAction
|
||||||
import androidx.compose.ui.test.assertIsOn
|
|
||||||
import androidx.compose.ui.test.hasText
|
import androidx.compose.ui.test.hasText
|
||||||
import androidx.compose.ui.test.isFocused
|
|
||||||
import androidx.compose.ui.test.junit4.createComposeRule
|
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.onNodeWithText
|
||||||
import androidx.compose.ui.test.onRoot
|
|
||||||
import androidx.compose.ui.test.performClick
|
|
||||||
import androidx.compose.ui.test.performScrollToNode
|
import androidx.compose.ui.test.performScrollToNode
|
||||||
import androidx.test.core.app.ApplicationProvider
|
import androidx.test.core.app.ApplicationProvider
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import com.android.settings.R
|
import com.android.settings.R
|
||||||
import com.google.common.truth.Truth
|
import com.google.common.truth.Truth.assertThat
|
||||||
import org.junit.Ignore
|
|
||||||
import org.junit.Rule
|
import org.junit.Rule
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
@@ -46,8 +36,7 @@ import org.mockito.kotlin.mock
|
|||||||
|
|
||||||
@RunWith(AndroidJUnit4::class)
|
@RunWith(AndroidJUnit4::class)
|
||||||
class ApnEditPageProviderTest {
|
class ApnEditPageProviderTest {
|
||||||
@get:Rule
|
@get:Rule val composeTestRule = createComposeRule()
|
||||||
val composeTestRule = createComposeRule()
|
|
||||||
|
|
||||||
private val context: Context = ApplicationProvider.getApplicationContext()
|
private val context: Context = ApplicationProvider.getApplicationContext()
|
||||||
private val apnName = "apn_name"
|
private val apnName = "apn_name"
|
||||||
@@ -55,124 +44,76 @@ class ApnEditPageProviderTest {
|
|||||||
private val port = "port"
|
private val port = "port"
|
||||||
private val apnType = context.resources.getString(R.string.apn_type)
|
private val apnType = context.resources.getString(R.string.apn_type)
|
||||||
private val apnRoaming = "IPv4"
|
private val apnRoaming = "IPv4"
|
||||||
private val apnEnable = context.resources.getString(R.string.carrier_enabled)
|
|
||||||
private val apnProtocolOptions =
|
private val apnProtocolOptions =
|
||||||
context.resources.getStringArray(R.array.apn_protocol_entries).toList()
|
context.resources.getStringArray(R.array.apn_protocol_entries).toList()
|
||||||
private val passwordTitle = context.resources.getString(R.string.apn_password)
|
private val passwordTitle = context.resources.getString(R.string.apn_password)
|
||||||
private val apnInit = ApnData(
|
private val apnInit =
|
||||||
name = apnName,
|
ApnData(
|
||||||
proxy = proxy,
|
name = apnName,
|
||||||
port = port,
|
proxy = proxy,
|
||||||
apnType = apnType,
|
port = port,
|
||||||
apnRoaming = apnProtocolOptions.indexOf(apnRoaming),
|
apnType = apnType,
|
||||||
apnEnable = true
|
apnRoaming = apnProtocolOptions.indexOf(apnRoaming),
|
||||||
)
|
)
|
||||||
private val apnData = mutableStateOf(
|
private val apnData = mutableStateOf(apnInit)
|
||||||
apnInit
|
|
||||||
)
|
|
||||||
private val uri = mock<Uri> {}
|
private val uri = mock<Uri> {}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun apnEditPageProvider_name() {
|
fun apnEditPageProvider_name() {
|
||||||
Truth.assertThat(ApnEditPageProvider.name).isEqualTo("ApnEdit")
|
assertThat(ApnEditPageProvider.name).isEqualTo("ApnEdit")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun title_displayed() {
|
fun title_displayed() {
|
||||||
composeTestRule.setContent {
|
composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
|
||||||
ApnPage(apnInit, remember { apnData }, uri)
|
|
||||||
}
|
|
||||||
composeTestRule.onNodeWithText(context.getString(R.string.apn_edit)).assertIsDisplayed()
|
composeTestRule.onNodeWithText(context.getString(R.string.apn_edit)).assertIsDisplayed()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun name_displayed() {
|
fun name_displayed() {
|
||||||
composeTestRule.setContent {
|
composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
|
||||||
ApnPage(apnInit, remember { apnData }, uri)
|
|
||||||
}
|
|
||||||
composeTestRule.onNodeWithText(apnName, true).assertIsDisplayed()
|
composeTestRule.onNodeWithText(apnName, true).assertIsDisplayed()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun proxy_displayed() {
|
fun proxy_displayed() {
|
||||||
composeTestRule.setContent {
|
composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
|
||||||
ApnPage(apnInit, remember { apnData }, uri)
|
|
||||||
}
|
composeTestRule.onNode(hasScrollAction()).performScrollToNode(hasText(proxy, true))
|
||||||
composeTestRule.onRoot().onChild().onChildAt(0)
|
|
||||||
.performScrollToNode(hasText(proxy, true))
|
|
||||||
composeTestRule.onNodeWithText(proxy, true).assertIsDisplayed()
|
composeTestRule.onNodeWithText(proxy, true).assertIsDisplayed()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun port_displayed() {
|
fun port_displayed() {
|
||||||
composeTestRule.setContent {
|
composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
|
||||||
ApnPage(apnInit, remember { apnData }, uri)
|
|
||||||
}
|
composeTestRule.onNode(hasScrollAction()).performScrollToNode(hasText(port, true))
|
||||||
composeTestRule.onRoot().onChild().onChildAt(0)
|
|
||||||
.performScrollToNode(hasText(port, true))
|
|
||||||
composeTestRule.onNodeWithText(port, true).assertIsDisplayed()
|
composeTestRule.onNodeWithText(port, true).assertIsDisplayed()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun apn_type_displayed() {
|
fun apnType_displayed() {
|
||||||
composeTestRule.setContent {
|
composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
|
||||||
ApnPage(apnInit, remember { apnData }, uri)
|
|
||||||
}
|
composeTestRule.onNode(hasScrollAction()).performScrollToNode(hasText(apnType, true))
|
||||||
composeTestRule.onRoot().onChild().onChildAt(0)
|
|
||||||
.performScrollToNode(hasText(apnType, true))
|
|
||||||
composeTestRule.onNodeWithText(apnType, true).assertIsDisplayed()
|
composeTestRule.onNodeWithText(apnType, true).assertIsDisplayed()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun apn_roaming_displayed() {
|
fun apnRoaming_displayed() {
|
||||||
composeTestRule.setContent {
|
composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
|
||||||
ApnPage(apnInit, remember { apnData }, uri)
|
|
||||||
}
|
composeTestRule.onNode(hasScrollAction()).performScrollToNode(hasText(apnRoaming, true))
|
||||||
composeTestRule.onRoot().onChild().onChildAt(0)
|
|
||||||
.performScrollToNode(hasText(apnRoaming, true))
|
|
||||||
composeTestRule.onNodeWithText(apnRoaming, true).assertIsDisplayed()
|
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
|
@Test
|
||||||
fun password_displayed() {
|
fun password_displayed() {
|
||||||
composeTestRule.setContent {
|
composeTestRule.setContent { ApnPage(apnInit, apnData, uri) }
|
||||||
ApnPage(apnInit, remember { apnData }, uri)
|
|
||||||
}
|
composeTestRule.onNode(hasScrollAction()).performScrollToNode(hasText(passwordTitle, true))
|
||||||
composeTestRule.onRoot().onChild().onChildAt(0)
|
|
||||||
.performScrollToNode(hasText(passwordTitle, true))
|
|
||||||
composeTestRule.onNodeWithText(passwordTitle, true).assertIsDisplayed()
|
composeTestRule.onNodeWithText(passwordTitle, true).assertIsDisplayed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user