diff options
Diffstat (limited to 'mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/bookmarks/BookmarksUseCaseTest.kt')
-rw-r--r-- | mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/bookmarks/BookmarksUseCaseTest.kt | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/bookmarks/BookmarksUseCaseTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/bookmarks/BookmarksUseCaseTest.kt index e611dc8d90..efcbc9da26 100644 --- a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/bookmarks/BookmarksUseCaseTest.kt +++ b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/bookmarks/BookmarksUseCaseTest.kt @@ -8,6 +8,7 @@ import io.mockk.coEvery import io.mockk.coVerify import io.mockk.every import io.mockk.mockk +import io.mockk.slot import kotlinx.coroutines.test.runTest import mozilla.appservices.places.BookmarkRoot import mozilla.components.concept.storage.BookmarkNode @@ -16,11 +17,13 @@ import mozilla.components.concept.storage.BookmarksStorage import mozilla.components.concept.storage.HistoryStorage import mozilla.components.concept.storage.VisitInfo import mozilla.components.concept.storage.VisitType +import mozilla.components.support.test.capture import org.junit.Assert.assertEquals -import org.junit.Assert.assertFalse +import org.junit.Assert.assertNotNull +import org.junit.Assert.assertNull import org.junit.Assert.assertTrue import org.junit.Test -import org.mozilla.fenix.home.recentbookmarks.RecentBookmark +import org.mozilla.fenix.home.bookmarks.Bookmark import java.util.concurrent.TimeUnit class BookmarksUseCaseTest { @@ -37,7 +40,7 @@ class BookmarksUseCaseTest { val result = useCase.addBookmark("https://mozilla.org", "Mozilla") - assertFalse(result) + assertNull(result) } @Test @@ -52,7 +55,7 @@ class BookmarksUseCaseTest { val result = useCase.addBookmark("https://mozilla.org", "Mozilla") - assertTrue(result) + assertNotNull(result) coVerify { bookmarksStorage.addItem(BookmarkRoot.Mobile.id, "https://mozilla.org", "Mozilla", null) } } @@ -69,16 +72,17 @@ class BookmarksUseCaseTest { val result = useCase.addBookmark("https://mozilla.org", "Mozilla", parentGuid = "parentGuid") - assertTrue(result) + assertNotNull(result) coVerify { bookmarksStorage.addItem("parentGuid", "https://mozilla.org", "Mozilla", null) } } @Test - fun `WHEN recently saved bookmarks exist THEN retrieve the list from storage`() = runTest { + fun `WHEN saved bookmarks exist THEN retrieve the list from storage using limited history`() = runTest { val bookmarksStorage = mockk<BookmarksStorage>(relaxed = true) val historyStorage = mockk<HistoryStorage>(relaxed = true) val useCase = BookmarksUseCase(bookmarksStorage, historyStorage) + val historyTimeFrameSlot = slot<Long>() val visitInfo = VisitInfo( url = "https://www.firefox.com", @@ -100,7 +104,7 @@ class BookmarksUseCaseTest { ) coEvery { - historyStorage.getDetailedVisits(any(), any()) + historyStorage.getDetailedVisits(capture(historyTimeFrameSlot), any()) }.coAnswers { listOf(visitInfo) } coEvery { @@ -111,11 +115,11 @@ class BookmarksUseCaseTest { ) }.coAnswers { listOf(bookmarkNode) } - val result = useCase.retrieveRecentBookmarks(BookmarksUseCase.DEFAULT_BOOKMARKS_TO_RETRIEVE, 22) + val result = useCase.retrieveRecentBookmarks(BookmarksUseCase.DEFAULT_BOOKMARKS_TO_RETRIEVE) assertEquals( listOf( - RecentBookmark( + Bookmark( title = bookmarkNode.title, url = bookmarkNode.url, previewImageUrl = visitInfo.previewImageUrl, @@ -124,17 +128,23 @@ class BookmarksUseCaseTest { result, ) + val timeNow = System.currentTimeMillis() + val nineDaysAgo = timeNow - TimeUnit.DAYS.toMillis(9) + val elevenDaysAgo = timeNow - TimeUnit.DAYS.toMillis(11) + assertTrue(historyTimeFrameSlot.isCaptured) + assertTrue(historyTimeFrameSlot.captured in elevenDaysAgo..nineDaysAgo) + coVerify { bookmarksStorage.getRecentBookmarks( BookmarksUseCase.DEFAULT_BOOKMARKS_TO_RETRIEVE, - 22, + null, any(), ) } } @Test - fun `WHEN there are no recently saved bookmarks THEN retrieve the empty list from storage`() = runTest { + fun `WHEN there are no bookmarks THEN retrieve the empty list from storage`() = runTest { val bookmarksStorage = mockk<BookmarksStorage>(relaxed = true) val historyStorage = mockk<HistoryStorage>(relaxed = true) val useCase = BookmarksUseCase(bookmarksStorage, historyStorage) @@ -148,7 +158,7 @@ class BookmarksUseCaseTest { coVerify { bookmarksStorage.getRecentBookmarks( BookmarksUseCase.DEFAULT_BOOKMARKS_TO_RETRIEVE, - TimeUnit.DAYS.toMillis(BookmarksUseCase.DEFAULT_BOOKMARKS_DAYS_AGE_TO_RETRIEVE), + null, any(), ) } |