Add tests on search query
This commit is contained in:
parent
c2d0163b86
commit
7f25d3da63
1 changed files with 34 additions and 3 deletions
|
|
@ -22,8 +22,8 @@ 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.createroom.impl.root.CreateRoomRootEvents
|
import io.element.android.libraries.matrix.api.core.UserId
|
||||||
import io.element.android.features.createroom.impl.root.CreateRoomRootPresenter
|
import io.element.android.libraries.matrix.ui.model.MatrixUser
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
@ -42,7 +42,7 @@ class CreateRoomRootPresenterTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `present - send event`() = runTest {
|
fun `present - trigger action buttons`() = runTest {
|
||||||
val presenter = CreateRoomRootPresenter()
|
val presenter = CreateRoomRootPresenter()
|
||||||
moleculeFlow(RecompositionClock.Immediate) {
|
moleculeFlow(RecompositionClock.Immediate) {
|
||||||
presenter.present()
|
presenter.present()
|
||||||
|
|
@ -52,4 +52,35 @@ class CreateRoomRootPresenterTests {
|
||||||
initialState.eventSink(CreateRoomRootEvents.InvitePeople) // Not implemented yet
|
initialState.eventSink(CreateRoomRootEvents.InvitePeople) // Not implemented yet
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `present - update search query`() = runTest {
|
||||||
|
val presenter = CreateRoomRootPresenter()
|
||||||
|
moleculeFlow(RecompositionClock.Immediate) {
|
||||||
|
presenter.present()
|
||||||
|
}.test {
|
||||||
|
val initialState = awaitItem()
|
||||||
|
val matrixIdQuery = "@name:matrix.org"
|
||||||
|
initialState.eventSink(CreateRoomRootEvents.UpdateSearchQuery(matrixIdQuery))
|
||||||
|
assertThat(awaitItem().searchQuery).isEqualTo(matrixIdQuery)
|
||||||
|
assertThat(awaitItem().searchResults).containsExactly(MatrixUser(UserId(matrixIdQuery)))
|
||||||
|
|
||||||
|
val notMatrixIdQuery = "name"
|
||||||
|
initialState.eventSink(CreateRoomRootEvents.UpdateSearchQuery(notMatrixIdQuery))
|
||||||
|
assertThat(awaitItem().searchQuery).isEqualTo(notMatrixIdQuery)
|
||||||
|
assertThat(awaitItem().searchResults).isEmpty()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `present - trigger start DM action`() = runTest {
|
||||||
|
val presenter = CreateRoomRootPresenter()
|
||||||
|
moleculeFlow(RecompositionClock.Immediate) {
|
||||||
|
presenter.present()
|
||||||
|
}.test {
|
||||||
|
val initialState = awaitItem()
|
||||||
|
val matrixUser = MatrixUser(UserId("@name:matrix.org"))
|
||||||
|
initialState.eventSink(CreateRoomRootEvents.StartDM(matrixUser))
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue