commit 215a117cd8427b16cb03089822c411bf7b0726e0
parent 5045f8d5522ef0195eae03ce28c8325d3a82ef2e
Author: mcarare <48995920+mcarare@users.noreply.github.com>
Date: Mon, 29 Dec 2025 14:43:12 +0000
Bug 2007664 - Update EngineDelegateMiddlewareTest to use runTest. r=android-reviewers,giorga
Differential Revision: https://phabricator.services.mozilla.com/D277509
Diffstat:
1 file changed, 119 insertions(+), 119 deletions(-)
diff --git a/mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/engine/middleware/EngineDelegateMiddlewareTest.kt b/mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/engine/middleware/EngineDelegateMiddlewareTest.kt
@@ -4,6 +4,7 @@
package mozilla.components.browser.state.engine.middleware
+import kotlinx.coroutines.test.runTest
import mozilla.components.browser.state.action.EngineAction
import mozilla.components.browser.state.action.TranslationsAction
import mozilla.components.browser.state.engine.EngineMiddleware
@@ -17,12 +18,10 @@ import mozilla.components.concept.engine.Engine
import mozilla.components.concept.engine.EngineSession
import mozilla.components.support.test.any
import mozilla.components.support.test.mock
-import mozilla.components.support.test.rule.MainCoroutineRule
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
-import org.junit.Rule
import org.junit.Test
import org.mockito.ArgumentMatchers
import org.mockito.Mockito.doReturn
@@ -31,13 +30,9 @@ import org.mockito.Mockito.times
import org.mockito.Mockito.verify
class EngineDelegateMiddlewareTest {
- @get:Rule
- val coroutinesTestRule = MainCoroutineRule()
- private val dispatcher = coroutinesTestRule.testDispatcher
- private val scope = coroutinesTestRule.scope
@Test
- fun `LoadUrlAction for tab without engine session`() {
+ fun `LoadUrlAction for tab without engine session`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -46,7 +41,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -60,7 +55,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).loadUrl("https://www.firefox.com")
@@ -68,7 +63,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `LoadUrlAction for private tab without engine session`() {
+ fun `LoadUrlAction for private tab without engine session`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession(private = true)
@@ -77,7 +72,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -91,7 +86,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = true, contextId = null)
verify(engineSession, times(1)).loadUrl("https://www.firefox.com")
@@ -99,7 +94,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `LoadUrlAction for container tab without engine session`() {
+ fun `LoadUrlAction for container tab without engine session`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession(contextId = "test-container")
@@ -108,7 +103,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -122,7 +117,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = "test-container")
verify(engineSession, times(1)).loadUrl("https://www.firefox.com")
@@ -130,14 +125,14 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `LoadUrlAction for tab with engine session`() {
+ fun `LoadUrlAction for tab with engine session`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(
@@ -155,7 +150,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine, never()).createSession(ArgumentMatchers.anyBoolean(), ArgumentMatchers.anyString())
verify(engineSession, times(1)).loadUrl("https://www.firefox.com")
@@ -163,14 +158,14 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `LoadUrlAction for private tab with engine session`() {
+ fun `LoadUrlAction for private tab with engine session`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(
@@ -188,7 +183,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine, never()).createSession(ArgumentMatchers.anyBoolean(), ArgumentMatchers.anyString())
verify(engineSession, times(1)).loadUrl("https://www.firefox.com")
@@ -196,14 +191,14 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `LoadUrlAction for container tab with engine session`() {
+ fun `LoadUrlAction for container tab with engine session`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(
@@ -221,15 +216,18 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
- verify(engine, never()).createSession(ArgumentMatchers.anyBoolean(), ArgumentMatchers.anyString())
+ verify(engine, never()).createSession(
+ ArgumentMatchers.anyBoolean(),
+ ArgumentMatchers.anyString(),
+ )
verify(engineSession, times(1)).loadUrl("https://www.firefox.com")
assertEquals(engineSession, store.state.tabs[0].engineState.engineSession)
}
@Test
- fun `LoadUrlAction omits parent tab when includeParent is false`() {
+ fun `LoadUrlAction omits parent tab when includeParent is false`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -244,7 +242,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(parent, tab),
@@ -259,7 +257,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).loadUrl("https://www.firefox.com", null)
@@ -268,7 +266,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `LoadUrlAction includes parent tab when includeParent is true`() {
+ fun `LoadUrlAction includes parent tab when includeParent is true`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -283,7 +281,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(parent, tab),
@@ -298,7 +296,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).loadUrl("https://www.firefox.com", parentEngineSession)
@@ -307,7 +305,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `LoadUrlAction for tab with parent tab without engine session`() {
+ fun `LoadUrlAction for tab with parent tab without engine session`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -318,7 +316,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(parent, tab),
@@ -332,7 +330,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine, times(1)).createSession(private = false, contextId = null)
verify(engineSession, times(1)).loadUrl("https://www.firefox.com")
@@ -340,13 +338,13 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `LoadUrlAction with flags and additional headers`() {
+ fun `LoadUrlAction with flags and additional headers`() = runTest {
val engineSession: EngineSession = mock()
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = mock(),
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(
@@ -369,7 +367,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engineSession, times(1)).loadUrl(
"https://www.firefox.com",
@@ -383,7 +381,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `LoadUrlAction for tab with same url and without engine session`() {
+ fun `LoadUrlAction for tab with same url and without engine session`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -393,7 +391,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -407,7 +405,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).loadUrl("https://www.mozilla.org")
@@ -416,13 +414,13 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `LoadUrlAction for not existing tab`() {
+ fun `LoadUrlAction for not existing tab`() = runTest {
val engine: Engine = mock()
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(
@@ -438,14 +436,14 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine, never()).createSession(ArgumentMatchers.anyBoolean(), ArgumentMatchers.anyString())
assertNull(store.state.tabs[0].engineState.engineSession)
}
@Test
- fun `LoadDataAction for tab without EngineSession`() {
+ fun `LoadDataAction for tab without EngineSession`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -454,7 +452,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -470,7 +468,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).loadData(
@@ -482,7 +480,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `ReloadAction for tab without EngineSession`() {
+ fun `ReloadAction for tab without EngineSession`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -491,7 +489,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -505,7 +503,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).reload(
@@ -515,7 +513,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `GoForwardAction for tab without EngineSession`() {
+ fun `GoForwardAction for tab without EngineSession`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -524,7 +522,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -537,7 +535,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).goForward()
@@ -545,7 +543,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `GoBackAction for tab without EngineSession`() {
+ fun `GoBackAction for tab without EngineSession`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -554,7 +552,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -567,7 +565,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).goBack()
@@ -575,7 +573,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `GoToHistoryIndexAction for tab without EngineSession`() {
+ fun `GoToHistoryIndexAction for tab without EngineSession`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -584,7 +582,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -598,7 +596,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).goToHistoryIndex(42)
@@ -606,7 +604,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `ToggleDesktopModeAction - Enable desktop mode`() {
+ fun `ToggleDesktopModeAction - Enable desktop mode`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -615,7 +613,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -629,7 +627,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).toggleDesktopMode(enable = true, reload = true)
@@ -637,7 +635,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `ToggleDesktopModeAction - Disable desktop mode`() {
+ fun `ToggleDesktopModeAction - Disable desktop mode`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -646,7 +644,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -660,7 +658,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).toggleDesktopMode(enable = false, reload = true)
@@ -668,7 +666,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `ExitFullscreenModeAction for tab without EngineSession`() {
+ fun `ExitFullscreenModeAction for tab without EngineSession`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -677,7 +675,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -690,7 +688,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).exitFullScreenMode()
@@ -698,7 +696,7 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `ClearDataAction for tab without EngineSession`() {
+ fun `ClearDataAction for tab without EngineSession`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -707,7 +705,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -721,7 +719,7 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engine).createSession(private = false, contextId = null)
verify(engineSession, times(1)).clearData(Engine.BrowsingData.allCaches())
@@ -729,14 +727,14 @@ class EngineDelegateMiddlewareTest {
}
@Test
- fun `PurgeHistoryAction - calls purgeHistory on engine session instances`() {
+ fun `PurgeHistoryAction - calls purgeHistory on engine session instances`() = runTest {
val engineSession1: EngineSession = mock()
val engineSession2: EngineSession = mock()
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = mock(),
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(
@@ -760,14 +758,14 @@ class EngineDelegateMiddlewareTest {
store.dispatch(EngineAction.PurgeHistoryAction)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engineSession1).purgeHistory()
verify(engineSession2).purgeHistory()
}
@Test
- fun `TranslateAction correctly sets progress state AND begins a translation`() {
+ fun `TranslateAction correctly sets progress state AND begins a translation`() = runTest {
val tab = createTab("https://www.mozilla.org")
val engineSession: EngineSession = mock()
val engine: Engine = mock()
@@ -775,7 +773,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -793,14 +791,14 @@ class EngineDelegateMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engineSession).requestTranslate(any(), any(), any())
assertTrue(store.state.findTab(tab.id)?.translationsState?.isTranslateProcessing!!)
}
@Test
- fun `TranslateRestoreAction correctly sets progress state AND begins a restore`() {
+ fun `TranslateRestoreAction correctly sets progress state AND begins a restore`() = runTest {
val tab = createTab("https://www.mozilla.org")
val engineSession: EngineSession = mock()
val engine: Engine = mock()
@@ -808,7 +806,7 @@ class EngineDelegateMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(tab),
@@ -821,59 +819,61 @@ class EngineDelegateMiddlewareTest {
TranslationsAction.TranslateRestoreAction(tabId = tab.id),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
verify(engineSession).requestTranslationRestore()
assertTrue(store.state.findTab(tab.id)?.translationsState?.isRestoreProcessing!!)
}
@Test
- fun `FlushEngineSessionStateAction correctly triggers the engine session state flush on the selected tab`() {
- val tab = createTab("https://www.mozilla.org")
- val engineSession: EngineSession = mock()
- val engine: Engine = mock()
- doReturn(engineSession).`when`(engine).createSession()
- val store = BrowserStore(
- middleware = EngineMiddleware.create(
- engine = engine,
- scope = scope,
- ),
- initialState = BrowserState(
- tabs = listOf(tab),
- ),
- )
+ fun `FlushEngineSessionStateAction correctly triggers the engine session state flush on the selected tab`() =
+ runTest {
+ val tab = createTab("https://www.mozilla.org")
+ val engineSession: EngineSession = mock()
+ val engine: Engine = mock()
+ doReturn(engineSession).`when`(engine).createSession()
+ val store = BrowserStore(
+ middleware = EngineMiddleware.create(
+ engine = engine,
+ scope = this,
+ ),
+ initialState = BrowserState(
+ tabs = listOf(tab),
+ ),
+ )
- store.dispatch(
- EngineAction.FlushEngineSessionStateAction(tabId = tab.id),
- )
+ store.dispatch(
+ EngineAction.FlushEngineSessionStateAction(tabId = tab.id),
+ )
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
- verify(engineSession).flushSessionState()
- }
+ verify(engineSession).flushSessionState()
+ }
@Test
- fun `FlushEngineSessionStateAction correctly triggers the engine session state flush on the custom tab`() {
- val tab = createCustomTab("https://www.mozilla.org")
- val engineSession: EngineSession = mock()
- val engine: Engine = mock()
- doReturn(engineSession).`when`(engine).createSession()
- val store = BrowserStore(
- middleware = EngineMiddleware.create(
- engine = engine,
- scope = scope,
- ),
- initialState = BrowserState(
- customTabs = listOf(tab),
- ),
- )
+ fun `FlushEngineSessionStateAction correctly triggers the engine session state flush on the custom tab`() =
+ runTest {
+ val tab = createCustomTab("https://www.mozilla.org")
+ val engineSession: EngineSession = mock()
+ val engine: Engine = mock()
+ doReturn(engineSession).`when`(engine).createSession()
+ val store = BrowserStore(
+ middleware = EngineMiddleware.create(
+ engine = engine,
+ scope = this,
+ ),
+ initialState = BrowserState(
+ customTabs = listOf(tab),
+ ),
+ )
- store.dispatch(
- EngineAction.FlushEngineSessionStateAction(tabId = tab.id),
- )
+ store.dispatch(
+ EngineAction.FlushEngineSessionStateAction(tabId = tab.id),
+ )
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
- verify(engineSession).flushSessionState()
- }
+ verify(engineSession).flushSessionState()
+ }
}