Browse Source

Stop using `consumeItemsUntilPredicate`

pull/2453/head
Benoit Marty 7 months ago
parent
commit
e87ae0930c
  1. 29
      features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/history/PollHistoryPresenterTest.kt

29
features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/history/PollHistoryPresenterTest.kt

@ -37,7 +37,6 @@ import io.element.android.libraries.matrix.test.AN_EVENT_ID_2
import io.element.android.libraries.matrix.test.FakeMatrixClient import io.element.android.libraries.matrix.test.FakeMatrixClient
import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.matrix.test.room.FakeMatrixRoom
import io.element.android.tests.testutils.WarmUpRule import io.element.android.tests.testutils.WarmUpRule
import io.element.android.tests.testutils.consumeItemsUntilPredicate
import io.element.android.tests.testutils.testCoroutineDispatchers import io.element.android.tests.testutils.testCoroutineDispatchers
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.ExperimentalCoroutinesApi
@ -67,15 +66,14 @@ class PollHistoryPresenterTest {
moleculeFlow(RecompositionMode.Immediate) { moleculeFlow(RecompositionMode.Immediate) {
presenter.present() presenter.present()
}.test { }.test {
skipItems(1)
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.activeFilter).isEqualTo(PollHistoryFilter.ONGOING) assertThat(state.activeFilter).isEqualTo(PollHistoryFilter.ONGOING)
assertThat(state.pollHistoryItems.size).isEqualTo(0) assertThat(state.pollHistoryItems.size).isEqualTo(0)
assertThat(state.isLoading).isTrue() assertThat(state.isLoading).isTrue()
assertThat(state.hasMoreToLoad).isTrue() assertThat(state.hasMoreToLoad).isTrue()
} }
consumeItemsUntilPredicate { awaitItem().also { state ->
it.pollHistoryItems.size == 2
}.last().also { state ->
assertThat(state.pollHistoryItems.size).isEqualTo(2) assertThat(state.pollHistoryItems.size).isEqualTo(2)
assertThat(state.pollHistoryItems.ongoing).hasSize(1) assertThat(state.pollHistoryItems.ongoing).hasSize(1)
assertThat(state.pollHistoryItems.past).hasSize(1) assertThat(state.pollHistoryItems.past).hasSize(1)
@ -93,13 +91,13 @@ class PollHistoryPresenterTest {
assertThat(state.activeFilter).isEqualTo(PollHistoryFilter.ONGOING) assertThat(state.activeFilter).isEqualTo(PollHistoryFilter.ONGOING)
state.eventSink(PollHistoryEvents.OnFilterSelected(PollHistoryFilter.PAST)) state.eventSink(PollHistoryEvents.OnFilterSelected(PollHistoryFilter.PAST))
} }
consumeItemsUntilPredicate { skipItems(1)
it.activeFilter == PollHistoryFilter.PAST awaitItem().also { state ->
}.last().also { state -> assertThat(state.activeFilter).isEqualTo(PollHistoryFilter.PAST)
state.eventSink(PollHistoryEvents.OnFilterSelected(PollHistoryFilter.ONGOING)) state.eventSink(PollHistoryEvents.OnFilterSelected(PollHistoryFilter.ONGOING))
} }
consumeItemsUntilPredicate { awaitItem().also { state ->
it.activeFilter == PollHistoryFilter.ONGOING assertThat(state.activeFilter).isEqualTo(PollHistoryFilter.ONGOING)
} }
} }
} }
@ -133,8 +131,9 @@ class PollHistoryPresenterTest {
moleculeFlow(RecompositionMode.Immediate) { moleculeFlow(RecompositionMode.Immediate) {
presenter.present() presenter.present()
}.test { }.test {
consumeItemsUntilPredicate { skipItems(2)
it.pollHistoryItems.size == 2 awaitItem().also { state ->
assertThat(state.pollHistoryItems.size).isEqualTo(2)
} }
timeline.updatePaginationState { timeline.updatePaginationState {
copy(isBackPaginating = false) copy(isBackPaginating = false)
@ -142,11 +141,11 @@ class PollHistoryPresenterTest {
val loadedState = awaitItem() val loadedState = awaitItem()
assertThat(loadedState.isLoading).isFalse() assertThat(loadedState.isLoading).isFalse()
loadedState.eventSink(PollHistoryEvents.LoadMore) loadedState.eventSink(PollHistoryEvents.LoadMore)
consumeItemsUntilPredicate { awaitItem().also { state ->
it.isLoading assertThat(state.isLoading).isTrue()
} }
consumeItemsUntilPredicate { awaitItem().also { state ->
!it.isLoading assertThat(state.isLoading).isFalse()
} }
} }
} }

Loading…
Cancel
Save