From a697247aaef49c9e4141357b7db27320efb2bf60 Mon Sep 17 00:00:00 2001 From: mcarare Date: Fri, 3 Apr 2020 14:14:21 +0300 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/9536: Update tests to check opened tab is in same browsing mode --- .../DefaultBrowserToolbarControllerTest.kt | 60 +++++++++++++++++-- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/app/src/test/java/org/mozilla/fenix/components/toolbar/DefaultBrowserToolbarControllerTest.kt b/app/src/test/java/org/mozilla/fenix/components/toolbar/DefaultBrowserToolbarControllerTest.kt index a26f51eaaf..daf3eaaecf 100644 --- a/app/src/test/java/org/mozilla/fenix/components/toolbar/DefaultBrowserToolbarControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/components/toolbar/DefaultBrowserToolbarControllerTest.kt @@ -59,9 +59,9 @@ import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.nav import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.toTab +import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.home.Tab import org.mozilla.fenix.settings.deletebrowsingdata.deleteAndQuit -import org.mozilla.fenix.helpers.FenixRobolectricTestRunner @ExperimentalCoroutinesApi @RunWith(FenixRobolectricTestRunner::class) @@ -418,14 +418,27 @@ class DefaultBrowserToolbarControllerTest { } @Test - fun handleToolbarReportIssuePress() { + fun handleToolbarReportIssuePressInNormalMode() { val tabsUseCases: TabsUseCases = mockk(relaxed = true) val addTabUseCase: TabsUseCases.AddNewTabUseCase = mockk(relaxed = true) + val browserStore = + BrowserStore( + BrowserState( + tabs = listOf( + createTab( + url = "https://mozilla.org", + private = false, + id = "tab1" + ) + ), + selectedTabId = "tab1" + ) + ) + val item = ToolbarMenu.Item.ReportIssue - every { currentSession.id } returns "1" - every { currentSession.url } returns "https://mozilla.org" + every { activity.components.core.store } returns browserStore every { activity.components.useCases.tabsUseCases } returns tabsUseCases every { tabsUseCases.addTab } returns addTabUseCase @@ -443,6 +456,45 @@ class DefaultBrowserToolbarControllerTest { } } + @Test + fun handleToolbarReportIssuePressInPrivateMode() { + val tabsUseCases: TabsUseCases = mockk(relaxed = true) + val addPrivateTabUseCase: TabsUseCases.AddNewPrivateTabUseCase = mockk(relaxed = true) + + val browserStore = + BrowserStore( + BrowserState( + tabs = listOf( + createTab( + url = "https://mozilla.org", + private = true, + id = "tab1" + ) + ), + selectedTabId = "tab1" + ) + ) + + val item = ToolbarMenu.Item.ReportIssue + + every { activity.components.core.store } returns browserStore + every { activity.components.useCases.tabsUseCases } returns tabsUseCases + every { tabsUseCases.addPrivateTab } returns addPrivateTabUseCase + + controller.handleToolbarItemInteraction(item) + + verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.REPORT_SITE_ISSUE)) } + verify { + // Hardcoded URL because this function modifies the URL with an apply + addPrivateTabUseCase.invoke( + String.format( + BrowserFragment.REPORT_SITE_ISSUE_URL, + "https://mozilla.org" + ) + ) + } + } + @Test fun handleToolbarSaveToCollectionPressWhenAtLeastOneCollectionExists() { val item = ToolbarMenu.Item.SaveToCollection