@ -55,6 +55,7 @@ import org.mozilla.fenix.components.metrics.MetricController
import org.mozilla.fenix.components.tips.Tip
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.home.recenttabs.RecentTab
import org.mozilla.fenix.home.sessioncontrol.DefaultSessionControlController
import org.mozilla.fenix.settings.SupportUtils
import org.mozilla.fenix.utils.Settings
@ -107,6 +108,7 @@ class DefaultSessionControlControllerTest {
)
private lateinit var store : BrowserStore
private val homeFragmentState : HomeFragmentState = mockk ( relaxed = true )
@Before
fun setup ( ) {
@ -816,6 +818,31 @@ class DefaultSessionControlControllerTest {
}
}
@Test
fun `WHEN handleReportSessionMetrics is called AND there are zero recent tabs THEN report Event#RecentTabsSectionIsNotVisible` ( ) {
every { homeFragmentState . recentTabs } returns emptyList ( )
createController ( ) . handleReportSessionMetrics ( homeFragmentState )
verify ( exactly = 0 ) {
metrics . track ( Event . RecentTabsSectionIsVisible )
}
verify {
metrics . track ( Event . RecentTabsSectionIsNotVisible )
}
}
@Test
fun `WHEN handleReportSessionMetrics is called AND there is at least one recent tab THEN report Event#RecentTabsSectionIsVisible` ( ) {
val recentTab : RecentTab = mockk ( relaxed = true )
every { homeFragmentState . recentTabs } returns listOf ( recentTab )
createController ( ) . handleReportSessionMetrics ( homeFragmentState )
verify ( exactly = 0 ) {
metrics . track ( Event . RecentTabsSectionIsNotVisible )
}
verify {
metrics . track ( Event . RecentTabsSectionIsVisible )
}
}
private fun createController (
hideOnboarding : ( ) -> Unit = { } ,
registerCollectionStorageObserver : ( ) -> Unit = { } ,