From 64435db282070761587519a3960ef6dcb3093dfb Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 9 Feb 2024 21:59:15 +0100 Subject: [PATCH] Add test on `MessagesViewTest`: clicking on more reaction from action list emits the expected Event. --- .../messages/impl/MessagesViewTest.kt | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt index a764cb3d49..aa9429a1fa 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesViewTest.kt @@ -399,6 +399,33 @@ class MessagesViewTest { rule.onAllNodesWithContentDescription(moreReactionContentDescription).onFirst().performClick() eventsRecorder.assertSingle(CustomReactionEvents.ShowCustomReactionSheet(timelineItem)) } + + @Test + fun `clicking on more reaction from action list emits the expected Event`() { + val eventsRecorder = EventsRecorder() + val state = aMessagesState() + val timelineItem = state.timelineState.timelineItems.first() as TimelineItem.Event + val stateWithActionListState = state.copy( + actionListState = anActionListState( + target = ActionListState.Target.Success( + event = timelineItem, + displayEmojiReactions = true, + actions = persistentListOf(TimelineItemAction.Edit), + ), + ), + customReactionState = aCustomReactionState( + eventSink = eventsRecorder + ), + ) + rule.setMessagesView( + state = stateWithActionListState, + ) + val moreReactionContentDescription = rule.activity.getString(CommonStrings.a11y_react_with_other_emojis) + rule.onNodeWithContentDescription(moreReactionContentDescription).performClick() + // Give time for the close animation to complete + rule.mainClock.advanceTimeBy(milliseconds = 1_000) + eventsRecorder.assertSingle(CustomReactionEvents.ShowCustomReactionSheet(timelineItem)) + } } private fun AndroidComposeTestRule.setMessagesView(