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