Add tests and clean code after RoomList Filter rework
This commit is contained in:
parent
0824a3ab8b
commit
9641d3ef4f
27 changed files with 325 additions and 161 deletions
|
|
@ -17,10 +17,12 @@ import io.element.android.libraries.matrix.test.A_ROOM_ID
|
|||
import io.element.android.libraries.matrix.test.A_ROOM_ID_2
|
||||
import io.element.android.libraries.matrix.test.notificationsettings.FakeNotificationSettingsService
|
||||
import io.element.android.libraries.matrix.test.room.aRoomSummary
|
||||
import io.element.android.libraries.matrix.test.roomlist.FakeDynamicRoomList
|
||||
import io.element.android.libraries.matrix.test.roomlist.FakeRoomListService
|
||||
import io.element.android.tests.testutils.awaitLastSequentialItem
|
||||
import io.element.android.tests.testutils.consumeItemsUntilPredicate
|
||||
import io.element.android.tests.testutils.test
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
|
|
@ -53,10 +55,14 @@ class EditDefaultNotificationSettingsPresenterTest {
|
|||
initialRoomModeIsDefault = false,
|
||||
getRoomsWithUserDefinedRulesResult = { Result.success(listOf(A_ROOM_ID)) },
|
||||
)
|
||||
val roomListService = FakeRoomListService()
|
||||
val roomList = FakeDynamicRoomList(
|
||||
summaries = MutableStateFlow(listOf(aRoomSummary(userDefinedNotificationMode = RoomNotificationMode.ALL_MESSAGES)))
|
||||
)
|
||||
val roomListService = FakeRoomListService(
|
||||
createRoomListLambda = { roomList }
|
||||
)
|
||||
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService, roomListService)
|
||||
presenter.test {
|
||||
roomListService.postAllRooms(listOf(aRoomSummary(userDefinedNotificationMode = RoomNotificationMode.ALL_MESSAGES)))
|
||||
val loadedState = consumeItemsUntilPredicate { state ->
|
||||
state.roomsWithUserDefinedMode.any { it.notificationMode == RoomNotificationMode.ALL_MESSAGES }
|
||||
}.last()
|
||||
|
|
@ -71,10 +77,8 @@ class EditDefaultNotificationSettingsPresenterTest {
|
|||
initialRoomModeIsDefault = false,
|
||||
getRoomsWithUserDefinedRulesResult = { Result.success(listOf(A_ROOM_ID, A_ROOM_ID_2)) },
|
||||
)
|
||||
val roomListService = FakeRoomListService()
|
||||
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService, roomListService)
|
||||
presenter.test {
|
||||
roomListService.postAllRooms(
|
||||
val roomList = FakeDynamicRoomList(
|
||||
summaries = MutableStateFlow(
|
||||
listOf(
|
||||
aRoomSummary(
|
||||
roomId = A_ROOM_ID,
|
||||
|
|
@ -86,8 +90,14 @@ class EditDefaultNotificationSettingsPresenterTest {
|
|||
name = "A",
|
||||
userDefinedNotificationMode = RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY,
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
)
|
||||
val roomListService = FakeRoomListService(
|
||||
createRoomListLambda = { roomList }
|
||||
)
|
||||
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService, roomListService)
|
||||
presenter.test {
|
||||
val loadedState = consumeItemsUntilPredicate { state ->
|
||||
state.roomsWithUserDefinedMode.any { it.notificationMode == RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY }
|
||||
}.last()
|
||||
|
|
@ -103,10 +113,8 @@ class EditDefaultNotificationSettingsPresenterTest {
|
|||
initialRoomModeIsDefault = false,
|
||||
getRoomsWithUserDefinedRulesResult = { Result.success(listOf(A_ROOM_ID, A_ROOM_ID_2)) },
|
||||
)
|
||||
val roomListService = FakeRoomListService()
|
||||
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService, roomListService)
|
||||
presenter.test {
|
||||
roomListService.postAllRooms(
|
||||
val roomList = FakeDynamicRoomList(
|
||||
summaries = MutableStateFlow(
|
||||
listOf(
|
||||
aRoomSummary(
|
||||
roomId = A_ROOM_ID,
|
||||
|
|
@ -118,8 +126,14 @@ class EditDefaultNotificationSettingsPresenterTest {
|
|||
name = null,
|
||||
userDefinedNotificationMode = RoomNotificationMode.MUTE,
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
)
|
||||
val roomListService = FakeRoomListService(
|
||||
createRoomListLambda = { roomList }
|
||||
)
|
||||
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService, roomListService)
|
||||
presenter.test {
|
||||
val loadedState = consumeItemsUntilPredicate { state ->
|
||||
state.roomsWithUserDefinedMode.any { it.notificationMode == RoomNotificationMode.MUTE }
|
||||
}.last()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue