Skip to content

Commit a92748d

Browse files
committed
change (room member moderation) : add unban action test
1 parent 54fceaa commit a92748d

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

features/roommembermoderation/impl/src/test/kotlin/io/element/android/features/roommembermoderation/impl/RoomMemberModerationPresenterTest.kt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import io.element.android.libraries.core.coroutine.CoroutineDispatchers
1818
import io.element.android.libraries.matrix.api.room.JoinedRoom
1919
import io.element.android.libraries.matrix.api.room.RoomMember
2020
import io.element.android.libraries.matrix.api.room.RoomMembersState
21+
import io.element.android.libraries.matrix.api.room.RoomMembershipState
2122
import io.element.android.libraries.matrix.api.user.MatrixUser
2223
import io.element.android.libraries.matrix.test.A_USER_ID
2324
import io.element.android.libraries.matrix.test.room.FakeBaseRoom
@@ -141,6 +142,28 @@ class RoomMemberModerationPresenterTest {
141142
}
142143
}
143144

145+
@Test
146+
fun `show actions when canBan=true, canKick=true, userRole=Moderator and target is Banned`() = runTest {
147+
val room = aJoinedRoom(
148+
canBan = true,
149+
canKick = true,
150+
myUserRole = RoomMember.Role.MODERATOR,
151+
targetRoomMember = aRoomMember(userId = A_USER_ID, membership = RoomMembershipState.BAN)
152+
)
153+
createRoomMemberModerationPresenter(room = room).test {
154+
val initialState = awaitState()
155+
initialState.eventSink(RoomMemberModerationEvents.ShowActionsForUser(targetUser))
156+
skipItems(2)
157+
val updatedState = awaitState()
158+
assertThat(updatedState.selectedUser).isEqualTo(targetUser)
159+
assertThat(updatedState.actions).containsExactly(
160+
ModerationActionState(action = ModerationAction.DisplayProfile, isEnabled = true),
161+
ModerationActionState(action = ModerationAction.KickUser, isEnabled = false),
162+
ModerationActionState(action = ModerationAction.UnbanUser, isEnabled = true),
163+
)
164+
}
165+
}
166+
144167
@Test
145168
fun `present - process kick action sets confirming state`() = runTest {
146169
createRoomMemberModerationPresenter(room = aJoinedRoom()).test {

0 commit comments

Comments
 (0)