mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-10-31 08:15:02 +00:00
KnockRequestsBannerEvents -> KnockRequestsBannerEvent
This commit is contained in:
+3
-3
@@ -8,7 +8,7 @@
|
||||
|
||||
package io.element.android.features.knockrequests.impl.banner
|
||||
|
||||
sealed interface KnockRequestsBannerEvents {
|
||||
data object AcceptSingleRequest : KnockRequestsBannerEvents
|
||||
data object Dismiss : KnockRequestsBannerEvents
|
||||
sealed interface KnockRequestsBannerEvent {
|
||||
data object AcceptSingleRequest : KnockRequestsBannerEvent
|
||||
data object Dismiss : KnockRequestsBannerEvent
|
||||
}
|
||||
+3
-3
@@ -53,15 +53,15 @@ class KnockRequestsBannerPresenter(
|
||||
}
|
||||
}
|
||||
|
||||
fun handleEvent(event: KnockRequestsBannerEvents) {
|
||||
fun handleEvent(event: KnockRequestsBannerEvent) {
|
||||
when (event) {
|
||||
is KnockRequestsBannerEvents.AcceptSingleRequest -> {
|
||||
is KnockRequestsBannerEvent.AcceptSingleRequest -> {
|
||||
sessionCoroutineScope.acceptSingleKnockRequest(
|
||||
knockRequests = knockRequests,
|
||||
displayAcceptError = showAcceptError,
|
||||
)
|
||||
}
|
||||
is KnockRequestsBannerEvents.Dismiss -> {
|
||||
is KnockRequestsBannerEvent.Dismiss -> {
|
||||
sessionCoroutineScope.launch {
|
||||
knockRequestsService.markAllKnockRequestsAsSeen()
|
||||
}
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ data class KnockRequestsBannerState(
|
||||
val knockRequests: ImmutableList<KnockRequestPresentable>,
|
||||
val displayAcceptError: Boolean,
|
||||
val canAccept: Boolean,
|
||||
val eventSink: (KnockRequestsBannerEvents) -> Unit,
|
||||
val eventSink: (KnockRequestsBannerEvent) -> Unit,
|
||||
) {
|
||||
val subtitle = knockRequests.singleOrNull()?.userId?.value
|
||||
val reason = knockRequests.singleOrNull()?.reason
|
||||
|
||||
+1
-1
@@ -64,7 +64,7 @@ fun aKnockRequestsBannerState(
|
||||
displayAcceptError: Boolean = false,
|
||||
canAccept: Boolean = true,
|
||||
isVisible: Boolean = true,
|
||||
eventSink: (KnockRequestsBannerEvents) -> Unit = {}
|
||||
eventSink: (KnockRequestsBannerEvent) -> Unit = {}
|
||||
) = KnockRequestsBannerState(
|
||||
knockRequests = knockRequests.toImmutableList(),
|
||||
displayAcceptError = displayAcceptError,
|
||||
|
||||
+2
-2
@@ -109,11 +109,11 @@ private fun KnockRequestsBannerContent(
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
fun onDismissClick() {
|
||||
state.eventSink(KnockRequestsBannerEvents.Dismiss)
|
||||
state.eventSink(KnockRequestsBannerEvent.Dismiss)
|
||||
}
|
||||
|
||||
fun onAcceptClick() {
|
||||
state.eventSink(KnockRequestsBannerEvents.AcceptSingleRequest)
|
||||
state.eventSink(KnockRequestsBannerEvent.AcceptSingleRequest)
|
||||
}
|
||||
|
||||
Column(
|
||||
|
||||
+3
-3
@@ -146,7 +146,7 @@ import org.junit.Test
|
||||
presenter.test {
|
||||
skipItems(2)
|
||||
awaitItem().also { state ->
|
||||
state.eventSink(KnockRequestsBannerEvents.AcceptSingleRequest)
|
||||
state.eventSink(KnockRequestsBannerEvent.AcceptSingleRequest)
|
||||
}
|
||||
awaitItem().also { state ->
|
||||
assertThat(state.isVisible).isFalse()
|
||||
@@ -182,7 +182,7 @@ import org.junit.Test
|
||||
skipItems(2)
|
||||
awaitItem().also { state ->
|
||||
assertThat(state.knockRequests).hasSize(1)
|
||||
state.eventSink(KnockRequestsBannerEvents.AcceptSingleRequest)
|
||||
state.eventSink(KnockRequestsBannerEvent.AcceptSingleRequest)
|
||||
}
|
||||
awaitItem().also { state ->
|
||||
assertThat(state.isVisible).isFalse()
|
||||
@@ -206,7 +206,7 @@ import org.junit.Test
|
||||
presenter.test {
|
||||
skipItems(2)
|
||||
awaitItem().also { state ->
|
||||
state.eventSink(KnockRequestsBannerEvents.Dismiss)
|
||||
state.eventSink(KnockRequestsBannerEvent.Dismiss)
|
||||
}
|
||||
advanceUntilIdle()
|
||||
assert(markAsSeenLambda).isCalledExactly(3)
|
||||
|
||||
+6
-6
@@ -29,7 +29,7 @@ import org.junit.Test
|
||||
class KnockRequestsBannerViewTest : RobolectricTest() {
|
||||
@Test
|
||||
fun `clicking on view on single request invoke the expected callback`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<KnockRequestsBannerEvents>(expectEvents = false)
|
||||
val eventsRecorder = EventsRecorder<KnockRequestsBannerEvent>(expectEvents = false)
|
||||
ensureCalledOnce {
|
||||
setKnockRequestsBannerView(
|
||||
state = aKnockRequestsBannerState(
|
||||
@@ -43,7 +43,7 @@ class KnockRequestsBannerViewTest : RobolectricTest() {
|
||||
|
||||
@Test
|
||||
fun `clicking on view all when multiple requests invoke the expected callback`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<KnockRequestsBannerEvents>(expectEvents = false)
|
||||
val eventsRecorder = EventsRecorder<KnockRequestsBannerEvent>(expectEvents = false)
|
||||
ensureCalledOnce {
|
||||
setKnockRequestsBannerView(
|
||||
state = aKnockRequestsBannerState(
|
||||
@@ -62,19 +62,19 @@ class KnockRequestsBannerViewTest : RobolectricTest() {
|
||||
|
||||
@Test
|
||||
fun `clicking on accept on a single request emit the expected event`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<KnockRequestsBannerEvents>()
|
||||
val eventsRecorder = EventsRecorder<KnockRequestsBannerEvent>()
|
||||
setKnockRequestsBannerView(
|
||||
state = aKnockRequestsBannerState(
|
||||
eventSink = eventsRecorder,
|
||||
),
|
||||
)
|
||||
clickOn(CommonStrings.action_accept)
|
||||
eventsRecorder.assertSingle(KnockRequestsBannerEvents.AcceptSingleRequest)
|
||||
eventsRecorder.assertSingle(KnockRequestsBannerEvent.AcceptSingleRequest)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `clicking on dismiss emit the expected event`() = runAndroidComposeUiTest {
|
||||
val eventsRecorder = EventsRecorder<KnockRequestsBannerEvents>()
|
||||
val eventsRecorder = EventsRecorder<KnockRequestsBannerEvent>()
|
||||
setKnockRequestsBannerView(
|
||||
state = aKnockRequestsBannerState(
|
||||
eventSink = eventsRecorder,
|
||||
@@ -82,7 +82,7 @@ class KnockRequestsBannerViewTest : RobolectricTest() {
|
||||
)
|
||||
val close = activity!!.getString(CommonStrings.action_close)
|
||||
onNodeWithContentDescription(close).performClick()
|
||||
eventsRecorder.assertSingle(KnockRequestsBannerEvents.Dismiss)
|
||||
eventsRecorder.assertSingle(KnockRequestsBannerEvent.Dismiss)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user