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

Commit a43b2b5d authored by Chaohui Wang's avatar Chaohui Wang
Browse files

Reduce flaky of AppStoragePreferenceTest

Summary is async so wait for it.

Bug: 236346018
Test: Unit test
Change-Id: I80a3409008c2c42eda10e9e9711d9da15d533ba9
parent d85cb3e0
Loading
Loading
Loading
Loading
+14 −16
Original line number Original line Diff line number Diff line
@@ -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
        }
        }


        setContent(externalApp)

        composeTestRule.onNodeWithText(context.getString(R.string.storage_settings_for_app))
            .assertIsDisplayed()
        composeTestRule.waitUntilExists(hasText("123 B used in external storage"))
    }

    private fun setContent(app: ApplicationInfo) {
        composeTestRule.setContent {
        composeTestRule.setContent {
            CompositionLocalProvider(LocalContext provides context) {
            CompositionLocalProvider(LocalContext provides context) {
                AppStoragePreference(externalApp)
                AppStoragePreference(app)
            }
            }
        }
        }

        composeTestRule.onNodeWithText(context.getString(R.string.storage_settings_for_app))
            .assertIsDisplayed()
        composeTestRule.onNodeWithText("123 B used in external storage").assertIsDisplayed()
    }
    }


    companion object {
    companion object {