KnockRequestsListEvents -> KnockRequestsListEvent

This commit is contained in:
Benoit Marty
2026-08-25 09:58:53 +02:00
parent 7da820464f
commit ee30d6aa41
7 changed files with 57 additions and 57 deletions
@@ -10,12 +10,12 @@ package io.element.android.features.knockrequests.impl.list
import io.element.android.features.knockrequests.impl.data.KnockRequestPresentable import io.element.android.features.knockrequests.impl.data.KnockRequestPresentable
sealed interface KnockRequestsListEvents { sealed interface KnockRequestsListEvent {
data class Accept(val knockRequest: KnockRequestPresentable) : KnockRequestsListEvents data class Accept(val knockRequest: KnockRequestPresentable) : KnockRequestsListEvent
data class Decline(val knockRequest: KnockRequestPresentable) : KnockRequestsListEvents data class Decline(val knockRequest: KnockRequestPresentable) : KnockRequestsListEvent
data class DeclineAndBan(val knockRequest: KnockRequestPresentable) : KnockRequestsListEvents data class DeclineAndBan(val knockRequest: KnockRequestPresentable) : KnockRequestsListEvent
data object AcceptAll : KnockRequestsListEvents data object AcceptAll : KnockRequestsListEvent
data object ResetCurrentAction : KnockRequestsListEvents data object ResetCurrentAction : KnockRequestsListEvent
data object RetryCurrentAction : KnockRequestsListEvents data object RetryCurrentAction : KnockRequestsListEvent
data object ConfirmCurrentAction : KnockRequestsListEvents data object ConfirmCurrentAction : KnockRequestsListEvent
} }
@@ -39,28 +39,28 @@ class KnockRequestsListPresenter(
val coroutineScope = rememberCoroutineScope() val coroutineScope = rememberCoroutineScope()
fun handleEvent(event: KnockRequestsListEvents) { fun handleEvent(event: KnockRequestsListEvent) {
when (event) { when (event) {
KnockRequestsListEvents.AcceptAll -> { KnockRequestsListEvent.AcceptAll -> {
currentAction = KnockRequestsAction.AcceptAll currentAction = KnockRequestsAction.AcceptAll
} }
is KnockRequestsListEvents.Accept -> { is KnockRequestsListEvent.Accept -> {
currentAction = KnockRequestsAction.Accept(event.knockRequest) currentAction = KnockRequestsAction.Accept(event.knockRequest)
} }
is KnockRequestsListEvents.Decline -> { is KnockRequestsListEvent.Decline -> {
currentAction = KnockRequestsAction.Decline(event.knockRequest) currentAction = KnockRequestsAction.Decline(event.knockRequest)
} }
is KnockRequestsListEvents.DeclineAndBan -> { is KnockRequestsListEvent.DeclineAndBan -> {
currentAction = KnockRequestsAction.DeclineAndBan(event.knockRequest) currentAction = KnockRequestsAction.DeclineAndBan(event.knockRequest)
} }
KnockRequestsListEvents.ResetCurrentAction -> { KnockRequestsListEvent.ResetCurrentAction -> {
asyncAction.value = AsyncAction.Uninitialized asyncAction.value = AsyncAction.Uninitialized
currentAction = KnockRequestsAction.None currentAction = KnockRequestsAction.None
} }
KnockRequestsListEvents.RetryCurrentAction -> { KnockRequestsListEvent.RetryCurrentAction -> {
coroutineScope.executeAction(currentAction, asyncAction, isActionConfirmed = true) coroutineScope.executeAction(currentAction, asyncAction, isActionConfirmed = true)
} }
KnockRequestsListEvents.ConfirmCurrentAction -> { KnockRequestsListEvent.ConfirmCurrentAction -> {
coroutineScope.executeAction(currentAction, asyncAction, isActionConfirmed = true) coroutineScope.executeAction(currentAction, asyncAction, isActionConfirmed = true)
} }
} }
@@ -20,7 +20,7 @@ data class KnockRequestsListState(
val currentAction: KnockRequestsAction, val currentAction: KnockRequestsAction,
val asyncAction: AsyncAction<Unit>, val asyncAction: AsyncAction<Unit>,
val permissions: KnockRequestPermissions, val permissions: KnockRequestPermissions,
val eventSink: (KnockRequestsListEvents) -> Unit, val eventSink: (KnockRequestsListEvent) -> Unit,
) { ) {
val canAcceptAll = permissions.canAccept && knockRequests is AsyncData.Success && knockRequests.data.size > 1 val canAcceptAll = permissions.canAccept && knockRequests is AsyncData.Success && knockRequests.data.size > 1
} }
@@ -140,7 +140,7 @@ fun aKnockRequestsListState(
canDecline = true, canDecline = true,
canBan = true, canBan = true,
), ),
eventSink: (KnockRequestsListEvents) -> Unit = {}, eventSink: (KnockRequestsListEvent) -> Unit = {},
) = KnockRequestsListState( ) = KnockRequestsListState(
knockRequests = knockRequests, knockRequests = knockRequests,
currentAction = currentAction, currentAction = currentAction,
@@ -108,15 +108,15 @@ private fun KnockRequestsListContent(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
fun onAcceptClick(knockRequest: KnockRequestPresentable) { fun onAcceptClick(knockRequest: KnockRequestPresentable) {
state.eventSink(KnockRequestsListEvents.Accept(knockRequest)) state.eventSink(KnockRequestsListEvent.Accept(knockRequest))
} }
fun onDeclineClick(knockRequest: KnockRequestPresentable) { fun onDeclineClick(knockRequest: KnockRequestPresentable) {
state.eventSink(KnockRequestsListEvents.Decline(knockRequest)) state.eventSink(KnockRequestsListEvent.Decline(knockRequest))
} }
fun onBanClick(knockRequest: KnockRequestPresentable) { fun onBanClick(knockRequest: KnockRequestPresentable) {
state.eventSink(KnockRequestsListEvents.DeclineAndBan(knockRequest)) state.eventSink(KnockRequestsListEvent.DeclineAndBan(knockRequest))
} }
var bottomPaddingInPixels by remember { mutableIntStateOf(0) } var bottomPaddingInPixels by remember { mutableIntStateOf(0) }
@@ -160,19 +160,19 @@ private fun KnockRequestsListContent(
currentAction = state.currentAction, currentAction = state.currentAction,
asyncAction = state.asyncAction, asyncAction = state.asyncAction,
onConfirm = { onConfirm = {
state.eventSink(KnockRequestsListEvents.ConfirmCurrentAction) state.eventSink(KnockRequestsListEvent.ConfirmCurrentAction)
}, },
onRetry = { onRetry = {
state.eventSink(KnockRequestsListEvents.RetryCurrentAction) state.eventSink(KnockRequestsListEvent.RetryCurrentAction)
}, },
onDismiss = { onDismiss = {
state.eventSink(KnockRequestsListEvents.ResetCurrentAction) state.eventSink(KnockRequestsListEvent.ResetCurrentAction)
}, },
) )
if (state.canAcceptAll) { if (state.canAcceptAll) {
KnockRequestsAcceptAll( KnockRequestsAcceptAll(
onClick = { onClick = {
state.eventSink(KnockRequestsListEvents.AcceptAll) state.eventSink(KnockRequestsListEvent.AcceptAll)
}, },
onHeightChange = { height -> onHeightChange = { height ->
bottomPaddingInPixels = height bottomPaddingInPixels = height
@@ -65,7 +65,7 @@ class KnockRequestsListPresenterTest {
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!! val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
state.eventSink(KnockRequestsListEvents.Accept(knockRequestPresentable)) state.eventSink(KnockRequestsListEvent.Accept(knockRequestPresentable))
} }
skipItems(1) skipItems(1)
awaitItem().also { state -> awaitItem().also { state ->
@@ -75,7 +75,7 @@ class KnockRequestsListPresenterTest {
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Success::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Success::class.java)
state.eventSink(KnockRequestsListEvents.ResetCurrentAction) state.eventSink(KnockRequestsListEvent.ResetCurrentAction)
} }
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
@@ -99,7 +99,7 @@ class KnockRequestsListPresenterTest {
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!! val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
state.eventSink(KnockRequestsListEvents.Accept(knockRequestPresentable)) state.eventSink(KnockRequestsListEvent.Accept(knockRequestPresentable))
} }
skipItems(1) skipItems(1)
awaitItem().also { state -> awaitItem().also { state ->
@@ -109,14 +109,14 @@ class KnockRequestsListPresenterTest {
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Failure::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Failure::class.java)
state.eventSink(KnockRequestsListEvents.RetryCurrentAction) state.eventSink(KnockRequestsListEvent.RetryCurrentAction)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Failure::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Failure::class.java)
state.eventSink(KnockRequestsListEvents.ResetCurrentAction) state.eventSink(KnockRequestsListEvent.ResetCurrentAction)
} }
skipItems(1) skipItems(1)
awaitItem().also { state -> awaitItem().also { state ->
@@ -140,21 +140,21 @@ class KnockRequestsListPresenterTest {
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!! val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
state.eventSink(KnockRequestsListEvents.Decline(knockRequestPresentable)) state.eventSink(KnockRequestsListEvent.Decline(knockRequestPresentable))
} }
skipItems(1) skipItems(1)
awaitItem().also { state -> awaitItem().also { state ->
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!! val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.Decline(knockRequestPresentable)) assertThat(state.currentAction).isEqualTo(KnockRequestsAction.Decline(knockRequestPresentable))
assertThat(state.asyncAction).isInstanceOf(AsyncAction.ConfirmingNoParams::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.ConfirmingNoParams::class.java)
state.eventSink(KnockRequestsListEvents.ConfirmCurrentAction) state.eventSink(KnockRequestsListEvent.ConfirmCurrentAction)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Success::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Success::class.java)
state.eventSink(KnockRequestsListEvents.ResetCurrentAction) state.eventSink(KnockRequestsListEvent.ResetCurrentAction)
} }
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
@@ -178,21 +178,21 @@ class KnockRequestsListPresenterTest {
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!! val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
state.eventSink(KnockRequestsListEvents.DeclineAndBan(knockRequestPresentable)) state.eventSink(KnockRequestsListEvent.DeclineAndBan(knockRequestPresentable))
} }
skipItems(1) skipItems(1)
awaitItem().also { state -> awaitItem().also { state ->
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!! val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.DeclineAndBan(knockRequestPresentable)) assertThat(state.currentAction).isEqualTo(KnockRequestsAction.DeclineAndBan(knockRequestPresentable))
assertThat(state.asyncAction).isInstanceOf(AsyncAction.ConfirmingNoParams::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.ConfirmingNoParams::class.java)
state.eventSink(KnockRequestsListEvents.ConfirmCurrentAction) state.eventSink(KnockRequestsListEvent.ConfirmCurrentAction)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Success::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Success::class.java)
state.eventSink(KnockRequestsListEvents.ResetCurrentAction) state.eventSink(KnockRequestsListEvent.ResetCurrentAction)
} }
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
@@ -220,20 +220,20 @@ class KnockRequestsListPresenterTest {
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.canAcceptAll).isTrue() assertThat(state.canAcceptAll).isTrue()
state.eventSink(KnockRequestsListEvents.AcceptAll) state.eventSink(KnockRequestsListEvent.AcceptAll)
} }
skipItems(1) skipItems(1)
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.AcceptAll) assertThat(state.currentAction).isEqualTo(KnockRequestsAction.AcceptAll)
assertThat(state.asyncAction).isInstanceOf(AsyncAction.ConfirmingNoParams::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.ConfirmingNoParams::class.java)
state.eventSink(KnockRequestsListEvents.ConfirmCurrentAction) state.eventSink(KnockRequestsListEvent.ConfirmCurrentAction)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Success::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Success::class.java)
state.eventSink(KnockRequestsListEvents.ResetCurrentAction) state.eventSink(KnockRequestsListEvent.ResetCurrentAction)
} }
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
@@ -262,20 +262,20 @@ class KnockRequestsListPresenterTest {
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.canAcceptAll).isTrue() assertThat(state.canAcceptAll).isTrue()
state.eventSink(KnockRequestsListEvents.AcceptAll) state.eventSink(KnockRequestsListEvent.AcceptAll)
} }
skipItems(1) skipItems(1)
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.AcceptAll) assertThat(state.currentAction).isEqualTo(KnockRequestsAction.AcceptAll)
assertThat(state.asyncAction).isInstanceOf(AsyncAction.ConfirmingNoParams::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.ConfirmingNoParams::class.java)
state.eventSink(KnockRequestsListEvents.ConfirmCurrentAction) state.eventSink(KnockRequestsListEvent.ConfirmCurrentAction)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java)
} }
awaitItem().also { state -> awaitItem().also { state ->
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Failure::class.java) assertThat(state.asyncAction).isInstanceOf(AsyncAction.Failure::class.java)
state.eventSink(KnockRequestsListEvents.ResetCurrentAction) state.eventSink(KnockRequestsListEvent.ResetCurrentAction)
} }
skipItems(2) skipItems(2)
awaitItem().also { state -> awaitItem().also { state ->
@@ -31,7 +31,7 @@ import org.junit.Test
class KnockRequestsListViewTest : RobolectricTest() { class KnockRequestsListViewTest : RobolectricTest() {
@Test @Test
fun `clicking on back invoke the expected callback`() = runAndroidComposeUiTest { fun `clicking on back invoke the expected callback`() = runAndroidComposeUiTest {
val eventsRecorder = EventsRecorder<KnockRequestsListEvents>(expectEvents = false) val eventsRecorder = EventsRecorder<KnockRequestsListEvent>(expectEvents = false)
ensureCalledOnce { ensureCalledOnce {
setKnockRequestsListView( setKnockRequestsListView(
aKnockRequestsListState( aKnockRequestsListState(
@@ -45,7 +45,7 @@ class KnockRequestsListViewTest : RobolectricTest() {
@Test @Test
fun `clicking on accept emit the expected event`() = runAndroidComposeUiTest { fun `clicking on accept emit the expected event`() = runAndroidComposeUiTest {
val eventsRecorder = EventsRecorder<KnockRequestsListEvents>() val eventsRecorder = EventsRecorder<KnockRequestsListEvent>()
val knockRequest = aKnockRequestPresentable() val knockRequest = aKnockRequestPresentable()
setKnockRequestsListView( setKnockRequestsListView(
aKnockRequestsListState( aKnockRequestsListState(
@@ -54,12 +54,12 @@ class KnockRequestsListViewTest : RobolectricTest() {
), ),
) )
clickOn(CommonStrings.action_accept) clickOn(CommonStrings.action_accept)
eventsRecorder.assertSingle(KnockRequestsListEvents.Accept(knockRequest)) eventsRecorder.assertSingle(KnockRequestsListEvent.Accept(knockRequest))
} }
@Test @Test
fun `clicking on decline emit the expected event`() = runAndroidComposeUiTest { fun `clicking on decline emit the expected event`() = runAndroidComposeUiTest {
val eventsRecorder = EventsRecorder<KnockRequestsListEvents>() val eventsRecorder = EventsRecorder<KnockRequestsListEvent>()
val knockRequest = aKnockRequestPresentable() val knockRequest = aKnockRequestPresentable()
setKnockRequestsListView( setKnockRequestsListView(
aKnockRequestsListState( aKnockRequestsListState(
@@ -68,12 +68,12 @@ class KnockRequestsListViewTest : RobolectricTest() {
), ),
) )
clickOn(CommonStrings.action_decline) clickOn(CommonStrings.action_decline)
eventsRecorder.assertSingle(KnockRequestsListEvents.Decline(knockRequest)) eventsRecorder.assertSingle(KnockRequestsListEvent.Decline(knockRequest))
} }
@Test @Test
fun `clicking on decline and ban emit the expected event`() = runAndroidComposeUiTest { fun `clicking on decline and ban emit the expected event`() = runAndroidComposeUiTest {
val eventsRecorder = EventsRecorder<KnockRequestsListEvents>() val eventsRecorder = EventsRecorder<KnockRequestsListEvent>()
val knockRequest = aKnockRequestPresentable() val knockRequest = aKnockRequestPresentable()
setKnockRequestsListView( setKnockRequestsListView(
aKnockRequestsListState( aKnockRequestsListState(
@@ -82,12 +82,12 @@ class KnockRequestsListViewTest : RobolectricTest() {
), ),
) )
clickOn(R.string.screen_knock_requests_list_decline_and_ban_action_title) clickOn(R.string.screen_knock_requests_list_decline_and_ban_action_title)
eventsRecorder.assertSingle(KnockRequestsListEvents.DeclineAndBan(knockRequest)) eventsRecorder.assertSingle(KnockRequestsListEvent.DeclineAndBan(knockRequest))
} }
@Test @Test
fun `clicking on accept all emit the expected event`() = runAndroidComposeUiTest { fun `clicking on accept all emit the expected event`() = runAndroidComposeUiTest {
val eventsRecorder = EventsRecorder<KnockRequestsListEvents>() val eventsRecorder = EventsRecorder<KnockRequestsListEvent>()
val knockRequests = persistentListOf(aKnockRequestPresentable(), aKnockRequestPresentable()) val knockRequests = persistentListOf(aKnockRequestPresentable(), aKnockRequestPresentable())
setKnockRequestsListView( setKnockRequestsListView(
aKnockRequestsListState( aKnockRequestsListState(
@@ -96,12 +96,12 @@ class KnockRequestsListViewTest : RobolectricTest() {
), ),
) )
clickOn(R.string.screen_knock_requests_list_accept_all_button_title) clickOn(R.string.screen_knock_requests_list_accept_all_button_title)
eventsRecorder.assertSingle(KnockRequestsListEvents.AcceptAll) eventsRecorder.assertSingle(KnockRequestsListEvent.AcceptAll)
} }
@Test @Test
fun `retry on async view retry emit the expected event`() = runAndroidComposeUiTest { fun `retry on async view retry emit the expected event`() = runAndroidComposeUiTest {
val eventsRecorder = EventsRecorder<KnockRequestsListEvents>() val eventsRecorder = EventsRecorder<KnockRequestsListEvent>()
val knockRequests = persistentListOf(aKnockRequestPresentable(), aKnockRequestPresentable()) val knockRequests = persistentListOf(aKnockRequestPresentable(), aKnockRequestPresentable())
setKnockRequestsListView( setKnockRequestsListView(
aKnockRequestsListState( aKnockRequestsListState(
@@ -112,12 +112,12 @@ class KnockRequestsListViewTest : RobolectricTest() {
), ),
) )
clickOn(CommonStrings.action_retry) clickOn(CommonStrings.action_retry)
eventsRecorder.assertSingle(KnockRequestsListEvents.RetryCurrentAction) eventsRecorder.assertSingle(KnockRequestsListEvent.RetryCurrentAction)
} }
@Test @Test
fun `canceling async view emit the expected event`() = runAndroidComposeUiTest { fun `canceling async view emit the expected event`() = runAndroidComposeUiTest {
val eventsRecorder = EventsRecorder<KnockRequestsListEvents>() val eventsRecorder = EventsRecorder<KnockRequestsListEvent>()
val knockRequests = persistentListOf(aKnockRequestPresentable(), aKnockRequestPresentable()) val knockRequests = persistentListOf(aKnockRequestPresentable(), aKnockRequestPresentable())
setKnockRequestsListView( setKnockRequestsListView(
aKnockRequestsListState( aKnockRequestsListState(
@@ -128,12 +128,12 @@ class KnockRequestsListViewTest : RobolectricTest() {
), ),
) )
clickOn(CommonStrings.action_cancel) clickOn(CommonStrings.action_cancel)
eventsRecorder.assertSingle(KnockRequestsListEvents.ResetCurrentAction) eventsRecorder.assertSingle(KnockRequestsListEvent.ResetCurrentAction)
} }
@Test @Test
fun `confirming async view emit the expected event`() = runAndroidComposeUiTest { fun `confirming async view emit the expected event`() = runAndroidComposeUiTest {
val eventsRecorder = EventsRecorder<KnockRequestsListEvents>() val eventsRecorder = EventsRecorder<KnockRequestsListEvent>()
val knockRequests = persistentListOf(aKnockRequestPresentable(), aKnockRequestPresentable()) val knockRequests = persistentListOf(aKnockRequestPresentable(), aKnockRequestPresentable())
setKnockRequestsListView( setKnockRequestsListView(
aKnockRequestsListState( aKnockRequestsListState(
@@ -144,7 +144,7 @@ class KnockRequestsListViewTest : RobolectricTest() {
), ),
) )
clickOn(R.string.screen_knock_requests_list_accept_all_alert_confirm_button_title) clickOn(R.string.screen_knock_requests_list_accept_all_alert_confirm_button_title)
eventsRecorder.assertSingle(KnockRequestsListEvents.ConfirmCurrentAction) eventsRecorder.assertSingle(KnockRequestsListEvent.ConfirmCurrentAction)
} }
} }