From 6cd9fe18f9aeeb76546e6f98a405b88dfa8038da Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 6 Feb 2023 12:59:14 +0100 Subject: [PATCH] Test filter effect. --- .../roomlist/RoomListPresenterTests.kt | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt b/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt index 6a238f501e..70fc4f22e4 100644 --- a/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt +++ b/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt @@ -22,6 +22,7 @@ import app.cash.molecule.RecompositionClock import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat +import io.element.android.features.roomlist.model.RoomListEvents import io.element.android.libraries.matrix.core.SessionId import io.element.android.libraries.matrixtest.FakeMatrixClient import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -35,7 +36,8 @@ class RoomListPresenterTests { val presenter = RoomListPresenter( FakeMatrixClient( SessionId("sessionId") - ), LastMessageFormatter() + ), + LastMessageFormatter() ) moleculeFlow(RecompositionClock.Immediate) { presenter.present() @@ -46,4 +48,24 @@ class RoomListPresenterTests { assertThat(withUserState.matrixUser).isNotNull() } } + + @Test + fun `present - should filter room with success`() = runTest { + val presenter = RoomListPresenter( + FakeMatrixClient( + SessionId("sessionId") + ), + LastMessageFormatter() + ) + moleculeFlow(RecompositionClock.Immediate) { + presenter.present() + }.test { + var initialState = awaitItem() + val withUserState = awaitItem() + assertThat(withUserState.filter).isEqualTo("") + withUserState.eventSink.invoke(RoomListEvents.UpdateFilter("t")) + val withFilterState = awaitItem() + assertThat(withFilterState.filter).isEqualTo("t") + } + } }