From 8a61ab1bbc1c46b418d6cdba50a312ddc128c1f3 Mon Sep 17 00:00:00 2001 From: Marcos Holgado Date: Wed, 16 Jun 2021 13:22:14 +0100 Subject: [PATCH] Reset history when navigation state is null and user is making a new search or going to a new URL --- .../app/browser/BrowserTabViewModelTest.kt | 15 +++++++++++++++ .../duckduckgo/app/browser/BrowserTabViewModel.kt | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt b/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt index 291e9c21ff0d..8914b6e70fbd 100644 --- a/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt +++ b/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt @@ -3248,6 +3248,21 @@ class BrowserTabViewModelTest { assertCommandIssued() } + @Test + fun whenSubmittedQueryAndNavigationStateIsNullThenResetHistoryCommandSent() { + whenever(mockOmnibarConverter.convertQueryToUrl("nytimes.com", null)).thenReturn("nytimes.com") + testee.onUserSubmittedQuery("nytimes.com") + assertCommandIssued() + } + + @Test + fun whenSubmittedQueryAndNavigationStateIsNotNullThenResetHistoryCommandNotSent() { + setupNavigation(isBrowsing = true) + whenever(mockOmnibarConverter.convertQueryToUrl("nytimes.com", null)).thenReturn("nytimes.com") + testee.onUserSubmittedQuery("nytimes.com") + assertCommandNotIssued() + } + private suspend fun givenFireButtonPulsing() { whenever(mockUserStageStore.getUserAppStage()).thenReturn(AppStage.DAX_ONBOARDING) dismissedCtaDaoChannel.send(listOf(DismissedCta(CtaId.DAX_DIALOG_TRACKERS_FOUND))) diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt index 1f3ac9476514..248aeafdc459 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt @@ -619,7 +619,7 @@ class BrowserTabViewModel( } private fun shouldClearHistoryOnNewQuery(): Boolean { - val navigation = webNavigationState ?: return false + val navigation = webNavigationState ?: return true return !currentBrowserViewState().browserShowing && navigation.hasNavigationHistory }