ActionListEvents -> ActionListEvent
This commit is contained in:
parent
847766eb33
commit
f7c7fdca9e
11 changed files with 77 additions and 77 deletions
|
|
@ -52,7 +52,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
import io.element.android.features.messages.api.timeline.voicemessages.composer.VoiceMessageComposerEvent
|
import io.element.android.features.messages.api.timeline.voicemessages.composer.VoiceMessageComposerEvent
|
||||||
import io.element.android.features.messages.impl.actionlist.ActionListEvents
|
import io.element.android.features.messages.impl.actionlist.ActionListEvent
|
||||||
import io.element.android.features.messages.impl.actionlist.ActionListView
|
import io.element.android.features.messages.impl.actionlist.ActionListView
|
||||||
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
|
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
|
||||||
import io.element.android.features.messages.impl.crypto.historyvisible.HistoryVisibleStateView
|
import io.element.android.features.messages.impl.crypto.historyvisible.HistoryVisibleStateView
|
||||||
|
|
@ -169,7 +169,7 @@ fun MessagesView(
|
||||||
Timber.v("OnMessageLongClicked= ${event.id}")
|
Timber.v("OnMessageLongClicked= ${event.id}")
|
||||||
hidingKeyboard {
|
hidingKeyboard {
|
||||||
state.actionListState.eventSink(
|
state.actionListState.eventSink(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = event,
|
event = event,
|
||||||
userEventPermissions = state.userEventPermissions,
|
userEventPermissions = state.userEventPermissions,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,10 @@ package io.element.android.features.messages.impl.actionlist
|
||||||
import io.element.android.features.messages.impl.UserEventPermissions
|
import io.element.android.features.messages.impl.UserEventPermissions
|
||||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||||
|
|
||||||
sealed interface ActionListEvents {
|
sealed interface ActionListEvent {
|
||||||
data object Clear : ActionListEvents
|
data object Clear : ActionListEvent
|
||||||
data class ComputeForMessage(
|
data class ComputeForMessage(
|
||||||
val event: TimelineItem.Event,
|
val event: TimelineItem.Event,
|
||||||
val userEventPermissions: UserEventPermissions,
|
val userEventPermissions: UserEventPermissions,
|
||||||
) : ActionListEvents
|
) : ActionListEvent
|
||||||
}
|
}
|
||||||
|
|
@ -107,10 +107,10 @@ class DefaultActionListPresenter(
|
||||||
|
|
||||||
val isThreadsEnabled = featureFlagService.isFeatureEnabledFlow(FeatureFlags.Threads).collectAsState(false)
|
val isThreadsEnabled = featureFlagService.isFeatureEnabledFlow(FeatureFlags.Threads).collectAsState(false)
|
||||||
|
|
||||||
fun handleEvent(event: ActionListEvents) {
|
fun handleEvent(event: ActionListEvent) {
|
||||||
when (event) {
|
when (event) {
|
||||||
ActionListEvents.Clear -> target.value = ActionListState.Target.None
|
ActionListEvent.Clear -> target.value = ActionListState.Target.None
|
||||||
is ActionListEvents.ComputeForMessage -> localCoroutineScope.computeForMessage(
|
is ActionListEvent.ComputeForMessage -> localCoroutineScope.computeForMessage(
|
||||||
timelineItem = event.event,
|
timelineItem = event.event,
|
||||||
usersEventPermissions = event.userEventPermissions,
|
usersEventPermissions = event.userEventPermissions,
|
||||||
isDeveloperModeEnabled = isDeveloperModeEnabled,
|
isDeveloperModeEnabled = isDeveloperModeEnabled,
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import kotlinx.collections.immutable.ImmutableList
|
||||||
|
|
||||||
data class ActionListState(
|
data class ActionListState(
|
||||||
val target: Target,
|
val target: Target,
|
||||||
val eventSink: (ActionListEvents) -> Unit,
|
val eventSink: (ActionListEvent) -> Unit,
|
||||||
) {
|
) {
|
||||||
@Immutable
|
@Immutable
|
||||||
sealed interface Target {
|
sealed interface Target {
|
||||||
|
|
|
||||||
|
|
@ -192,7 +192,7 @@ open class ActionListStateProvider : PreviewParameterProvider<ActionListState> {
|
||||||
|
|
||||||
fun anActionListState(
|
fun anActionListState(
|
||||||
target: ActionListState.Target = ActionListState.Target.None,
|
target: ActionListState.Target = ActionListState.Target.None,
|
||||||
eventSink: (ActionListEvents) -> Unit = {},
|
eventSink: (ActionListEvent) -> Unit = {},
|
||||||
) = ActionListState(
|
) = ActionListState(
|
||||||
target = target,
|
target = target,
|
||||||
eventSink = eventSink
|
eventSink = eventSink
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ fun ActionListView(
|
||||||
) {
|
) {
|
||||||
if (targetItem == null) return
|
if (targetItem == null) return
|
||||||
sheetState.hide(coroutineScope) {
|
sheetState.hide(coroutineScope) {
|
||||||
state.eventSink(ActionListEvents.Clear)
|
state.eventSink(ActionListEvent.Clear)
|
||||||
onSelectAction(itemAction, targetItem)
|
onSelectAction(itemAction, targetItem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -126,7 +126,7 @@ fun ActionListView(
|
||||||
fun onEmojiReactionClick(emoji: String) {
|
fun onEmojiReactionClick(emoji: String) {
|
||||||
if (targetItem == null) return
|
if (targetItem == null) return
|
||||||
sheetState.hide(coroutineScope) {
|
sheetState.hide(coroutineScope) {
|
||||||
state.eventSink(ActionListEvents.Clear)
|
state.eventSink(ActionListEvent.Clear)
|
||||||
onEmojiReactionClick(emoji, targetItem)
|
onEmojiReactionClick(emoji, targetItem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -134,19 +134,19 @@ fun ActionListView(
|
||||||
fun onCustomReactionClick() {
|
fun onCustomReactionClick() {
|
||||||
if (targetItem == null) return
|
if (targetItem == null) return
|
||||||
sheetState.hide(coroutineScope) {
|
sheetState.hide(coroutineScope) {
|
||||||
state.eventSink(ActionListEvents.Clear)
|
state.eventSink(ActionListEvent.Clear)
|
||||||
onCustomReactionClick(targetItem)
|
onCustomReactionClick(targetItem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onDismiss() {
|
fun onDismiss() {
|
||||||
state.eventSink(ActionListEvents.Clear)
|
state.eventSink(ActionListEvent.Clear)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onVerifiedUserSendFailureClick() {
|
fun onVerifiedUserSendFailureClick() {
|
||||||
if (targetItem == null) return
|
if (targetItem == null) return
|
||||||
sheetState.hide(coroutineScope) {
|
sheetState.hide(coroutineScope) {
|
||||||
state.eventSink(ActionListEvents.Clear)
|
state.eventSink(ActionListEvent.Clear)
|
||||||
onVerifiedUserSendFailureClick(targetItem)
|
onVerifiedUserSendFailureClick(targetItem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import im.vector.app.features.analytics.plan.Interaction
|
import im.vector.app.features.analytics.plan.Interaction
|
||||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||||
import io.element.android.features.messages.impl.actionlist.ActionListEvents
|
import io.element.android.features.messages.impl.actionlist.ActionListEvent
|
||||||
import io.element.android.features.messages.impl.actionlist.ActionListView
|
import io.element.android.features.messages.impl.actionlist.ActionListView
|
||||||
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
|
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
|
||||||
import io.element.android.features.messages.impl.link.LinkEvents
|
import io.element.android.features.messages.impl.link.LinkEvents
|
||||||
|
|
@ -175,7 +175,7 @@ private fun PinnedMessagesListLoaded(
|
||||||
) {
|
) {
|
||||||
fun onActionSelected(timelineItemAction: TimelineItemAction, event: TimelineItem.Event) {
|
fun onActionSelected(timelineItemAction: TimelineItemAction, event: TimelineItem.Event) {
|
||||||
state.actionListState.eventSink(
|
state.actionListState.eventSink(
|
||||||
ActionListEvents.Clear
|
ActionListEvent.Clear
|
||||||
)
|
)
|
||||||
state.eventSink(
|
state.eventSink(
|
||||||
PinnedMessagesListEvents.HandleAction(
|
PinnedMessagesListEvents.HandleAction(
|
||||||
|
|
@ -187,7 +187,7 @@ private fun PinnedMessagesListLoaded(
|
||||||
|
|
||||||
fun onMessageLongClick(event: TimelineItem.Event) {
|
fun onMessageLongClick(event: TimelineItem.Event) {
|
||||||
state.actionListState.eventSink(
|
state.actionListState.eventSink(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = event,
|
event = event,
|
||||||
userEventPermissions = state.userEventPermissions,
|
userEventPermissions = state.userEventPermissions,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ package io.element.android.features.messages.impl
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import im.vector.app.features.analytics.plan.PinUnpinAction
|
import im.vector.app.features.analytics.plan.PinUnpinAction
|
||||||
import io.element.android.features.messages.impl.actionlist.ActionListEvents
|
import io.element.android.features.messages.impl.actionlist.ActionListEvent
|
||||||
import io.element.android.features.messages.impl.actionlist.ActionListState
|
import io.element.android.features.messages.impl.actionlist.ActionListState
|
||||||
import io.element.android.features.messages.impl.actionlist.anActionListState
|
import io.element.android.features.messages.impl.actionlist.anActionListState
|
||||||
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
|
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
|
||||||
|
|
@ -1276,7 +1276,7 @@ class MessagesPresenterTest {
|
||||||
},
|
},
|
||||||
encryptionService: FakeEncryptionService = FakeEncryptionService(),
|
encryptionService: FakeEncryptionService = FakeEncryptionService(),
|
||||||
featureFlagService: FakeFeatureFlagService = FakeFeatureFlagService(),
|
featureFlagService: FakeFeatureFlagService = FakeFeatureFlagService(),
|
||||||
actionListEventSink: (ActionListEvents) -> Unit = {},
|
actionListEventSink: (ActionListEvent) -> Unit = {},
|
||||||
addRecentEmoji: AddRecentEmoji = AddRecentEmoji { _ -> lambdaError() },
|
addRecentEmoji: AddRecentEmoji = AddRecentEmoji { _ -> lambdaError() },
|
||||||
markAsFullyRead: MarkAsFullyRead = FakeMarkAsFullyRead(),
|
markAsFullyRead: MarkAsFullyRead = FakeMarkAsFullyRead(),
|
||||||
): MessagesPresenter {
|
): MessagesPresenter {
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import io.element.android.emojibasebindings.Emoji
|
import io.element.android.emojibasebindings.Emoji
|
||||||
import io.element.android.emojibasebindings.EmojibaseCategory
|
import io.element.android.emojibasebindings.EmojibaseCategory
|
||||||
import io.element.android.emojibasebindings.EmojibaseStore
|
import io.element.android.emojibasebindings.EmojibaseStore
|
||||||
import io.element.android.features.messages.impl.actionlist.ActionListEvents
|
import io.element.android.features.messages.impl.actionlist.ActionListEvent
|
||||||
import io.element.android.features.messages.impl.actionlist.ActionListState
|
import io.element.android.features.messages.impl.actionlist.ActionListState
|
||||||
import io.element.android.features.messages.impl.actionlist.anActionListState
|
import io.element.android.features.messages.impl.actionlist.anActionListState
|
||||||
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
|
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
|
||||||
|
|
@ -183,7 +183,7 @@ class MessagesViewTest {
|
||||||
userHasPermissionToSendReaction: Boolean = false,
|
userHasPermissionToSendReaction: Boolean = false,
|
||||||
userCanPinEvent: Boolean = false,
|
userCanPinEvent: Boolean = false,
|
||||||
) {
|
) {
|
||||||
val eventsRecorder = EventsRecorder<ActionListEvents>()
|
val eventsRecorder = EventsRecorder<ActionListEvent>()
|
||||||
val state = aMessagesState(
|
val state = aMessagesState(
|
||||||
actionListState = anActionListState(
|
actionListState = anActionListState(
|
||||||
eventSink = eventsRecorder
|
eventSink = eventsRecorder
|
||||||
|
|
@ -206,7 +206,7 @@ class MessagesViewTest {
|
||||||
// Cannot perform click on "Text", it's not detected. Use tag instead
|
// Cannot perform click on "Text", it's not detected. Use tag instead
|
||||||
rule.onAllNodesWithTag(TestTags.messageBubble.value).onFirst().performTouchInput { longClick() }
|
rule.onAllNodesWithTag(TestTags.messageBubble.value).onFirst().performTouchInput { longClick() }
|
||||||
eventsRecorder.assertSingle(
|
eventsRecorder.assertSingle(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = timelineItem,
|
event = timelineItem,
|
||||||
userEventPermissions = state.userEventPermissions,
|
userEventPermissions = state.userEventPermissions,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ class ActionListPresenterTest {
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
val messageEvent = aMessageEvent(isMine = true, isEditable = false, content = TimelineItemRedactedContent)
|
val messageEvent = aMessageEvent(isMine = true, isEditable = false, content = TimelineItemRedactedContent)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -103,7 +103,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -121,7 +121,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemRedactedContent
|
content = TimelineItemRedactedContent
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -145,7 +145,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -163,7 +163,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -193,7 +193,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -210,7 +210,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -240,7 +240,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -258,7 +258,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -287,7 +287,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -305,7 +305,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -336,7 +336,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -354,7 +354,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -385,7 +385,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -402,7 +402,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -433,7 +433,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -449,7 +449,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -480,7 +480,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -497,7 +497,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -527,7 +527,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -544,7 +544,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -571,7 +571,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -589,7 +589,7 @@ class ActionListPresenterTest {
|
||||||
content = aTimelineItemImageContent(),
|
content = aTimelineItemImageContent(),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -619,7 +619,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -639,7 +639,7 @@ class ActionListPresenterTest {
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -671,7 +671,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -691,7 +691,7 @@ class ActionListPresenterTest {
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -721,7 +721,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -738,7 +738,7 @@ class ActionListPresenterTest {
|
||||||
content = aTimelineItemStateEventContent(),
|
content = aTimelineItemStateEventContent(),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = stateEvent,
|
event = stateEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -762,7 +762,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -779,7 +779,7 @@ class ActionListPresenterTest {
|
||||||
content = aTimelineItemStateEventContent(),
|
content = aTimelineItemStateEventContent(),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = stateEvent,
|
event = stateEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -806,7 +806,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -836,7 +836,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -853,7 +853,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -883,7 +883,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -906,7 +906,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false, formattedBody = A_MESSAGE)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -937,7 +937,7 @@ class ActionListPresenterTest {
|
||||||
recentEmojis = suggestedEmojis,
|
recentEmojis = suggestedEmojis,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(ActionListEvents.Clear)
|
initialState.eventSink.invoke(ActionListEvent.Clear)
|
||||||
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -959,7 +959,7 @@ class ActionListPresenterTest {
|
||||||
)
|
)
|
||||||
|
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -973,7 +973,7 @@ class ActionListPresenterTest {
|
||||||
assertThat(awaitItem().target).isInstanceOf(ActionListState.Target.Success::class.java)
|
assertThat(awaitItem().target).isInstanceOf(ActionListState.Target.Success::class.java)
|
||||||
|
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = redactedEvent,
|
event = redactedEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = false,
|
canRedactOwn = false,
|
||||||
|
|
@ -1005,7 +1005,7 @@ class ActionListPresenterTest {
|
||||||
)
|
)
|
||||||
|
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -1047,7 +1047,7 @@ class ActionListPresenterTest {
|
||||||
content = aTimelineItemPollContent(answerItems = aPollAnswerItemList(hasVotes = false)),
|
content = aTimelineItemPollContent(answerItems = aPollAnswerItemList(hasVotes = false)),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -1092,7 +1092,7 @@ class ActionListPresenterTest {
|
||||||
content = aTimelineItemPollContent(answerItems = aPollAnswerItemList(hasVotes = true)),
|
content = aTimelineItemPollContent(answerItems = aPollAnswerItemList(hasVotes = true)),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -1136,7 +1136,7 @@ class ActionListPresenterTest {
|
||||||
content = aTimelineItemPollContent(isEnded = true),
|
content = aTimelineItemPollContent(isEnded = true),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -1181,7 +1181,7 @@ class ActionListPresenterTest {
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -1224,7 +1224,7 @@ class ActionListPresenterTest {
|
||||||
content = TimelineItemRtcNotificationContent(),
|
content = TimelineItemRtcNotificationContent(),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -1264,7 +1264,7 @@ class ActionListPresenterTest {
|
||||||
sendState = LocalEventSendState.Failed.VerifiedUserChangedIdentity(users = listOf(A_USER_ID)),
|
sendState = LocalEventSendState.Failed.VerifiedUserChangedIdentity(users = listOf(A_USER_ID)),
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(),
|
userEventPermissions = aUserEventPermissions(),
|
||||||
)
|
)
|
||||||
|
|
@ -1296,7 +1296,7 @@ class ActionListPresenterTest {
|
||||||
threadInfo = TimelineItemThreadInfo.ThreadResponse(threadRootId = A_THREAD_ID)
|
threadInfo = TimelineItemThreadInfo.ThreadResponse(threadRootId = A_THREAD_ID)
|
||||||
)
|
)
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -1350,7 +1350,7 @@ class ActionListPresenterTest {
|
||||||
assertThat(messageEvent.isRemote).isTrue()
|
assertThat(messageEvent.isRemote).isTrue()
|
||||||
|
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -1405,7 +1405,7 @@ class ActionListPresenterTest {
|
||||||
assertThat(messageEvent.isRemote).isTrue()
|
assertThat(messageEvent.isRemote).isTrue()
|
||||||
|
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -1460,7 +1460,7 @@ class ActionListPresenterTest {
|
||||||
assertThat(messageEvent.isRemote).isFalse()
|
assertThat(messageEvent.isRemote).isFalse()
|
||||||
|
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
@ -1513,7 +1513,7 @@ class ActionListPresenterTest {
|
||||||
)
|
)
|
||||||
|
|
||||||
initialState.eventSink.invoke(
|
initialState.eventSink.invoke(
|
||||||
ActionListEvents.ComputeForMessage(
|
ActionListEvent.ComputeForMessage(
|
||||||
event = messageEvent,
|
event = messageEvent,
|
||||||
userEventPermissions = aUserEventPermissions(
|
userEventPermissions = aUserEventPermissions(
|
||||||
canRedactOwn = true,
|
canRedactOwn = true,
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ import androidx.compose.ui.test.onFirst
|
||||||
import androidx.compose.ui.test.performClick
|
import androidx.compose.ui.test.performClick
|
||||||
import androidx.compose.ui.test.performTouchInput
|
import androidx.compose.ui.test.performTouchInput
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import io.element.android.features.messages.impl.actionlist.ActionListEvents
|
import io.element.android.features.messages.impl.actionlist.ActionListEvent
|
||||||
import io.element.android.features.messages.impl.actionlist.anActionListState
|
import io.element.android.features.messages.impl.actionlist.anActionListState
|
||||||
import io.element.android.features.messages.impl.timeline.aTimelineItemList
|
import io.element.android.features.messages.impl.timeline.aTimelineItemList
|
||||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||||
|
|
@ -77,7 +77,7 @@ class PinnedMessagesListViewTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `long click on an event emits the expected event`() {
|
fun `long click on an event emits the expected event`() {
|
||||||
val eventsRecorder = EventsRecorder<ActionListEvents>(expectEvents = true)
|
val eventsRecorder = EventsRecorder<ActionListEvent>(expectEvents = true)
|
||||||
val content = aTimelineItemFileContent()
|
val content = aTimelineItemFileContent()
|
||||||
val state = aLoadedPinnedMessagesListState(
|
val state = aLoadedPinnedMessagesListState(
|
||||||
timelineItems = aTimelineItemList(content),
|
timelineItems = aTimelineItemList(content),
|
||||||
|
|
@ -92,7 +92,7 @@ class PinnedMessagesListViewTest {
|
||||||
longClick()
|
longClick()
|
||||||
}
|
}
|
||||||
val event = state.timelineItems.first() as TimelineItem.Event
|
val event = state.timelineItems.first() as TimelineItem.Event
|
||||||
eventsRecorder.assertSingle(ActionListEvents.ComputeForMessage(event, state.userEventPermissions))
|
eventsRecorder.assertSingle(ActionListEvent.ComputeForMessage(event, state.userEventPermissions))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue