Reduce flaky of AppStoragePreferenceTest

Summary is async so wait for it.

Bug: 236346018
Test: Unit test
Change-Id: I80a3409008c2c42eda10e9e9711d9da15d533ba9
This commit is contained in:
Chaohui Wang
2022-11-28 21:12:02 +08:00
parent d85cb3e009
commit a43b2b5df4

View File

@@ -24,12 +24,14 @@ 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
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.R
import com.android.settingslib.spa.testutils.waitUntilExists
import com.android.settingslib.spaprivileged.framework.common.storageStatsManager
import java.util.UUID
import org.junit.Before
@@ -71,11 +73,7 @@ class AppStoragePreferenceTest {
fun notInstalledApp_notDisplayed() {
val notInstalledApp = ApplicationInfo()
composeTestRule.setContent {
CompositionLocalProvider(LocalContext provides context) {
AppStoragePreference(notInstalledApp)
}
}
setContent(notInstalledApp)
composeTestRule.onRoot().assertIsNotDisplayed()
}
@@ -88,15 +86,11 @@ class AppStoragePreferenceTest {
storageUuid = STORAGE_UUID
}
composeTestRule.setContent {
CompositionLocalProvider(LocalContext provides context) {
AppStoragePreference(internalApp)
}
}
setContent(internalApp)
composeTestRule.onNodeWithText(context.getString(R.string.storage_settings_for_app))
.assertIsDisplayed()
composeTestRule.onNodeWithText("123 B used in internal storage").assertIsDisplayed()
composeTestRule.waitUntilExists(hasText("123 B used in internal storage"))
}
@Test
@@ -107,15 +101,19 @@ class AppStoragePreferenceTest {
storageUuid = STORAGE_UUID
}
composeTestRule.setContent {
CompositionLocalProvider(LocalContext provides context) {
AppStoragePreference(externalApp)
}
}
setContent(externalApp)
composeTestRule.onNodeWithText(context.getString(R.string.storage_settings_for_app))
.assertIsDisplayed()
composeTestRule.onNodeWithText("123 B used in external storage").assertIsDisplayed()
composeTestRule.waitUntilExists(hasText("123 B used in external storage"))
}
private fun setContent(app: ApplicationInfo) {
composeTestRule.setContent {
CompositionLocalProvider(LocalContext provides context) {
AppStoragePreference(app)
}
}
}
companion object {