mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-19 12:26:13 -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.junit.jupiter.api.Test
|
||||||
import org.kiwix.kiwixmobile.core.base.SideEffect
|
import org.kiwix.kiwixmobile.core.base.SideEffect
|
||||||
import org.kiwix.kiwixmobile.core.dao.NewBookmarksDao
|
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.bookmark.BookmarksActivity
|
||||||
import org.kiwix.kiwixmobile.core.page.bookmarkState
|
import org.kiwix.kiwixmobile.core.page.bookmarkState
|
||||||
import org.kiwix.kiwixmobile.core.utils.DialogShower
|
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 {
|
internal class ShowDeleteBookmarksDialogTest {
|
||||||
|
|
||||||
@ -47,8 +49,50 @@ internal class ShowDeleteBookmarksDialogTest {
|
|||||||
}
|
}
|
||||||
val lambdaSlot = slot<() -> Unit>()
|
val lambdaSlot = slot<() -> Unit>()
|
||||||
showDeleteBookmarksDialog.invokeWith(activity)
|
showDeleteBookmarksDialog.invokeWith(activity)
|
||||||
verify { dialogShower.show(KiwixDialog.DeleteAllBookmarks, capture(lambdaSlot)) }
|
verify { dialogShower.show(any(), capture(lambdaSlot)) }
|
||||||
lambdaSlot.captured.invoke()
|
lambdaSlot.captured.invoke()
|
||||||
verify { effects.offer(DeleteBookmarkItems(effects, bookmarkState(), newBookmarksDao)) }
|
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.base.SideEffect
|
||||||
import org.kiwix.kiwixmobile.core.dao.HistoryDao
|
import org.kiwix.kiwixmobile.core.dao.HistoryDao
|
||||||
import org.kiwix.kiwixmobile.core.page.history.HistoryActivity
|
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.page.historyState
|
||||||
import org.kiwix.kiwixmobile.core.utils.DialogShower
|
import org.kiwix.kiwixmobile.core.utils.DialogShower
|
||||||
import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteAllHistory
|
import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteAllHistory
|
||||||
|
import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteSelectedHistory
|
||||||
|
|
||||||
internal class ShowDeleteHistoryDialogTest {
|
internal class ShowDeleteHistoryDialogTest {
|
||||||
|
|
||||||
@ -28,8 +30,44 @@ internal class ShowDeleteHistoryDialogTest {
|
|||||||
}
|
}
|
||||||
val lambdaSlot = slot<() -> Unit>()
|
val lambdaSlot = slot<() -> Unit>()
|
||||||
showDeleteHistoryDialog.invokeWith(activity)
|
showDeleteHistoryDialog.invokeWith(activity)
|
||||||
verify { dialogShower.show(DeleteAllHistory, capture(lambdaSlot)) }
|
verify { dialogShower.show(any(), capture(lambdaSlot)) }
|
||||||
lambdaSlot.captured.invoke()
|
lambdaSlot.captured.invoke()
|
||||||
verify { effects.offer(DeleteHistoryItems(historyState(), historyDao)) }
|
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