mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
RoomMemberModerationEvents -> RoomMemberModerationEvent
This commit is contained in:
+2
-2
@@ -43,7 +43,7 @@ import io.element.android.features.messages.impl.timeline.di.LocalTimelineItemPr
|
||||
import io.element.android.features.messages.impl.timeline.di.TimelineItemPresenterFactories
|
||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||
import io.element.android.features.roommembermoderation.api.ModerationAction
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationRenderer
|
||||
import io.element.android.libraries.androidutils.browser.openUrlInChromeCustomTab
|
||||
import io.element.android.libraries.androidutils.system.openUrlInExternalApp
|
||||
@@ -348,7 +348,7 @@ class MessagesNode(
|
||||
onSelectAction = { action, target ->
|
||||
when (action) {
|
||||
is ModerationAction.DisplayProfile -> callback.navigateToRoomMemberDetails(target.userId)
|
||||
else -> state.roomMemberModerationState.eventSink(RoomMemberModerationEvents.ProcessAction(action, target))
|
||||
else -> state.roomMemberModerationState.eventSink(RoomMemberModerationEvent.ProcessAction(action, target))
|
||||
}
|
||||
},
|
||||
onAvatarClick = { user ->
|
||||
|
||||
+2
-2
@@ -54,7 +54,7 @@ import io.element.android.features.messages.impl.timeline.model.event.captionOrN
|
||||
import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState
|
||||
import io.element.android.features.messages.impl.voicemessages.composer.DefaultVoiceMessageComposerPresenter
|
||||
import io.element.android.features.roomcall.api.RoomCallState
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationState
|
||||
import io.element.android.libraries.androidutils.clipboard.ClipboardHelper
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
@@ -263,7 +263,7 @@ class MessagesPresenter(
|
||||
}
|
||||
}
|
||||
is MessagesEvent.OnUserClicked -> {
|
||||
roomMemberModerationState.eventSink(RoomMemberModerationEvents.ShowActionsForUser(event.user))
|
||||
roomMemberModerationState.eventSink(RoomMemberModerationEvent.ShowActionsForUser(event.user))
|
||||
}
|
||||
MessagesEvent.StopLiveLocationShare -> {
|
||||
localCoroutineScope.launch {
|
||||
|
||||
+2
-2
@@ -38,7 +38,7 @@ import io.element.android.features.messages.impl.timeline.protection.TimelinePro
|
||||
import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState
|
||||
import io.element.android.features.roomcall.api.RoomCallState
|
||||
import io.element.android.features.roomcall.api.aStandByCallState
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationPermissions
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationState
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
@@ -168,7 +168,7 @@ fun aRoomMemberModerationState(
|
||||
permissions: RoomMemberModerationPermissions = RoomMemberModerationPermissions.DEFAULT,
|
||||
) = object : RoomMemberModerationState {
|
||||
override val permissions: RoomMemberModerationPermissions = permissions
|
||||
override val eventSink: (RoomMemberModerationEvents) -> Unit = {}
|
||||
override val eventSink: (RoomMemberModerationEvent) -> Unit = {}
|
||||
}
|
||||
|
||||
fun aUserEventPermissions(
|
||||
|
||||
+2
-2
@@ -46,7 +46,7 @@ import io.element.android.features.messages.impl.timeline.di.LocalTimelineItemPr
|
||||
import io.element.android.features.messages.impl.timeline.di.TimelineItemPresenterFactories
|
||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||
import io.element.android.features.roommembermoderation.api.ModerationAction
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationRenderer
|
||||
import io.element.android.libraries.androidutils.browser.openUrlInChromeCustomTab
|
||||
import io.element.android.libraries.androidutils.system.openUrlInExternalApp
|
||||
@@ -343,7 +343,7 @@ class ThreadedMessagesNode(
|
||||
onSelectAction = { action, target ->
|
||||
when (action) {
|
||||
is ModerationAction.DisplayProfile -> callback.navigateToRoomMemberDetails(target.userId)
|
||||
else -> state.roomMemberModerationState.eventSink(RoomMemberModerationEvents.ProcessAction(action, target))
|
||||
else -> state.roomMemberModerationState.eventSink(RoomMemberModerationEvent.ProcessAction(action, target))
|
||||
}
|
||||
},
|
||||
onAvatarClick = { user ->
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@ import dev.zacsweers.metro.AssistedInject
|
||||
import im.vector.app.features.analytics.plan.MobileScreen
|
||||
import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.features.roommembermoderation.api.ModerationAction
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationRenderer
|
||||
import io.element.android.libraries.architecture.appyx.launchMolecule
|
||||
import io.element.android.libraries.architecture.callback
|
||||
@@ -81,7 +81,7 @@ class RoomMemberListNode(
|
||||
onSelectAction = { action, target ->
|
||||
when (action) {
|
||||
is ModerationAction.DisplayProfile -> openRoomMemberDetails(target.userId)
|
||||
else -> state.moderationState.eventSink(RoomMemberModerationEvents.ProcessAction(action, target))
|
||||
else -> state.moderationState.eventSink(RoomMemberModerationEvent.ProcessAction(action, target))
|
||||
}
|
||||
},
|
||||
onAvatarClick = { user ->
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import androidx.compose.runtime.produceState
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import dev.zacsweers.metro.Inject
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents.ShowActionsForUser
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent.ShowActionsForUser
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationState
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ package io.element.android.features.roomdetails.impl.members
|
||||
|
||||
import androidx.compose.foundation.text.input.TextFieldState
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationPermissions
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationState
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
@@ -115,7 +115,7 @@ fun aRoomMemberModerationState(
|
||||
canBan = canBan,
|
||||
canKick = canKick,
|
||||
)
|
||||
override val eventSink: (RoomMemberModerationEvents) -> Unit = {}
|
||||
override val eventSink: (RoomMemberModerationEvent) -> Unit = {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -13,7 +13,7 @@ import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
/**
|
||||
* Events sent to the moderation presenter through [RoomMemberModerationState.eventSink].
|
||||
*/
|
||||
interface RoomMemberModerationEvents {
|
||||
data class ShowActionsForUser(val user: MatrixUser) : RoomMemberModerationEvents
|
||||
data class ProcessAction(val action: ModerationAction, val targetUser: MatrixUser) : RoomMemberModerationEvents
|
||||
interface RoomMemberModerationEvent {
|
||||
data class ShowActionsForUser(val user: MatrixUser) : RoomMemberModerationEvent
|
||||
data class ProcessAction(val action: ModerationAction, val targetUser: MatrixUser) : RoomMemberModerationEvent
|
||||
}
|
||||
+1
-1
@@ -19,7 +19,7 @@ interface RoomMemberModerationState {
|
||||
val permissions: RoomMemberModerationPermissions
|
||||
|
||||
/** Where the host screen sends its events to open the actions of a member or run one of them. */
|
||||
val eventSink: (RoomMemberModerationEvents) -> Unit
|
||||
val eventSink: (RoomMemberModerationEvent) -> Unit
|
||||
}
|
||||
|
||||
data class ModerationActionState(
|
||||
|
||||
+2
-2
@@ -8,9 +8,9 @@
|
||||
|
||||
package io.element.android.features.roommembermoderation.impl
|
||||
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
|
||||
sealed interface InternalRoomMemberModerationEvents : RoomMemberModerationEvents {
|
||||
sealed interface InternalRoomMemberModerationEvents : RoomMemberModerationEvent {
|
||||
data class DoKickUser(val reason: String) : InternalRoomMemberModerationEvents
|
||||
data class DoBanUser(val reason: String) : InternalRoomMemberModerationEvents
|
||||
data class DoUnbanUser(val reason: String) : InternalRoomMemberModerationEvents
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@
|
||||
package io.element.android.features.roommembermoderation.impl
|
||||
|
||||
import io.element.android.features.roommembermoderation.api.ModerationActionState
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationPermissions
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationState
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
@@ -23,7 +23,7 @@ data class InternalRoomMemberModerationState(
|
||||
val kickUserAsyncAction: AsyncAction<Unit>,
|
||||
val banUserAsyncAction: AsyncAction<Unit>,
|
||||
val unbanUserAsyncAction: AsyncAction<Unit>,
|
||||
override val eventSink: (RoomMemberModerationEvents) -> Unit,
|
||||
override val eventSink: (RoomMemberModerationEvent) -> Unit,
|
||||
) : RoomMemberModerationState {
|
||||
val canDisplayActions = actions.isNotEmpty()
|
||||
}
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@ package io.element.android.features.roommembermoderation.impl
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
import io.element.android.features.roommembermoderation.api.ModerationAction
|
||||
import io.element.android.features.roommembermoderation.api.ModerationActionState
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationPermissions
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.designsystem.preview.USER_NAME_ALICE
|
||||
@@ -93,7 +93,7 @@ fun aRoomMembersModerationState(
|
||||
kickUserAsyncAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
|
||||
banUserAsyncAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
|
||||
unbanUserAsyncAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
|
||||
eventSink: (RoomMemberModerationEvents) -> Unit = {},
|
||||
eventSink: (RoomMemberModerationEvent) -> Unit = {},
|
||||
) = InternalRoomMemberModerationState(
|
||||
permissions = permissions,
|
||||
selectedUser = selectedUser,
|
||||
|
||||
+4
-4
@@ -20,7 +20,7 @@ import dev.zacsweers.metro.Inject
|
||||
import im.vector.app.features.analytics.plan.RoomModeration
|
||||
import io.element.android.features.roommembermoderation.api.ModerationAction
|
||||
import io.element.android.features.roommembermoderation.api.ModerationActionState
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationPermissions
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationState
|
||||
import io.element.android.features.roommembermoderation.api.roomMemberModerationPermissions
|
||||
@@ -77,9 +77,9 @@ class RoomMemberModerationPresenter(
|
||||
}
|
||||
val moderationActions = remember { mutableStateOf<ImmutableList<ModerationActionState>>(persistentListOf()) }
|
||||
|
||||
fun handleEvent(event: RoomMemberModerationEvents) {
|
||||
fun handleEvent(event: RoomMemberModerationEvent) {
|
||||
when (event) {
|
||||
is RoomMemberModerationEvents.ShowActionsForUser -> {
|
||||
is RoomMemberModerationEvent.ShowActionsForUser -> {
|
||||
selectedUser = event.user
|
||||
val member = room.membersStateFlow.value.roomMembers()?.firstOrNull {
|
||||
it.userId == event.user.userId
|
||||
@@ -90,7 +90,7 @@ class RoomMemberModerationPresenter(
|
||||
currentUserPowerLevel = currentUserPowerLevel,
|
||||
)
|
||||
}
|
||||
is RoomMemberModerationEvents.ProcessAction -> {
|
||||
is RoomMemberModerationEvent.ProcessAction -> {
|
||||
// First, hide any list of existing actions that could be displayed
|
||||
moderationActions.value = persistentListOf()
|
||||
|
||||
|
||||
+14
-14
@@ -12,7 +12,7 @@ import app.cash.turbine.TurbineTestContext
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.roommembermoderation.api.ModerationAction
|
||||
import io.element.android.features.roommembermoderation.api.ModerationActionState
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationPermissions
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationState
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
@@ -73,7 +73,7 @@ class RoomMemberModerationPresenterTest {
|
||||
)
|
||||
createRoomMemberModerationPresenter(room = room).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(RoomMemberModerationEvents.ShowActionsForUser(targetUser))
|
||||
initialState.eventSink(RoomMemberModerationEvent.ShowActionsForUser(targetUser))
|
||||
skipItems(1)
|
||||
val updatedState = awaitState()
|
||||
assertThat(updatedState.selectedUser).isEqualTo(targetUser)
|
||||
@@ -93,7 +93,7 @@ class RoomMemberModerationPresenterTest {
|
||||
)
|
||||
createRoomMemberModerationPresenter(room = room).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(RoomMemberModerationEvents.ShowActionsForUser(targetUser))
|
||||
initialState.eventSink(RoomMemberModerationEvent.ShowActionsForUser(targetUser))
|
||||
skipItems(2)
|
||||
val updatedState = awaitState()
|
||||
assertThat(updatedState.selectedUser).isEqualTo(targetUser)
|
||||
@@ -115,7 +115,7 @@ class RoomMemberModerationPresenterTest {
|
||||
)
|
||||
createRoomMemberModerationPresenter(room = room).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(RoomMemberModerationEvents.ShowActionsForUser(targetUser))
|
||||
initialState.eventSink(RoomMemberModerationEvent.ShowActionsForUser(targetUser))
|
||||
skipItems(2)
|
||||
val updatedState = awaitState()
|
||||
assertThat(updatedState.selectedUser).isEqualTo(targetUser)
|
||||
@@ -137,7 +137,7 @@ class RoomMemberModerationPresenterTest {
|
||||
)
|
||||
createRoomMemberModerationPresenter(room = room).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(RoomMemberModerationEvents.ShowActionsForUser(targetUser))
|
||||
initialState.eventSink(RoomMemberModerationEvent.ShowActionsForUser(targetUser))
|
||||
skipItems(2)
|
||||
val updatedState = awaitState()
|
||||
assertThat(updatedState.selectedUser).isEqualTo(targetUser)
|
||||
@@ -159,7 +159,7 @@ class RoomMemberModerationPresenterTest {
|
||||
)
|
||||
createRoomMemberModerationPresenter(room = room).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(RoomMemberModerationEvents.ShowActionsForUser(targetUser))
|
||||
initialState.eventSink(RoomMemberModerationEvent.ShowActionsForUser(targetUser))
|
||||
skipItems(2)
|
||||
val updatedState = awaitState()
|
||||
assertThat(updatedState.selectedUser).isEqualTo(targetUser)
|
||||
@@ -175,7 +175,7 @@ class RoomMemberModerationPresenterTest {
|
||||
createRoomMemberModerationPresenter(room = aJoinedRoom()).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(
|
||||
RoomMemberModerationEvents.ProcessAction(
|
||||
RoomMemberModerationEvent.ProcessAction(
|
||||
targetUser = targetUser,
|
||||
action = ModerationAction.KickUser
|
||||
)
|
||||
@@ -192,7 +192,7 @@ class RoomMemberModerationPresenterTest {
|
||||
createRoomMemberModerationPresenter(room = aJoinedRoom()).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(
|
||||
RoomMemberModerationEvents.ProcessAction(
|
||||
RoomMemberModerationEvent.ProcessAction(
|
||||
targetUser = targetUser,
|
||||
action = ModerationAction.BanUser
|
||||
)
|
||||
@@ -209,7 +209,7 @@ class RoomMemberModerationPresenterTest {
|
||||
createRoomMemberModerationPresenter(room = aJoinedRoom()).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(
|
||||
RoomMemberModerationEvents.ProcessAction(
|
||||
RoomMemberModerationEvent.ProcessAction(
|
||||
targetUser = targetUser,
|
||||
action = ModerationAction.UnbanUser
|
||||
)
|
||||
@@ -235,7 +235,7 @@ class RoomMemberModerationPresenterTest {
|
||||
createRoomMemberModerationPresenter(room = room).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(
|
||||
RoomMemberModerationEvents.ProcessAction(
|
||||
RoomMemberModerationEvent.ProcessAction(
|
||||
targetUser = targetUser,
|
||||
action = ModerationAction.KickUser
|
||||
)
|
||||
@@ -265,7 +265,7 @@ class RoomMemberModerationPresenterTest {
|
||||
createRoomMemberModerationPresenter(room = room).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(
|
||||
RoomMemberModerationEvents.ProcessAction(
|
||||
RoomMemberModerationEvent.ProcessAction(
|
||||
targetUser = targetUser,
|
||||
action = ModerationAction.BanUser
|
||||
)
|
||||
@@ -295,7 +295,7 @@ class RoomMemberModerationPresenterTest {
|
||||
createRoomMemberModerationPresenter(room = room).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(
|
||||
RoomMemberModerationEvents.ProcessAction(
|
||||
RoomMemberModerationEvent.ProcessAction(
|
||||
targetUser = targetUser,
|
||||
action = ModerationAction.UnbanUser
|
||||
)
|
||||
@@ -320,7 +320,7 @@ class RoomMemberModerationPresenterTest {
|
||||
createRoomMemberModerationPresenter(room = room).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(
|
||||
RoomMemberModerationEvents.ProcessAction(
|
||||
RoomMemberModerationEvent.ProcessAction(
|
||||
targetUser = targetUser,
|
||||
action = ModerationAction.KickUser
|
||||
)
|
||||
@@ -340,7 +340,7 @@ class RoomMemberModerationPresenterTest {
|
||||
createRoomMemberModerationPresenter(room = aJoinedRoom()).test {
|
||||
val initialState = awaitState()
|
||||
initialState.eventSink(
|
||||
RoomMemberModerationEvents.ProcessAction(targetUser = targetUser, action = ModerationAction.BanUser)
|
||||
RoomMemberModerationEvent.ProcessAction(targetUser = targetUser, action = ModerationAction.BanUser)
|
||||
)
|
||||
skipItems(2)
|
||||
initialState.eventSink(InternalRoomMemberModerationEvents.Reset)
|
||||
|
||||
+12
-12
@@ -16,7 +16,7 @@ import androidx.compose.ui.test.ExperimentalTestApi
|
||||
import androidx.compose.ui.test.v2.runAndroidComposeUiTest
|
||||
import io.element.android.features.roommembermoderation.api.ModerationAction
|
||||
import io.element.android.features.roommembermoderation.api.ModerationActionState
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvents
|
||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
import io.element.android.libraries.testtags.TestTags
|
||||
@@ -34,7 +34,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
@Test
|
||||
fun `clicking on display profile action calls onSelectAction`() = runAndroidComposeUiTest {
|
||||
val user = anAlice()
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>(expectEvents = false)
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>(expectEvents = false)
|
||||
ensureCalledOnceWithTwoParams<ModerationAction, MatrixUser>(ModerationAction.DisplayProfile, user) { callback ->
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
@@ -55,7 +55,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
@Test
|
||||
fun `clicking on kick user action calls onSelectAction`() = runAndroidComposeUiTest {
|
||||
val user = anAlice()
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>(expectEvents = false)
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>(expectEvents = false)
|
||||
ensureCalledOnceWithTwoParams<ModerationAction, MatrixUser>(ModerationAction.KickUser, user) { callback ->
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
@@ -76,7 +76,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
@Test
|
||||
fun `clicking on ban user action calls onSelectAction`() = runAndroidComposeUiTest {
|
||||
val user = anAlice()
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>(expectEvents = false)
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>(expectEvents = false)
|
||||
ensureCalledOnceWithTwoParams<ModerationAction, MatrixUser>(ModerationAction.BanUser, user) { callback ->
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
@@ -97,7 +97,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
@Test
|
||||
fun `clicking on unban user action calls onSelectAction`() = runAndroidComposeUiTest {
|
||||
val user = anAlice()
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>(expectEvents = false)
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>(expectEvents = false)
|
||||
ensureCalledOnceWithTwoParams<ModerationAction, MatrixUser>(ModerationAction.UnbanUser, user) { callback ->
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
@@ -117,7 +117,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
|
||||
@Test
|
||||
fun `clicking submit on kick confirmation dialog sends DoKickUser event`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>()
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>()
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
selectedUser = anAlice(),
|
||||
@@ -131,7 +131,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
|
||||
@Test
|
||||
fun `clicking dismiss on kick confirmation dialog sends Reset event`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>()
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>()
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
selectedUser = anAlice(),
|
||||
@@ -145,7 +145,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
|
||||
@Test
|
||||
fun `clicking submit on ban confirmation dialog sends DoBanUser event`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>()
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>()
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
selectedUser = anAlice(),
|
||||
@@ -159,7 +159,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
|
||||
@Test
|
||||
fun `clicking dismiss on ban confirmation dialog sends Reset event`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>()
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>()
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
selectedUser = anAlice(),
|
||||
@@ -173,7 +173,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
|
||||
@Test
|
||||
fun `clicking confirm on unban confirmation dialog sends DoUnbanUser event`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>()
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>()
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
selectedUser = anAlice(),
|
||||
@@ -187,7 +187,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
|
||||
@Test
|
||||
fun `clicking dismiss on unban confirmation dialog sends Reset event`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>()
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>()
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
selectedUser = anAlice(),
|
||||
@@ -201,7 +201,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
||||
|
||||
@Test
|
||||
fun `disabled actions are not clickable`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvents>(expectEvents = false)
|
||||
val eventsRecorder = EventsRecorder<RoomMemberModerationEvent>(expectEvents = false)
|
||||
setRoomMemberModerationView(
|
||||
aRoomMembersModerationState(
|
||||
selectedUser = anAlice(),
|
||||
|
||||
Reference in New Issue
Block a user