From 4a06e40e70c37df4157efc7f90afb682dbd3bb54 Mon Sep 17 00:00:00 2001 From: Christian Sadilek Date: Wed, 30 Sep 2020 14:19:23 -0400 Subject: [PATCH] Closes #15555: Intermittent failures in SettingsFragmentTest --- .../fenix/settings/SettingsFragmentTest.kt | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/app/src/test/java/org/mozilla/fenix/settings/SettingsFragmentTest.kt b/app/src/test/java/org/mozilla/fenix/settings/SettingsFragmentTest.kt index 8a6d2ad64..2c2acaf6b 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/SettingsFragmentTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/SettingsFragmentTest.kt @@ -8,20 +8,41 @@ import androidx.fragment.app.FragmentActivity import androidx.preference.Preference import io.mockk.every import io.mockk.mockk +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.test.TestCoroutineDispatcher +import mozilla.components.support.test.robolectric.testContext +import mozilla.components.support.test.rule.MainCoroutineRule import org.junit.Assert.assertFalse import org.junit.Assert.assertNotNull import org.junit.Assert.assertTrue +import org.junit.Before +import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.mozilla.fenix.R +import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.getPreferenceKey import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.utils.Settings import org.robolectric.Robolectric +import java.io.IOException +@ExperimentalCoroutinesApi @RunWith(FenixRobolectricTestRunner::class) class SettingsFragmentTest { + private val testDispatcher = TestCoroutineDispatcher() + + @get:Rule + val coroutinesTestRule = MainCoroutineRule(testDispatcher) + + @Before + fun setup() { + // Mock client for fetching account avatar + val client = testContext.components.core.client + every { client.fetch(any()) } throws IOException("test") + } + @Test fun `Add-on collection override pref is visible if debug menu active`() { val settingsFragment = SettingsFragment() @@ -31,6 +52,8 @@ class SettingsFragmentTest { .add(settingsFragment, "test") .commitNow() + testDispatcher.advanceUntilIdle() + val preferenceAmoCollectionOverride = settingsFragment.findPreference( settingsFragment.getPreferenceKey(R.string.pref_key_override_amo_collection) ) @@ -54,6 +77,8 @@ class SettingsFragmentTest { .add(settingsFragment, "test") .commitNow() + testDispatcher.advanceUntilIdle() + val preferenceAmoCollectionOverride = settingsFragment.findPreference( settingsFragment.getPreferenceKey(R.string.pref_key_override_amo_collection) )