Fix tests in toolbar controller
This commit is contained in:
parent
fed3dfc64b
commit
651b2831fe
|
@ -103,12 +103,12 @@ class DefaultBrowserToolbarController(
|
|||
|
||||
override fun handleToolbarPasteAndGo(text: String) {
|
||||
if (text.isUrl()) {
|
||||
activity.components.core.sessionManager.selectedSession?.searchTerms = ""
|
||||
sessionManager.selectedSession?.searchTerms = ""
|
||||
activity.components.useCases.sessionUseCases.loadUrl.invoke(text)
|
||||
return
|
||||
}
|
||||
|
||||
activity.components.core.sessionManager.selectedSession?.searchTerms = text
|
||||
sessionManager.selectedSession?.searchTerms = text
|
||||
activity.components.useCases.searchUseCases.defaultSearch.invoke(text)
|
||||
}
|
||||
|
||||
|
@ -139,20 +139,17 @@ class DefaultBrowserToolbarController(
|
|||
}
|
||||
|
||||
override fun handleTabCounterItemInteraction(item: TabCounterMenuItem) {
|
||||
val tabUseCases = activity.components.useCases.tabsUseCases
|
||||
when (item) {
|
||||
is TabCounterMenuItem.CloseTab -> {
|
||||
activity.components.core.sessionManager.selectedSession?.let {
|
||||
sessionManager.selectedSession?.let {
|
||||
// When closing the last tab we must show the undo snackbar in the home fragment
|
||||
if (activity.components.core.sessionManager.sessionsOfType(it.private)
|
||||
.count() == 1
|
||||
) {
|
||||
if (sessionManager.sessionsOfType(it.private).count() == 1) {
|
||||
// The tab tray always returns to normal mode so do that here too
|
||||
(activity as HomeActivity).browsingModeManager.mode = BrowsingMode.Normal
|
||||
navController.navigate(BrowserFragmentDirections.actionGlobalHome(it.id))
|
||||
} else {
|
||||
onCloseTab.invoke(it)
|
||||
tabUseCases.removeTab.invoke(it)
|
||||
activity.components.useCases.tabsUseCases.removeTab.invoke(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -285,7 +282,7 @@ class DefaultBrowserToolbarController(
|
|||
|
||||
// Strip the CustomTabConfig to turn this Session into a regular tab and then select it
|
||||
customTabSession!!.customTabConfig = null
|
||||
activity.components.core.sessionManager.select(customTabSession)
|
||||
sessionManager.select(customTabSession)
|
||||
|
||||
// Switch to the actual browser which should now display our new selected session
|
||||
activity.startActivity(openInFenixIntent)
|
||||
|
|
|
@ -75,6 +75,7 @@ class DefaultBrowserToolbarControllerTest {
|
|||
private var analytics: Analytics = mockk(relaxed = true)
|
||||
private var navController: NavController = mockk(relaxed = true)
|
||||
private var findInPageLauncher: () -> Unit = mockk(relaxed = true)
|
||||
private val sessionManager: SessionManager = mockk(relaxed = true)
|
||||
private val engineView: EngineView = mockk(relaxed = true)
|
||||
private val currentSession: Session = mockk(relaxed = true)
|
||||
private val openInFenixIntent: Intent = mockk(relaxed = true)
|
||||
|
@ -115,7 +116,7 @@ class DefaultBrowserToolbarControllerTest {
|
|||
topSiteStorage = topSiteStorage,
|
||||
bookmarkTapped = mockk(),
|
||||
readerModeController = readerModeController,
|
||||
sessionManager = mockk(),
|
||||
sessionManager = sessionManager,
|
||||
sharedViewModel = mockk(),
|
||||
onTabCounterClicked = { },
|
||||
onCloseTab = {}
|
||||
|
@ -135,8 +136,9 @@ class DefaultBrowserToolbarControllerTest {
|
|||
every { analytics.metrics } returns metrics
|
||||
every { activity.components.useCases.sessionUseCases } returns sessionUseCases
|
||||
every { activity.components.useCases.searchUseCases } returns searchUseCases
|
||||
every { activity.components.core.sessionManager.selectedSession } returns currentSession
|
||||
every { activity.components.core.sessionManager } returns sessionManager
|
||||
every { activity.components.core.store } returns store
|
||||
every { sessionManager.selectedSession } returns currentSession
|
||||
|
||||
val onComplete = slot<() -> Unit>()
|
||||
every { browserAnimator.captureEngineViewAndDrawStatically(capture(onComplete)) } answers { onComplete.captured.invoke() }
|
||||
|
@ -375,7 +377,7 @@ class DefaultBrowserToolbarControllerTest {
|
|||
topSiteStorage = topSiteStorage,
|
||||
bookmarkTapped = mockk(),
|
||||
readerModeController = mockk(),
|
||||
sessionManager = mockk(),
|
||||
sessionManager = sessionManager,
|
||||
sharedViewModel = mockk(),
|
||||
onTabCounterClicked = { },
|
||||
onCloseTab = { }
|
||||
|
@ -501,16 +503,14 @@ class DefaultBrowserToolbarControllerTest {
|
|||
topSiteStorage = topSiteStorage,
|
||||
bookmarkTapped = mockk(),
|
||||
readerModeController = mockk(),
|
||||
sessionManager = mockk(),
|
||||
sessionManager = sessionManager,
|
||||
sharedViewModel = mockk(),
|
||||
onTabCounterClicked = { },
|
||||
onCloseTab = { }
|
||||
)
|
||||
|
||||
val sessionManager: SessionManager = mockk(relaxed = true)
|
||||
val item = ToolbarMenu.Item.OpenInFenix
|
||||
|
||||
every { activity.components.core.sessionManager } returns sessionManager
|
||||
every { currentSession.customTabConfig } returns mockk()
|
||||
every { activity.startActivity(any()) } just Runs
|
||||
|
||||
|
@ -542,7 +542,7 @@ class DefaultBrowserToolbarControllerTest {
|
|||
topSiteStorage = topSiteStorage,
|
||||
bookmarkTapped = mockk(),
|
||||
readerModeController = mockk(),
|
||||
sessionManager = mockk(),
|
||||
sessionManager = sessionManager,
|
||||
sharedViewModel = mockk(),
|
||||
onTabCounterClicked = { },
|
||||
onCloseTab = { }
|
||||
|
@ -566,12 +566,35 @@ class DefaultBrowserToolbarControllerTest {
|
|||
verify { readerModeController.hideReaderView() }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun handleToolbarCloseTabPressWithLastPrivateSession() {
|
||||
every { currentSession.id } returns "1"
|
||||
val browsingModeManager = object : BrowsingModeManager {
|
||||
override var mode = BrowsingMode.Private
|
||||
}
|
||||
val item = TabCounterMenuItem.CloseTab
|
||||
val sessions = listOf(
|
||||
mockk<Session> {
|
||||
every { private } returns true
|
||||
}
|
||||
)
|
||||
|
||||
every { currentSession.private } returns true
|
||||
every { sessionManager.sessions } returns sessions
|
||||
every { activity.browsingModeManager } returns browsingModeManager
|
||||
|
||||
controller.handleTabCounterItemInteraction(item)
|
||||
verify { navController.navigate(BrowserFragmentDirections.actionGlobalHome("1")) }
|
||||
assertEquals(BrowsingMode.Normal, browsingModeManager.mode)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun handleToolbarCloseTabPress() {
|
||||
val tabsUseCases: TabsUseCases = mockk(relaxed = true)
|
||||
val removeTabUseCase: TabsUseCases.RemoveTabUseCase = mockk(relaxed = true)
|
||||
val item = TabCounterMenuItem.CloseTab
|
||||
|
||||
every { sessionManager.sessions } returns emptyList()
|
||||
every { activity.components.useCases.tabsUseCases } returns tabsUseCases
|
||||
every { tabsUseCases.removeTab } returns removeTabUseCase
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user