Send failure verified user : fix tests.

This commit is contained in:
ganfra 2024-09-13 18:04:16 +02:00
parent 16bf8f04fe
commit aeea99196b
4 changed files with 7 additions and 9 deletions

View file

@ -1036,6 +1036,7 @@ class MessagesPresenterTest {
sessionPreferencesStore = sessionPreferencesStore,
timelineItemIndexer = TimelineItemIndexer(),
timelineController = TimelineController(matrixRoom),
resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() },
)
val timelinePresenterFactory = object : TimelinePresenter.Factory {
override fun create(navigator: MessagesNavigator): TimelinePresenter {
@ -1063,7 +1064,6 @@ class MessagesPresenterTest {
reactionSummaryPresenter = reactionSummaryPresenter,
readReceiptBottomSheetPresenter = readReceiptBottomSheetPresenter,
pinnedMessagesBannerPresenter = { aLoadedPinnedMessagesBannerState() },
resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() },
networkMonitor = FakeNetworkMonitor(),
snackbarDispatcher = SnackbarDispatcher(),
navigator = navigator,

View file

@ -35,9 +35,7 @@ import io.element.android.features.messages.impl.actionlist.anActionListState
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
import io.element.android.features.messages.impl.attachments.Attachment
import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure
import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureEvents
import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aChangedIdentitySendFailure
import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aResolveVerifiedUserSendFailureState
import io.element.android.features.messages.impl.messagecomposer.aMessageComposerState
import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerItem
import io.element.android.features.messages.impl.pinned.banner.aLoadedPinnedMessagesBannerState
@ -424,7 +422,7 @@ class MessagesViewTest {
@Test
fun `clicking on verified user send failure from action list emits the expected Event`() {
val eventsRecorder = EventsRecorder<ResolveVerifiedUserSendFailureEvents>()
val eventsRecorder = EventsRecorder<TimelineEvents>()
val state = aMessagesState()
val timelineItem = state.timelineState.timelineItems.first() as TimelineItem.Event
val stateWithActionListState = state.copy(
@ -436,9 +434,7 @@ class MessagesViewTest {
actions = persistentListOf(),
),
),
resolveVerifiedUserSendFailureState = aResolveVerifiedUserSendFailureState(
eventSink = eventsRecorder
),
timelineState = aTimelineState(eventSink = eventsRecorder)
)
rule.setMessagesView(
state = stateWithActionListState,
@ -447,7 +443,7 @@ class MessagesViewTest {
rule.onNodeWithText(verifiedUserSendFailure).performClick()
// Give time for the close animation to complete
rule.mainClock.advanceTimeBy(milliseconds = 1_000)
eventsRecorder.assertSingle(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(timelineItem))
eventsRecorder.assertSingle(TimelineEvents.ComputeVerifiedUserSendFailure(timelineItem))
}
@Test

View file

@ -13,6 +13,7 @@ import app.cash.turbine.ReceiveTurbine
import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat
import io.element.android.features.messages.impl.FakeMessagesNavigator
import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aResolveVerifiedUserSendFailureState
import io.element.android.features.messages.impl.fixtures.aMessageEvent
import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryCreator
import io.element.android.features.messages.impl.timeline.components.aCriticalShield
@ -680,6 +681,7 @@ import kotlin.time.Duration.Companion.seconds
sessionPreferencesStore = sessionPreferencesStore,
timelineItemIndexer = timelineItemIndexer,
timelineController = TimelineController(room),
resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() },
)
}
}

View file

@ -31,7 +31,7 @@ fun aMatrixRoom(
emitRoomInfo: Boolean = false,
canInviteResult: (UserId) -> Result<Boolean> = { lambdaError() },
canSendStateResult: (UserId, StateEventType) -> Result<Boolean> = { _, _ -> lambdaError() },
userDisplayNameResult: () -> Result<String?> = { lambdaError() },
userDisplayNameResult: (UserId) -> Result<String?> = { lambdaError() },
userAvatarUrlResult: () -> Result<String?> = { lambdaError() },
setNameResult: (String) -> Result<Unit> = { lambdaError() },
setTopicResult: (String) -> Result<Unit> = { lambdaError() },