#2098 updated history and bookmark tests

This commit is contained in:
HissPirat 2020-06-29 09:53:48 +02:00
parent a92ecdde66
commit 1e7de12484
2 changed files with 29 additions and 53 deletions

View File

@ -34,19 +34,16 @@ import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteAllBookmarks
import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteSelectedBookmarks
internal class ShowDeleteBookmarksDialogTest {
val effects = mockk<PublishProcessor<SideEffect<*>>>(relaxed = true)
private val newBookmarksDao = mockk<NewBookmarksDao>()
val activity = mockk<BookmarksActivity>()
private val dialogShower = mockk<DialogShower>(relaxed = true)
@Test
fun `invoke with shows dialog that offers ConfirmDelete action`() {
val effects = mockk<PublishProcessor<SideEffect<*>>>(relaxed = true)
val newBookmarksDao = mockk<NewBookmarksDao>()
val activity = mockk<BookmarksActivity>()
val showDeleteBookmarksDialog =
ShowDeleteBookmarksDialog(effects, bookmarkState(), newBookmarksDao)
val dialogShower = mockk<DialogShower>()
every { activity.activityComponent.inject(showDeleteBookmarksDialog) } answers {
showDeleteBookmarksDialog.dialogShower = dialogShower
Unit
}
mockkActivityInjection(showDeleteBookmarksDialog)
val lambdaSlot = slot<() -> Unit>()
showDeleteBookmarksDialog.invokeWith(activity)
verify { dialogShower.show(any(), capture(lambdaSlot)) }
@ -54,45 +51,36 @@ internal class ShowDeleteBookmarksDialogTest {
verify { effects.offer(DeleteBookmarkItems(effects, bookmarkState(), newBookmarksDao)) }
}
private fun mockkActivityInjection(showDeleteBookmarksDialog: ShowDeleteBookmarksDialog) {
every { activity.activityComponent.inject(showDeleteBookmarksDialog) } answers {
showDeleteBookmarksDialog.dialogShower = dialogShower
Unit
}
}
@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>()
mockkActivityInjection(showDeleteBookmarksDialog)
showDeleteBookmarksDialog.invokeWith(activity)
verify { dialogShower.show(DeleteSelectedBookmarks, capture(lambdaSlot)) }
verify { dialogShower.show(DeleteSelectedBookmarks, any()) }
}
@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>()
mockkActivityInjection(showDeleteBookmarksDialog)
showDeleteBookmarksDialog.invokeWith(activity)
verify { dialogShower.show(DeleteAllBookmarks, capture(lambdaSlot)) }
verify { dialogShower.show(DeleteAllBookmarks, any()) }
}
}

View File

@ -16,18 +16,15 @@ import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteAllHistory
import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteSelectedHistory
internal class ShowDeleteHistoryDialogTest {
val effects = mockk<PublishProcessor<SideEffect<*>>>(relaxed = true)
private val historyDao = mockk<HistoryDao>()
val activity = mockk<HistoryActivity>()
private val dialogShower = mockk<DialogShower>(relaxed = true)
@Test
fun `invoke with shows dialog that offers ConfirmDelete action`() {
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
}
mockkActivityInjection(showDeleteHistoryDialog)
val lambdaSlot = slot<() -> Unit>()
showDeleteHistoryDialog.invokeWith(activity)
verify { dialogShower.show(any(), capture(lambdaSlot)) }
@ -37,37 +34,28 @@ internal class ShowDeleteHistoryDialogTest {
@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>()
mockkActivityInjection(showDeleteHistoryDialog)
showDeleteHistoryDialog.invokeWith(activity)
verify { dialogShower.show(DeleteSelectedHistory, capture(lambdaSlot)) }
verify { dialogShower.show(DeleteSelectedHistory, any()) }
}
@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>()
mockkActivityInjection(showDeleteHistoryDialog)
showDeleteHistoryDialog.invokeWith(activity)
verify { dialogShower.show(DeleteAllHistory, any()) }
}
private fun mockkActivityInjection(showDeleteHistoryDialog: ShowDeleteHistoryDialog) {
every { activity.activityComponent.inject(showDeleteHistoryDialog) } answers {
showDeleteHistoryDialog.dialogShower = dialogShower
Unit
}
val lambdaSlot = slot<() -> Unit>()
showDeleteHistoryDialog.invokeWith(activity)
verify { dialogShower.show(DeleteAllHistory, capture(lambdaSlot)) }
}
}