From d07eba9a202b1149be351e8ac660cedf3f377b63 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 25 Aug 2026 10:26:02 +0200 Subject: [PATCH] `SpaceEvents` -> `SpaceEvent` --- .../root/{SpaceEvents.kt => SpaceEvent.kt} | 28 ++++---- .../space/impl/root/SpacePresenter.kt | 28 ++++---- .../features/space/impl/root/SpaceState.kt | 2 +- .../space/impl/root/SpaceStatePreviewParam.kt | 2 +- .../features/space/impl/root/SpaceView.kt | 32 ++++----- .../space/impl/root/SpacePresenterTest.kt | 72 +++++++++---------- .../features/space/impl/root/SpaceViewTest.kt | 36 +++++----- 7 files changed, 100 insertions(+), 100 deletions(-) rename features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/{SpaceEvents.kt => SpaceEvent.kt} (54%) diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceEvents.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceEvent.kt similarity index 54% rename from features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceEvents.kt rename to features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceEvent.kt index 0f17a2f6f7..1761ec0846 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceEvents.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceEvent.kt @@ -11,21 +11,21 @@ package io.element.android.features.space.impl.root import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.spaces.SpaceRoom -sealed interface SpaceEvents { - data object LoadMore : SpaceEvents - data class Join(val spaceRoom: SpaceRoom) : SpaceEvents - data object ClearFailures : SpaceEvents - data class AcceptInvite(val spaceRoom: SpaceRoom) : SpaceEvents - data class DeclineInvite(val spaceRoom: SpaceRoom) : SpaceEvents +sealed interface SpaceEvent { + data object LoadMore : SpaceEvent + data class Join(val spaceRoom: SpaceRoom) : SpaceEvent + data object ClearFailures : SpaceEvent + data class AcceptInvite(val spaceRoom: SpaceRoom) : SpaceEvent + data class DeclineInvite(val spaceRoom: SpaceRoom) : SpaceEvent - data class ShowTopicViewer(val topic: String) : SpaceEvents - data object HideTopicViewer : SpaceEvents + data class ShowTopicViewer(val topic: String) : SpaceEvent + data object HideTopicViewer : SpaceEvent // Manage mode events - data object EnterManageMode : SpaceEvents - data object ExitManageMode : SpaceEvents - data class ToggleRoomSelection(val roomId: RoomId) : SpaceEvents - data object ConfirmRoomRemoval : SpaceEvents - data object RemoveSelectedRooms : SpaceEvents - data object ClearRemoveAction : SpaceEvents + data object EnterManageMode : SpaceEvent + data object ExitManageMode : SpaceEvent + data class ToggleRoomSelection(val roomId: RoomId) : SpaceEvent + data object ConfirmRoomRemoval : SpaceEvent + data object RemoveSelectedRooms : SpaceEvent + data object ClearRemoveAction : SpaceEvent } diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpacePresenter.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpacePresenter.kt index dd5704e0d6..d42501d002 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpacePresenter.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpacePresenter.kt @@ -150,51 +150,51 @@ class SpacePresenter( } } - fun handleEvent(event: SpaceEvents) { + fun handleEvent(event: SpaceEvent) { when (event) { // SpaceRoomList is loaded automatically as backend is really slow. Event is kept for future. - SpaceEvents.LoadMore -> Unit - is SpaceEvents.Join -> { + SpaceEvent.LoadMore -> Unit + is SpaceEvent.Join -> { sessionCoroutineScope.joinRoom(event.spaceRoom, joinActions, setJoinActions) } - SpaceEvents.ClearFailures -> { + SpaceEvent.ClearFailures -> { val failedActions = joinActions .filterValues { it is AsyncAction.Failure } .mapValues { AsyncAction.Uninitialized } setJoinActions(joinActions + failedActions) } - is SpaceEvents.AcceptInvite -> { + is SpaceEvent.AcceptInvite -> { acceptDeclineInviteState.eventSink( AcceptDeclineInviteEvent.AcceptInvite(event.spaceRoom.toInviteData()) ) } - is SpaceEvents.DeclineInvite -> { + is SpaceEvent.DeclineInvite -> { acceptDeclineInviteState.eventSink( AcceptDeclineInviteEvent.DeclineInvite(invite = event.spaceRoom.toInviteData(), shouldConfirm = true, blockUser = false) ) } - SpaceEvents.HideTopicViewer -> topicViewerState = TopicViewerState.Hidden - is SpaceEvents.ShowTopicViewer -> topicViewerState = TopicViewerState.Shown(event.topic) + SpaceEvent.HideTopicViewer -> topicViewerState = TopicViewerState.Hidden + is SpaceEvent.ShowTopicViewer -> topicViewerState = TopicViewerState.Shown(event.topic) // Manage mode events - SpaceEvents.EnterManageMode -> { + SpaceEvent.EnterManageMode -> { isManageMode = true selectedRoomIds = emptySet() } - SpaceEvents.ExitManageMode -> { + SpaceEvent.ExitManageMode -> { localCoroutineScope.launch { exitManageMode(shouldReset = removedRoomIds.isNotEmpty()) } } - is SpaceEvents.ToggleRoomSelection -> { + is SpaceEvent.ToggleRoomSelection -> { selectedRoomIds = if (event.roomId in selectedRoomIds) { selectedRoomIds - event.roomId } else { selectedRoomIds + event.roomId } } - SpaceEvents.RemoveSelectedRooms -> { + SpaceEvent.RemoveSelectedRooms -> { removeRoomsAction = AsyncAction.ConfirmingNoParams } - SpaceEvents.ConfirmRoomRemoval -> { + SpaceEvent.ConfirmRoomRemoval -> { localCoroutineScope.launch { removeRoomsAction = AsyncAction.Loading val spaceId = spaceRoomList.spaceId @@ -219,7 +219,7 @@ class SpacePresenter( } } } - SpaceEvents.ClearRemoveAction -> { + SpaceEvent.ClearRemoveAction -> { removeRoomsAction = AsyncAction.Uninitialized } } diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceState.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceState.kt index a669c294b5..a782b9fa71 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceState.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceState.kt @@ -32,7 +32,7 @@ data class SpaceState( val selectedRoomIds: ImmutableSet, val canEditSpaceGraph: Boolean, val removeRoomsAction: AsyncAction, - val eventSink: (SpaceEvents) -> Unit + val eventSink: (SpaceEvent) -> Unit ) { fun isJoining(spaceId: RoomId): Boolean = joinActions[spaceId] == AsyncAction.Loading fun isSelected(spaceId: RoomId): Boolean = selectedRoomIds.contains(spaceId) diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStatePreviewParam.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStatePreviewParam.kt index 34d6e4534a..ee44c8c17e 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStatePreviewParam.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStatePreviewParam.kt @@ -80,7 +80,7 @@ fun aSpaceState( selectedRoomIds: Set = emptySet(), canManageRooms: Boolean = true, removeRoomsAction: AsyncAction = AsyncAction.Uninitialized, - eventSink: (SpaceEvents) -> Unit = { }, + eventSink: (SpaceEvent) -> Unit = { }, ) = SpaceState( spaceInfo = spaceInfo, children = children.toImmutableList(), diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceView.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceView.kt index f1cddf5e0f..069b00492c 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceView.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceView.kt @@ -114,7 +114,7 @@ fun SpaceView( var handledBack by remember { mutableStateOf(false) } BackHandler(enabled = !handledBack) { if (state.isManageMode) { - state.eventSink(SpaceEvents.ExitManageMode) + state.eventSink(SpaceEvent.ExitManageMode) } else { handledBack = true onBackClick() @@ -133,8 +133,8 @@ fun SpaceView( ManageModeTopBar( selectedCount = state.selectedCount, isRemoveButtonEnabled = state.isRemoveButtonEnabled, - onCancelClick = { state.eventSink(SpaceEvents.ExitManageMode) }, - onRemoveClick = { state.eventSink(SpaceEvents.RemoveSelectedRooms) }, + onCancelClick = { state.eventSink(SpaceEvent.ExitManageMode) }, + onRemoveClick = { state.eventSink(SpaceEvent.RemoveSelectedRooms) }, ) } AnimatedVisibility( @@ -152,7 +152,7 @@ fun SpaceView( onSettingsClick = onSettingsClick, onShareSpace = onShareSpace, onViewMembersClick = onViewMembersClick, - onManageRoomsClick = { state.eventSink(SpaceEvents.EnterManageMode) }, + onManageRoomsClick = { state.eventSink(SpaceEvent.EnterManageMode) }, onAddRoomClick = onAddRoomClick, onCreateRoomClick = onCreateRoomClick, ) @@ -168,13 +168,13 @@ fun SpaceView( state = state, onRoomClick = { spaceRoom -> if (state.isManageMode) { - state.eventSink(SpaceEvents.ToggleRoomSelection(spaceRoom.roomId)) + state.eventSink(SpaceEvent.ToggleRoomSelection(spaceRoom.roomId)) } else { onRoomClick(spaceRoom) } }, onTopicClick = { topic -> - state.eventSink(SpaceEvents.ShowTopicViewer(topic)) + state.eventSink(SpaceEvent.ShowTopicViewer(topic)) }, onCreateRoomClick = onCreateRoomClick, onAddRoomClick = onAddRoomClick, @@ -187,8 +187,8 @@ fun SpaceView( spaceDisplayName = state.spaceInfo.name ?: state.spaceInfo.id.value, removeRoomsAction = state.removeRoomsAction, selectedCount = state.selectedCount, - onConfirm = { state.eventSink(SpaceEvents.ConfirmRoomRemoval) }, - onDismiss = { state.eventSink(SpaceEvents.ClearRemoveAction) }, + onConfirm = { state.eventSink(SpaceEvent.ConfirmRoomRemoval) }, + onDismiss = { state.eventSink(SpaceEvent.ClearRemoveAction) }, ) acceptDeclineInviteView() } @@ -198,7 +198,7 @@ fun SpaceView( TopicViewerBottomSheet( topicViewerState = state.topicViewerState, onDismiss = { - state.eventSink(SpaceEvents.HideTopicViewer) + state.eventSink(SpaceEvent.HideTopicViewer) } ) } @@ -207,7 +207,7 @@ fun SpaceView( @Composable private fun JoinFailuresEffect( hasAnyFailure: Boolean, - eventSink: (SpaceEvents) -> Unit, + eventSink: (SpaceEvent) -> Unit, ) { val asyncIndicatorState = rememberAsyncIndicatorState() val updatedEventSink by rememberUpdatedState(eventSink) @@ -218,7 +218,7 @@ private fun JoinFailuresEffect( AsyncIndicator.Failure(text = stringResource(CommonStrings.common_something_went_wrong)) } delay(AsyncIndicator.DURATION_SHORT) - updatedEventSink(SpaceEvents.ClearFailures) + updatedEventSink(SpaceEvent.ClearFailures) } else { asyncIndicatorState.clear() } @@ -317,7 +317,7 @@ private fun SpaceViewContent( } } else { spaceRoom.trailingAction(isCurrentlyJoining = isCurrentlyJoining) { - state.eventSink(SpaceEvents.Join(spaceRoom)) + state.eventSink(SpaceEvent.Join(spaceRoom)) } }, bottomAction = if (state.isManageMode) { @@ -325,10 +325,10 @@ private fun SpaceViewContent( } else { spaceRoom.inviteButtons( onAcceptClick = { - state.eventSink(SpaceEvents.AcceptInvite(spaceRoom)) + state.eventSink(SpaceEvent.AcceptInvite(spaceRoom)) }, onDeclineClick = { - state.eventSink(SpaceEvents.DeclineInvite(spaceRoom)) + state.eventSink(SpaceEvent.DeclineInvite(spaceRoom)) } ) } @@ -384,7 +384,7 @@ private fun EmptySpaceView( @Composable private fun LoadingMoreIndicator( - eventSink: (SpaceEvents) -> Unit, + eventSink: (SpaceEvent) -> Unit, modifier: Modifier = Modifier ) { Box( @@ -397,7 +397,7 @@ private fun LoadingMoreIndicator( ) val latestEventSink by rememberUpdatedState(eventSink) LaunchedEffect(Unit) { - latestEventSink(SpaceEvents.LoadMore) + latestEventSink(SpaceEvent.LoadMore) } } } diff --git a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpacePresenterTest.kt b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpacePresenterTest.kt index 6ece20f455..627ea4483d 100644 --- a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpacePresenterTest.kt +++ b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpacePresenterTest.kt @@ -106,7 +106,7 @@ class SpacePresenterTest { presenter.test { val state = awaitItem() // LoadMore event should not cause any state change - state.eventSink(SpaceEvents.LoadMore) + state.eventSink(SpaceEvent.LoadMore) expectNoEvents() } } @@ -181,7 +181,7 @@ class SpacePresenterTest { skipItems(1) val state = awaitItem() assertThat(state.joinActions[A_ROOM_ID_2]).isNull() - state.eventSink(SpaceEvents.Join(aNotJoinedRoom)) + state.eventSink(SpaceEvent.Join(aNotJoinedRoom)) val joiningState = awaitItem() assertThat(joiningState.joinActions[A_ROOM_ID_2]).isEqualTo(AsyncAction.Loading) // Let the joinRoom call complete @@ -234,14 +234,14 @@ class SpacePresenterTest { skipItems(1) val state = awaitItem() assertThat(state.joinActions[A_ROOM_ID_2]).isNull() - state.eventSink(SpaceEvents.Join(aNotJoinedRoom)) + state.eventSink(SpaceEvent.Join(aNotJoinedRoom)) val joiningState = awaitItem() assertThat(joiningState.joinActions[A_ROOM_ID_2]).isEqualTo(AsyncAction.Loading) val errorState = awaitItem() // Joined room is removed from the join actions assertThat(errorState.joinActions[A_ROOM_ID_2]!!.isFailure()).isTrue() // Clear error - errorState.eventSink(SpaceEvents.ClearFailures) + errorState.eventSink(SpaceEvent.ClearFailures) val clearedState = awaitItem() assertThat(clearedState.joinActions[A_ROOM_ID_2]).isEqualTo(AsyncAction.Uninitialized) } @@ -258,9 +258,9 @@ class SpacePresenterTest { val state = awaitItem() assertThat(state.topicViewerState).isEqualTo(TopicViewerState.Hidden) advanceUntilIdle() - state.eventSink(SpaceEvents.ShowTopicViewer("topic")) + state.eventSink(SpaceEvent.ShowTopicViewer("topic")) assertThat(awaitItem().topicViewerState).isEqualTo(TopicViewerState.Shown("topic")) - state.eventSink(SpaceEvents.HideTopicViewer) + state.eventSink(SpaceEvent.HideTopicViewer) assertThat(awaitItem().topicViewerState).isEqualTo(TopicViewerState.Hidden) } } @@ -300,14 +300,14 @@ class SpacePresenterTest { val state = awaitItem() assertThat(state.joinActions[A_ROOM_ID_2]).isNull() if (acceptInvite) { - state.eventSink(SpaceEvents.AcceptInvite(anInvitedRoom)) + state.eventSink(SpaceEvent.AcceptInvite(anInvitedRoom)) eventRecorder.assertSingle( AcceptDeclineInviteEvent.AcceptInvite( invite = anInvitedRoom.toInviteData(), ) ) } else { - state.eventSink(SpaceEvents.DeclineInvite(anInvitedRoom)) + state.eventSink(SpaceEvent.DeclineInvite(anInvitedRoom)) eventRecorder.assertSingle( AcceptDeclineInviteEvent.DeclineInvite( invite = anInvitedRoom.toInviteData(), @@ -325,7 +325,7 @@ class SpacePresenterTest { presenter.test { val state = awaitItem() assertThat(state.isManageMode).isFalse() - state.eventSink(SpaceEvents.EnterManageMode) + state.eventSink(SpaceEvent.EnterManageMode) val manageModeState = awaitItem() assertThat(manageModeState.isManageMode).isTrue() assertThat(manageModeState.selectedRoomIds).isEmpty() @@ -342,9 +342,9 @@ class SpacePresenterTest { val presenter = createSpacePresenter(spaceRoomList = fakeSpaceRoomList) presenter.test { val initialState = awaitItem() - initialState.eventSink(SpaceEvents.EnterManageMode) - initialState.eventSink(SpaceEvents.ToggleRoomSelection(A_ROOM_ID)) - initialState.eventSink(SpaceEvents.ExitManageMode) + initialState.eventSink(SpaceEvent.EnterManageMode) + initialState.eventSink(SpaceEvent.ToggleRoomSelection(A_ROOM_ID)) + initialState.eventSink(SpaceEvent.ExitManageMode) advanceUntilIdle() val finalState = expectMostRecentItem() assertThat(finalState.isManageMode).isFalse() @@ -359,13 +359,13 @@ class SpacePresenterTest { val presenter = createSpacePresenter() presenter.test { val initialState = awaitItem() - initialState.eventSink(SpaceEvents.EnterManageMode) + initialState.eventSink(SpaceEvent.EnterManageMode) // Select a room - initialState.eventSink(SpaceEvents.ToggleRoomSelection(A_ROOM_ID)) + initialState.eventSink(SpaceEvent.ToggleRoomSelection(A_ROOM_ID)) var latestState = expectMostRecentItem() assertThat(latestState.selectedRoomIds).containsExactly(A_ROOM_ID) // Deselect the room - latestState.eventSink(SpaceEvents.ToggleRoomSelection(A_ROOM_ID)) + latestState.eventSink(SpaceEvent.ToggleRoomSelection(A_ROOM_ID)) latestState = expectMostRecentItem() assertThat(latestState.selectedRoomIds).isEmpty() } @@ -397,10 +397,10 @@ class SpacePresenterTest { advanceUntilIdle() val stateWithChildren = awaitItem() assertThat(stateWithChildren.children).hasSize(1) - stateWithChildren.eventSink(SpaceEvents.EnterManageMode) - stateWithChildren.eventSink(SpaceEvents.ToggleRoomSelection(A_ROOM_ID)) - stateWithChildren.eventSink(SpaceEvents.RemoveSelectedRooms) - stateWithChildren.eventSink(SpaceEvents.ConfirmRoomRemoval) + stateWithChildren.eventSink(SpaceEvent.EnterManageMode) + stateWithChildren.eventSink(SpaceEvent.ToggleRoomSelection(A_ROOM_ID)) + stateWithChildren.eventSink(SpaceEvent.RemoveSelectedRooms) + stateWithChildren.eventSink(SpaceEvent.ConfirmRoomRemoval) advanceUntilIdle() val successState = expectMostRecentItem() assertThat(successState.removeRoomsAction).isEqualTo(AsyncAction.Success(Unit)) @@ -442,11 +442,11 @@ class SpacePresenterTest { advanceUntilIdle() val stateWithChildren = awaitItem() assertThat(stateWithChildren.children).hasSize(2) - stateWithChildren.eventSink(SpaceEvents.EnterManageMode) - stateWithChildren.eventSink(SpaceEvents.ToggleRoomSelection(A_ROOM_ID)) - stateWithChildren.eventSink(SpaceEvents.ToggleRoomSelection(A_ROOM_ID_2)) - stateWithChildren.eventSink(SpaceEvents.RemoveSelectedRooms) - stateWithChildren.eventSink(SpaceEvents.ConfirmRoomRemoval) + stateWithChildren.eventSink(SpaceEvent.EnterManageMode) + stateWithChildren.eventSink(SpaceEvent.ToggleRoomSelection(A_ROOM_ID)) + stateWithChildren.eventSink(SpaceEvent.ToggleRoomSelection(A_ROOM_ID_2)) + stateWithChildren.eventSink(SpaceEvent.RemoveSelectedRooms) + stateWithChildren.eventSink(SpaceEvent.ConfirmRoomRemoval) advanceUntilIdle() val failureState = expectMostRecentItem() assertThat(failureState.removeRoomsAction.isFailure()).isTrue() @@ -492,16 +492,16 @@ class SpacePresenterTest { awaitItem() // Initial empty state advanceUntilIdle() val stateWithChildren = awaitItem() - stateWithChildren.eventSink(SpaceEvents.EnterManageMode) - stateWithChildren.eventSink(SpaceEvents.ToggleRoomSelection(A_ROOM_ID)) - stateWithChildren.eventSink(SpaceEvents.ToggleRoomSelection(A_ROOM_ID_2)) - stateWithChildren.eventSink(SpaceEvents.RemoveSelectedRooms) - stateWithChildren.eventSink(SpaceEvents.ConfirmRoomRemoval) + stateWithChildren.eventSink(SpaceEvent.EnterManageMode) + stateWithChildren.eventSink(SpaceEvent.ToggleRoomSelection(A_ROOM_ID)) + stateWithChildren.eventSink(SpaceEvent.ToggleRoomSelection(A_ROOM_ID_2)) + stateWithChildren.eventSink(SpaceEvent.RemoveSelectedRooms) + stateWithChildren.eventSink(SpaceEvent.ConfirmRoomRemoval) advanceUntilIdle() val failureState = expectMostRecentItem() assertThat(failureState.removeRoomsAction.isFailure()).isTrue() // Exit manage mode after partial failure - reset should be called - failureState.eventSink(SpaceEvents.ExitManageMode) + failureState.eventSink(SpaceEvent.ExitManageMode) advanceUntilIdle() expectMostRecentItem() assert(resetResult).isCalledOnce() @@ -530,7 +530,7 @@ class SpacePresenterTest { // Both room and space visible initially assertThat(stateWithChildren.children).hasSize(2) assertThat(stateWithChildren.isManageMode).isFalse() - stateWithChildren.eventSink(SpaceEvents.EnterManageMode) + stateWithChildren.eventSink(SpaceEvent.EnterManageMode) val manageModeState = expectMostRecentItem() // Only rooms visible in manage mode assertThat(manageModeState.children).hasSize(1) @@ -648,12 +648,12 @@ class SpacePresenterTest { awaitItem() // Initial empty state advanceUntilIdle() val stateWithChildren = awaitItem() - stateWithChildren.eventSink(SpaceEvents.EnterManageMode) + stateWithChildren.eventSink(SpaceEvent.EnterManageMode) // Select both rooms for removal - stateWithChildren.eventSink(SpaceEvents.ToggleRoomSelection(A_ROOM_ID)) - stateWithChildren.eventSink(SpaceEvents.ToggleRoomSelection(A_ROOM_ID_2)) - stateWithChildren.eventSink(SpaceEvents.RemoveSelectedRooms) - stateWithChildren.eventSink(SpaceEvents.ConfirmRoomRemoval) + stateWithChildren.eventSink(SpaceEvent.ToggleRoomSelection(A_ROOM_ID)) + stateWithChildren.eventSink(SpaceEvent.ToggleRoomSelection(A_ROOM_ID_2)) + stateWithChildren.eventSink(SpaceEvent.RemoveSelectedRooms) + stateWithChildren.eventSink(SpaceEvent.ConfirmRoomRemoval) advanceUntilIdle() val failureState = expectMostRecentItem() assertThat(failureState.removeRoomsAction.isFailure()).isTrue() diff --git a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpaceViewTest.kt b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpaceViewTest.kt index 042d6a00ff..218e635e0c 100644 --- a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpaceViewTest.kt +++ b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpaceViewTest.kt @@ -42,7 +42,7 @@ import org.robolectric.annotation.Config class SpaceViewTest : RobolectricTest() { @Test fun `clicking on back invokes the expected callback`() = runAndroidComposeUiTest { - val eventsRecorder = EventsRecorder(expectEvents = false) + val eventsRecorder = EventsRecorder(expectEvents = false) ensureCalledOnce { setSpaceView( aSpaceState( @@ -58,7 +58,7 @@ class SpaceViewTest : RobolectricTest() { @Test fun `clicking on a room name invokes the expected callback`() = runAndroidComposeUiTest { val aSpaceRoom = aSpaceRoom(roomId = A_ROOM_ID, displayName = A_ROOM_NAME) - val eventsRecorder = EventsRecorder(expectEvents = false) + val eventsRecorder = EventsRecorder(expectEvents = false) ensureCalledOnceWithParam(aSpaceRoom) { setSpaceView( aSpaceState( @@ -75,7 +75,7 @@ class SpaceViewTest : RobolectricTest() { @Test fun `clicking on Join room emits the expected Event`() = runAndroidComposeUiTest { val aSpaceRoom = aSpaceRoom(roomId = A_ROOM_ID, state = null) - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() setSpaceView( aSpaceState( children = listOf(aSpaceRoom), @@ -84,14 +84,14 @@ class SpaceViewTest : RobolectricTest() { ), ) clickOn(CommonStrings.action_join) - eventsRecorder.assertSingle(SpaceEvents.Join(aSpaceRoom)) + eventsRecorder.assertSingle(SpaceEvent.Join(aSpaceRoom)) } @Config(qualifiers = "h1024dp") @Test fun `clicking on accept invite emits the expected Event`() = runAndroidComposeUiTest { val aSpaceRoom = aSpaceRoom(roomId = A_ROOM_ID, state = CurrentUserMembership.INVITED) - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() setSpaceView( aSpaceState( hasMoreToLoad = false, @@ -100,14 +100,14 @@ class SpaceViewTest : RobolectricTest() { ), ) clickOn(CommonStrings.action_accept) - eventsRecorder.assertSingle(SpaceEvents.AcceptInvite(aSpaceRoom)) + eventsRecorder.assertSingle(SpaceEvent.AcceptInvite(aSpaceRoom)) } @Config(qualifiers = "h1024dp") @Test fun `clicking on decline invite emits the expected Event`() = runAndroidComposeUiTest { val aSpaceRoom = aSpaceRoom(roomId = A_ROOM_ID, state = CurrentUserMembership.INVITED) - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() setSpaceView( aSpaceState( hasMoreToLoad = false, @@ -116,13 +116,13 @@ class SpaceViewTest : RobolectricTest() { ), ) clickOn(CommonStrings.action_decline) - eventsRecorder.assertSingle(SpaceEvents.DeclineInvite(aSpaceRoom)) + eventsRecorder.assertSingle(SpaceEvent.DeclineInvite(aSpaceRoom)) } @Config(qualifiers = "h1024dp") @Test fun `clicking on topic emits the expected Event`() = runAndroidComposeUiTest { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() setSpaceView( aSpaceState( spaceInfo = aRoomInfo(topic = A_ROOM_TOPIC), @@ -131,12 +131,12 @@ class SpaceViewTest : RobolectricTest() { ) ) onNodeWithText(A_ROOM_TOPIC).performClick() - eventsRecorder.assertSingle(SpaceEvents.ShowTopicViewer(A_ROOM_TOPIC)) + eventsRecorder.assertSingle(SpaceEvent.ShowTopicViewer(A_ROOM_TOPIC)) } @Test fun `clicking back in manage mode emits ExitManageMode event`() = runAndroidComposeUiTest { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() setSpaceView( aSpaceState( hasMoreToLoad = false, @@ -145,13 +145,13 @@ class SpaceViewTest : RobolectricTest() { ) ) pressBackKey() - eventsRecorder.assertSingle(SpaceEvents.ExitManageMode) + eventsRecorder.assertSingle(SpaceEvent.ExitManageMode) } @Test fun `clicking on room in manage mode emits ToggleRoomSelection event`() = runAndroidComposeUiTest { val aSpaceRoom = aSpaceRoom(roomId = A_ROOM_ID, displayName = A_ROOM_NAME) - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() setSpaceView( aSpaceState( children = listOf(aSpaceRoom), @@ -161,12 +161,12 @@ class SpaceViewTest : RobolectricTest() { ) ) onNodeWithText(A_ROOM_NAME).performClick() - eventsRecorder.assertSingle(SpaceEvents.ToggleRoomSelection(A_ROOM_ID)) + eventsRecorder.assertSingle(SpaceEvent.ToggleRoomSelection(A_ROOM_ID)) } @Test fun `clicking remove button emits RemoveSelectedRooms event`() = runAndroidComposeUiTest { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() setSpaceView( aSpaceState( children = listOf(aSpaceRoom(roomId = A_ROOM_ID)), @@ -177,13 +177,13 @@ class SpaceViewTest : RobolectricTest() { ) ) clickOn(CommonStrings.action_remove) - eventsRecorder.assertSingle(SpaceEvents.RemoveSelectedRooms) + eventsRecorder.assertSingle(SpaceEvent.RemoveSelectedRooms) } @Config(qualifiers = "h1024dp") @Test fun `clicking confirm in removal dialog emits ConfirmRoomRemoval event`() = runAndroidComposeUiTest { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() setSpaceView( aSpaceState( children = listOf(aSpaceRoom(roomId = A_ROOM_ID)), @@ -196,7 +196,7 @@ class SpaceViewTest : RobolectricTest() { ) // Click on the Remove button in the confirmation dialog clickOn(CommonStrings.action_remove, inDialog = true) - eventsRecorder.assertSingle(SpaceEvents.ConfirmRoomRemoval) + eventsRecorder.assertSingle(SpaceEvent.ConfirmRoomRemoval) } @Test