Transform MessageEventType and StateEventType into sealed interfaces to handle the Custom variant, also add missing variants
This commit is contained in:
parent
0ed40c562d
commit
a8ffe46d99
16 changed files with 230 additions and 164 deletions
|
|
@ -1236,7 +1236,7 @@ class MessagesPresenterTest {
|
|||
) = FakeRoomPermissions(
|
||||
canSendState = { type ->
|
||||
when (type) {
|
||||
StateEventType.CALL_MEMBER -> canStartCall
|
||||
StateEventType.CallMember -> canStartCall
|
||||
else -> lambdaError()
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@ class RoomCallStatePresenterTest {
|
|||
return FakeRoomPermissions(
|
||||
canSendState = { stateEvent ->
|
||||
when (stateEvent) {
|
||||
StateEventType.CALL_MEMBER -> canJoinCall
|
||||
StateEventType.CallMember -> canJoinCall
|
||||
else -> lambdaError()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -643,14 +643,14 @@ class RoomDetailsPresenterTest {
|
|||
canRedactOwn = canRedactOwn,
|
||||
canSendState = { eventType ->
|
||||
when (eventType) {
|
||||
StateEventType.ROOM_JOIN_RULES -> canChangeRoomAccess
|
||||
StateEventType.ROOM_HISTORY_VISIBILITY -> canChangeHistoryVisibility
|
||||
StateEventType.ROOM_ENCRYPTION -> canChangeEncryption
|
||||
StateEventType.ROOM_CANONICAL_ALIAS -> canChangeRoomVisibility
|
||||
StateEventType.ROOM_AVATAR -> canChangeAvatar
|
||||
StateEventType.ROOM_NAME -> canChangeName
|
||||
StateEventType.ROOM_TOPIC -> canChangeTopic
|
||||
StateEventType.ROOM_POWER_LEVELS -> canChangePowerLevels
|
||||
StateEventType.RoomJoinRules -> canChangeRoomAccess
|
||||
StateEventType.RoomHistoryVisibility -> canChangeHistoryVisibility
|
||||
StateEventType.RoomEncryption -> canChangeEncryption
|
||||
StateEventType.RoomCanonicalAlias -> canChangeRoomVisibility
|
||||
StateEventType.RoomAvatar -> canChangeAvatar
|
||||
StateEventType.RoomName -> canChangeName
|
||||
StateEventType.RoomTopic -> canChangeTopic
|
||||
StateEventType.RoomPowerLevels -> canChangePowerLevels
|
||||
else -> lambdaError()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ data class RoomDetailsEditPermissions(
|
|||
|
||||
fun RoomPermissions.roomDetailsEditPermissions(): RoomDetailsEditPermissions {
|
||||
return RoomDetailsEditPermissions(
|
||||
canEditName = canOwnUserSendState(StateEventType.ROOM_NAME),
|
||||
canEditTopic = canOwnUserSendState(StateEventType.ROOM_TOPIC),
|
||||
canEditAvatar = canOwnUserSendState(StateEventType.ROOM_AVATAR),
|
||||
canEditName = canOwnUserSendState(StateEventType.RoomName),
|
||||
canEditTopic = canOwnUserSendState(StateEventType.RoomTopic),
|
||||
canEditAvatar = canOwnUserSendState(StateEventType.RoomAvatar),
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -129,9 +129,9 @@ class RoomDetailsEditPresenterTest {
|
|||
val room = aJoinedRoom(
|
||||
canSendState = { stateEventType ->
|
||||
when (stateEventType) {
|
||||
StateEventType.ROOM_NAME -> true
|
||||
StateEventType.ROOM_AVATAR -> false
|
||||
StateEventType.ROOM_TOPIC -> false
|
||||
StateEventType.RoomName -> true
|
||||
StateEventType.RoomAvatar -> false
|
||||
StateEventType.RoomTopic -> false
|
||||
else -> lambdaError()
|
||||
}
|
||||
}
|
||||
|
|
@ -162,9 +162,9 @@ class RoomDetailsEditPresenterTest {
|
|||
avatarUrl = AN_AVATAR_URL,
|
||||
canSendState = { stateEventType ->
|
||||
when (stateEventType) {
|
||||
StateEventType.ROOM_NAME -> false
|
||||
StateEventType.ROOM_AVATAR -> true
|
||||
StateEventType.ROOM_TOPIC -> false
|
||||
StateEventType.RoomName -> false
|
||||
StateEventType.RoomAvatar -> true
|
||||
StateEventType.RoomTopic -> false
|
||||
else -> lambdaError()
|
||||
}
|
||||
}
|
||||
|
|
@ -194,9 +194,9 @@ class RoomDetailsEditPresenterTest {
|
|||
avatarUrl = AN_AVATAR_URL,
|
||||
canSendState = { stateEventType ->
|
||||
when (stateEventType) {
|
||||
StateEventType.ROOM_NAME -> false
|
||||
StateEventType.ROOM_AVATAR -> false
|
||||
StateEventType.ROOM_TOPIC -> true
|
||||
StateEventType.RoomName -> false
|
||||
StateEventType.RoomAvatar -> false
|
||||
StateEventType.RoomTopic -> true
|
||||
else -> lambdaError()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,9 +44,9 @@ data class SecurityAndPrivacyPermissions(
|
|||
|
||||
fun RoomPermissions.securityAndPrivacyPermissions(): SecurityAndPrivacyPermissions {
|
||||
return SecurityAndPrivacyPermissions(
|
||||
canChangeRoomAccess = canOwnUserSendState(StateEventType.ROOM_JOIN_RULES),
|
||||
canChangeHistoryVisibility = canOwnUserSendState(StateEventType.ROOM_HISTORY_VISIBILITY),
|
||||
canChangeEncryption = canOwnUserSendState(StateEventType.ROOM_ENCRYPTION),
|
||||
canChangeRoomVisibility = canOwnUserSendState(StateEventType.ROOM_CANONICAL_ALIAS),
|
||||
canChangeRoomAccess = canOwnUserSendState(StateEventType.RoomJoinRules),
|
||||
canChangeHistoryVisibility = canOwnUserSendState(StateEventType.RoomHistoryVisibility),
|
||||
canChangeEncryption = canOwnUserSendState(StateEventType.RoomEncryption),
|
||||
canChangeRoomVisibility = canOwnUserSendState(StateEventType.RoomCanonicalAlias),
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -387,10 +387,10 @@ class SecurityAndPrivacyPresenterTest {
|
|||
return FakeRoomPermissions(
|
||||
canSendState = { eventType ->
|
||||
when (eventType) {
|
||||
StateEventType.ROOM_JOIN_RULES -> canChangeRoomAccess
|
||||
StateEventType.ROOM_HISTORY_VISIBILITY -> canChangeHistoryVisibility
|
||||
StateEventType.ROOM_ENCRYPTION -> canChangeEncryption
|
||||
StateEventType.ROOM_CANONICAL_ALIAS -> canChangeRoomVisibility
|
||||
StateEventType.RoomJoinRules -> canChangeRoomAccess
|
||||
StateEventType.RoomHistoryVisibility -> canChangeHistoryVisibility
|
||||
StateEventType.RoomEncryption -> canChangeEncryption
|
||||
StateEventType.RoomCanonicalAlias -> canChangeRoomVisibility
|
||||
else -> lambdaError()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ class UserProfilePresenterTest {
|
|||
roomPermissions = FakeRoomPermissions(
|
||||
canSendState = { type ->
|
||||
when (type) {
|
||||
StateEventType.CALL_MEMBER -> canUserJoinCall
|
||||
StateEventType.CallMember -> canUserJoinCall
|
||||
else -> lambdaError()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue