|
|
@ -5,6 +5,7 @@
|
|
|
|
package org.mozilla.fenix.search
|
|
|
|
package org.mozilla.fenix.search
|
|
|
|
|
|
|
|
|
|
|
|
import android.content.Context
|
|
|
|
import android.content.Context
|
|
|
|
|
|
|
|
import androidx.lifecycle.LifecycleCoroutineScope
|
|
|
|
import androidx.navigation.NavController
|
|
|
|
import androidx.navigation.NavController
|
|
|
|
import androidx.navigation.NavDirections
|
|
|
|
import androidx.navigation.NavDirections
|
|
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
|
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
|
|
@ -14,6 +15,8 @@ import io.mockk.just
|
|
|
|
import io.mockk.mockk
|
|
|
|
import io.mockk.mockk
|
|
|
|
import io.mockk.mockkObject
|
|
|
|
import io.mockk.mockkObject
|
|
|
|
import io.mockk.verify
|
|
|
|
import io.mockk.verify
|
|
|
|
|
|
|
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
|
|
|
|
|
|
|
import kotlinx.coroutines.test.runBlockingTest
|
|
|
|
import mozilla.components.browser.search.SearchEngine
|
|
|
|
import mozilla.components.browser.search.SearchEngine
|
|
|
|
import mozilla.components.browser.search.SearchEngineManager
|
|
|
|
import mozilla.components.browser.search.SearchEngineManager
|
|
|
|
import mozilla.components.browser.session.Session
|
|
|
|
import mozilla.components.browser.session.Session
|
|
|
@ -33,9 +36,14 @@ import org.mozilla.fenix.utils.Settings
|
|
|
|
import org.mozilla.fenix.whatsnew.clear
|
|
|
|
import org.mozilla.fenix.whatsnew.clear
|
|
|
|
import org.robolectric.annotation.Config
|
|
|
|
import org.robolectric.annotation.Config
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ExperimentalCoroutinesApi
|
|
|
|
@RunWith(AndroidJUnit4::class)
|
|
|
|
@RunWith(AndroidJUnit4::class)
|
|
|
|
@Config(application = TestApplication::class)
|
|
|
|
@Config(application = TestApplication::class)
|
|
|
|
class SearchInteractorTest {
|
|
|
|
class SearchInteractorTest {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private val lifecycleScope: LifecycleCoroutineScope = mockk(relaxed = true)
|
|
|
|
|
|
|
|
private val clearToolbarFocus = { }
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
fun onUrlCommitted() {
|
|
|
|
fun onUrlCommitted() {
|
|
|
|
val context: HomeActivity = mockk(relaxed = true)
|
|
|
|
val context: HomeActivity = mockk(relaxed = true)
|
|
|
@ -64,7 +72,9 @@ class SearchInteractorTest {
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
context,
|
|
|
|
context,
|
|
|
|
store,
|
|
|
|
store,
|
|
|
|
mockk()
|
|
|
|
mockk(),
|
|
|
|
|
|
|
|
lifecycleScope,
|
|
|
|
|
|
|
|
clearToolbarFocus
|
|
|
|
)
|
|
|
|
)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
|
|
|
|
|
|
|
@ -81,7 +91,7 @@ class SearchInteractorTest {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
fun onEditingCanceled() {
|
|
|
|
fun onEditingCanceled() = runBlockingTest {
|
|
|
|
val navController: NavController = mockk(relaxed = true)
|
|
|
|
val navController: NavController = mockk(relaxed = true)
|
|
|
|
val store: SearchFragmentStore = mockk(relaxed = true)
|
|
|
|
val store: SearchFragmentStore = mockk(relaxed = true)
|
|
|
|
|
|
|
|
|
|
|
@ -90,14 +100,18 @@ class SearchInteractorTest {
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
mockk(),
|
|
|
|
mockk(),
|
|
|
|
store,
|
|
|
|
store,
|
|
|
|
navController
|
|
|
|
navController,
|
|
|
|
|
|
|
|
this,
|
|
|
|
|
|
|
|
clearToolbarFocus
|
|
|
|
)
|
|
|
|
)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
|
|
|
|
|
|
|
|
interactor.onEditingCanceled()
|
|
|
|
interactor.onEditingCanceled()
|
|
|
|
|
|
|
|
advanceTimeBy(DefaultSearchController.KEYBOARD_ANIMATION_DELAY)
|
|
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
verify {
|
|
|
|
navController.navigateUp()
|
|
|
|
clearToolbarFocus()
|
|
|
|
|
|
|
|
navController.popBackStack()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -115,7 +129,9 @@ class SearchInteractorTest {
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
context,
|
|
|
|
context,
|
|
|
|
store,
|
|
|
|
store,
|
|
|
|
mockk()
|
|
|
|
mockk(),
|
|
|
|
|
|
|
|
lifecycleScope,
|
|
|
|
|
|
|
|
clearToolbarFocus
|
|
|
|
)
|
|
|
|
)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
|
|
|
|
|
|
|
@ -149,7 +165,9 @@ class SearchInteractorTest {
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
context,
|
|
|
|
context,
|
|
|
|
store,
|
|
|
|
store,
|
|
|
|
mockk()
|
|
|
|
mockk(),
|
|
|
|
|
|
|
|
lifecycleScope,
|
|
|
|
|
|
|
|
clearToolbarFocus
|
|
|
|
)
|
|
|
|
)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
|
|
|
|
|
|
|
@ -192,7 +210,9 @@ class SearchInteractorTest {
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
context,
|
|
|
|
context,
|
|
|
|
store,
|
|
|
|
store,
|
|
|
|
mockk()
|
|
|
|
mockk(),
|
|
|
|
|
|
|
|
lifecycleScope,
|
|
|
|
|
|
|
|
clearToolbarFocus
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
@ -223,7 +243,9 @@ class SearchInteractorTest {
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
context,
|
|
|
|
context,
|
|
|
|
store,
|
|
|
|
store,
|
|
|
|
mockk()
|
|
|
|
mockk(),
|
|
|
|
|
|
|
|
lifecycleScope,
|
|
|
|
|
|
|
|
clearToolbarFocus
|
|
|
|
)
|
|
|
|
)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
val searchEngine: SearchEngine = mockk(relaxed = true)
|
|
|
|
val searchEngine: SearchEngine = mockk(relaxed = true)
|
|
|
@ -253,7 +275,9 @@ class SearchInteractorTest {
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
mockk(),
|
|
|
|
mockk(),
|
|
|
|
store,
|
|
|
|
store,
|
|
|
|
navController
|
|
|
|
navController,
|
|
|
|
|
|
|
|
lifecycleScope,
|
|
|
|
|
|
|
|
clearToolbarFocus
|
|
|
|
)
|
|
|
|
)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
|
|
|
|
|
|
|
@ -280,7 +304,9 @@ class SearchInteractorTest {
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
val searchController: SearchController = DefaultSearchController(
|
|
|
|
context,
|
|
|
|
context,
|
|
|
|
store,
|
|
|
|
store,
|
|
|
|
navController
|
|
|
|
navController,
|
|
|
|
|
|
|
|
lifecycleScope,
|
|
|
|
|
|
|
|
clearToolbarFocus
|
|
|
|
)
|
|
|
|
)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
val interactor = SearchInteractor(searchController)
|
|
|
|
val session = Session("http://mozilla.org", false)
|
|
|
|
val session = Session("http://mozilla.org", false)
|
|
|
|