Close #24498: Add test for history search telemetry

This commit is contained in:
Roger Yang 2022-10-05 18:35:08 -04:00 committed by mergify[bot]
parent 102acb3a4b
commit e81da189cd
3 changed files with 17 additions and 1 deletions

View File

@ -287,7 +287,6 @@ class HistoryFragment : LibraryPageFragment<History>(), UserInteractionHandler {
true
}
R.id.history_search -> {
GleanHistory.searchIconTapped.record(NoExtras())
historyInteractor.onSearch()
true
}

View File

@ -4,7 +4,9 @@
package org.mozilla.fenix.library.history
import mozilla.components.service.glean.private.NoExtras
import org.mozilla.fenix.selection.SelectionInteractor
import org.mozilla.fenix.GleanMetrics.History as GleanHistory
/**
* Interface for the HistoryInteractor. This interface is implemented by objects that want
@ -86,6 +88,7 @@ class DefaultHistoryInteractor(
}
override fun onSearch() {
GleanHistory.searchIconTapped.record(NoExtras())
historyController.handleSearch()
}

View File

@ -7,14 +7,26 @@ package org.mozilla.fenix.library.history
import io.mockk.every
import io.mockk.mockk
import io.mockk.verifyAll
import mozilla.components.service.glean.testing.GleanTestRule
import mozilla.components.support.test.robolectric.testContext
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mozilla.fenix.GleanMetrics.History as GleanHistory
import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
@RunWith(FenixRobolectricTestRunner::class) // For GleanTestRule
class HistoryInteractorTest {
private val historyItem = History.Regular(0, "title", "url", 0.toLong(), HistoryItemTimeGroup.timeGroupForTimestamp(0))
val controller: HistoryController = mockk(relaxed = true)
val interactor = DefaultHistoryInteractor(controller)
@get:Rule
val gleanTestRule = GleanTestRule(testContext)
@Test
fun onOpen() {
interactor.open(historyItem)
@ -67,11 +79,13 @@ class HistoryInteractorTest {
@Test
fun onSearch() {
assertNull(GleanHistory.searchIconTapped.testGetValue())
interactor.onSearch()
verifyAll {
controller.handleSearch()
}
assertNotNull(GleanHistory.searchIconTapped.testGetValue())
}
@Test