RoomList: fix tests and sample
This commit is contained in:
parent
d9559af2cf
commit
812880a148
9 changed files with 87 additions and 75 deletions
|
|
@ -34,8 +34,8 @@ internal class DefaultInviteStateDataSourceTest {
|
|||
|
||||
@Test
|
||||
fun `emits NoInvites state if invites list is empty`() = runTest {
|
||||
val matrixDataSource = FakeRoomSummaryDataSource()
|
||||
val client = FakeMatrixClient(invitesDataSource = matrixDataSource)
|
||||
val roomSummaryDataSource = FakeRoomSummaryDataSource()
|
||||
val client = FakeMatrixClient(roomSummaryDataSource = roomSummaryDataSource)
|
||||
val seenStore = FakeSeenInvitesStore()
|
||||
val dataSource = DefaultInviteStateDataSource(client, seenStore, testCoroutineDispatchers())
|
||||
|
||||
|
|
@ -48,9 +48,9 @@ internal class DefaultInviteStateDataSourceTest {
|
|||
|
||||
@Test
|
||||
fun `emits NewInvites state if unseen invite exists`() = runTest {
|
||||
val matrixDataSource = FakeRoomSummaryDataSource()
|
||||
matrixDataSource.postRoomSummary(listOf(aRoomSummaryFilled(roomId = A_ROOM_ID)))
|
||||
val client = FakeMatrixClient(invitesDataSource = matrixDataSource)
|
||||
val roomSummaryDataSource = FakeRoomSummaryDataSource()
|
||||
roomSummaryDataSource.postInviteRooms(listOf(aRoomSummaryFilled(roomId = A_ROOM_ID)))
|
||||
val client = FakeMatrixClient(roomSummaryDataSource = roomSummaryDataSource)
|
||||
val seenStore = FakeSeenInvitesStore()
|
||||
val dataSource = DefaultInviteStateDataSource(client, seenStore, testCoroutineDispatchers())
|
||||
|
||||
|
|
@ -64,9 +64,9 @@ internal class DefaultInviteStateDataSourceTest {
|
|||
|
||||
@Test
|
||||
fun `emits NewInvites state if multiple invites exist and at least one is unseen`() = runTest {
|
||||
val matrixDataSource = FakeRoomSummaryDataSource()
|
||||
matrixDataSource.postRoomSummary(listOf(aRoomSummaryFilled(roomId = A_ROOM_ID), aRoomSummaryFilled(roomId = A_ROOM_ID_2)))
|
||||
val client = FakeMatrixClient(invitesDataSource = matrixDataSource)
|
||||
val roomSummaryDataSource = FakeRoomSummaryDataSource()
|
||||
roomSummaryDataSource.postInviteRooms(listOf(aRoomSummaryFilled(roomId = A_ROOM_ID), aRoomSummaryFilled(roomId = A_ROOM_ID_2)))
|
||||
val client = FakeMatrixClient(roomSummaryDataSource = roomSummaryDataSource)
|
||||
val seenStore = FakeSeenInvitesStore()
|
||||
seenStore.publishRoomIds(setOf(A_ROOM_ID))
|
||||
val dataSource = DefaultInviteStateDataSource(client, seenStore, testCoroutineDispatchers(useUnconfinedTestDispatcher = true))
|
||||
|
|
@ -81,9 +81,9 @@ internal class DefaultInviteStateDataSourceTest {
|
|||
|
||||
@Test
|
||||
fun `emits SeenInvites state if invite exists in seen store`() = runTest {
|
||||
val matrixDataSource = FakeRoomSummaryDataSource()
|
||||
matrixDataSource.postRoomSummary(listOf(aRoomSummaryFilled(roomId = A_ROOM_ID)))
|
||||
val client = FakeMatrixClient(invitesDataSource = matrixDataSource)
|
||||
val roomSummaryDataSource = FakeRoomSummaryDataSource()
|
||||
roomSummaryDataSource.postInviteRooms(listOf(aRoomSummaryFilled(roomId = A_ROOM_ID)))
|
||||
val client = FakeMatrixClient(roomSummaryDataSource = roomSummaryDataSource)
|
||||
val seenStore = FakeSeenInvitesStore()
|
||||
seenStore.publishRoomIds(setOf(A_ROOM_ID))
|
||||
val dataSource = DefaultInviteStateDataSource(client, seenStore, testCoroutineDispatchers(useUnconfinedTestDispatcher = true))
|
||||
|
|
@ -99,8 +99,8 @@ internal class DefaultInviteStateDataSourceTest {
|
|||
|
||||
@Test
|
||||
fun `emits new state in response to upstream events`() = runTest {
|
||||
val matrixDataSource = FakeRoomSummaryDataSource()
|
||||
val client = FakeMatrixClient(invitesDataSource = matrixDataSource)
|
||||
val roomSummaryDataSource = FakeRoomSummaryDataSource()
|
||||
val client = FakeMatrixClient(roomSummaryDataSource = roomSummaryDataSource)
|
||||
val seenStore = FakeSeenInvitesStore()
|
||||
val dataSource = DefaultInviteStateDataSource(client, seenStore, testCoroutineDispatchers())
|
||||
|
||||
|
|
@ -111,7 +111,7 @@ internal class DefaultInviteStateDataSourceTest {
|
|||
Truth.assertThat(awaitItem()).isEqualTo(InvitesState.NoInvites)
|
||||
|
||||
// When a single invite is received, state should be NewInvites
|
||||
matrixDataSource.postRoomSummary(listOf(aRoomSummaryFilled(roomId = A_ROOM_ID)))
|
||||
roomSummaryDataSource.postInviteRooms(listOf(aRoomSummaryFilled(roomId = A_ROOM_ID)))
|
||||
skipItems(1)
|
||||
Truth.assertThat(awaitItem()).isEqualTo(InvitesState.NewInvites)
|
||||
|
||||
|
|
@ -121,12 +121,12 @@ internal class DefaultInviteStateDataSourceTest {
|
|||
Truth.assertThat(awaitItem()).isEqualTo(InvitesState.SeenInvites)
|
||||
|
||||
// Another new invite resets it to NewInvites
|
||||
matrixDataSource.postRoomSummary(listOf(aRoomSummaryFilled(roomId = A_ROOM_ID), aRoomSummaryFilled(roomId = A_ROOM_ID_2)))
|
||||
roomSummaryDataSource.postInviteRooms(listOf(aRoomSummaryFilled(roomId = A_ROOM_ID), aRoomSummaryFilled(roomId = A_ROOM_ID_2)))
|
||||
skipItems(1)
|
||||
Truth.assertThat(awaitItem()).isEqualTo(InvitesState.NewInvites)
|
||||
|
||||
// All of the invites going away reverts to NoInvites
|
||||
matrixDataSource.postRoomSummary(emptyList())
|
||||
roomSummaryDataSource.postInviteRooms(emptyList())
|
||||
skipItems(1)
|
||||
Truth.assertThat(awaitItem()).isEqualTo(InvitesState.NoInvites)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ class RoomListPresenterTests {
|
|||
// Room list is loaded with 16 placeholders
|
||||
Truth.assertThat(withUserState.roomList.size).isEqualTo(16)
|
||||
Truth.assertThat(withUserState.roomList.all { it.isPlaceholder }).isTrue()
|
||||
roomSummaryDataSource.postRoomSummary(listOf(aRoomSummaryFilled()))
|
||||
roomSummaryDataSource.postAllRooms(listOf(aRoomSummaryFilled()))
|
||||
skipItems(1)
|
||||
val withRoomState = awaitItem()
|
||||
Truth.assertThat(withRoomState.roomList.size).isEqualTo(1)
|
||||
|
|
@ -173,7 +173,7 @@ class RoomListPresenterTests {
|
|||
moleculeFlow(RecompositionClock.Immediate) {
|
||||
presenter.present()
|
||||
}.test {
|
||||
roomSummaryDataSource.postRoomSummary(listOf(aRoomSummaryFilled()))
|
||||
roomSummaryDataSource.postAllRooms(listOf(aRoomSummaryFilled()))
|
||||
skipItems(3)
|
||||
val loadedState = awaitItem()
|
||||
// Test filtering with result
|
||||
|
|
@ -211,7 +211,7 @@ class RoomListPresenterTests {
|
|||
moleculeFlow(RecompositionClock.Immediate) {
|
||||
presenter.present()
|
||||
}.test {
|
||||
roomSummaryDataSource.postRoomSummary(listOf(aRoomSummaryFilled()))
|
||||
roomSummaryDataSource.postAllRooms(listOf(aRoomSummaryFilled()))
|
||||
skipItems(3)
|
||||
val loadedState = awaitItem()
|
||||
// check initial value
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue