Closes #15555: Intermittent failures in SettingsFragmentTest

pull/200/head^2
Christian Sadilek 4 years ago
parent ff930175de
commit 4a06e40e70

@ -8,20 +8,41 @@ import androidx.fragment.app.FragmentActivity
import androidx.preference.Preference import androidx.preference.Preference
import io.mockk.every import io.mockk.every
import io.mockk.mockk 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.assertFalse
import org.junit.Assert.assertNotNull import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.getPreferenceKey import org.mozilla.fenix.ext.getPreferenceKey
import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
import org.mozilla.fenix.utils.Settings import org.mozilla.fenix.utils.Settings
import org.robolectric.Robolectric import org.robolectric.Robolectric
import java.io.IOException
@ExperimentalCoroutinesApi
@RunWith(FenixRobolectricTestRunner::class) @RunWith(FenixRobolectricTestRunner::class)
class SettingsFragmentTest { 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 @Test
fun `Add-on collection override pref is visible if debug menu active`() { fun `Add-on collection override pref is visible if debug menu active`() {
val settingsFragment = SettingsFragment() val settingsFragment = SettingsFragment()
@ -31,6 +52,8 @@ class SettingsFragmentTest {
.add(settingsFragment, "test") .add(settingsFragment, "test")
.commitNow() .commitNow()
testDispatcher.advanceUntilIdle()
val preferenceAmoCollectionOverride = settingsFragment.findPreference<Preference>( val preferenceAmoCollectionOverride = settingsFragment.findPreference<Preference>(
settingsFragment.getPreferenceKey(R.string.pref_key_override_amo_collection) settingsFragment.getPreferenceKey(R.string.pref_key_override_amo_collection)
) )
@ -54,6 +77,8 @@ class SettingsFragmentTest {
.add(settingsFragment, "test") .add(settingsFragment, "test")
.commitNow() .commitNow()
testDispatcher.advanceUntilIdle()
val preferenceAmoCollectionOverride = settingsFragment.findPreference<Preference>( val preferenceAmoCollectionOverride = settingsFragment.findPreference<Preference>(
settingsFragment.getPreferenceKey(R.string.pref_key_override_amo_collection) settingsFragment.getPreferenceKey(R.string.pref_key_override_amo_collection)
) )

Loading…
Cancel
Save