Reduce flaky of whenIsInstantApp_hasSummaryForInstant

Wait for enabled summary instead wait for title.

Bug: 288353352
Test: unit test
Change-Id: Ifaf713fd3b781401701f1c8770a7a2a2de0f673f
This commit is contained in:
Chaohui Wang
2023-11-15 11:10:28 +08:00
parent 714490851f
commit 7cb01f2f1e

View File

@@ -26,6 +26,7 @@ import androidx.compose.ui.test.assertIsEnabled
import androidx.compose.ui.test.assertIsNotDisplayed import androidx.compose.ui.test.assertIsNotDisplayed
import androidx.compose.ui.test.assertIsNotEnabled import androidx.compose.ui.test.assertIsNotEnabled
import androidx.compose.ui.test.hasText import androidx.compose.ui.test.hasText
import androidx.compose.ui.test.isEnabled
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
@@ -46,9 +47,10 @@ 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.MockitoSession import org.mockito.MockitoSession
import org.mockito.Spy
import org.mockito.kotlin.any import org.mockito.kotlin.any
import org.mockito.kotlin.doNothing
import org.mockito.kotlin.eq import org.mockito.kotlin.eq
import org.mockito.kotlin.spy
import org.mockito.kotlin.verify import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever import org.mockito.kotlin.whenever
import org.mockito.quality.Strictness import org.mockito.quality.Strictness
@@ -60,8 +62,9 @@ class AppInstallerInfoPreferenceTest {
private lateinit var mockSession: MockitoSession private lateinit var mockSession: MockitoSession
@Spy private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
private val context: Context = ApplicationProvider.getApplicationContext() doNothing().whenever(mock).startActivityAsUser(any(), any())
}
@Before @Before
fun setUp() { fun setUp() {
@@ -78,8 +81,7 @@ class AppInstallerInfoPreferenceTest {
.thenReturn(STORE_LINK) .thenReturn(STORE_LINK)
whenever(Utils.getApplicationLabel(context, INSTALLER_PACKAGE_NAME)) whenever(Utils.getApplicationLabel(context, INSTALLER_PACKAGE_NAME))
.thenReturn(INSTALLER_PACKAGE_LABEL) .thenReturn(INSTALLER_PACKAGE_LABEL)
whenever(AppUtils.isMainlineModule(any(), eq(PACKAGE_NAME))) whenever(AppUtils.isMainlineModule(any(), eq(PACKAGE_NAME))).thenReturn(false)
.thenReturn(false)
} }
@After @After
@@ -134,11 +136,8 @@ class AppInstallerInfoPreferenceTest {
} }
setContent(instantApp) setContent(instantApp)
waitUntilDisplayed()
composeTestRule.onNodeWithText("More info on installer label") composeTestRule.waitUntilExists(hasText("More info on installer label").and(isEnabled()))
.assertIsDisplayed()
.assertIsEnabled()
} }
@Test @Test