mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-17 11:25:34 -04:00
#2098 added tests for dialog options when deleting bookmarks/history items
This commit is contained in:
parent
103d86594a
commit
453b6fe67e
@ -26,10 +26,12 @@ import io.reactivex.processors.PublishProcessor
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.kiwix.kiwixmobile.core.base.SideEffect
|
||||
import org.kiwix.kiwixmobile.core.dao.NewBookmarksDao
|
||||
import org.kiwix.kiwixmobile.core.page.bookmark
|
||||
import org.kiwix.kiwixmobile.core.page.bookmark.BookmarksActivity
|
||||
import org.kiwix.kiwixmobile.core.page.bookmarkState
|
||||
import org.kiwix.kiwixmobile.core.utils.DialogShower
|
||||
import org.kiwix.kiwixmobile.core.utils.KiwixDialog
|
||||
import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteAllBookmarks
|
||||
import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteSelectedBookmarks
|
||||
|
||||
internal class ShowDeleteBookmarksDialogTest {
|
||||
|
||||
@ -47,8 +49,50 @@ internal class ShowDeleteBookmarksDialogTest {
|
||||
}
|
||||
val lambdaSlot = slot<() -> Unit>()
|
||||
showDeleteBookmarksDialog.invokeWith(activity)
|
||||
verify { dialogShower.show(KiwixDialog.DeleteAllBookmarks, capture(lambdaSlot)) }
|
||||
verify { dialogShower.show(any(), capture(lambdaSlot)) }
|
||||
lambdaSlot.captured.invoke()
|
||||
verify { effects.offer(DeleteBookmarkItems(effects, bookmarkState(), newBookmarksDao)) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `invoke with selected items shows dialog with DeleteSelectedBookmarks title`() {
|
||||
val effects = mockk<PublishProcessor<SideEffect<*>>>(relaxed = true)
|
||||
val newBookmarksDao = mockk<NewBookmarksDao>()
|
||||
val activity = mockk<BookmarksActivity>()
|
||||
val showDeleteBookmarksDialog =
|
||||
ShowDeleteBookmarksDialog(
|
||||
effects,
|
||||
bookmarkState(listOf(bookmark(isSelected = true))),
|
||||
newBookmarksDao
|
||||
)
|
||||
val dialogShower = mockk<DialogShower>()
|
||||
every { activity.activityComponent.inject(showDeleteBookmarksDialog) } answers {
|
||||
showDeleteBookmarksDialog.dialogShower = dialogShower
|
||||
Unit
|
||||
}
|
||||
val lambdaSlot = slot<() -> Unit>()
|
||||
showDeleteBookmarksDialog.invokeWith(activity)
|
||||
verify { dialogShower.show(DeleteSelectedBookmarks, capture(lambdaSlot)) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `invoke with no selected items shows dialog with DeleteAllBookmarks title`() {
|
||||
val effects = mockk<PublishProcessor<SideEffect<*>>>(relaxed = true)
|
||||
val newBookmarksDao = mockk<NewBookmarksDao>()
|
||||
val activity = mockk<BookmarksActivity>()
|
||||
val showDeleteBookmarksDialog =
|
||||
ShowDeleteBookmarksDialog(
|
||||
effects,
|
||||
bookmarkState(listOf(bookmark())),
|
||||
newBookmarksDao
|
||||
)
|
||||
val dialogShower = mockk<DialogShower>()
|
||||
every { activity.activityComponent.inject(showDeleteBookmarksDialog) } answers {
|
||||
showDeleteBookmarksDialog.dialogShower = dialogShower
|
||||
Unit
|
||||
}
|
||||
val lambdaSlot = slot<() -> Unit>()
|
||||
showDeleteBookmarksDialog.invokeWith(activity)
|
||||
verify { dialogShower.show(DeleteAllBookmarks, capture(lambdaSlot)) }
|
||||
}
|
||||
}
|
||||
|
@ -9,9 +9,11 @@ import org.junit.jupiter.api.Test
|
||||
import org.kiwix.kiwixmobile.core.base.SideEffect
|
||||
import org.kiwix.kiwixmobile.core.dao.HistoryDao
|
||||
import org.kiwix.kiwixmobile.core.page.history.HistoryActivity
|
||||
import org.kiwix.kiwixmobile.core.page.historyItem
|
||||
import org.kiwix.kiwixmobile.core.page.historyState
|
||||
import org.kiwix.kiwixmobile.core.utils.DialogShower
|
||||
import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteAllHistory
|
||||
import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteSelectedHistory
|
||||
|
||||
internal class ShowDeleteHistoryDialogTest {
|
||||
|
||||
@ -28,8 +30,44 @@ internal class ShowDeleteHistoryDialogTest {
|
||||
}
|
||||
val lambdaSlot = slot<() -> Unit>()
|
||||
showDeleteHistoryDialog.invokeWith(activity)
|
||||
verify { dialogShower.show(DeleteAllHistory, capture(lambdaSlot)) }
|
||||
verify { dialogShower.show(any(), capture(lambdaSlot)) }
|
||||
lambdaSlot.captured.invoke()
|
||||
verify { effects.offer(DeleteHistoryItems(historyState(), historyDao)) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `invoke with selected item shows dialog with delete selected items title`() {
|
||||
val effects = mockk<PublishProcessor<SideEffect<*>>>(relaxed = true)
|
||||
val historyDao = mockk<HistoryDao>()
|
||||
val activity = mockk<HistoryActivity>()
|
||||
val showDeleteHistoryDialog = ShowDeleteHistoryDialog(
|
||||
effects,
|
||||
historyState(listOf(historyItem(isSelected = true))),
|
||||
historyDao
|
||||
)
|
||||
val dialogShower = mockk<DialogShower>()
|
||||
every { activity.activityComponent.inject(showDeleteHistoryDialog) } answers {
|
||||
showDeleteHistoryDialog.dialogShower = dialogShower
|
||||
Unit
|
||||
}
|
||||
val lambdaSlot = slot<() -> Unit>()
|
||||
showDeleteHistoryDialog.invokeWith(activity)
|
||||
verify { dialogShower.show(DeleteSelectedHistory, capture(lambdaSlot)) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `invoke with no selected items shows dialog with delete all items title`() {
|
||||
val effects = mockk<PublishProcessor<SideEffect<*>>>(relaxed = true)
|
||||
val historyDao = mockk<HistoryDao>()
|
||||
val activity = mockk<HistoryActivity>()
|
||||
val showDeleteHistoryDialog = ShowDeleteHistoryDialog(effects, historyState(), historyDao)
|
||||
val dialogShower = mockk<DialogShower>()
|
||||
every { activity.activityComponent.inject(showDeleteHistoryDialog) } answers {
|
||||
showDeleteHistoryDialog.dialogShower = dialogShower
|
||||
Unit
|
||||
}
|
||||
val lambdaSlot = slot<() -> Unit>()
|
||||
showDeleteHistoryDialog.invokeWith(activity)
|
||||
verify { dialogShower.show(DeleteAllHistory, capture(lambdaSlot)) }
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user