diff --git a/app/metrics.yaml b/app/metrics.yaml index d0377a139d23..b2c019e2f237 100644 --- a/app/metrics.yaml +++ b/app/metrics.yaml @@ -133,28 +133,6 @@ events: expires: "2020-03-01" search_shortcuts: - opened: - type: event - description: > - A user opened the search shortcut menu in the search view by pressing the shortcuts button - bugs: - - 793 - data_reviews: - - https://github.com/mozilla-mobile/fenix/pull/1202#issuecomment-476870449 - notification_emails: - - fenix-core@mozilla.com - expires: "2020-03-01" - closed: - type: event - description: > - A user closed the search shortcut menu in the search view by pressing the shortcuts button - bugs: - - 793 - data_reviews: - - https://github.com/mozilla-mobile/fenix/pull/1202#issuecomment-476870449 - notification_emails: - - fenix-core@mozilla.com - expires: "2020-03-01" selected: type: event description: > diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/SearchTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/SearchTest.kt index e84141fbf0f6..e5d34b3d2299 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/SearchTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/SearchTest.kt @@ -32,7 +32,6 @@ class SearchTest { verifySearchView() verifyBrowserToolbar() verifyScanButton() - verifyShortcutsButton() } } diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt index 4e758593d1d4..191f3fe70d9d 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt @@ -37,7 +37,6 @@ class SearchRobot { fun verifySearchView() = assertSearchView() fun verifyBrowserToolbar() = assertBrowserToolbarEditView() fun verifyScanButton() = assertScanButton() - fun verifyShortcutsButton() = assertShortcutsButton() fun verifySearchWithText() = assertSearchWithText() fun verifyDuckDuckGoResults() = assertDuckDuckGoResults() fun verifyDuckDuckGoURL() = assertDuckDuckGoURL() @@ -56,10 +55,6 @@ class SearchRobot { allowPermissionButton().click() } - fun clickShortcutsButton() { - shortcutsButton().perform(click()) - } - fun typeSearch(searchTerm: String) { browserToolbarEditView().perform(typeText(searchTerm)) } @@ -124,11 +119,6 @@ private fun scanButton(): ViewInteraction { return onView(allOf(withId(R.id.searchScanButton))) } -private fun shortcutsButton(): ViewInteraction { - mDevice.wait(Until.findObjects(By.res("R.id.search_shortcuts_button")), TestAssetHelper.waitingTime) - return onView(withId(R.id.searchShortcutsButton)) -} - private fun clearButton() = onView(withId(R.id.mozac_browser_toolbar_clear_view)) private fun assertDuckDuckGoURL() { @@ -153,10 +143,6 @@ private fun assertScanButton() = onView(allOf(withText("Scan"))) .check(matches(ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE))) -private fun assertShortcutsButton() = - onView(allOf(withText("Shortcuts"))) - .check(matches(ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE))) - private fun assertSearchWithText() = onView(allOf(withText("SEARCH WITH"))) .check(matches(ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE))) diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt index d1f1819204d9..bd5d69a96590 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt @@ -84,12 +84,6 @@ private val Event.wrapper: EventWrapper<*>? }, { Events.performedSearchKeys.valueOf(it) } ) - is Event.SearchShortcutMenuOpened -> EventWrapper( - { SearchShortcuts.opened.record(it) } - ) - is Event.SearchShortcutMenuClosed -> EventWrapper( - { SearchShortcuts.closed.record(it) } - ) is Event.SearchShortcutSelected -> EventWrapper( { SearchShortcuts.selected.record(it) }, { SearchShortcuts.selectedKeys.valueOf(it) } diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt index 22c6a213c637..8ae2470eec56 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt @@ -36,8 +36,6 @@ sealed class Event { object InteractWithSearchURLArea : Event() object DismissedOnboarding : Event() object ClearedPrivateData : Event() - object SearchShortcutMenuOpened : Event() - object SearchShortcutMenuClosed : Event() object AddBookmark : Event() object RemoveBookmark : Event() object OpenedBookmark : Event() diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index a45d6746362b..e7549280a18c 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -251,8 +251,7 @@ class HomeFragment : Fragment() { invokePendingDeleteJobs() onboarding.finish() val directions = HomeFragmentDirections.actionHomeFragmentToSearchFragment( - sessionId = null, - showShortcutEnginePicker = true + sessionId = null ) val extras = FragmentNavigator.Extras.Builder() @@ -265,8 +264,7 @@ class HomeFragment : Fragment() { view.add_tab_button.setOnClickListener { invokePendingDeleteJobs() val directions = HomeFragmentDirections.actionHomeFragmentToSearchFragment( - sessionId = null, - showShortcutEnginePicker = true + sessionId = null ) nav(R.id.homeFragment, directions) } diff --git a/app/src/main/java/org/mozilla/fenix/home/intent/StartSearchIntentProcessor.kt b/app/src/main/java/org/mozilla/fenix/home/intent/StartSearchIntentProcessor.kt index 56e578f556d9..4fb175088b29 100644 --- a/app/src/main/java/org/mozilla/fenix/home/intent/StartSearchIntentProcessor.kt +++ b/app/src/main/java/org/mozilla/fenix/home/intent/StartSearchIntentProcessor.kt @@ -33,8 +33,7 @@ class StartSearchIntentProcessor( out.removeExtra(HomeActivity.OPEN_TO_SEARCH) val directions = NavGraphDirections.actionGlobalSearch( - sessionId = null, - showShortcutEnginePicker = true + sessionId = null ) navController.nav(null, directions) true diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchController.kt b/app/src/main/java/org/mozilla/fenix/search/SearchController.kt index 0c687d0e158c..0717a5bd0aae 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchController.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchController.kt @@ -31,7 +31,6 @@ interface SearchController { fun handleSearchTermsTapped(searchTerms: String) fun handleSearchShortcutEngineSelected(searchEngine: SearchEngine) fun handleClickSearchEngineSettings() - fun handleTurnOnStartedTyping() fun handleExistingSessionSelected(session: Session) } @@ -104,10 +103,6 @@ class DefaultSearchController( navController.navigate(directions) } - override fun handleTurnOnStartedTyping() { - // TODO: Remove this - } - override fun handleExistingSessionSelected(session: Session) { val directions = SearchFragmentDirections.actionSearchFragmentToBrowserFragment(null) navController.nav(R.id.searchFragment, directions) diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt index f6f9142caeb6..4ec096925a82 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt @@ -78,10 +78,6 @@ class SearchFragment : Fragment(), BackHandler { ?.let(SearchFragmentArgs.Companion::fromBundle) ?.let { it.pastedText } - val displayShortcutEnginePicker = arguments - ?.let(SearchFragmentArgs.Companion::fromBundle) - ?.let { it.showShortcutEnginePicker } ?: false - val view = inflater.inflate(R.layout.fragment_search, container, false) val url = session?.url.orEmpty() val currentSearchEngine = SearchEngineSource.Default( @@ -92,11 +88,10 @@ class SearchFragment : Fragment(), BackHandler { SearchFragmentStore( SearchFragmentState( query = url, - showShortcutEnginePicker = displayShortcutEnginePicker, searchEngineSource = currentSearchEngine, defaultEngineSource = currentSearchEngine, showSearchSuggestions = requireContext().settings().shouldShowSearchSuggestions, - showSearchShortcuts = requireContext().settings().shouldShowSearchShortcuts, + showSearchShortcuts = requireContext().settings().shouldShowSearchShortcuts && url.isEmpty(), showClipboardSuggestions = requireContext().settings().shouldShowClipboardSuggestions, showHistorySuggestions = requireContext().settings().shouldShowHistorySuggestions, showBookmarkSuggestions = requireContext().settings().shouldShowBookmarkSuggestions, @@ -135,7 +130,6 @@ class SearchFragment : Fragment(), BackHandler { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - // TODO: Hide shortcut suggestions if needed searchScanButton.visibility = if (context?.hasCamera() == true) View.VISIBLE else View.GONE layoutComponents(view.search_layout) @@ -263,7 +257,7 @@ class SearchFragment : Fragment(), BackHandler { private fun updateSearchWithLabel(searchState: SearchFragmentState) { search_with_shortcuts.visibility = - if (searchState.showShortcutEnginePicker && searchState.showSearchShortcuts) View.VISIBLE else View.GONE + if (searchState.showSearchShortcuts) View.VISIBLE else View.GONE } private fun updateClipboardSuggestion(searchState: SearchFragmentState, clipboardUrl: String?) { diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchFragmentStore.kt b/app/src/main/java/org/mozilla/fenix/search/SearchFragmentStore.kt index 501ead7b0a36..36a5764cdc96 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragmentStore.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragmentStore.kt @@ -33,7 +33,6 @@ sealed class SearchEngineSource { /** * The state for the Search Screen * @property query The current search query string - * @property showShortcutEnginePicker Whether or not to show the available search engine view * @property searchEngineSource The current selected search engine with the context of how it was selected * @property defaultEngineSource The current default search engine source * @property showSearchSuggestions Whether or not to show search suggestions from the search engine in the AwesomeBar @@ -46,7 +45,6 @@ sealed class SearchEngineSource { */ data class SearchFragmentState( val query: String, - val showShortcutEnginePicker: Boolean, val searchEngineSource: SearchEngineSource, val defaultEngineSource: SearchEngineSource.Default, val showSearchSuggestions: Boolean, @@ -76,16 +74,15 @@ private fun searchStateReducer(state: SearchFragmentState, action: SearchFragmen is SearchFragmentAction.SearchShortcutEngineSelected -> state.copy( searchEngineSource = SearchEngineSource.Shortcut(action.engine), - showShortcutEnginePicker = false + showSearchShortcuts = false ) is SearchFragmentAction.ShowSearchShortcutEnginePicker -> - state.copy(showShortcutEnginePicker = action.show) + state.copy(showSearchShortcuts = action.show) is SearchFragmentAction.UpdateQuery -> state.copy(query = action.query) is SearchFragmentAction.SelectNewDefaultSearchEngine -> state.copy( - searchEngineSource = SearchEngineSource.Default(action.engine), - showShortcutEnginePicker = false + searchEngineSource = SearchEngineSource.Default(action.engine) ) } } diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchInteractor.kt b/app/src/main/java/org/mozilla/fenix/search/SearchInteractor.kt index 27c654903b18..2e7e8b96e0b5 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchInteractor.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchInteractor.kt @@ -45,10 +45,6 @@ class SearchInteractor( searchController.handleClickSearchEngineSettings() } - fun turnOnStartedTyping() { - searchController.handleTurnOnStartedTyping() - } - override fun onExistingSessionSelected(session: Session) { searchController.handleExistingSessionSelected(session) } diff --git a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt index ae87f50456a8..72813dc11105 100644 --- a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt +++ b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt @@ -166,7 +166,7 @@ class AwesomeBarView( fun update(state: SearchFragmentState) { view.removeAllProviders() - if (state.showShortcutEnginePicker && state.showSearchShortcuts) { + if (state.showSearchShortcuts) { view.addProviders(shortcutsEnginePickerProvider) } else { if (state.showSearchSuggestions) { diff --git a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index 90f720a874bc..84a7009c3399 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -235,7 +235,6 @@ class Settings private constructor( default = true ) - @VisibleForTesting(otherwise = PRIVATE) internal val trackingProtectionOnboardingCount by intPreference( appContext.getPreferenceKey(R.string.pref_key_tracking_protection_onboarding), diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index 6525cd2ba9d2..5c1ab5aa25bf 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -98,10 +98,6 @@ android:name="session_id" app:argType="string" app:nullable="true" /> - Scan - - Shortcuts Search engine settings diff --git a/app/src/test/java/org/mozilla/fenix/home/intent/StartSearchIntentProcessorTest.kt b/app/src/test/java/org/mozilla/fenix/home/intent/StartSearchIntentProcessorTest.kt index da36ccfb3d23..31d7faadc05c 100644 --- a/app/src/test/java/org/mozilla/fenix/home/intent/StartSearchIntentProcessorTest.kt +++ b/app/src/test/java/org/mozilla/fenix/home/intent/StartSearchIntentProcessorTest.kt @@ -66,8 +66,7 @@ class StartSearchIntentProcessorTest { verify { navController.navigate( NavGraphDirections.actionGlobalSearch( - sessionId = null, - showShortcutEnginePicker = true + sessionId = null ) ) } diff --git a/app/src/test/java/org/mozilla/fenix/search/DefaultSearchControllerTest.kt b/app/src/test/java/org/mozilla/fenix/search/DefaultSearchControllerTest.kt index 540dec5450cb..4ed35a7d2f70 100644 --- a/app/src/test/java/org/mozilla/fenix/search/DefaultSearchControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/search/DefaultSearchControllerTest.kt @@ -6,25 +6,37 @@ package org.mozilla.fenix.search import androidx.navigation.NavController import androidx.navigation.NavDirections +import androidx.test.ext.junit.runners.AndroidJUnit4 import io.mockk.every import io.mockk.mockk import io.mockk.verify +import kotlinx.coroutines.ObsoleteCoroutinesApi import mozilla.components.browser.search.SearchEngine import mozilla.components.browser.session.Session import mozilla.components.browser.session.SessionManager -import org.junit.Assert.assertTrue +import mozilla.components.support.test.robolectric.testContext +import org.junit.Assert.assertFalse import org.junit.Before import org.junit.Test +import org.junit.runner.RunWith import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R +import org.mozilla.fenix.TestApplication import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.components.metrics.MetricController import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.metrics import org.mozilla.fenix.ext.nav import org.mozilla.fenix.ext.searchEngineManager - +import org.mozilla.fenix.ext.settings +import org.mozilla.fenix.utils.Settings +import org.mozilla.fenix.whatsnew.clear +import org.robolectric.annotation.Config + +@ObsoleteCoroutinesApi +@RunWith(AndroidJUnit4::class) +@Config(application = TestApplication::class) class DefaultSearchControllerTest { private val context: HomeActivity = mockk(relaxed = true) @@ -37,10 +49,10 @@ class DefaultSearchControllerTest { private val sessionManager: SessionManager = mockk(relaxed = true) private lateinit var controller: DefaultSearchController + private lateinit var settings: Settings @Before fun setUp() { - every { store.state.showShortcutEnginePicker } returns false every { context.searchEngineManager.defaultSearchEngine } returns defaultSearchEngine every { store.state.session } returns session every { store.state.searchEngineSource.searchEngine } returns searchEngine @@ -52,6 +64,8 @@ class DefaultSearchControllerTest { store = store, navController = navController ) + + settings = testContext.settings().apply { testContext.settings().clear() } } @Test @@ -77,16 +91,71 @@ class DefaultSearchControllerTest { } @Test - fun handleTextChanged() { + fun handleTextChangedNonEmpty() { val text = "fenix" controller.handleTextChanged(text) verify { store.dispatch(SearchFragmentAction.UpdateQuery(text)) } - verify(inverse = true) { - store.dispatch(SearchFragmentAction.ShowSearchShortcutEnginePicker(false)) - } - assertTrue(controller.userTypingCheck.ranOnTextChanged) + } + + @Test + fun handleTextChangedEmpty() { + val text = "" + + controller.handleTextChanged(text) + + verify { store.dispatch(SearchFragmentAction.UpdateQuery(text)) } + } + + @Test + fun `show search shortcuts when setting enabled AND query empty`() { + val text = "" + + controller.handleTextChanged(text) + + verify { store.dispatch(SearchFragmentAction.ShowSearchShortcutEnginePicker(true)) } + } + + @Test + fun `do not show search shortcuts when setting enabled AND query non-empty`() { + val text = "mozilla" + + controller.handleTextChanged(text) + + verify { store.dispatch(SearchFragmentAction.ShowSearchShortcutEnginePicker(false)) } + } + + @Test + fun `do not show search shortcuts when setting disabled AND query empty`() { + testContext.settings().preferences + .edit() + .putBoolean(testContext.getString(R.string.pref_key_show_search_shortcuts), false) + .apply() + + assertFalse(testContext.settings().shouldShowSearchShortcuts) + + val text = "" + + controller.handleTextChanged(text) + + verify { store.dispatch(SearchFragmentAction.ShowSearchShortcutEnginePicker(false)) } + } + + @Test + fun `do not show search shortcuts when setting disabled AND query non-empty`() { + testContext.settings().preferences + .edit() + .putBoolean(testContext.getString(R.string.pref_key_show_search_shortcuts), false) + .apply() + + assertFalse(testContext.settings().shouldShowSearchShortcuts) + + val text = "mozilla" + + controller.handleTextChanged(text) + + verify { store.dispatch(SearchFragmentAction.ShowSearchShortcutEnginePicker(false)) } } @Test @@ -137,7 +206,6 @@ class DefaultSearchControllerTest { verify { navController.navigate(directions) } } - @Test fun handleExistingSessionSelected() { val session: Session = mockk(relaxed = true) diff --git a/app/src/test/java/org/mozilla/fenix/search/SearchFragmentStoreTest.kt b/app/src/test/java/org/mozilla/fenix/search/SearchFragmentStoreTest.kt index f95d5f33a6d8..fe049ef4f9a6 100644 --- a/app/src/test/java/org/mozilla/fenix/search/SearchFragmentStoreTest.kt +++ b/app/src/test/java/org/mozilla/fenix/search/SearchFragmentStoreTest.kt @@ -33,6 +33,7 @@ class SearchFragmentStoreTest { store.dispatch(SearchFragmentAction.SearchShortcutEngineSelected(searchEngine)).join() assertNotSame(initialState, store.state) assertEquals(SearchEngineSource.Shortcut(searchEngine), store.state.searchEngineSource) + assertEquals(false, store.state.showSearchShortcuts) } @Test @@ -42,15 +43,15 @@ class SearchFragmentStoreTest { store.dispatch(SearchFragmentAction.ShowSearchShortcutEnginePicker(true)).join() assertNotSame(initialState, store.state) - assertEquals(true, store.state.showShortcutEnginePicker) + assertEquals(true, store.state.showSearchShortcuts) } private fun emptyDefaultState(): SearchFragmentState = SearchFragmentState( query = "", searchEngineSource = mockk(), defaultEngineSource = mockk(), - showShortcutEnginePicker = false, showSearchSuggestions = false, + showSearchShortcuts = false, showClipboardSuggestions = false, showHistorySuggestions = false, showBookmarkSuggestions = false, diff --git a/app/src/test/java/org/mozilla/fenix/search/SearchInteractorTest.kt b/app/src/test/java/org/mozilla/fenix/search/SearchInteractorTest.kt index 12ace11ce905..a64d8343271d 100644 --- a/app/src/test/java/org/mozilla/fenix/search/SearchInteractorTest.kt +++ b/app/src/test/java/org/mozilla/fenix/search/SearchInteractorTest.kt @@ -38,7 +38,6 @@ class SearchInteractorTest { every { context.openToBrowserAndLoad(any(), any(), any(), any(), any(), any()) } just Runs every { store.state } returns state - every { state.showShortcutEnginePicker } returns true every { state.session } returns null every { state.searchEngineSource } returns searchEngine @@ -111,7 +110,6 @@ class SearchInteractorTest { every { store.state } returns state every { state.session } returns null - every { state.showShortcutEnginePicker } returns true val searchController: SearchController = DefaultSearchController( context, @@ -146,7 +144,6 @@ class SearchInteractorTest { every { store.state } returns state every { state.session } returns null every { state.searchEngineSource } returns searchEngine - every { state.showShortcutEnginePicker } returns true val searchController: SearchController = DefaultSearchController( context, diff --git a/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt b/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt index c7fdb4aad14c..ab7624336187 100644 --- a/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt +++ b/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt @@ -19,8 +19,8 @@ import org.junit.runner.RunWith import org.mozilla.fenix.TestApplication import org.mozilla.fenix.ext.clearAndCommit import org.mozilla.fenix.ext.settings -import org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitType import org.mozilla.fenix.settings.PhoneFeature +import org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitType import org.robolectric.annotation.Config @ObsoleteCoroutinesApi @@ -246,6 +246,13 @@ class SettingsTest { assertTrue(settings.shouldShowClipboardSuggestions) } + @Test + fun shouldShowSearchShortcuts() { + // When just created + // Then + assertTrue(settings.shouldShowSearchShortcuts) + } + @Test fun shouldShowHistorySuggestions() { // When just created