[fenix] For https://github.com/mozilla-mobile/fenix/issues/20425: Re-add tests for class BookmarksUseCaseTest.

pull/600/head
mcarare 3 years ago committed by mergify[bot]
parent 8f3313ad02
commit dcbd978c73

@ -47,10 +47,13 @@ class BookmarksUseCase(storage: BookmarksStorage) {
* Retrieves a list of recently added bookmarks, if any, up to maximum.
*/
@WorkerThread
suspend operator fun invoke(count: Int = DEFAULT_BOOKMARKS_TO_RETRIEVE): List<BookmarkNode> {
suspend operator fun invoke(
count: Int = DEFAULT_BOOKMARKS_TO_RETRIEVE,
maxAgeInMs: Long = TimeUnit.DAYS.toMillis(DEFAULT_BOOKMARKS_DAYS_AGE_TO_RETRIEVE)
): List<BookmarkNode> {
return storage.getRecentBookmarks(
count,
TimeUnit.DAYS.toMillis(DEFAULT_BOOKMARKS_DAYS_AGE_TO_RETRIEVE)
maxAgeInMs
)
}
}

@ -13,9 +13,11 @@ import kotlinx.coroutines.test.runBlockingTest
import mozilla.appservices.places.BookmarkRoot
import mozilla.components.concept.storage.BookmarkNode
import mozilla.components.concept.storage.BookmarksStorage
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
import java.util.concurrent.TimeUnit
@ExperimentalCoroutinesApi
class BookmarksUseCaseTest {
@ -47,4 +49,51 @@ class BookmarksUseCaseTest {
coVerify { storage.addItem(BookmarkRoot.Mobile.id, "https://mozilla.org", "Mozilla", null) }
}
@Test
fun `WHEN recently saved bookmarks exist THEN retrieve the list from storage`() = runBlockingTest {
val storage = mockk<BookmarksStorage>(relaxed = true)
val useCase = BookmarksUseCase(storage)
val bookmarkNode = mockk<BookmarkNode>()
coEvery {
storage.getRecentBookmarks(
any(),
any(),
any()
)
}.coAnswers { listOf(bookmarkNode) }
val result = useCase.retrieveRecentBookmarks(BookmarksUseCase.DEFAULT_BOOKMARKS_TO_RETRIEVE, 22)
assertEquals(listOf(bookmarkNode), result)
coVerify {
storage.getRecentBookmarks(
BookmarksUseCase.DEFAULT_BOOKMARKS_TO_RETRIEVE,
22,
any()
)
}
}
@Test
fun `WHEN there are no recently saved bookmarks THEN retrieve the empty list from storage`() = runBlockingTest {
val storage = mockk<BookmarksStorage>(relaxed = true)
val useCase = BookmarksUseCase(storage)
coEvery { storage.getRecentBookmarks(any(), any(), any()) }.coAnswers { listOf() }
val result = useCase.retrieveRecentBookmarks(BookmarksUseCase.DEFAULT_BOOKMARKS_TO_RETRIEVE)
assertEquals(listOf<BookmarkNode>(), result)
coVerify {
storage.getRecentBookmarks(
BookmarksUseCase.DEFAULT_BOOKMARKS_TO_RETRIEVE,
TimeUnit.DAYS.toMillis(BookmarksUseCase.DEFAULT_BOOKMARKS_DAYS_AGE_TO_RETRIEVE),
any()
)
}
}
}

Loading…
Cancel
Save