mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:32:34 +00:00
RoomAliasResolverEvents -> RoomAliasResolverEvent
This commit is contained in:
+3
-3
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
package io.element.android.features.roomaliasresolver.impl
|
package io.element.android.features.roomaliasresolver.impl
|
||||||
|
|
||||||
sealed interface RoomAliasResolverEvents {
|
sealed interface RoomAliasResolverEvent {
|
||||||
data object Retry : RoomAliasResolverEvents
|
data object Retry : RoomAliasResolverEvent
|
||||||
data object DismissError : RoomAliasResolverEvents
|
data object DismissError : RoomAliasResolverEvent
|
||||||
}
|
}
|
||||||
+3
-3
@@ -48,10 +48,10 @@ class RoomAliasResolverPresenter(
|
|||||||
resolveAlias(resolveState)
|
resolveAlias(resolveState)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun handleEvent(event: RoomAliasResolverEvents) {
|
fun handleEvent(event: RoomAliasResolverEvent) {
|
||||||
when (event) {
|
when (event) {
|
||||||
RoomAliasResolverEvents.Retry -> coroutineScope.resolveAlias(resolveState)
|
RoomAliasResolverEvent.Retry -> coroutineScope.resolveAlias(resolveState)
|
||||||
RoomAliasResolverEvents.DismissError -> resolveState.value = AsyncData.Uninitialized
|
RoomAliasResolverEvent.DismissError -> resolveState.value = AsyncData.Uninitialized
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias
|
|||||||
data class RoomAliasResolverState(
|
data class RoomAliasResolverState(
|
||||||
val roomAlias: RoomAlias,
|
val roomAlias: RoomAlias,
|
||||||
val resolveState: AsyncData<ResolvedRoomAlias>,
|
val resolveState: AsyncData<ResolvedRoomAlias>,
|
||||||
val eventSink: (RoomAliasResolverEvents) -> Unit
|
val eventSink: (RoomAliasResolverEvent) -> Unit
|
||||||
)
|
)
|
||||||
|
|
||||||
sealed class RoomAliasResolverFailures : Exception() {
|
sealed class RoomAliasResolverFailures : Exception() {
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ open class RoomAliasResolverStatePreviewParam : PreviewParameterProvider<RoomAli
|
|||||||
fun aRoomAliasResolverState(
|
fun aRoomAliasResolverState(
|
||||||
roomAlias: RoomAlias = A_ROOM_ALIAS,
|
roomAlias: RoomAlias = A_ROOM_ALIAS,
|
||||||
resolveState: AsyncData<ResolvedRoomAlias> = AsyncData.Uninitialized,
|
resolveState: AsyncData<ResolvedRoomAlias> = AsyncData.Uninitialized,
|
||||||
eventSink: (RoomAliasResolverEvents) -> Unit = {}
|
eventSink: (RoomAliasResolverEvent) -> Unit = {}
|
||||||
) = RoomAliasResolverState(
|
) = RoomAliasResolverState(
|
||||||
roomAlias = roomAlias,
|
roomAlias = roomAlias,
|
||||||
resolveState = resolveState,
|
resolveState = resolveState,
|
||||||
|
|||||||
+2
-2
@@ -66,9 +66,9 @@ fun RoomAliasResolverView(
|
|||||||
ResolvedRoomAliasView(
|
ResolvedRoomAliasView(
|
||||||
resolvedRoomAlias = state.resolveState,
|
resolvedRoomAlias = state.resolveState,
|
||||||
onSuccess = onSuccess,
|
onSuccess = onSuccess,
|
||||||
onRetry = { state.eventSink(RoomAliasResolverEvents.Retry) },
|
onRetry = { state.eventSink(RoomAliasResolverEvent.Retry) },
|
||||||
onDismissError = {
|
onDismissError = {
|
||||||
state.eventSink(RoomAliasResolverEvents.DismissError)
|
state.eventSink(RoomAliasResolverEvent.DismissError)
|
||||||
onBackClick()
|
onBackClick()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -91,7 +91,7 @@ class RoomAliasHelperPresenterTest {
|
|||||||
assertThat(awaitItem().resolveState.isLoading()).isTrue()
|
assertThat(awaitItem().resolveState.isLoading()).isTrue()
|
||||||
val resultState = awaitItem()
|
val resultState = awaitItem()
|
||||||
assertThat(resultState.resolveState.errorOrNull()).isEqualTo(AN_EXCEPTION)
|
assertThat(resultState.resolveState.errorOrNull()).isEqualTo(AN_EXCEPTION)
|
||||||
resultState.eventSink(RoomAliasResolverEvents.Retry)
|
resultState.eventSink(RoomAliasResolverEvent.Retry)
|
||||||
val retryLoadingState = awaitItem()
|
val retryLoadingState = awaitItem()
|
||||||
assertThat(retryLoadingState.resolveState.isLoading()).isTrue()
|
assertThat(retryLoadingState.resolveState.isLoading()).isTrue()
|
||||||
val retryState = awaitItem()
|
val retryState = awaitItem()
|
||||||
|
|||||||
+4
-4
@@ -30,7 +30,7 @@ import org.junit.Test
|
|||||||
class RoomAliasHelperViewTest : RobolectricTest() {
|
class RoomAliasHelperViewTest : RobolectricTest() {
|
||||||
@Test
|
@Test
|
||||||
fun `clicking on back invokes the expected callback`() = runAndroidComposeUiTest {
|
fun `clicking on back invokes the expected callback`() = runAndroidComposeUiTest {
|
||||||
val eventsRecorder = EventsRecorder<RoomAliasResolverEvents>(expectEvents = false)
|
val eventsRecorder = EventsRecorder<RoomAliasResolverEvent>(expectEvents = false)
|
||||||
ensureCalledOnce {
|
ensureCalledOnce {
|
||||||
setRoomAliasResolverView(
|
setRoomAliasResolverView(
|
||||||
aRoomAliasResolverState(
|
aRoomAliasResolverState(
|
||||||
@@ -44,7 +44,7 @@ class RoomAliasHelperViewTest : RobolectricTest() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `clicking on Retry emits the expected Event`() = runAndroidComposeUiTest {
|
fun `clicking on Retry emits the expected Event`() = runAndroidComposeUiTest {
|
||||||
val eventsRecorder = EventsRecorder<RoomAliasResolverEvents>()
|
val eventsRecorder = EventsRecorder<RoomAliasResolverEvent>()
|
||||||
setRoomAliasResolverView(
|
setRoomAliasResolverView(
|
||||||
aRoomAliasResolverState(
|
aRoomAliasResolverState(
|
||||||
resolveState = AsyncData.Failure(Exception("Error")),
|
resolveState = AsyncData.Failure(Exception("Error")),
|
||||||
@@ -52,13 +52,13 @@ class RoomAliasHelperViewTest : RobolectricTest() {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
clickOn(CommonStrings.action_retry)
|
clickOn(CommonStrings.action_retry)
|
||||||
eventsRecorder.assertSingle(RoomAliasResolverEvents.Retry)
|
eventsRecorder.assertSingle(RoomAliasResolverEvent.Retry)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `success state invokes the expected Callback`() = runAndroidComposeUiTest {
|
fun `success state invokes the expected Callback`() = runAndroidComposeUiTest {
|
||||||
val result = aResolvedRoomAlias()
|
val result = aResolvedRoomAlias()
|
||||||
val eventsRecorder = EventsRecorder<RoomAliasResolverEvents>(expectEvents = false)
|
val eventsRecorder = EventsRecorder<RoomAliasResolverEvent>(expectEvents = false)
|
||||||
ensureCalledOnceWithParam(result) {
|
ensureCalledOnceWithParam(result) {
|
||||||
setRoomAliasResolverView(
|
setRoomAliasResolverView(
|
||||||
aRoomAliasResolverState(
|
aRoomAliasResolverState(
|
||||||
|
|||||||
Reference in New Issue
Block a user