Improved KiwixSplashActivityTest which failed once on CI.

This commit is contained in:
MohitMaliFtechiz 2024-04-12 20:33:06 +05:30
parent 3a0054e97d
commit 1251dc403e

View File

@ -46,6 +46,7 @@ import org.kiwix.kiwixmobile.testutils.RetryRule
import org.kiwix.kiwixmobile.testutils.TestUtils import org.kiwix.kiwixmobile.testutils.TestUtils
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
import org.kiwix.kiwixmobile.testutils.TestUtils.testFlakyView
@LargeTest @LargeTest
@RunWith(AndroidJUnit4::class) @RunWith(AndroidJUnit4::class)
@ -55,9 +56,6 @@ class KiwixSplashActivityTest {
@JvmField @JvmField
var retryRule = RetryRule() var retryRule = RetryRule()
private val activityScenario: ActivityScenario<KiwixMainActivity> =
ActivityScenario.launch(KiwixMainActivity::class.java)
private val permissions = arrayOf( private val permissions = arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE Manifest.permission.WRITE_EXTERNAL_STORAGE
@ -84,12 +82,13 @@ class KiwixSplashActivityTest {
@Test @Test
fun testFirstRun() { fun testFirstRun() {
shouldShowIntro(true) shouldShowIntro(true)
activityScenario.recreate() ActivityScenario.launch(KiwixMainActivity::class.java).onActivity {
activityScenario.onActivity {
} }
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong()) BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
Espresso.onView(ViewMatchers.withId(R.id.get_started)) testFlakyView({
.check(ViewAssertions.matches(ViewMatchers.isDisplayed())) Espresso.onView(ViewMatchers.withId(R.id.get_started))
.check(ViewAssertions.matches(ViewMatchers.isDisplayed()))
}, 10)
// Verify that the value of the "intro shown" boolean inside // Verify that the value of the "intro shown" boolean inside
// the SharedPreferences Database is not changed until // the SharedPreferences Database is not changed until