ResolveVerifiedUserSendFailureEvent -> ResolveVerifiedUserSendFailureEven
This commit is contained in:
parent
56668377d4
commit
4d04808875
8 changed files with 40 additions and 40 deletions
|
|
@ -10,12 +10,12 @@ package io.element.android.features.messages.impl.crypto.sendfailure.resolve
|
||||||
|
|
||||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||||
|
|
||||||
sealed interface ResolveVerifiedUserSendFailureEvents {
|
sealed interface ResolveVerifiedUserSendFailureEvent {
|
||||||
data class ComputeForMessage(
|
data class ComputeForMessage(
|
||||||
val messageEvent: TimelineItem.Event,
|
val messageEvent: TimelineItem.Event,
|
||||||
) : ResolveVerifiedUserSendFailureEvents
|
) : ResolveVerifiedUserSendFailureEvent
|
||||||
|
|
||||||
data object ResolveAndResend : ResolveVerifiedUserSendFailureEvents
|
data object ResolveAndResend : ResolveVerifiedUserSendFailureEvent
|
||||||
data object Retry : ResolveVerifiedUserSendFailureEvents
|
data object Retry : ResolveVerifiedUserSendFailureEvent
|
||||||
data object Dismiss : ResolveVerifiedUserSendFailureEvents
|
data object Dismiss : ResolveVerifiedUserSendFailureEvent
|
||||||
}
|
}
|
||||||
|
|
@ -48,9 +48,9 @@ class ResolveVerifiedUserSendFailurePresenter(
|
||||||
}
|
}
|
||||||
val coroutineScope = rememberCoroutineScope()
|
val coroutineScope = rememberCoroutineScope()
|
||||||
|
|
||||||
fun handleEvent(event: ResolveVerifiedUserSendFailureEvents) {
|
fun handleEvent(event: ResolveVerifiedUserSendFailureEvent) {
|
||||||
when (event) {
|
when (event) {
|
||||||
is ResolveVerifiedUserSendFailureEvents.ComputeForMessage -> {
|
is ResolveVerifiedUserSendFailureEvent.ComputeForMessage -> {
|
||||||
val sendState = event.messageEvent.localSendState as? LocalEventSendState.Failed.VerifiedUser
|
val sendState = event.messageEvent.localSendState as? LocalEventSendState.Failed.VerifiedUser
|
||||||
val transactionId = event.messageEvent.transactionId
|
val transactionId = event.messageEvent.transactionId
|
||||||
val sendHandle = event.messageEvent.sendhandle
|
val sendHandle = event.messageEvent.sendhandle
|
||||||
|
|
@ -65,10 +65,10 @@ class ResolveVerifiedUserSendFailurePresenter(
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ResolveVerifiedUserSendFailureEvents.Dismiss -> {
|
ResolveVerifiedUserSendFailureEvent.Dismiss -> {
|
||||||
resolver = null
|
resolver = null
|
||||||
}
|
}
|
||||||
ResolveVerifiedUserSendFailureEvents.Retry -> {
|
ResolveVerifiedUserSendFailureEvent.Retry -> {
|
||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
resolver?.run {
|
resolver?.run {
|
||||||
runUpdatingState(retryAction) {
|
runUpdatingState(retryAction) {
|
||||||
|
|
@ -77,7 +77,7 @@ class ResolveVerifiedUserSendFailurePresenter(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ResolveVerifiedUserSendFailureEvents.ResolveAndResend -> {
|
ResolveVerifiedUserSendFailureEvent.ResolveAndResend -> {
|
||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
resolver?.run {
|
resolver?.run {
|
||||||
runUpdatingState(resolveAction) {
|
runUpdatingState(resolveAction) {
|
||||||
|
|
|
||||||
|
|
@ -15,5 +15,5 @@ data class ResolveVerifiedUserSendFailureState(
|
||||||
val verifiedUserSendFailure: VerifiedUserSendFailure,
|
val verifiedUserSendFailure: VerifiedUserSendFailure,
|
||||||
val resolveAction: AsyncAction<Unit>,
|
val resolveAction: AsyncAction<Unit>,
|
||||||
val retryAction: AsyncAction<Unit>,
|
val retryAction: AsyncAction<Unit>,
|
||||||
val eventSink: (ResolveVerifiedUserSendFailureEvents) -> Unit
|
val eventSink: (ResolveVerifiedUserSendFailureEvent) -> Unit
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ fun aResolveVerifiedUserSendFailureState(
|
||||||
verifiedUserSendFailure: VerifiedUserSendFailure = VerifiedUserSendFailure.None,
|
verifiedUserSendFailure: VerifiedUserSendFailure = VerifiedUserSendFailure.None,
|
||||||
resolveAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
|
resolveAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
|
||||||
retryAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
|
retryAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
|
||||||
eventSink: (ResolveVerifiedUserSendFailureEvents) -> Unit = {}
|
eventSink: (ResolveVerifiedUserSendFailureEvent) -> Unit = {}
|
||||||
) = ResolveVerifiedUserSendFailureState(
|
) = ResolveVerifiedUserSendFailureState(
|
||||||
verifiedUserSendFailure = verifiedUserSendFailure,
|
verifiedUserSendFailure = verifiedUserSendFailure,
|
||||||
resolveAction = resolveAction,
|
resolveAction = resolveAction,
|
||||||
|
|
|
||||||
|
|
@ -47,15 +47,15 @@ fun ResolveVerifiedUserSendFailureView(
|
||||||
var showSheet by remember { mutableStateOf(false) }
|
var showSheet by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
fun dismiss() {
|
fun dismiss() {
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.Dismiss)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.Dismiss)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onRetryClick() {
|
fun onRetryClick() {
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.Retry)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.Retry)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onResolveAndResendClick() {
|
fun onResolveAndResendClick() {
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.ResolveAndResend)
|
||||||
}
|
}
|
||||||
|
|
||||||
LaunchedEffect(state.verifiedUserSendFailure) {
|
LaunchedEffect(state.verifiedUserSendFailure) {
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ import dev.zacsweers.metro.AssistedFactory
|
||||||
import dev.zacsweers.metro.AssistedInject
|
import dev.zacsweers.metro.AssistedInject
|
||||||
import io.element.android.features.messages.impl.MessagesNavigator
|
import io.element.android.features.messages.impl.MessagesNavigator
|
||||||
import io.element.android.features.messages.impl.UserEventPermissions
|
import io.element.android.features.messages.impl.UserEventPermissions
|
||||||
import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureEvents
|
import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureEvent
|
||||||
import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState
|
import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState
|
||||||
import io.element.android.features.messages.impl.timeline.components.MessageShieldData
|
import io.element.android.features.messages.impl.timeline.components.MessageShieldData
|
||||||
import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory
|
import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory
|
||||||
|
|
@ -218,7 +218,7 @@ class TimelinePresenter(
|
||||||
TimelineEvent.HideShieldDialog -> messageShieldDialogData.value = null
|
TimelineEvent.HideShieldDialog -> messageShieldDialogData.value = null
|
||||||
is TimelineEvent.ShowShieldDialog -> messageShieldDialogData.value = event.messageShieldData
|
is TimelineEvent.ShowShieldDialog -> messageShieldDialogData.value = event.messageShieldData
|
||||||
is TimelineEvent.ComputeVerifiedUserSendFailure -> {
|
is TimelineEvent.ComputeVerifiedUserSendFailure -> {
|
||||||
resolveVerifiedUserSendFailureState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(event.event))
|
resolveVerifiedUserSendFailureState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(event.event))
|
||||||
}
|
}
|
||||||
is TimelineEvent.NavigateToPredecessorOrSuccessorRoom -> {
|
is TimelineEvent.NavigateToPredecessorOrSuccessorRoom -> {
|
||||||
// Navigate to the predecessor or successor room
|
// Navigate to the predecessor or successor room
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
val sentMessage = aMessageEvent()
|
val sentMessage = aMessageEvent()
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
||||||
initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(sentMessage))
|
initialState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(sentMessage))
|
||||||
ensureAllEventsConsumed()
|
ensureAllEventsConsumed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -61,7 +61,7 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
)
|
)
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
||||||
initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(sentMessage))
|
initialState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(sentMessage))
|
||||||
ensureAllEventsConsumed()
|
ensureAllEventsConsumed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -75,7 +75,7 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
)
|
)
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
||||||
initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage))
|
initialState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(failedMessage))
|
||||||
ensureAllEventsConsumed()
|
ensureAllEventsConsumed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -94,11 +94,11 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage()
|
val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage()
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
||||||
initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage))
|
initialState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(failedMessage))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou)
|
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou)
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.Dismiss)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.Dismiss)
|
||||||
}
|
}
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
|
|
@ -122,12 +122,12 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage()
|
val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage()
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
||||||
initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage))
|
initialState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(failedMessage))
|
||||||
|
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou)
|
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou)
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.Retry)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.Retry)
|
||||||
}
|
}
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.retryAction).isEqualTo(AsyncAction.Loading)
|
assertThat(state.retryAction).isEqualTo(AsyncAction.Loading)
|
||||||
|
|
@ -158,12 +158,12 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage()
|
val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage()
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
||||||
initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage))
|
initialState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(failedMessage))
|
||||||
|
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou)
|
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou)
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.ResolveAndResend)
|
||||||
}
|
}
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading)
|
assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading)
|
||||||
|
|
@ -173,7 +173,7 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromOther(A_USER_ID_2.value))
|
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromOther(A_USER_ID_2.value))
|
||||||
assertThat(state.resolveAction).isEqualTo(AsyncAction.Success(Unit))
|
assertThat(state.resolveAction).isEqualTo(AsyncAction.Success(Unit))
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.ResolveAndResend)
|
||||||
}
|
}
|
||||||
|
|
||||||
skipItems(3)
|
skipItems(3)
|
||||||
|
|
@ -201,12 +201,12 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage()
|
val failedMessage = aVerifiedUserHasUnsignedDeviceFailedMessage()
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
||||||
initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage))
|
initialState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(failedMessage))
|
||||||
|
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou)
|
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.UnsignedDevice.FromYou)
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.ResolveAndResend)
|
||||||
}
|
}
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading)
|
assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading)
|
||||||
|
|
@ -233,12 +233,12 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
val failedMessage = aVerifiedUserChangedIdentityMessage()
|
val failedMessage = aVerifiedUserChangedIdentityMessage()
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
||||||
initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage))
|
initialState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(failedMessage))
|
||||||
|
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID.value))
|
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID.value))
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.Retry)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.Retry)
|
||||||
}
|
}
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.retryAction).isEqualTo(AsyncAction.Loading)
|
assertThat(state.retryAction).isEqualTo(AsyncAction.Loading)
|
||||||
|
|
@ -269,12 +269,12 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
val failedMessage = aVerifiedUserChangedIdentityMessage()
|
val failedMessage = aVerifiedUserChangedIdentityMessage()
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
||||||
initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage))
|
initialState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(failedMessage))
|
||||||
|
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID.value))
|
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID.value))
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.ResolveAndResend)
|
||||||
}
|
}
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading)
|
assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading)
|
||||||
|
|
@ -284,7 +284,7 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID_2.value))
|
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID_2.value))
|
||||||
assertThat(state.resolveAction).isEqualTo(AsyncAction.Success(Unit))
|
assertThat(state.resolveAction).isEqualTo(AsyncAction.Success(Unit))
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.ResolveAndResend)
|
||||||
}
|
}
|
||||||
|
|
||||||
skipItems(3)
|
skipItems(3)
|
||||||
|
|
@ -312,12 +312,12 @@ class ResolveVerifiedUserSendFailurePresenterTest {
|
||||||
val failedMessage = aVerifiedUserChangedIdentityMessage()
|
val failedMessage = aVerifiedUserChangedIdentityMessage()
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
assertThat(initialState.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.None)
|
||||||
initialState.eventSink(ResolveVerifiedUserSendFailureEvents.ComputeForMessage(failedMessage))
|
initialState.eventSink(ResolveVerifiedUserSendFailureEvent.ComputeForMessage(failedMessage))
|
||||||
|
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID.value))
|
assertThat(state.verifiedUserSendFailure).isEqualTo(VerifiedUserSendFailure.ChangedIdentity(A_USER_ID.value))
|
||||||
state.eventSink(ResolveVerifiedUserSendFailureEvents.ResolveAndResend)
|
state.eventSink(ResolveVerifiedUserSendFailureEvent.ResolveAndResend)
|
||||||
}
|
}
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading)
|
assertThat(state.resolveAction).isEqualTo(AsyncAction.Loading)
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ class ResolveVerifiedUserSendFailureViewTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `clicking on resolve and resend emit the expected event`() {
|
fun `clicking on resolve and resend emit the expected event`() {
|
||||||
val eventsRecorder = EventsRecorder<ResolveVerifiedUserSendFailureEvents>()
|
val eventsRecorder = EventsRecorder<ResolveVerifiedUserSendFailureEvent>()
|
||||||
rule.setResolveVerifiedUserSendFailureView(
|
rule.setResolveVerifiedUserSendFailureView(
|
||||||
state = aResolveVerifiedUserSendFailureState(
|
state = aResolveVerifiedUserSendFailureState(
|
||||||
verifiedUserSendFailure = aChangedIdentitySendFailure(),
|
verifiedUserSendFailure = aChangedIdentitySendFailure(),
|
||||||
|
|
@ -36,12 +36,12 @@ class ResolveVerifiedUserSendFailureViewTest {
|
||||||
)
|
)
|
||||||
|
|
||||||
rule.clickOn(res = CommonStrings.screen_resolve_send_failure_changed_identity_primary_button_title)
|
rule.clickOn(res = CommonStrings.screen_resolve_send_failure_changed_identity_primary_button_title)
|
||||||
eventsRecorder.assertSingle(ResolveVerifiedUserSendFailureEvents.ResolveAndResend)
|
eventsRecorder.assertSingle(ResolveVerifiedUserSendFailureEvent.ResolveAndResend)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `clicking on retry emit the expected event`() {
|
fun `clicking on retry emit the expected event`() {
|
||||||
val eventsRecorder = EventsRecorder<ResolveVerifiedUserSendFailureEvents>()
|
val eventsRecorder = EventsRecorder<ResolveVerifiedUserSendFailureEvent>()
|
||||||
rule.setResolveVerifiedUserSendFailureView(
|
rule.setResolveVerifiedUserSendFailureView(
|
||||||
state = aResolveVerifiedUserSendFailureState(
|
state = aResolveVerifiedUserSendFailureState(
|
||||||
verifiedUserSendFailure = aChangedIdentitySendFailure(),
|
verifiedUserSendFailure = aChangedIdentitySendFailure(),
|
||||||
|
|
@ -50,7 +50,7 @@ class ResolveVerifiedUserSendFailureViewTest {
|
||||||
)
|
)
|
||||||
|
|
||||||
rule.clickOn(res = CommonStrings.action_retry)
|
rule.clickOn(res = CommonStrings.action_retry)
|
||||||
eventsRecorder.assertSingle(ResolveVerifiedUserSendFailureEvents.Retry)
|
eventsRecorder.assertSingle(ResolveVerifiedUserSendFailureEvent.Retry)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setResolveVerifiedUserSendFailureView(
|
private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setResolveVerifiedUserSendFailureView(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue