Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92d76630 authored by Chaohui Wang's avatar Chaohui Wang
Browse files

Reduce flaky of SettingsSpaUnitTests

Bug: 236346018
Test: Unit test
Change-Id: I8069a9dcb80f0379f1113c3dbfa5784efcdc8601
parent f137463d
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertIsEnabled
import androidx.compose.ui.test.assertIsNotDisplayed
import androidx.compose.ui.test.hasText
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.onRoot
@@ -38,6 +39,8 @@ import androidx.core.os.bundleOf
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.R
import com.android.settingslib.spa.testutils.delay
import com.android.settingslib.spa.testutils.waitUntilExists
import com.android.settingslib.spaprivileged.model.app.userHandle
import com.android.settingslib.spaprivileged.model.app.userId
import com.google.common.truth.Truth.assertThat
@@ -140,7 +143,7 @@ class AppAllServicesPreferenceTest {

        setContent()

        composeTestRule.onNodeWithText(SUMMARY).assertIsDisplayed()
        composeTestRule.waitUntilExists(hasText(SUMMARY))
    }

    @Test
@@ -149,6 +152,7 @@ class AppAllServicesPreferenceTest {

        setContent()
        composeTestRule.onRoot().performClick()
        composeTestRule.delay()

        val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
        verify(context).startActivityAsUser(intentCaptor.capture(), eq(APP.userHandle))
+6 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertIsNotDisplayed
import androidx.compose.ui.test.hasText
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.onRoot
@@ -36,6 +37,8 @@ import com.android.settings.applications.AppInfoBase
import com.android.settings.applications.AppLocaleUtil
import com.android.settings.applications.appinfo.AppLocaleDetails
import com.android.settings.localepicker.AppLocalePickerActivity
import com.android.settingslib.spa.testutils.delay
import com.android.settingslib.spa.testutils.waitUntilExists
import com.android.settingslib.spaprivileged.model.app.userHandle
import com.google.common.truth.Truth.assertThat
import org.junit.After
@@ -103,15 +106,16 @@ class AppLocalePreferenceTest {

        composeTestRule.onNodeWithText(context.getString(R.string.app_locale_preference_title))
            .assertIsDisplayed()
        composeTestRule.onNodeWithText(SUMMARY).assertIsDisplayed()
        composeTestRule.waitUntilExists(hasText(SUMMARY))
    }

    @Test
    fun whenCanDisplayLocalUi_click_startsActivity() {
    fun whenCanDisplayLocalUi_click_startActivity() {
        doNothing().`when`(context).startActivityAsUser(any(), any())

        setContent()
        composeTestRule.onRoot().performClick()
        composeTestRule.delay()

        val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
        verify(context).startActivityAsUser(intentCaptor.capture(), eq(APP.userHandle))
+2 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import androidx.compose.ui.test.performClick
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.R
import com.android.settingslib.spa.testutils.delay
import com.android.settingslib.spaprivileged.model.app.userHandle
import com.android.settingslib.spaprivileged.model.app.userId
import com.google.common.truth.Truth.assertThat
@@ -129,6 +130,7 @@ class AppSettingsPreferenceTest {

        setContent()
        composeTestRule.onRoot().performClick()
        composeTestRule.delay()

        val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
        verify(context).startActivityAsUser(intentCaptor.capture(), eq(APP.userHandle))
+5 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertIsEnabled
import androidx.compose.ui.test.assertIsNotDisplayed
import androidx.compose.ui.test.hasText
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.onRoot
@@ -34,6 +35,8 @@ import com.android.dx.mockito.inline.extended.ExtendedMockito
import com.android.settings.R
import com.android.settings.applications.appinfo.AppInfoDashboardFragment
import com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetails
import com.android.settingslib.spa.testutils.delay
import com.android.settingslib.spa.testutils.waitUntilExists
import com.android.settingslib.spaprivileged.framework.common.crossProfileApps
import org.junit.After
import org.junit.Before
@@ -110,7 +113,7 @@ class InteractAcrossProfilesDetailsPreferenceTest {

        setContent()

        composeTestRule.onNodeWithText(SUMMARY).assertIsDisplayed()
        composeTestRule.waitUntilExists(hasText(SUMMARY))
    }

    @Test
@@ -119,6 +122,7 @@ class InteractAcrossProfilesDetailsPreferenceTest {

        setContent()
        composeTestRule.onRoot().performClick()
        composeTestRule.delay()

        ExtendedMockito.verify {
            AppInfoDashboardFragment.startAppInfoFragment(