|
|
|
@ -679,6 +679,35 @@ class DefaultSessionControlControllerTest {
|
|
|
|
|
verify { activity.openToBrowser(BrowserDirection.FromHome) }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun handleSelectProvidedTopSite() {
|
|
|
|
|
val topSite = TopSite.Provided(
|
|
|
|
|
id = 1L,
|
|
|
|
|
title = "Mozilla",
|
|
|
|
|
url = "mozilla.org",
|
|
|
|
|
clickUrl = "",
|
|
|
|
|
imageUrl = "",
|
|
|
|
|
impressionUrl = "",
|
|
|
|
|
createdAt = 0
|
|
|
|
|
)
|
|
|
|
|
val controller = spyk(createController())
|
|
|
|
|
|
|
|
|
|
every { controller.getAvailableSearchEngines() } returns listOf(searchEngine)
|
|
|
|
|
|
|
|
|
|
controller.handleSelectTopSite(topSite)
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.TopSiteOpenInNewTab) }
|
|
|
|
|
verify { metrics.track(Event.TopSiteOpenProvided) }
|
|
|
|
|
verify {
|
|
|
|
|
tabsUseCases.addTab.invoke(
|
|
|
|
|
url = topSite.url,
|
|
|
|
|
selectTab = true,
|
|
|
|
|
startLoading = true
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
verify { activity.openToBrowser(BrowserDirection.FromHome) }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun handleStartBrowsingClicked() {
|
|
|
|
|
var hideOnboardingInvoked = false
|
|
|
|
@ -932,9 +961,12 @@ class DefaultSessionControlControllerTest {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `WHEN handleTopSiteSettingsClicked is called THEN navigate to the HomeSettingsFragment`() {
|
|
|
|
|
fun `WHEN handleTopSiteSettingsClicked is called THEN navigate to the HomeSettingsFragment AND report the interaction`() {
|
|
|
|
|
createController().handleTopSiteSettingsClicked()
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
|
metrics.track(Event.TopSiteContileSettings)
|
|
|
|
|
}
|
|
|
|
|
verify {
|
|
|
|
|
navController.navigate(
|
|
|
|
|
match<NavDirections> {
|
|
|
|
@ -946,9 +978,12 @@ class DefaultSessionControlControllerTest {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `WHEN handleSponsorPrivacyClicked is called THEN `() {
|
|
|
|
|
fun `WHEN handleSponsorPrivacyClicked is called THEN navigate to the privacy webpage AND report the interaction`() {
|
|
|
|
|
createController().handleSponsorPrivacyClicked()
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
|
metrics.track(Event.TopSiteContilePrivacy)
|
|
|
|
|
}
|
|
|
|
|
verify {
|
|
|
|
|
activity.openToBrowserAndLoad(
|
|
|
|
|
searchTermOrURL = SupportUtils.getGenericSumoURLForTopic(SupportUtils.SumoTopic.SPONSOR_PRIVACY),
|
|
|
|
@ -958,6 +993,54 @@ class DefaultSessionControlControllerTest {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `WHEN handleOpenInPrivateTabClicked is called with a TopSite#Provided site THEN Event#TopSiteOpenContileInPrivateTab is reported`() {
|
|
|
|
|
val topSite = TopSite.Provided(
|
|
|
|
|
id = 1L,
|
|
|
|
|
title = "Mozilla",
|
|
|
|
|
url = "mozilla.org",
|
|
|
|
|
clickUrl = "",
|
|
|
|
|
imageUrl = "",
|
|
|
|
|
impressionUrl = "",
|
|
|
|
|
createdAt = 0
|
|
|
|
|
)
|
|
|
|
|
createController().handleOpenInPrivateTabClicked(topSite)
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
|
metrics.track(Event.TopSiteOpenContileInPrivateTab)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `WHEN handleOpenInPrivateTabClicked is called with a Default, Pinned, or Frecent top site THEN TopSiteOpenInPrivateTab event is reported`() {
|
|
|
|
|
val controller = createController()
|
|
|
|
|
val topSite1 = TopSite.Default(
|
|
|
|
|
id = 1L,
|
|
|
|
|
title = "Mozilla",
|
|
|
|
|
url = "mozilla.org",
|
|
|
|
|
createdAt = 0
|
|
|
|
|
)
|
|
|
|
|
val topSite2 = TopSite.Pinned(
|
|
|
|
|
id = 1L,
|
|
|
|
|
title = "Mozilla",
|
|
|
|
|
url = "mozilla.org",
|
|
|
|
|
createdAt = 0
|
|
|
|
|
)
|
|
|
|
|
val topSite3 = TopSite.Frecent(
|
|
|
|
|
id = 1L,
|
|
|
|
|
title = "Mozilla",
|
|
|
|
|
url = "mozilla.org",
|
|
|
|
|
createdAt = 0
|
|
|
|
|
)
|
|
|
|
|
controller.handleOpenInPrivateTabClicked(topSite1)
|
|
|
|
|
controller.handleOpenInPrivateTabClicked(topSite2)
|
|
|
|
|
controller.handleOpenInPrivateTabClicked(topSite3)
|
|
|
|
|
|
|
|
|
|
verify(exactly = 3) {
|
|
|
|
|
metrics.track(Event.TopSiteOpenInPrivateTab)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun createController(
|
|
|
|
|
hideOnboarding: () -> Unit = { },
|
|
|
|
|
registerCollectionStorageObserver: () -> Unit = { },
|
|
|
|
|