From cc13629f96dd5edfaf6dc7ed06245baeb1ca97f4 Mon Sep 17 00:00:00 2001 From: Florian Renaud Date: Wed, 12 Apr 2023 17:25:44 +0200 Subject: [PATCH] Fix tests --- .../configureroom/ConfigureRoomPresenter.kt | 21 +++++++++-------- .../impl/addpeople/AddPeoplePresenterTests.kt | 3 ++- .../ConfigureRoomPresenterTests.kt | 23 ++++++++++--------- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomPresenter.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomPresenter.kt index 53523449f7..7cb5401511 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomPresenter.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomPresenter.kt @@ -41,17 +41,18 @@ class ConfigureRoomPresenter @Inject constructor( fun handleEvents(event: ConfigureRoomEvents) { when (event) { - is ConfigureRoomEvents.AvatarUriChanged -> dataStore.setCreateRoomConfig(createRoomConfig.value.copy(avatarUrl = event.uri?.toString())) - is ConfigureRoomEvents.RoomNameChanged -> dataStore.setCreateRoomConfig(createRoomConfig.value.copy(roomName = event.name)) - is ConfigureRoomEvents.TopicChanged -> dataStore.setCreateRoomConfig(createRoomConfig.value.copy(topic = event.topic.takeUnless { it.isEmpty() })) - is ConfigureRoomEvents.RoomPrivacyChanged -> dataStore.setCreateRoomConfig(createRoomConfig.value.copy(privacy = event.privacy)) - is ConfigureRoomEvents.RemoveFromSelection -> dataStore.setCreateRoomConfig( - createRoomConfig.value.copy( - invites = createRoomConfig.value.invites.minus( - event.matrixUser - ).toImmutableList() + is ConfigureRoomEvents.AvatarUriChanged -> + dataStore.setCreateRoomConfig(createRoomConfig.value.copy(avatarUrl = event.uri?.toString())) + is ConfigureRoomEvents.RoomNameChanged -> + dataStore.setCreateRoomConfig(createRoomConfig.value.copy(roomName = event.name.takeUnless { it.isEmpty() })) + is ConfigureRoomEvents.TopicChanged -> + dataStore.setCreateRoomConfig(createRoomConfig.value.copy(topic = event.topic.takeUnless { it.isEmpty() })) + is ConfigureRoomEvents.RoomPrivacyChanged -> + dataStore.setCreateRoomConfig(createRoomConfig.value.copy(privacy = event.privacy)) + is ConfigureRoomEvents.RemoveFromSelection -> + dataStore.setCreateRoomConfig( + createRoomConfig.value.copy(invites = createRoomConfig.value.invites.minus(event.matrixUser).toImmutableList()) ) - ) ConfigureRoomEvents.CreateRoom -> Unit } } diff --git a/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenterTests.kt b/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenterTests.kt index 14dd92abce..4b89eb7cbc 100644 --- a/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenterTests.kt +++ b/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeoplePresenterTests.kt @@ -22,6 +22,7 @@ import app.cash.molecule.RecompositionClock import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat +import io.element.android.features.createroom.impl.CreateRoomDataStore import io.element.android.features.userlist.test.FakeUserListDataSource import io.element.android.features.userlist.test.FakeUserListPresenterFactory import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -35,7 +36,7 @@ class AddPeoplePresenterTests { @Before fun setup() { - presenter = AddPeoplePresenter(FakeUserListPresenterFactory(), FakeUserListDataSource()) + presenter = AddPeoplePresenter(FakeUserListPresenterFactory(), FakeUserListDataSource(), CreateRoomDataStore()) } @Test diff --git a/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomPresenterTests.kt b/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomPresenterTests.kt index 0934909460..c77416bacb 100644 --- a/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomPresenterTests.kt +++ b/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomPresenterTests.kt @@ -23,6 +23,7 @@ import app.cash.molecule.RecompositionClock import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat +import io.element.android.features.createroom.impl.CreateRoomDataStore import io.element.android.libraries.matrix.test.AN_AVATAR_URL import io.element.android.libraries.matrix.test.A_MESSAGE import io.element.android.libraries.matrix.test.A_ROOM_NAME @@ -40,7 +41,7 @@ class ConfigureRoomPresenterTests { @Before fun setup() { - presenter = ConfigureRoomPresenter(ConfigureRoomPresenterArgs(emptyList())) + presenter = ConfigureRoomPresenter(CreateRoomDataStore()) } @Test @@ -49,9 +50,9 @@ class ConfigureRoomPresenterTests { presenter.present() }.test { val initialState = awaitItem() - assertThat(initialState.roomName).isEmpty() - assertThat(initialState.topic).isEmpty() - assertThat(initialState.privacy).isNull() + assertThat(initialState.config.roomName).isNull() + assertThat(initialState.config.topic).isNull() + assertThat(initialState.config.privacy).isNull() } } @@ -66,19 +67,19 @@ class ConfigureRoomPresenterTests { // Room name not empty initialState.eventSink(ConfigureRoomEvents.RoomNameChanged(A_ROOM_NAME)) var newState: ConfigureRoomState = awaitItem() - assertThat(newState.roomName).isEqualTo(A_ROOM_NAME) + assertThat(newState.config.roomName).isEqualTo(A_ROOM_NAME) assertThat(newState.isCreateButtonEnabled).isFalse() // Select privacy initialState.eventSink(ConfigureRoomEvents.RoomPrivacyChanged(RoomPrivacy.Private)) newState = awaitItem() - assertThat(newState.privacy).isEqualTo(RoomPrivacy.Private) + assertThat(newState.config.privacy).isEqualTo(RoomPrivacy.Private) assertThat(newState.isCreateButtonEnabled).isTrue() // Clear room name initialState.eventSink(ConfigureRoomEvents.RoomNameChanged("")) newState = awaitItem() - assertThat(newState.roomName).isEqualTo("") + assertThat(newState.config.roomName).isNull() assertThat(newState.isCreateButtonEnabled).isFalse() } } @@ -92,23 +93,23 @@ class ConfigureRoomPresenterTests { // Room name initialState.eventSink(ConfigureRoomEvents.RoomNameChanged(A_ROOM_NAME)) val stateAfterRoomNameChanged = awaitItem() - assertThat(stateAfterRoomNameChanged.roomName).isEqualTo(A_ROOM_NAME) + assertThat(stateAfterRoomNameChanged.config.roomName).isEqualTo(A_ROOM_NAME) // Room topic stateAfterRoomNameChanged.eventSink(ConfigureRoomEvents.TopicChanged(A_MESSAGE)) val stateAfterTopicChanged = awaitItem() - assertThat(stateAfterTopicChanged.topic).isEqualTo(A_MESSAGE) + assertThat(stateAfterTopicChanged.config.topic).isEqualTo(A_MESSAGE) // Room avatar val anUri = Uri.parse(AN_AVATAR_URL) stateAfterTopicChanged.eventSink(ConfigureRoomEvents.AvatarUriChanged(anUri)) val stateAfterAvatarUriChanged = awaitItem() - assertThat(stateAfterAvatarUriChanged.avatarUri).isEqualTo(anUri) + assertThat(stateAfterAvatarUriChanged.config.avatarUrl).isEqualTo(anUri.toString()) // Room privacy stateAfterAvatarUriChanged.eventSink(ConfigureRoomEvents.RoomPrivacyChanged(RoomPrivacy.Public)) val stateAfterPrivacyChanged = awaitItem() - assertThat(stateAfterPrivacyChanged.privacy).isEqualTo(RoomPrivacy.Public) + assertThat(stateAfterPrivacyChanged.config.privacy).isEqualTo(RoomPrivacy.Public) } } }