#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 import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteSelectedBookmarks
internal class ShowDeleteBookmarksDialogTest { 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 @Test
fun `invoke with shows dialog that offers ConfirmDelete action`() { 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 = val showDeleteBookmarksDialog =
ShowDeleteBookmarksDialog(effects, bookmarkState(), newBookmarksDao) ShowDeleteBookmarksDialog(effects, bookmarkState(), newBookmarksDao)
val dialogShower = mockk<DialogShower>() mockkActivityInjection(showDeleteBookmarksDialog)
every { activity.activityComponent.inject(showDeleteBookmarksDialog) } answers {
showDeleteBookmarksDialog.dialogShower = dialogShower
Unit
}
val lambdaSlot = slot<() -> Unit>() val lambdaSlot = slot<() -> Unit>()
showDeleteBookmarksDialog.invokeWith(activity) showDeleteBookmarksDialog.invokeWith(activity)
verify { dialogShower.show(any(), capture(lambdaSlot)) } verify { dialogShower.show(any(), capture(lambdaSlot)) }
@ -54,45 +51,36 @@ internal class ShowDeleteBookmarksDialogTest {
verify { effects.offer(DeleteBookmarkItems(effects, bookmarkState(), newBookmarksDao)) } verify { effects.offer(DeleteBookmarkItems(effects, bookmarkState(), newBookmarksDao)) }
} }
private fun mockkActivityInjection(showDeleteBookmarksDialog: ShowDeleteBookmarksDialog) {
every { activity.activityComponent.inject(showDeleteBookmarksDialog) } answers {
showDeleteBookmarksDialog.dialogShower = dialogShower
Unit
}
}
@Test @Test
fun `invoke with selected items shows dialog with DeleteSelectedBookmarks title`() { 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 = val showDeleteBookmarksDialog =
ShowDeleteBookmarksDialog( ShowDeleteBookmarksDialog(
effects, effects,
bookmarkState(listOf(bookmark(isSelected = true))), bookmarkState(listOf(bookmark(isSelected = true))),
newBookmarksDao newBookmarksDao
) )
val dialogShower = mockk<DialogShower>() mockkActivityInjection(showDeleteBookmarksDialog)
every { activity.activityComponent.inject(showDeleteBookmarksDialog) } answers {
showDeleteBookmarksDialog.dialogShower = dialogShower
Unit
}
val lambdaSlot = slot<() -> Unit>()
showDeleteBookmarksDialog.invokeWith(activity) showDeleteBookmarksDialog.invokeWith(activity)
verify { dialogShower.show(DeleteSelectedBookmarks, capture(lambdaSlot)) } verify { dialogShower.show(DeleteSelectedBookmarks, any()) }
} }
@Test @Test
fun `invoke with no selected items shows dialog with DeleteAllBookmarks title`() { 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 = val showDeleteBookmarksDialog =
ShowDeleteBookmarksDialog( ShowDeleteBookmarksDialog(
effects, effects,
bookmarkState(listOf(bookmark())), bookmarkState(listOf(bookmark())),
newBookmarksDao newBookmarksDao
) )
val dialogShower = mockk<DialogShower>() mockkActivityInjection(showDeleteBookmarksDialog)
every { activity.activityComponent.inject(showDeleteBookmarksDialog) } answers {
showDeleteBookmarksDialog.dialogShower = dialogShower
Unit
}
val lambdaSlot = slot<() -> Unit>()
showDeleteBookmarksDialog.invokeWith(activity) 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 import org.kiwix.kiwixmobile.core.utils.KiwixDialog.DeleteSelectedHistory
internal class ShowDeleteHistoryDialogTest { 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 @Test
fun `invoke with shows dialog that offers ConfirmDelete action`() { 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 showDeleteHistoryDialog = ShowDeleteHistoryDialog(effects, historyState(), historyDao)
val dialogShower = mockk<DialogShower>() mockkActivityInjection(showDeleteHistoryDialog)
every { activity.activityComponent.inject(showDeleteHistoryDialog) } answers {
showDeleteHistoryDialog.dialogShower = dialogShower
Unit
}
val lambdaSlot = slot<() -> Unit>() val lambdaSlot = slot<() -> Unit>()
showDeleteHistoryDialog.invokeWith(activity) showDeleteHistoryDialog.invokeWith(activity)
verify { dialogShower.show(any(), capture(lambdaSlot)) } verify { dialogShower.show(any(), capture(lambdaSlot)) }
@ -37,37 +34,28 @@ internal class ShowDeleteHistoryDialogTest {
@Test @Test
fun `invoke with selected item shows dialog with delete selected items title`() { 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( val showDeleteHistoryDialog = ShowDeleteHistoryDialog(
effects, effects,
historyState(listOf(historyItem(isSelected = true))), historyState(listOf(historyItem(isSelected = true))),
historyDao historyDao
) )
val dialogShower = mockk<DialogShower>() mockkActivityInjection(showDeleteHistoryDialog)
every { activity.activityComponent.inject(showDeleteHistoryDialog) } answers {
showDeleteHistoryDialog.dialogShower = dialogShower
Unit
}
val lambdaSlot = slot<() -> Unit>()
showDeleteHistoryDialog.invokeWith(activity) showDeleteHistoryDialog.invokeWith(activity)
verify { dialogShower.show(DeleteSelectedHistory, capture(lambdaSlot)) } verify { dialogShower.show(DeleteSelectedHistory, any()) }
} }
@Test @Test
fun `invoke with no selected items shows dialog with delete all items title`() { 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 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 { every { activity.activityComponent.inject(showDeleteHistoryDialog) } answers {
showDeleteHistoryDialog.dialogShower = dialogShower showDeleteHistoryDialog.dialogShower = dialogShower
Unit Unit
} }
val lambdaSlot = slot<() -> Unit>()
showDeleteHistoryDialog.invokeWith(activity)
verify { dialogShower.show(DeleteAllHistory, capture(lambdaSlot)) }
} }
} }