diff --git a/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/history/PollHistoryPresenterTest.kt b/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/history/PollHistoryPresenterTest.kt index d683652b3a..f7948a951c 100644 --- a/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/history/PollHistoryPresenterTest.kt +++ b/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.room.FakeMatrixRoom import io.element.android.tests.testutils.WarmUpRule -import io.element.android.tests.testutils.consumeItemsUntilPredicate import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -67,15 +66,14 @@ class PollHistoryPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { + skipItems(1) awaitItem().also { state -> assertThat(state.activeFilter).isEqualTo(PollHistoryFilter.ONGOING) assertThat(state.pollHistoryItems.size).isEqualTo(0) assertThat(state.isLoading).isTrue() assertThat(state.hasMoreToLoad).isTrue() } - consumeItemsUntilPredicate { - it.pollHistoryItems.size == 2 - }.last().also { state -> + awaitItem().also { state -> assertThat(state.pollHistoryItems.size).isEqualTo(2) assertThat(state.pollHistoryItems.ongoing).hasSize(1) assertThat(state.pollHistoryItems.past).hasSize(1) @@ -93,13 +91,13 @@ class PollHistoryPresenterTest { assertThat(state.activeFilter).isEqualTo(PollHistoryFilter.ONGOING) state.eventSink(PollHistoryEvents.OnFilterSelected(PollHistoryFilter.PAST)) } - consumeItemsUntilPredicate { - it.activeFilter == PollHistoryFilter.PAST - }.last().also { state -> + skipItems(1) + awaitItem().also { state -> + assertThat(state.activeFilter).isEqualTo(PollHistoryFilter.PAST) state.eventSink(PollHistoryEvents.OnFilterSelected(PollHistoryFilter.ONGOING)) } - consumeItemsUntilPredicate { - it.activeFilter == PollHistoryFilter.ONGOING + awaitItem().also { state -> + assertThat(state.activeFilter).isEqualTo(PollHistoryFilter.ONGOING) } } } @@ -133,8 +131,9 @@ class PollHistoryPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - consumeItemsUntilPredicate { - it.pollHistoryItems.size == 2 + skipItems(2) + awaitItem().also { state -> + assertThat(state.pollHistoryItems.size).isEqualTo(2) } timeline.updatePaginationState { copy(isBackPaginating = false) @@ -142,11 +141,11 @@ class PollHistoryPresenterTest { val loadedState = awaitItem() assertThat(loadedState.isLoading).isFalse() loadedState.eventSink(PollHistoryEvents.LoadMore) - consumeItemsUntilPredicate { - it.isLoading + awaitItem().also { state -> + assertThat(state.isLoading).isTrue() } - consumeItemsUntilPredicate { - !it.isLoading + awaitItem().also { state -> + assertThat(state.isLoading).isFalse() } } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a64bdaf4b9..1b903c107b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -151,7 +151,7 @@ showkase = { module = "com.airbnb.android:showkase", version.ref = "showkase" } showkase_processor = { module = "com.airbnb.android:showkase-processor", version.ref = "showkase" } jsoup = "org.jsoup:jsoup:1.17.2" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } -molecule-runtime = "app.cash.molecule:molecule-runtime:1.3.2" +molecule-runtime = "app.cash.molecule:molecule-runtime:1.4.0" timber = "com.jakewharton.timber:timber:5.0.1" matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.4" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" }