Remove default value of RoomSummaryDetails constructor, and iterate on fixture functions.
This commit is contained in:
parent
49abbfce7f
commit
31b2c55bee
6 changed files with 56 additions and 48 deletions
|
|
@ -30,7 +30,6 @@ import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.room.RoomMember
|
import io.element.android.libraries.matrix.api.room.RoomMember
|
||||||
import io.element.android.libraries.matrix.api.room.RoomMembershipState
|
import io.element.android.libraries.matrix.api.room.RoomMembershipState
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
|
||||||
import io.element.android.libraries.matrix.test.AN_AVATAR_URL
|
import io.element.android.libraries.matrix.test.AN_AVATAR_URL
|
||||||
import io.element.android.libraries.matrix.test.A_ROOM_ID
|
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.A_ROOM_ID_2
|
||||||
|
|
@ -39,6 +38,7 @@ import io.element.android.libraries.matrix.test.A_USER_ID
|
||||||
import io.element.android.libraries.matrix.test.A_USER_NAME
|
import io.element.android.libraries.matrix.test.A_USER_NAME
|
||||||
import io.element.android.libraries.matrix.test.FakeMatrixClient
|
import io.element.android.libraries.matrix.test.FakeMatrixClient
|
||||||
import io.element.android.libraries.matrix.test.room.FakeMatrixRoom
|
import io.element.android.libraries.matrix.test.room.FakeMatrixRoom
|
||||||
|
import io.element.android.libraries.matrix.test.room.aRoomSummaryDetails
|
||||||
import io.element.android.libraries.matrix.test.roomlist.FakeRoomListService
|
import io.element.android.libraries.matrix.test.roomlist.FakeRoomListService
|
||||||
import io.element.android.libraries.push.api.notifications.NotificationDrawerManager
|
import io.element.android.libraries.push.api.notifications.NotificationDrawerManager
|
||||||
import io.element.android.libraries.push.test.notifications.FakeNotificationDrawerManager
|
import io.element.android.libraries.push.test.notifications.FakeNotificationDrawerManager
|
||||||
|
|
@ -425,7 +425,7 @@ class InviteListPresenterTests {
|
||||||
postInviteRooms(
|
postInviteRooms(
|
||||||
listOf(
|
listOf(
|
||||||
RoomSummary.Filled(
|
RoomSummary.Filled(
|
||||||
RoomSummaryDetails(
|
aRoomSummaryDetails(
|
||||||
roomId = A_ROOM_ID,
|
roomId = A_ROOM_ID,
|
||||||
name = A_ROOM_NAME,
|
name = A_ROOM_NAME,
|
||||||
avatarUrl = null,
|
avatarUrl = null,
|
||||||
|
|
@ -453,7 +453,7 @@ class InviteListPresenterTests {
|
||||||
postInviteRooms(
|
postInviteRooms(
|
||||||
listOf(
|
listOf(
|
||||||
RoomSummary.Filled(
|
RoomSummary.Filled(
|
||||||
RoomSummaryDetails(
|
aRoomSummaryDetails(
|
||||||
roomId = A_ROOM_ID,
|
roomId = A_ROOM_ID,
|
||||||
name = A_ROOM_NAME,
|
name = A_ROOM_NAME,
|
||||||
avatarUrl = null,
|
avatarUrl = null,
|
||||||
|
|
@ -478,7 +478,7 @@ class InviteListPresenterTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun aRoomSummary(id: RoomId = A_ROOM_ID) = RoomSummary.Filled(
|
private fun aRoomSummary(id: RoomId = A_ROOM_ID) = RoomSummary.Filled(
|
||||||
RoomSummaryDetails(
|
aRoomSummaryDetails(
|
||||||
roomId = id,
|
roomId = id,
|
||||||
name = A_ROOM_NAME,
|
name = A_ROOM_NAME,
|
||||||
avatarUrl = null,
|
avatarUrl = null,
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ import io.element.android.libraries.architecture.AsyncAction
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
import io.element.android.libraries.matrix.ui.components.aRoomSummaryDetails
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
|
|
||||||
open class EditDefaultNotificationSettingStateProvider : PreviewParameterProvider<EditDefaultNotificationSettingState> {
|
open class EditDefaultNotificationSettingStateProvider : PreviewParameterProvider<EditDefaultNotificationSettingState> {
|
||||||
|
|
@ -49,13 +49,13 @@ private fun anEditDefaultNotificationSettingsState(
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun aRoomSummary() = RoomSummary.Filled(
|
private fun aRoomSummary() = RoomSummary.Filled(
|
||||||
RoomSummaryDetails(
|
aRoomSummaryDetails(
|
||||||
roomId = RoomId("!roomId:domain"),
|
roomId = RoomId("!roomId:domain"),
|
||||||
name = "Room",
|
name = "Room",
|
||||||
avatarUrl = null,
|
avatarUrl = null,
|
||||||
isDirect = false,
|
isDirect = false,
|
||||||
lastMessage = null,
|
lastMessage = null,
|
||||||
unreadNotificationCount = 0,
|
unreadNotificationCount = 0,
|
||||||
userDefinedNotificationMode = RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY,
|
notificationMode = RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -36,15 +36,15 @@ sealed interface RoomSummary {
|
||||||
data class RoomSummaryDetails(
|
data class RoomSummaryDetails(
|
||||||
val roomId: RoomId,
|
val roomId: RoomId,
|
||||||
val name: String,
|
val name: String,
|
||||||
val canonicalAlias: String? = null,
|
val canonicalAlias: String?,
|
||||||
val isDirect: Boolean,
|
val isDirect: Boolean,
|
||||||
val avatarUrl: String?,
|
val avatarUrl: String?,
|
||||||
val lastMessage: RoomMessage?,
|
val lastMessage: RoomMessage?,
|
||||||
val unreadNotificationCount: Int,
|
val unreadNotificationCount: Int,
|
||||||
val inviter: RoomMember? = null,
|
val inviter: RoomMember?,
|
||||||
val userDefinedNotificationMode: RoomNotificationMode? = null,
|
val userDefinedNotificationMode: RoomNotificationMode?,
|
||||||
val hasRoomCall: Boolean = false,
|
val hasRoomCall: Boolean,
|
||||||
val isDm: Boolean = false,
|
val isDm: Boolean,
|
||||||
) {
|
) {
|
||||||
val lastMessageTimestamp = lastMessage?.originServerTs
|
val lastMessageTimestamp = lastMessage?.originServerTs
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ package io.element.android.libraries.matrix.test.room
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
import io.element.android.libraries.matrix.api.core.EventId
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.core.UserId
|
import io.element.android.libraries.matrix.api.core.UserId
|
||||||
|
import io.element.android.libraries.matrix.api.room.RoomMember
|
||||||
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
||||||
import io.element.android.libraries.matrix.api.room.message.RoomMessage
|
import io.element.android.libraries.matrix.api.room.message.RoomMessage
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
||||||
|
|
@ -58,6 +59,10 @@ fun aRoomSummaryDetails(
|
||||||
lastMessage: RoomMessage? = aRoomMessage(),
|
lastMessage: RoomMessage? = aRoomMessage(),
|
||||||
unreadNotificationCount: Int = 2,
|
unreadNotificationCount: Int = 2,
|
||||||
notificationMode: RoomNotificationMode? = null,
|
notificationMode: RoomNotificationMode? = null,
|
||||||
|
inviter: RoomMember? = null,
|
||||||
|
canonicalAlias: String? = null,
|
||||||
|
hasRoomCall: Boolean = false,
|
||||||
|
isDm: Boolean = false,
|
||||||
) = RoomSummaryDetails(
|
) = RoomSummaryDetails(
|
||||||
roomId = roomId,
|
roomId = roomId,
|
||||||
name = name,
|
name = name,
|
||||||
|
|
@ -65,7 +70,11 @@ fun aRoomSummaryDetails(
|
||||||
avatarUrl = avatarUrl,
|
avatarUrl = avatarUrl,
|
||||||
lastMessage = lastMessage,
|
lastMessage = lastMessage,
|
||||||
unreadNotificationCount = unreadNotificationCount,
|
unreadNotificationCount = unreadNotificationCount,
|
||||||
userDefinedNotificationMode = notificationMode
|
userDefinedNotificationMode = notificationMode,
|
||||||
|
inviter = inviter,
|
||||||
|
canonicalAlias = canonicalAlias,
|
||||||
|
hasRoomCall = hasRoomCall,
|
||||||
|
isDm = isDm,
|
||||||
)
|
)
|
||||||
|
|
||||||
fun aRoomMessage(
|
fun aRoomMessage(
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,9 @@ import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.Surface
|
import io.element.android.libraries.designsystem.theme.components.Surface
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
|
import io.element.android.libraries.matrix.api.room.RoomMember
|
||||||
|
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
||||||
|
import io.element.android.libraries.matrix.api.room.message.RoomMessage
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
||||||
|
|
@ -94,16 +97,33 @@ fun SelectedRoom(
|
||||||
@Composable
|
@Composable
|
||||||
internal fun SelectedRoomPreview() = ElementPreview {
|
internal fun SelectedRoomPreview() = ElementPreview {
|
||||||
SelectedRoom(
|
SelectedRoom(
|
||||||
roomSummary = RoomSummaryDetails(
|
roomSummary = aRoomSummaryDetails(),
|
||||||
roomId = RoomId("!room:domain"),
|
|
||||||
name = "roomName",
|
|
||||||
canonicalAlias = null,
|
|
||||||
isDirect = true,
|
|
||||||
avatarUrl = null,
|
|
||||||
lastMessage = null,
|
|
||||||
unreadNotificationCount = 0,
|
|
||||||
inviter = null,
|
|
||||||
),
|
|
||||||
onRoomRemoved = {},
|
onRoomRemoved = {},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun aRoomSummaryDetails(
|
||||||
|
roomId: RoomId = RoomId("!room:domain"),
|
||||||
|
name: String = "roomName",
|
||||||
|
canonicalAlias: String? = null,
|
||||||
|
isDirect: Boolean = true,
|
||||||
|
avatarUrl: String? = null,
|
||||||
|
lastMessage: RoomMessage? = null,
|
||||||
|
inviter: RoomMember? = null,
|
||||||
|
notificationMode: RoomNotificationMode? = null,
|
||||||
|
hasRoomCall: Boolean = false,
|
||||||
|
isDm: Boolean = false,
|
||||||
|
unreadNotificationCount: Int = 0
|
||||||
|
) = RoomSummaryDetails(
|
||||||
|
roomId = roomId,
|
||||||
|
name = name,
|
||||||
|
canonicalAlias = canonicalAlias,
|
||||||
|
isDirect = isDirect,
|
||||||
|
avatarUrl = avatarUrl,
|
||||||
|
lastMessage = lastMessage,
|
||||||
|
inviter = inviter,
|
||||||
|
userDefinedNotificationMode = notificationMode,
|
||||||
|
hasRoomCall = hasRoomCall,
|
||||||
|
isDm = isDm,
|
||||||
|
unreadNotificationCount = unreadNotificationCount,
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,8 @@ package io.element.android.libraries.roomselect.impl
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||||
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState
|
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.room.RoomMember
|
|
||||||
import io.element.android.libraries.matrix.api.room.message.RoomMessage
|
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
||||||
|
import io.element.android.libraries.matrix.ui.components.aRoomSummaryDetails
|
||||||
import io.element.android.libraries.roomselect.api.RoomSelectMode
|
import io.element.android.libraries.roomselect.api.RoomSelectMode
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
|
|
@ -41,7 +40,7 @@ open class RoomSelectStateProvider : PreviewParameterProvider<RoomSelectState> {
|
||||||
resultState = SearchBarResultState.Results(aForwardMessagesRoomList()),
|
resultState = SearchBarResultState.Results(aForwardMessagesRoomList()),
|
||||||
query = "Test",
|
query = "Test",
|
||||||
isSearchActive = true,
|
isSearchActive = true,
|
||||||
selectedRooms = persistentListOf(aRoomDetailsState(roomId = RoomId("!room2:domain")))
|
selectedRooms = persistentListOf(aRoomSummaryDetails(roomId = RoomId("!room2:domain")))
|
||||||
),
|
),
|
||||||
// Add other states here
|
// Add other states here
|
||||||
)
|
)
|
||||||
|
|
@ -62,30 +61,10 @@ private fun aRoomSelectState(
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun aForwardMessagesRoomList() = persistentListOf(
|
private fun aForwardMessagesRoomList() = persistentListOf(
|
||||||
aRoomDetailsState(),
|
aRoomSummaryDetails(),
|
||||||
aRoomDetailsState(
|
aRoomSummaryDetails(
|
||||||
roomId = RoomId("!room2:domain"),
|
roomId = RoomId("!room2:domain"),
|
||||||
name = "Room with alias",
|
name = "Room with alias",
|
||||||
canonicalAlias = "#alias:example.org",
|
canonicalAlias = "#alias:example.org",
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun aRoomDetailsState(
|
|
||||||
roomId: RoomId = RoomId("!room:domain"),
|
|
||||||
name: String = "roomName",
|
|
||||||
canonicalAlias: String? = null,
|
|
||||||
isDirect: Boolean = true,
|
|
||||||
avatarUrl: String? = null,
|
|
||||||
lastMessage: RoomMessage? = null,
|
|
||||||
unreadNotificationCount: Int = 0,
|
|
||||||
inviter: RoomMember? = null,
|
|
||||||
) = RoomSummaryDetails(
|
|
||||||
roomId = roomId,
|
|
||||||
name = name,
|
|
||||||
canonicalAlias = canonicalAlias,
|
|
||||||
isDirect = isDirect,
|
|
||||||
avatarUrl = avatarUrl,
|
|
||||||
lastMessage = lastMessage,
|
|
||||||
unreadNotificationCount = unreadNotificationCount,
|
|
||||||
inviter = inviter,
|
|
||||||
)
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue