Test filter effect.

This commit is contained in:
Benoit Marty 2023-02-06 12:59:14 +01:00 committed by Benoit Marty
parent d6afb97aac
commit b0b38598c6

View file

@ -22,6 +22,7 @@ import app.cash.molecule.RecompositionClock
import app.cash.molecule.moleculeFlow import app.cash.molecule.moleculeFlow
import app.cash.turbine.test import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat 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.matrix.core.SessionId
import io.element.android.libraries.matrixtest.FakeMatrixClient import io.element.android.libraries.matrixtest.FakeMatrixClient
import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.ExperimentalCoroutinesApi
@ -35,7 +36,8 @@ class RoomListPresenterTests {
val presenter = RoomListPresenter( val presenter = RoomListPresenter(
FakeMatrixClient( FakeMatrixClient(
SessionId("sessionId") SessionId("sessionId")
), LastMessageFormatter() ),
LastMessageFormatter()
) )
moleculeFlow(RecompositionClock.Immediate) { moleculeFlow(RecompositionClock.Immediate) {
presenter.present() presenter.present()
@ -46,4 +48,24 @@ class RoomListPresenterTests {
assertThat(withUserState.matrixUser).isNotNull() 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")
}
}
} }