mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
KnockRequestsListEvents -> KnockRequestsListEvent
This commit is contained in:
+8
-8
@@ -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
|
||||||
}
|
}
|
||||||
+8
-8
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-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,
|
||||||
|
|||||||
+7
-7
@@ -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
|
||||||
|
|||||||
+17
-17
@@ -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 ->
|
||||||
|
|||||||
+15
-15
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user