Reduce flaky of whenCanDisplayLocalUi_displayed

Bug: 246877208
Test: Unit test
Change-Id: I0b2554521b55fcfacc24e59a81ddc08b2eb9d70c
This commit is contained in:
Chaohui Wang
2022-12-07 12:03:47 +08:00
parent 8318b2b7b6
commit b4a8e4b314

View File

@@ -22,11 +22,9 @@ import android.content.pm.ApplicationInfo
import android.content.pm.PackageManager import android.content.pm.PackageManager
import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertIsNotDisplayed import androidx.compose.ui.test.assertIsNotDisplayed
import androidx.compose.ui.test.hasText import androidx.compose.ui.test.hasText
import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.onRoot import androidx.compose.ui.test.onRoot
import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performClick
import androidx.test.core.app.ApplicationProvider import androidx.test.core.app.ApplicationProvider
@@ -47,7 +45,6 @@ import org.junit.Rule
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor import org.mockito.ArgumentCaptor
import org.mockito.ArgumentMatchers
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito.any import org.mockito.Mockito.any
import org.mockito.Mockito.doNothing import org.mockito.Mockito.doNothing
@@ -80,9 +77,8 @@ class AppLocalePreferenceTest {
.strictness(Strictness.LENIENT) .strictness(Strictness.LENIENT)
.startMocking() .startMocking()
whenever(context.packageManager).thenReturn(packageManager) whenever(context.packageManager).thenReturn(packageManager)
whenever(AppLocaleUtil.canDisplayLocaleUi(any(), ArgumentMatchers.eq(APP), any())) whenever(AppLocaleUtil.canDisplayLocaleUi(any(), eq(APP), any())).thenReturn(true)
.thenReturn(true) whenever(AppLocaleDetails.getSummary(any(), eq(APP))).thenReturn(SUMMARY)
whenever(AppLocaleDetails.getSummary(any(), ArgumentMatchers.eq(APP))).thenReturn(SUMMARY)
} }
@After @After
@@ -92,8 +88,7 @@ class AppLocalePreferenceTest {
@Test @Test
fun whenCanNotDisplayLocalUi_notDisplayed() { fun whenCanNotDisplayLocalUi_notDisplayed() {
whenever(AppLocaleUtil.canDisplayLocaleUi(any(), ArgumentMatchers.eq(APP), any())) whenever(AppLocaleUtil.canDisplayLocaleUi(any(), eq(APP), any())).thenReturn(false)
.thenReturn(false)
setContent() setContent()
@@ -104,8 +99,9 @@ class AppLocalePreferenceTest {
fun whenCanDisplayLocalUi_displayed() { fun whenCanDisplayLocalUi_displayed() {
setContent() setContent()
composeTestRule.onNodeWithText(context.getString(R.string.app_locale_preference_title)) composeTestRule.waitUntilExists(
.assertIsDisplayed() hasText(context.getString(R.string.app_locale_preference_title))
)
composeTestRule.waitUntilExists(hasText(SUMMARY)) composeTestRule.waitUntilExists(hasText(SUMMARY))
} }