Test filter effect.

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

View file

@ -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")
}
}
}