|
|
@ -11,6 +11,7 @@ import io.mockk.mockk
|
|
|
|
import io.mockk.verify
|
|
|
|
import io.mockk.verify
|
|
|
|
import kotlinx.coroutines.test.TestCoroutineScope
|
|
|
|
import kotlinx.coroutines.test.TestCoroutineScope
|
|
|
|
import kotlinx.coroutines.test.runBlockingTest
|
|
|
|
import kotlinx.coroutines.test.runBlockingTest
|
|
|
|
|
|
|
|
import mozilla.components.browser.state.store.BrowserStore
|
|
|
|
import mozilla.components.browser.storage.sync.PlacesHistoryStorage
|
|
|
|
import mozilla.components.browser.storage.sync.PlacesHistoryStorage
|
|
|
|
import mozilla.components.concept.engine.prompt.ShareData
|
|
|
|
import mozilla.components.concept.engine.prompt.ShareData
|
|
|
|
import mozilla.components.concept.storage.HistoryMetadataKey
|
|
|
|
import mozilla.components.concept.storage.HistoryMetadataKey
|
|
|
@ -46,6 +47,7 @@ class HistoryMetadataGroupControllerTest {
|
|
|
|
|
|
|
|
|
|
|
|
private val activity: HomeActivity = mockk(relaxed = true)
|
|
|
|
private val activity: HomeActivity = mockk(relaxed = true)
|
|
|
|
private val store: HistoryMetadataGroupFragmentStore = mockk(relaxed = true)
|
|
|
|
private val store: HistoryMetadataGroupFragmentStore = mockk(relaxed = true)
|
|
|
|
|
|
|
|
private val browserStore: BrowserStore = mockk(relaxed = true)
|
|
|
|
private val selectOrAddUseCase: TabsUseCases.SelectOrAddUseCase = mockk(relaxed = true)
|
|
|
|
private val selectOrAddUseCase: TabsUseCases.SelectOrAddUseCase = mockk(relaxed = true)
|
|
|
|
private val metrics: MetricController = mockk(relaxed = true)
|
|
|
|
private val metrics: MetricController = mockk(relaxed = true)
|
|
|
|
private val navController: NavController = mockk(relaxed = true)
|
|
|
|
private val navController: NavController = mockk(relaxed = true)
|
|
|
@ -74,10 +76,13 @@ class HistoryMetadataGroupControllerTest {
|
|
|
|
|
|
|
|
|
|
|
|
private lateinit var controller: DefaultHistoryMetadataGroupController
|
|
|
|
private lateinit var controller: DefaultHistoryMetadataGroupController
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private fun getMetadataItemsList() = listOf(mozillaHistoryMetadataItem, firefoxHistoryMetadataItem)
|
|
|
|
|
|
|
|
|
|
|
|
@Before
|
|
|
|
@Before
|
|
|
|
fun setUp() {
|
|
|
|
fun setUp() {
|
|
|
|
controller = DefaultHistoryMetadataGroupController(
|
|
|
|
controller = DefaultHistoryMetadataGroupController(
|
|
|
|
activity = activity,
|
|
|
|
historyStorage = historyStorage,
|
|
|
|
|
|
|
|
browserStore = browserStore,
|
|
|
|
store = store,
|
|
|
|
store = store,
|
|
|
|
selectOrAddUseCase = selectOrAddUseCase,
|
|
|
|
selectOrAddUseCase = selectOrAddUseCase,
|
|
|
|
metrics = metrics,
|
|
|
|
metrics = metrics,
|
|
|
@ -87,6 +92,7 @@ class HistoryMetadataGroupControllerTest {
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
every { activity.components.core.historyStorage } returns historyStorage
|
|
|
|
every { activity.components.core.historyStorage } returns historyStorage
|
|
|
|
|
|
|
|
every { store.state.items } returns getMetadataItemsList()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@After
|
|
|
|
@After
|
|
|
@ -99,7 +105,10 @@ class HistoryMetadataGroupControllerTest {
|
|
|
|
controller.handleOpen(mozillaHistoryMetadataItem)
|
|
|
|
controller.handleOpen(mozillaHistoryMetadataItem)
|
|
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
verify {
|
|
|
|
selectOrAddUseCase.invoke(mozillaHistoryMetadataItem.url, mozillaHistoryMetadataItem.historyMetadataKey)
|
|
|
|
selectOrAddUseCase.invoke(
|
|
|
|
|
|
|
|
mozillaHistoryMetadataItem.url,
|
|
|
|
|
|
|
|
mozillaHistoryMetadataItem.historyMetadataKey
|
|
|
|
|
|
|
|
)
|
|
|
|
navController.navigate(R.id.browserFragment)
|
|
|
|
navController.navigate(R.id.browserFragment)
|
|
|
|
metrics.track(Event.HistorySearchTermGroupOpenTab)
|
|
|
|
metrics.track(Event.HistorySearchTermGroupOpenTab)
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -158,13 +167,13 @@ class HistoryMetadataGroupControllerTest {
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
fun handleDelete() = testDispatcher.runBlockingTest {
|
|
|
|
fun handleDelete() = testDispatcher.runBlockingTest {
|
|
|
|
controller.handleDelete(setOf(mozillaHistoryMetadataItem, firefoxHistoryMetadataItem))
|
|
|
|
controller.handleDelete(getMetadataItemsList().toSet())
|
|
|
|
|
|
|
|
|
|
|
|
coVerify {
|
|
|
|
coVerify {
|
|
|
|
store.dispatch(HistoryMetadataGroupFragmentAction.Delete(mozillaHistoryMetadataItem))
|
|
|
|
getMetadataItemsList().forEach {
|
|
|
|
store.dispatch(HistoryMetadataGroupFragmentAction.Delete(firefoxHistoryMetadataItem))
|
|
|
|
store.dispatch(HistoryMetadataGroupFragmentAction.Delete(it))
|
|
|
|
historyStorage.deleteHistoryMetadata(mozillaHistoryMetadataItem.historyMetadataKey)
|
|
|
|
historyStorage.deleteVisitsFor(it.url)
|
|
|
|
historyStorage.deleteHistoryMetadata(firefoxHistoryMetadataItem.historyMetadataKey)
|
|
|
|
}
|
|
|
|
metrics.track(Event.HistorySearchTermGroupRemoveTab)
|
|
|
|
metrics.track(Event.HistorySearchTermGroupRemoveTab)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -175,7 +184,9 @@ class HistoryMetadataGroupControllerTest {
|
|
|
|
|
|
|
|
|
|
|
|
coVerify {
|
|
|
|
coVerify {
|
|
|
|
store.dispatch(HistoryMetadataGroupFragmentAction.DeleteAll)
|
|
|
|
store.dispatch(HistoryMetadataGroupFragmentAction.DeleteAll)
|
|
|
|
historyStorage.deleteHistoryMetadata(searchTerm)
|
|
|
|
getMetadataItemsList().forEach {
|
|
|
|
|
|
|
|
historyStorage.deleteVisitsFor(it.url)
|
|
|
|
|
|
|
|
}
|
|
|
|
metrics.track(Event.HistorySearchTermGroupRemoveAll)
|
|
|
|
metrics.track(Event.HistorySearchTermGroupRemoveAll)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|