mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-25 14:02:36 -04:00
#2154 fixed tests
This commit is contained in:
parent
969cead41d
commit
56792111da
@ -25,6 +25,7 @@ import io.mockk.mockk
|
||||
import io.reactivex.plugins.RxJavaPlugins
|
||||
import io.reactivex.processors.PublishProcessor
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
@ -73,8 +74,8 @@ internal class BookmarkViewModelTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Initial state is initialising a bookmark state`() {
|
||||
viewModel.state.test().assertValue(bookmarkState())
|
||||
fun `Initial state returns initial state`() {
|
||||
assertThat(viewModel.initialState()).isEqualTo(bookmarkState())
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -26,21 +26,6 @@ import org.kiwix.kiwixmobile.core.page.historyState
|
||||
|
||||
internal class HistoryStateTest {
|
||||
|
||||
@Test
|
||||
internal fun `visiblePageItems returns history from all books when showAll is true`() {
|
||||
val item = historyItem(isSelected = false)
|
||||
assertThat(historyState(listOf(item), showAll = true).visiblePageItems)
|
||||
.isEqualTo(listOf(DateItem(item.dateString), item))
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun `visiblePageItems returns history from current book when showAll is false`() {
|
||||
val item1 = historyItem(isSelected = false, zimId = "id1")
|
||||
val item2 = historyItem(isSelected = false, zimId = "id2")
|
||||
assertThat(historyState(listOf(item1, item2), showAll = false, zimId = "id1").visiblePageItems)
|
||||
.isEqualTo(listOf(DateItem(item1.dateString), item1))
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun `visiblePageItems returns history based on filter`() {
|
||||
val matchingItem = historyItem(historyTitle = "Title")
|
||||
|
@ -8,6 +8,7 @@ import io.reactivex.plugins.RxJavaPlugins
|
||||
import io.reactivex.processors.PublishProcessor
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import io.reactivex.schedulers.TestScheduler
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
@ -57,8 +58,8 @@ internal class HistoryViewModelTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Initial state is initialising a history state`() {
|
||||
viewModel.state.test().assertValue(historyState())
|
||||
fun `Initial state returns initial state`() {
|
||||
assertThat(viewModel.initialState()).isEqualTo(historyState())
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -22,6 +22,8 @@ import com.jraska.livedata.test
|
||||
import io.mockk.clearAllMocks
|
||||
import io.mockk.every
|
||||
import io.mockk.mockk
|
||||
import io.mockk.mockkObject
|
||||
import io.mockk.verify
|
||||
import io.reactivex.plugins.RxJavaPlugins
|
||||
import io.reactivex.processors.PublishProcessor
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
@ -34,6 +36,12 @@ import org.kiwix.kiwixmobile.core.page.PageImpl
|
||||
import org.kiwix.kiwixmobile.core.page.adapter.Page
|
||||
import org.kiwix.kiwixmobile.core.page.pageState
|
||||
import org.kiwix.kiwixmobile.core.page.viewmodel.Action.Exit
|
||||
import org.kiwix.kiwixmobile.core.page.viewmodel.Action.ExitActionModeMenu
|
||||
import org.kiwix.kiwixmobile.core.page.viewmodel.Action.Filter
|
||||
import org.kiwix.kiwixmobile.core.page.viewmodel.Action.OnItemClick
|
||||
import org.kiwix.kiwixmobile.core.page.viewmodel.Action.OnItemLongClick
|
||||
import org.kiwix.kiwixmobile.core.page.viewmodel.Action.UpdatePages
|
||||
import org.kiwix.kiwixmobile.core.page.viewmodel.Action.UserClickedShowAllToggle
|
||||
import org.kiwix.kiwixmobile.core.page.viewmodel.effects.OpenPage
|
||||
import org.kiwix.kiwixmobile.core.reader.ZimReaderContainer
|
||||
import org.kiwix.kiwixmobile.core.search.viewmodel.effects.Finish
|
||||
@ -78,18 +86,37 @@ internal class PageViewModelTest {
|
||||
viewModel.state.test().assertValue(pageState())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `ExitActionModeMenu calls deslectAllPages`() {
|
||||
mockkObject(viewModel)
|
||||
viewModel.actions.offer(ExitActionModeMenu)
|
||||
verify {
|
||||
viewModel.deselectAllPages(pageState())
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `UserClickedDeleteButton calls offerShowDeleteDialog`() {
|
||||
mockkObject(viewModel)
|
||||
val action = UserClickedShowAllToggle(true)
|
||||
viewModel.actions.offer(action)
|
||||
verify {
|
||||
viewModel.offerUpdateToShowAllToggle(action, pageState())
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun `OnItemClick selects item if one is selected`() {
|
||||
val page = PageImpl(isSelected = true)
|
||||
viewModel.state.postValue(TestablePageState(listOf(page)))
|
||||
viewModel.actions.offer(Action.OnItemClick(page))
|
||||
viewModel.actions.offer(OnItemClick(page))
|
||||
viewModel.state.test().assertValue(TestablePageState(listOf(PageImpl())))
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun `OnItemClick offers OpenPage if none is selected`() {
|
||||
viewModel.state.postValue(TestablePageState(listOf(PageImpl())))
|
||||
viewModel.effects.test().also { viewModel.actions.offer(Action.OnItemClick(PageImpl())) }
|
||||
viewModel.effects.test().also { viewModel.actions.offer(OnItemClick(PageImpl())) }
|
||||
.assertValue(OpenPage(PageImpl(), zimReaderContainer))
|
||||
viewModel.state.test().assertValue(TestablePageState(listOf(PageImpl())))
|
||||
}
|
||||
@ -98,7 +125,27 @@ internal class PageViewModelTest {
|
||||
internal fun `OnItemLongClick selects item if none is selected`() {
|
||||
val page = PageImpl()
|
||||
viewModel.state.postValue(TestablePageState(listOf(page)))
|
||||
viewModel.actions.offer(Action.OnItemLongClick(page))
|
||||
viewModel.actions.offer(OnItemLongClick(page))
|
||||
viewModel.state.test().assertValue(TestablePageState(listOf(PageImpl(isSelected = true))))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Filter calls updatePagesBasedOnFilter`() {
|
||||
mockkObject(viewModel)
|
||||
val action = Filter("filter")
|
||||
viewModel.actions.offer(action)
|
||||
verify {
|
||||
viewModel.updatePagesBasedOnFilter(pageState(), action)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `UpdatePages calls updatePages`() {
|
||||
mockkObject(viewModel)
|
||||
val action = UpdatePages(emptyList())
|
||||
viewModel.actions.offer(action)
|
||||
verify {
|
||||
viewModel.updatePages(pageState(), action)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user