From 4afeb6210c0db4d0db2ba0932b0fd1935544a1cc Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 3 Dec 2025 17:31:07 +0100 Subject: [PATCH] RoomDetailsEditEvents -> RoomDetailsEditEvent --- ...sEditEvents.kt => RoomDetailsEditEvent.kt} | 14 +-- .../impl/RoomDetailsEditPresenter.kt | 14 +-- .../impl/RoomDetailsEditState.kt | 2 +- .../impl/RoomDetailsEditStateProvider.kt | 2 +- .../impl/RoomDetailsEditView.kt | 20 ++-- .../impl/RoomDetailsEditPresenterTest.kt | 100 +++++++++--------- .../impl/RoomDetailsEditViewTest.kt | 48 ++++----- 7 files changed, 100 insertions(+), 100 deletions(-) rename features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/{RoomDetailsEditEvents.kt => RoomDetailsEditEvent.kt} (70%) diff --git a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditEvents.kt b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditEvent.kt similarity index 70% rename from features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditEvents.kt rename to features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditEvent.kt index 858d08c2a0..40f123401c 100644 --- a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditEvents.kt +++ b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditEvent.kt @@ -10,11 +10,11 @@ package io.element.android.features.roomdetailsedit.impl import io.element.android.libraries.matrix.ui.media.AvatarAction -sealed interface RoomDetailsEditEvents { - data class HandleAvatarAction(val action: AvatarAction) : RoomDetailsEditEvents - data class UpdateRoomName(val name: String) : RoomDetailsEditEvents - data class UpdateRoomTopic(val topic: String) : RoomDetailsEditEvents - data object OnBackPress : RoomDetailsEditEvents - data object Save : RoomDetailsEditEvents - data object CloseDialog : RoomDetailsEditEvents +sealed interface RoomDetailsEditEvent { + data class HandleAvatarAction(val action: AvatarAction) : RoomDetailsEditEvent + data class UpdateRoomName(val name: String) : RoomDetailsEditEvent + data class UpdateRoomTopic(val topic: String) : RoomDetailsEditEvent + data object OnBackPress : RoomDetailsEditEvent + data object Save : RoomDetailsEditEvent + data object CloseDialog : RoomDetailsEditEvent } diff --git a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditPresenter.kt b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditPresenter.kt index 89af0aa288..4a2dfa3f11 100644 --- a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditPresenter.kt +++ b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditPresenter.kt @@ -139,9 +139,9 @@ class RoomDetailsEditPresenter( val saveAction: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } val localCoroutineScope = rememberCoroutineScope() - fun handleEvent(event: RoomDetailsEditEvents) { + fun handleEvent(event: RoomDetailsEditEvent) { when (event) { - is RoomDetailsEditEvents.Save -> localCoroutineScope.saveChanges( + is RoomDetailsEditEvent.Save -> localCoroutineScope.saveChanges( currentNameTrimmed = roomRawNameTrimmed, newNameTrimmed = roomRawNameEdited.trim(), currentTopicTrimmed = roomTopicTrimmed, @@ -150,7 +150,7 @@ class RoomDetailsEditPresenter( newAvatarUri = roomAvatarUriEdited?.toUri(), action = saveAction, ) - is RoomDetailsEditEvents.HandleAvatarAction -> { + is RoomDetailsEditEvent.HandleAvatarAction -> { when (event.action) { AvatarAction.ChoosePhoto -> galleryImagePicker.launch() AvatarAction.TakePhoto -> if (cameraPermissionState.permissionGranted) { @@ -166,10 +166,10 @@ class RoomDetailsEditPresenter( } } - is RoomDetailsEditEvents.UpdateRoomName -> roomRawNameEdited = event.name - is RoomDetailsEditEvents.UpdateRoomTopic -> roomTopicEdited = event.topic - RoomDetailsEditEvents.CloseDialog -> saveAction.value = AsyncAction.Uninitialized - RoomDetailsEditEvents.OnBackPress -> if (saveButtonEnabled.not() || saveAction.value == AsyncAction.ConfirmingCancellation) { + is RoomDetailsEditEvent.UpdateRoomName -> roomRawNameEdited = event.name + is RoomDetailsEditEvent.UpdateRoomTopic -> roomTopicEdited = event.topic + RoomDetailsEditEvent.CloseDialog -> saveAction.value = AsyncAction.Uninitialized + RoomDetailsEditEvent.OnBackPress -> if (saveButtonEnabled.not() || saveAction.value == AsyncAction.ConfirmingCancellation) { // No changes to save or already confirming exit without saving saveAction.value = AsyncAction.Success(Unit) } else { diff --git a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditState.kt b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditState.kt index 1017c961b1..35f088275f 100644 --- a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditState.kt +++ b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditState.kt @@ -28,5 +28,5 @@ data class RoomDetailsEditState( val saveAction: AsyncAction, val cameraPermissionState: PermissionsState, val isSpace: Boolean, - val eventSink: (RoomDetailsEditEvents) -> Unit + val eventSink: (RoomDetailsEditEvent) -> Unit ) diff --git a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditStateProvider.kt b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditStateProvider.kt index cecdcfa9d5..a6e2e3798b 100644 --- a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditStateProvider.kt +++ b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditStateProvider.kt @@ -45,7 +45,7 @@ fun aRoomDetailsEditState( saveAction: AsyncAction = AsyncAction.Uninitialized, cameraPermissionState: PermissionsState = aPermissionsState(showDialog = false), isSpace: Boolean = false, - eventSink: (RoomDetailsEditEvents) -> Unit = {}, + eventSink: (RoomDetailsEditEvent) -> Unit = {}, ) = RoomDetailsEditState( roomId = roomId, roomRawName = roomRawName, diff --git a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt index 04a03fbcfe..268b30cb31 100644 --- a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt +++ b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt @@ -64,7 +64,7 @@ fun RoomDetailsEditView( } BackHandler { - state.eventSink(RoomDetailsEditEvents.OnBackPress) + state.eventSink(RoomDetailsEditEvent.OnBackPress) } Scaffold( modifier = modifier.clearFocusOnTap(focusManager), @@ -74,7 +74,7 @@ fun RoomDetailsEditView( navigationIcon = { BackButton( onClick = { - state.eventSink(RoomDetailsEditEvents.OnBackPress) + state.eventSink(RoomDetailsEditEvent.OnBackPress) } ) }, @@ -84,7 +84,7 @@ fun RoomDetailsEditView( enabled = state.saveButtonEnabled, onClick = { focusManager.clearFocus() - state.eventSink(RoomDetailsEditEvents.Save) + state.eventSink(RoomDetailsEditEvent.Save) }, ) } @@ -121,7 +121,7 @@ fun RoomDetailsEditView( placeholder = stringResource(CommonStrings.common_room_name_placeholder), singleLine = true, readOnly = !state.canChangeName, - onValueChange = { state.eventSink(RoomDetailsEditEvents.UpdateRoomName(it)) }, + onValueChange = { state.eventSink(RoomDetailsEditEvent.UpdateRoomName(it)) }, ) Spacer(modifier = Modifier.height(32.dp)) @@ -136,7 +136,7 @@ fun RoomDetailsEditView( }, maxLines = 10, readOnly = !state.canChangeTopic, - onValueChange = { state.eventSink(RoomDetailsEditEvents.UpdateRoomTopic(it)) }, + onValueChange = { state.eventSink(RoomDetailsEditEvent.UpdateRoomTopic(it)) }, keyboardOptions = KeyboardOptions( capitalization = KeyboardCapitalization.Sentences, ), @@ -147,7 +147,7 @@ fun RoomDetailsEditView( actions = state.avatarActions, isVisible = isAvatarActionsSheetVisible.value, onDismiss = { isAvatarActionsSheetVisible.value = false }, - onSelectAction = { state.eventSink(RoomDetailsEditEvents.HandleAvatarAction(it)) } + onSelectAction = { state.eventSink(RoomDetailsEditEvent.HandleAvatarAction(it)) } ) AsyncActionView( async = state.saveAction, @@ -159,15 +159,15 @@ fun RoomDetailsEditView( confirmationDialog = { if (state.saveAction == AsyncAction.ConfirmingCancellation) { SaveChangesDialog( - onSaveClick = { state.eventSink(RoomDetailsEditEvents.Save) }, - onDiscardClick = { state.eventSink(RoomDetailsEditEvents.OnBackPress) }, - onDismiss = { state.eventSink(RoomDetailsEditEvents.CloseDialog) } + onSaveClick = { state.eventSink(RoomDetailsEditEvent.Save) }, + onDiscardClick = { state.eventSink(RoomDetailsEditEvent.OnBackPress) }, + onDismiss = { state.eventSink(RoomDetailsEditEvent.CloseDialog) } ) } }, onSuccess = { onDone() }, errorMessage = { stringResource(R.string.screen_room_details_edition_error) }, - onErrorDismiss = { state.eventSink(RoomDetailsEditEvents.CloseDialog) } + onErrorDismiss = { state.eventSink(RoomDetailsEditEvent.CloseDialog) } ) PermissionsView( diff --git a/features/roomdetailsedit/impl/src/test/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditPresenterTest.kt b/features/roomdetailsedit/impl/src/test/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditPresenterTest.kt index d19a07ab04..e438cecf50 100644 --- a/features/roomdetailsedit/impl/src/test/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditPresenterTest.kt +++ b/features/roomdetailsedit/impl/src/test/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditPresenterTest.kt @@ -241,25 +241,25 @@ class RoomDetailsEditPresenterTest { assertThat(initialState.roomTopic).isEqualTo("My topic") assertThat(initialState.roomRawName).isEqualTo("Name") assertThat(initialState.roomAvatarUrl).isEqualTo(AN_AVATAR_URL) - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name II")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName("Name II")) awaitItem().apply { assertThat(roomTopic).isEqualTo("My topic") assertThat(roomRawName).isEqualTo("Name II") assertThat(roomAvatarUrl).isEqualTo(AN_AVATAR_URL) } - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name III")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName("Name III")) awaitItem().apply { assertThat(roomTopic).isEqualTo("My topic") assertThat(roomRawName).isEqualTo("Name III") assertThat(roomAvatarUrl).isEqualTo(AN_AVATAR_URL) } - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("Another topic")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomTopic("Another topic")) awaitItem().apply { assertThat(roomTopic).isEqualTo("Another topic") assertThat(roomRawName).isEqualTo("Name III") assertThat(roomAvatarUrl).isEqualTo(AN_AVATAR_URL) } - initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.Remove)) + initialState.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.Remove)) awaitItem().apply { assertThat(roomTopic).isEqualTo("Another topic") assertThat(roomRawName).isEqualTo("Name III") @@ -285,7 +285,7 @@ class RoomDetailsEditPresenterTest { presenter.test { val initialState = awaitFirstItem() assertThat(initialState.roomAvatarUrl).isEqualTo(AN_AVATAR_URL) - initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.ChoosePhoto)) + initialState.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.ChoosePhoto)) awaitItem().apply { assertThat(roomAvatarUrl).isEqualTo(anotherAvatarUri.toString()) } @@ -312,7 +312,7 @@ class RoomDetailsEditPresenterTest { val initialState = awaitFirstItem() assertThat(initialState.roomAvatarUrl).isEqualTo(AN_AVATAR_URL) assertThat(initialState.cameraPermissionState.permissionGranted).isFalse() - initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.TakePhoto)) + initialState.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.TakePhoto)) val stateWithAskingPermission = awaitItem() assertThat(stateWithAskingPermission.cameraPermissionState.showDialog).isTrue() fakePermissionsPresenter.setPermissionGranted() @@ -322,7 +322,7 @@ class RoomDetailsEditPresenterTest { assertThat(stateWithNewAvatar.roomAvatarUrl).isEqualTo(anotherAvatarUri.toString()) // Do it again, no permission is requested fakePickerProvider.givenResult(roomAvatarUri) - stateWithNewAvatar.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.TakePhoto)) + stateWithNewAvatar.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.TakePhoto)) val stateWithNewAvatar2 = awaitItem() assertThat(stateWithNewAvatar2.roomAvatarUrl).isEqualTo(AN_AVATAR_URL) deleteCallback.assertions().isCalledExactly(3).withSequence( @@ -351,32 +351,32 @@ class RoomDetailsEditPresenterTest { val initialState = awaitFirstItem() assertThat(initialState.saveButtonEnabled).isFalse() // Once a change is made, the save button is enabled - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name II")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName("Name II")) awaitItem().apply { assertThat(saveButtonEnabled).isTrue() } // If it's reverted then the save disables again - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName("Name")) awaitItem().apply { assertThat(saveButtonEnabled).isFalse() } // Make a change... - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("Another topic")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomTopic("Another topic")) awaitItem().apply { assertThat(saveButtonEnabled).isTrue() } // Revert it... - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("My topic")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomTopic("My topic")) awaitItem().apply { assertThat(saveButtonEnabled).isFalse() } // Make a change... - initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.Remove)) + initialState.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.Remove)) awaitItem().apply { assertThat(saveButtonEnabled).isTrue() } // Revert it... - initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.ChoosePhoto)) + initialState.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.ChoosePhoto)) awaitItem().apply { assertThat(saveButtonEnabled).isFalse() } @@ -401,32 +401,32 @@ class RoomDetailsEditPresenterTest { val initialState = awaitFirstItem() assertThat(initialState.saveButtonEnabled).isFalse() // Once a change is made, the save button is enabled - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name II")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName("Name II")) awaitItem().apply { assertThat(saveButtonEnabled).isTrue() } // If it's reverted then the save disables again - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("fallback")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName("fallback")) awaitItem().apply { assertThat(saveButtonEnabled).isFalse() } // Make a change... - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("Another topic")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomTopic("Another topic")) awaitItem().apply { assertThat(saveButtonEnabled).isTrue() } // Revert it... - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomTopic("")) awaitItem().apply { assertThat(saveButtonEnabled).isFalse() } // Make a change... - initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.ChoosePhoto)) + initialState.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.ChoosePhoto)) awaitItem().apply { assertThat(saveButtonEnabled).isTrue() } // Revert it... - initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.Remove)) + initialState.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.Remove)) awaitItem().apply { assertThat(saveButtonEnabled).isFalse() } @@ -454,10 +454,10 @@ class RoomDetailsEditPresenterTest { ) presenter.test { val initialState = awaitFirstItem() - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("New name")) - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("New topic")) - initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.Remove)) - initialState.eventSink(RoomDetailsEditEvents.Save) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName("New name")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomTopic("New topic")) + initialState.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.Remove)) + initialState.eventSink(RoomDetailsEditEvent.Save) skipItems(5) setNameResult.assertions().isCalledOnce().with(value("New name")) setTopicResult.assertions().isCalledOnce().with(value("New topic")) @@ -480,9 +480,9 @@ class RoomDetailsEditPresenterTest { ) presenter.test { val initialState = awaitItem() - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName(" Name ")) - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic(" My topic ")) - initialState.eventSink(RoomDetailsEditEvents.Save) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName(" Name ")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomTopic(" My topic ")) + initialState.eventSink(RoomDetailsEditEvent.Save) cancelAndIgnoreRemainingEvents() } } @@ -502,8 +502,8 @@ class RoomDetailsEditPresenterTest { ) presenter.test { val initialState = awaitItem() - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("")) - initialState.eventSink(RoomDetailsEditEvents.Save) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomTopic("")) + initialState.eventSink(RoomDetailsEditEvent.Save) cancelAndIgnoreRemainingEvents() deleteCallback.assertions().isCalledOnce().with(value(null)) } @@ -524,8 +524,8 @@ class RoomDetailsEditPresenterTest { ) presenter.test { val initialState = awaitItem() - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("")) - initialState.eventSink(RoomDetailsEditEvents.Save) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName("")) + initialState.eventSink(RoomDetailsEditEvent.Save) cancelAndIgnoreRemainingEvents() deleteCallback.assertions().isCalledOnce().with(value(null)) } @@ -549,8 +549,8 @@ class RoomDetailsEditPresenterTest { ) presenter.test { val initialState = awaitItem() - initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.ChoosePhoto)) - initialState.eventSink(RoomDetailsEditEvents.Save) + initialState.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.ChoosePhoto)) + initialState.eventSink(RoomDetailsEditEvent.Save) skipItems(4) updateAvatarResult.assertions().isCalledOnce().with(value(MimeTypes.Jpeg), value(fakeFileContents)) deleteCallback.assertions().isCalledExactly(2).withSequence( @@ -577,8 +577,8 @@ class RoomDetailsEditPresenterTest { ) presenter.test { val initialState = awaitItem() - initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.ChoosePhoto)) - initialState.eventSink(RoomDetailsEditEvents.Save) + initialState.eventSink(RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.ChoosePhoto)) + initialState.eventSink(RoomDetailsEditEvent.Save) skipItems(3) assertThat(awaitItem().saveAction).isInstanceOf(AsyncAction.Failure::class.java) } @@ -593,7 +593,7 @@ class RoomDetailsEditPresenterTest { setNameResult = { Result.failure(RuntimeException("!")) }, canSendStateResult = { _, _ -> Result.success(true) } ) - saveAndAssertFailure(room, RoomDetailsEditEvents.UpdateRoomName("New name"), deleteCallbackNumberOfInvocation = 1) + saveAndAssertFailure(room, RoomDetailsEditEvent.UpdateRoomName("New name"), deleteCallbackNumberOfInvocation = 1) } @Test @@ -605,7 +605,7 @@ class RoomDetailsEditPresenterTest { setTopicResult = { Result.failure(RuntimeException("!")) }, canSendStateResult = { _, _ -> Result.success(true) } ) - saveAndAssertFailure(room, RoomDetailsEditEvents.UpdateRoomTopic("New topic"), deleteCallbackNumberOfInvocation = 1) + saveAndAssertFailure(room, RoomDetailsEditEvent.UpdateRoomTopic("New topic"), deleteCallbackNumberOfInvocation = 1) } @Test @@ -617,7 +617,7 @@ class RoomDetailsEditPresenterTest { removeAvatarResult = { Result.failure(RuntimeException("!")) }, canSendStateResult = { _, _ -> Result.success(true) } ) - saveAndAssertFailure(room, RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.Remove), deleteCallbackNumberOfInvocation = 2) + saveAndAssertFailure(room, RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.Remove), deleteCallbackNumberOfInvocation = 2) } @Test @@ -630,7 +630,7 @@ class RoomDetailsEditPresenterTest { updateAvatarResult = { _, _ -> Result.failure(RuntimeException("!")) }, canSendStateResult = { _, _ -> Result.success(true) } ) - saveAndAssertFailure(room, RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.ChoosePhoto), deleteCallbackNumberOfInvocation = 2) + saveAndAssertFailure(room, RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.ChoosePhoto), deleteCallbackNumberOfInvocation = 2) } @Test @@ -650,11 +650,11 @@ class RoomDetailsEditPresenterTest { ) presenter.test { val initialState = awaitItem() - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("foo")) - initialState.eventSink(RoomDetailsEditEvents.Save) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomTopic("foo")) + initialState.eventSink(RoomDetailsEditEvent.Save) skipItems(3) assertThat(awaitItem().saveAction).isInstanceOf(AsyncAction.Failure::class.java) - initialState.eventSink(RoomDetailsEditEvents.CloseDialog) + initialState.eventSink(RoomDetailsEditEvent.CloseDialog) assertThat(awaitItem().saveAction).isInstanceOf(AsyncAction.Uninitialized::class.java) } } @@ -674,14 +674,14 @@ class RoomDetailsEditPresenterTest { val initialState = awaitFirstItem() assertThat(initialState.saveButtonEnabled).isFalse() // Once a change is made, the save button is enabled - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name edited")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName("Name edited")) awaitItem().apply { assertThat(saveButtonEnabled).isTrue() - eventSink(RoomDetailsEditEvents.OnBackPress) + eventSink(RoomDetailsEditEvent.OnBackPress) } awaitItem().apply { assertThat(saveAction).isEqualTo(AsyncAction.ConfirmingCancellation) - eventSink(RoomDetailsEditEvents.CloseDialog) + eventSink(RoomDetailsEditEvent.CloseDialog) } awaitItem().apply { assertThat(saveAction).isEqualTo(AsyncAction.Uninitialized) @@ -702,7 +702,7 @@ class RoomDetailsEditPresenterTest { presenter.test { val initialState = awaitFirstItem() assertThat(initialState.saveButtonEnabled).isFalse() - initialState.eventSink(RoomDetailsEditEvents.OnBackPress) + initialState.eventSink(RoomDetailsEditEvent.OnBackPress) assertThat(awaitItem().saveAction).isEqualTo(AsyncAction.Success(Unit)) } } @@ -721,14 +721,14 @@ class RoomDetailsEditPresenterTest { val initialState = awaitFirstItem() assertThat(initialState.saveButtonEnabled).isFalse() // Once a change is made, the save button is enabled - initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name edited")) + initialState.eventSink(RoomDetailsEditEvent.UpdateRoomName("Name edited")) awaitItem().apply { assertThat(saveButtonEnabled).isTrue() - eventSink(RoomDetailsEditEvents.OnBackPress) + eventSink(RoomDetailsEditEvent.OnBackPress) } awaitItem().apply { assertThat(saveAction).isEqualTo(AsyncAction.ConfirmingCancellation) - eventSink(RoomDetailsEditEvents.OnBackPress) + eventSink(RoomDetailsEditEvent.OnBackPress) } awaitItem().apply { assertThat(saveAction).isEqualTo(AsyncAction.Success(Unit)) @@ -738,7 +738,7 @@ class RoomDetailsEditPresenterTest { private suspend fun saveAndAssertFailure( room: JoinedRoom, - event: RoomDetailsEditEvents, + event: RoomDetailsEditEvent, deleteCallbackNumberOfInvocation: Int = 2, ) { val deleteCallback = lambdaRecorder {} @@ -749,7 +749,7 @@ class RoomDetailsEditPresenterTest { presenter.test { val initialState = awaitFirstItem() initialState.eventSink(event) - initialState.eventSink(RoomDetailsEditEvents.Save) + initialState.eventSink(RoomDetailsEditEvent.Save) skipItems(1) assertThat(awaitItem().saveAction).isInstanceOf(AsyncAction.Loading::class.java) assertThat(awaitItem().saveAction).isInstanceOf(AsyncAction.Failure::class.java) diff --git a/features/roomdetailsedit/impl/src/test/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditViewTest.kt b/features/roomdetailsedit/impl/src/test/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditViewTest.kt index 4e1801f29a..71fb143074 100644 --- a/features/roomdetailsedit/impl/src/test/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditViewTest.kt +++ b/features/roomdetailsedit/impl/src/test/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditViewTest.kt @@ -39,19 +39,19 @@ class RoomDetailsEditViewTest { @Test fun `clicking on back emits the expected Event`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() rule.setRoomDetailsEditView( aRoomDetailsEditState( eventSink = eventsRecorder ), ) rule.pressBack() - eventsRecorder.assertSingle(RoomDetailsEditEvents.OnBackPress) + eventsRecorder.assertSingle(RoomDetailsEditEvent.OnBackPress) } @Test fun `clicking on discard when confirming exit emits the expected Event`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() rule.setRoomDetailsEditView( aRoomDetailsEditState( saveAction = AsyncAction.ConfirmingCancellation, @@ -59,12 +59,12 @@ class RoomDetailsEditViewTest { ), ) rule.clickOn(CommonStrings.action_discard) - eventsRecorder.assertSingle(RoomDetailsEditEvents.OnBackPress) + eventsRecorder.assertSingle(RoomDetailsEditEvent.OnBackPress) } @Test fun `clicking on save when confirming exit emits the expected Event`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() rule.setRoomDetailsEditView( aRoomDetailsEditState( saveAction = AsyncAction.ConfirmingCancellation, @@ -72,12 +72,12 @@ class RoomDetailsEditViewTest { ), ) rule.clickOn(CommonStrings.action_save, inDialog = true) - eventsRecorder.assertSingle(RoomDetailsEditEvents.Save) + eventsRecorder.assertSingle(RoomDetailsEditEvent.Save) } @Test fun `when edition is successful, the expected callback is invoked`() { - val eventsRecorder = EventsRecorder(expectEvents = false) + val eventsRecorder = EventsRecorder(expectEvents = false) ensureCalledOnce { callback -> rule.setRoomDetailsEditView( aRoomDetailsEditState( @@ -91,7 +91,7 @@ class RoomDetailsEditViewTest { @Test fun `when name is changed, the expected Event is emitted`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() rule.setRoomDetailsEditView( aRoomDetailsEditState( eventSink = eventsRecorder, @@ -99,12 +99,12 @@ class RoomDetailsEditViewTest { ), ) rule.onNodeWithText("Marketing").performTextInput("A") - eventsRecorder.assertSingle(RoomDetailsEditEvents.UpdateRoomName("AMarketing")) + eventsRecorder.assertSingle(RoomDetailsEditEvent.UpdateRoomName("AMarketing")) } @Test fun `when user cannot change name, nothing happen`() { - val eventsRecorder = EventsRecorder(expectEvents = false) + val eventsRecorder = EventsRecorder(expectEvents = false) rule.setRoomDetailsEditView( aRoomDetailsEditState( eventSink = eventsRecorder, @@ -117,7 +117,7 @@ class RoomDetailsEditViewTest { @Test fun `when topic is changed, the expected Event is emitted`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() rule.setRoomDetailsEditView( aRoomDetailsEditState( eventSink = eventsRecorder, @@ -125,12 +125,12 @@ class RoomDetailsEditViewTest { ), ) rule.onNodeWithText("My Topic").performTextInput("A") - eventsRecorder.assertSingle(RoomDetailsEditEvents.UpdateRoomTopic("AMy Topic")) + eventsRecorder.assertSingle(RoomDetailsEditEvent.UpdateRoomTopic("AMy Topic")) } @Test fun `when user cannot change topic, nothing happen`() { - val eventsRecorder = EventsRecorder(expectEvents = false) + val eventsRecorder = EventsRecorder(expectEvents = false) rule.setRoomDetailsEditView( aRoomDetailsEditState( eventSink = eventsRecorder, @@ -146,7 +146,7 @@ class RoomDetailsEditViewTest { fun `when avatar is changed with action to take photo, the expected Event is emitted`() { testAvatarChange( stringActionRes = CommonStrings.action_take_photo, - expectedEvent = RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.TakePhoto), + expectedEvent = RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.TakePhoto), ) } @@ -155,7 +155,7 @@ class RoomDetailsEditViewTest { fun `when avatar is changed with action to choose photo, the expected Event is emitted`() { testAvatarChange( stringActionRes = CommonStrings.action_choose_photo, - expectedEvent = RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.ChoosePhoto), + expectedEvent = RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.ChoosePhoto), ) } @@ -164,15 +164,15 @@ class RoomDetailsEditViewTest { fun `when avatar is changed with action to remove photo, the expected Event is emitted`() { testAvatarChange( stringActionRes = CommonStrings.action_remove, - expectedEvent = RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.Remove), + expectedEvent = RoomDetailsEditEvent.HandleAvatarAction(AvatarAction.Remove), ) } private fun testAvatarChange( @StringRes stringActionRes: Int, - expectedEvent: RoomDetailsEditEvents.HandleAvatarAction, + expectedEvent: RoomDetailsEditEvent.HandleAvatarAction, ) { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() rule.setRoomDetailsEditView( aRoomDetailsEditState( eventSink = eventsRecorder, @@ -187,7 +187,7 @@ class RoomDetailsEditViewTest { @Test fun `when user cannot change avatar, nothing happen`() { - val eventsRecorder = EventsRecorder(expectEvents = false) + val eventsRecorder = EventsRecorder(expectEvents = false) rule.setRoomDetailsEditView( aRoomDetailsEditState( eventSink = eventsRecorder, @@ -200,7 +200,7 @@ class RoomDetailsEditViewTest { @Test fun `when save is clicked, the expected Event is emitted`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() rule.setRoomDetailsEditView( aRoomDetailsEditState( eventSink = eventsRecorder, @@ -208,12 +208,12 @@ class RoomDetailsEditViewTest { ), ) rule.clickOn(CommonStrings.action_save) - eventsRecorder.assertSingle(RoomDetailsEditEvents.Save) + eventsRecorder.assertSingle(RoomDetailsEditEvent.Save) } @Test fun `when save is clicked, but nothing need to be saved, nothing happens`() { - val eventsRecorder = EventsRecorder(expectEvents = false) + val eventsRecorder = EventsRecorder(expectEvents = false) rule.setRoomDetailsEditView( aRoomDetailsEditState( eventSink = eventsRecorder, @@ -225,7 +225,7 @@ class RoomDetailsEditViewTest { @Test fun `when error is shown, closing the dialog emit the expected Event`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() rule.setRoomDetailsEditView( aRoomDetailsEditState( eventSink = eventsRecorder, @@ -233,7 +233,7 @@ class RoomDetailsEditViewTest { ), ) rule.clickOn(CommonStrings.action_ok) - eventsRecorder.assertSingle(RoomDetailsEditEvents.CloseDialog) + eventsRecorder.assertSingle(RoomDetailsEditEvent.CloseDialog) } }