|
|
|
@ -192,17 +192,22 @@ class RoomListPresenterTests {
@@ -192,17 +192,22 @@ class RoomListPresenterTests {
|
|
|
|
|
presenter.present() |
|
|
|
|
}.test { |
|
|
|
|
roomListService.postAllRooms(listOf(aRoomSummaryFilled())) |
|
|
|
|
val loadedState = consumeItemsUntilPredicate { state -> state.roomList.size == 1 }.last() |
|
|
|
|
skipItems(3) |
|
|
|
|
val loadedState = awaitItem() |
|
|
|
|
// Test filtering with result |
|
|
|
|
assertThat(loadedState.roomList.size).isEqualTo(1) |
|
|
|
|
loadedState.eventSink.invoke(RoomListEvents.UpdateFilter(A_ROOM_NAME.substring(0, 3))) |
|
|
|
|
val withFilteredRoomState = consumeItemsUntilPredicate { state -> state.filteredRoomList.size == 1 }.last() |
|
|
|
|
skipItems(1) |
|
|
|
|
val withFilteredRoomState = awaitItem() |
|
|
|
|
assertThat(withFilteredRoomState.filteredRoomList.size).isEqualTo(1) |
|
|
|
|
assertThat(withFilteredRoomState.filter).isEqualTo(A_ROOM_NAME.substring(0, 3)) |
|
|
|
|
assertThat(withFilteredRoomState.filteredRoomList.size).isEqualTo(1) |
|
|
|
|
assertThat(withFilteredRoomState.filteredRoomList.first()) |
|
|
|
|
.isEqualTo(aRoomListRoomSummary) |
|
|
|
|
// Test filtering without result |
|
|
|
|
withFilteredRoomState.eventSink.invoke(RoomListEvents.UpdateFilter("tada")) |
|
|
|
|
val withNotFilteredRoomState = consumeItemsUntilPredicate { state -> state.filteredRoomList.size == 0 }.last() |
|
|
|
|
skipItems(1) |
|
|
|
|
val withNotFilteredRoomState = awaitItem() |
|
|
|
|
assertThat(withNotFilteredRoomState.filter).isEqualTo("tada") |
|
|
|
|
assertThat(withNotFilteredRoomState.filteredRoomList).isEmpty() |
|
|
|
|
scope.cancel() |
|
|
|
|