[fenix] Close https://github.com/mozilla-mobile/fenix/issues/19950: Fix intermittent failure in SearchDialogControllerTest

pull/600/head
Jonathan Almeida 3 years ago committed by Jonathan Almeida
parent f20c7ed527
commit 8764e7dcec

@ -23,6 +23,7 @@ import mozilla.components.browser.state.search.SearchEngine
import mozilla.components.browser.state.state.BrowserState import mozilla.components.browser.state.state.BrowserState
import mozilla.components.browser.state.store.BrowserStore import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.feature.tabs.TabsUseCases import mozilla.components.feature.tabs.TabsUseCases
import mozilla.components.support.test.libstate.ext.waitUntilIdle
import mozilla.components.support.test.middleware.CaptureActionsMiddleware import mozilla.components.support.test.middleware.CaptureActionsMiddleware
import org.junit.After import org.junit.After
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
@ -58,6 +59,7 @@ class SearchDialogControllerTest {
private lateinit var controller: SearchDialogController private lateinit var controller: SearchDialogController
private lateinit var middleware: CaptureActionsMiddleware<BrowserState, BrowserAction> private lateinit var middleware: CaptureActionsMiddleware<BrowserState, BrowserAction>
private lateinit var browserStore: BrowserStore
@get:Rule @get:Rule
val disableNavGraphProviderAssertionRule = DisableNavGraphProviderAssertionRule() val disableNavGraphProviderAssertionRule = DisableNavGraphProviderAssertionRule()
@ -67,7 +69,7 @@ class SearchDialogControllerTest {
MockKAnnotations.init(this) MockKAnnotations.init(this)
mockkObject(MetricsUtils) mockkObject(MetricsUtils)
middleware = CaptureActionsMiddleware() middleware = CaptureActionsMiddleware()
val browserStore = BrowserStore( browserStore = BrowserStore(
middleware = listOf(middleware) middleware = listOf(middleware)
) )
every { store.state.tabId } returns "test-tab-id" every { store.state.tabId } returns "test-tab-id"
@ -336,6 +338,8 @@ class SearchDialogControllerTest {
fun handleExistingSessionSelected() { fun handleExistingSessionSelected() {
controller.handleExistingSessionSelected("selected") controller.handleExistingSessionSelected("selected")
browserStore.waitUntilIdle()
middleware.assertFirstAction(TabListAction.SelectTabAction::class) { action -> middleware.assertFirstAction(TabListAction.SelectTabAction::class) { action ->
assertEquals("selected", action.tabId) assertEquals("selected", action.tabId)
} }
@ -347,6 +351,8 @@ class SearchDialogControllerTest {
fun handleExistingSessionSelected_tabId() { fun handleExistingSessionSelected_tabId() {
controller.handleExistingSessionSelected("tab-id") controller.handleExistingSessionSelected("tab-id")
browserStore.waitUntilIdle()
middleware.assertFirstAction(TabListAction.SelectTabAction::class) { action -> middleware.assertFirstAction(TabListAction.SelectTabAction::class) { action ->
assertEquals("tab-id", action.tabId) assertEquals("tab-id", action.tabId)
} }

Loading…
Cancel
Save