@@ -17,15 +17,14 @@ import im.vector.app.features.analytics.plan.Interaction
1717import io.element.android.features.createroom.test.FakeStartDMAction
1818import io.element.android.features.leaveroom.api.LeaveRoomEvent
1919import io.element.android.features.leaveroom.api.LeaveRoomState
20- import io.element.android.features.leaveroom.fake.FakeLeaveRoomPresenter
20+ import io.element.android.features.leaveroom.api.aLeaveRoomState
2121import io.element.android.features.roomdetails.impl.RoomDetailsEvent
2222import io.element.android.features.roomdetails.impl.RoomDetailsPresenter
2323import io.element.android.features.roomdetails.impl.RoomDetailsState
2424import io.element.android.features.roomdetails.impl.RoomDetailsType
2525import io.element.android.features.roomdetails.impl.RoomTopicState
2626import io.element.android.features.roomdetails.impl.members.aRoomMember
2727import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsPresenter
28- import io.element.android.libraries.architecture.Presenter
2928import io.element.android.libraries.core.coroutine.CoroutineDispatchers
3029import io.element.android.libraries.featureflag.api.FeatureFlags
3130import io.element.android.libraries.featureflag.test.FakeFeatureFlagService
@@ -46,6 +45,7 @@ import io.element.android.libraries.matrix.test.room.FakeMatrixRoom
4645import io.element.android.libraries.matrix.test.room.aRoomInfo
4746import io.element.android.services.analytics.api.AnalyticsService
4847import io.element.android.services.analytics.test.FakeAnalyticsService
48+ import io.element.android.tests.testutils.EventsRecorder
4949import io.element.android.tests.testutils.FakeLifecycleOwner
5050import io.element.android.tests.testutils.WarmUpRule
5151import io.element.android.tests.testutils.consumeItemsUntilPredicate
@@ -73,7 +73,7 @@ class RoomDetailsPresenterTest {
7373
7474 private fun TestScope.createRoomDetailsPresenter (
7575 room : MatrixRoom = aMatrixRoom(),
76- leaveRoomPresenter : Presenter < LeaveRoomState > = FakeLeaveRoomPresenter (),
76+ leaveRoomState : LeaveRoomState = aLeaveRoomState (),
7777 dispatchers : CoroutineDispatchers = testCoroutineDispatchers(),
7878 notificationSettingsService : FakeNotificationSettingsService = FakeNotificationSettingsService (),
7979 analyticsService : AnalyticsService = FakeAnalyticsService (),
@@ -94,7 +94,7 @@ class RoomDetailsPresenterTest {
9494 featureFlagService = featureFlagService,
9595 notificationSettingsService = matrixClient.notificationSettingsService(),
9696 roomMembersDetailsPresenterFactory = roomMemberDetailsPresenterFactory,
97- leaveRoomPresenter = leaveRoomPresenter ,
97+ leaveRoomPresenter = { leaveRoomState } ,
9898 dispatchers = dispatchers,
9999 isPinnedMessagesFeatureEnabled = { isPinnedMessagesFeatureEnabled },
100100 analyticsService = analyticsService,
@@ -476,33 +476,26 @@ class RoomDetailsPresenterTest {
476476
477477 @Test
478478 fun `present - leave room event is passed on to leave room presenter` () = runTest {
479- val leaveRoomPresenter = FakeLeaveRoomPresenter ()
479+ val leaveRoomEventRecorder = EventsRecorder < LeaveRoomEvent > ()
480480 val room = aMatrixRoom(
481481 canInviteResult = { Result .success(true ) },
482482 canUserJoinCallResult = { Result .success(true ) },
483483 canSendStateResult = { _, _ -> Result .success(true ) },
484484 )
485485 val presenter = createRoomDetailsPresenter(
486486 room = room,
487- leaveRoomPresenter = leaveRoomPresenter ,
487+ leaveRoomState = aLeaveRoomState(eventSink = leaveRoomEventRecorder) ,
488488 dispatchers = testCoroutineDispatchers()
489489 )
490490 presenter.test {
491491 awaitItem().eventSink(RoomDetailsEvent .LeaveRoom )
492-
493- assertThat(leaveRoomPresenter.events).contains(
494- LeaveRoomEvent .ShowConfirmation (
495- room.roomId
496- )
497- )
498-
492+ leaveRoomEventRecorder.assertSingle(LeaveRoomEvent .ShowConfirmation (room.roomId))
499493 cancelAndIgnoreRemainingEvents()
500494 }
501495 }
502496
503497 @Test
504498 fun `present - notification mode changes` () = runTest {
505- val leaveRoomPresenter = FakeLeaveRoomPresenter ()
506499 val notificationSettingsService = FakeNotificationSettingsService ()
507500 val room = aMatrixRoom(
508501 notificationSettingsService = notificationSettingsService,
@@ -512,7 +505,6 @@ class RoomDetailsPresenterTest {
512505 )
513506 val presenter = createRoomDetailsPresenter(
514507 room = room,
515- leaveRoomPresenter = leaveRoomPresenter,
516508 notificationSettingsService = notificationSettingsService,
517509 )
518510 presenter.test {
0 commit comments