Skip to content

Commit 80f4f7f

Browse files
committed
Fix TabDataRepositoryTest
1 parent 6ef422b commit 80f4f7f

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

app/src/test/java/com/duckduckgo/tabs/model/TabDataRepositoryTest.kt

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ import androidx.lifecycle.MutableLiveData
2121
import androidx.room.Room
2222
import androidx.test.ext.junit.runners.AndroidJUnit4
2323
import androidx.test.platform.app.InstrumentationRegistry
24+
import com.duckduckgo.adclick.api.AdClickManager
2425
import com.duckduckgo.app.browser.DuckDuckGoUrlDetector
2526
import com.duckduckgo.app.browser.certificates.BypassedSSLCertificatesRepository
2627
import com.duckduckgo.app.browser.favicon.FaviconManager
28+
import com.duckduckgo.app.browser.session.WebViewSessionStorage
2729
import com.duckduckgo.app.browser.tabpreview.WebViewPreviewPersister
2830
import com.duckduckgo.app.global.db.AppDatabase
2931
import com.duckduckgo.app.global.model.SiteFactoryImpl
@@ -92,6 +94,10 @@ class TabDataRepositoryTest {
9294

9395
private val tabManagerFeatureFlags = FakeFeatureToggleFactory.create(TabManagerFeatureFlags::class.java)
9496

97+
private val mockWebViewSessionStorage: WebViewSessionStorage = mock()
98+
99+
private val mockAdClickManager: AdClickManager = mock()
100+
95101
@Before
96102
fun before() {
97103
tabManagerFeatureFlags.multiSelection().setRawStoredState(State(enable = false))
@@ -635,7 +641,7 @@ class TabDataRepositoryTest {
635641

636642
testee.undoDeletable(tabIds)
637643

638-
verify(mockDao).undoDeletableTabs(tabIds)
644+
verify(mockDao).undoDeletableTabs(tabIds, false)
639645
}
640646

641647
@Test
@@ -660,6 +666,24 @@ class TabDataRepositoryTest {
660666
verify(mockDao).deleteTabsAndUpdateSelection(tabIds)
661667
tabIds.forEach { tabId ->
662668
assertNull(testee.retrieveSiteData(tabId).value)
669+
verify(mockWebViewSessionStorage).deleteSession(tabId)
670+
verify(mockAdClickManager).clearTabId(tabId)
671+
}
672+
}
673+
674+
@Test
675+
fun whenPurgeDeletableTabsThenPurgeDeletableTabsAndClearData() = runTest {
676+
val testee = tabDataRepository()
677+
val tabIds = listOf("tabid1", "tabid2")
678+
whenever(mockDao.getDeletableTabIds()).thenReturn(tabIds)
679+
680+
testee.purgeDeletableTabs()
681+
682+
verify(mockDao).purgeDeletableTabsAndUpdateSelection()
683+
tabIds.forEach { tabId ->
684+
assertNull(testee.retrieveSiteData(tabId).value)
685+
verify(mockWebViewSessionStorage).deleteSession(tabId)
686+
verify(mockAdClickManager).clearTabId(tabId)
663687
}
664688
}
665689

@@ -693,7 +717,8 @@ class TabDataRepositoryTest {
693717
timeProvider,
694718
coroutinesTestRule.testScope,
695719
coroutinesTestRule.testDispatcherProvider,
696-
tabManagerFeatureFlags,
720+
mockAdClickManager,
721+
mockWebViewSessionStorage,
697722
)
698723
}
699724

0 commit comments

Comments
 (0)