knock requests : rename KnockRequestsActionTarget to KnockRequestAction
This commit is contained in:
parent
602b891bd0
commit
f4f669cbbb
6 changed files with 69 additions and 69 deletions
|
|
@ -30,7 +30,7 @@ class KnockRequestsListPresenter @Inject constructor(
|
||||||
@Composable
|
@Composable
|
||||||
override fun present(): KnockRequestsListState {
|
override fun present(): KnockRequestsListState {
|
||||||
val asyncAction = remember { mutableStateOf<AsyncAction<Unit>>(AsyncAction.Uninitialized) }
|
val asyncAction = remember { mutableStateOf<AsyncAction<Unit>>(AsyncAction.Uninitialized) }
|
||||||
var actionTarget by remember { mutableStateOf<KnockRequestsActionTarget>(KnockRequestsActionTarget.None) }
|
var currentAction by remember { mutableStateOf<KnockRequestsAction>(KnockRequestsAction.None) }
|
||||||
|
|
||||||
val permissions by knockRequestsService.permissionsFlow.collectAsState()
|
val permissions by knockRequestsService.permissionsFlow.collectAsState()
|
||||||
val knockRequests by knockRequestsService.knockRequestsFlow.collectAsState()
|
val knockRequests by knockRequestsService.knockRequestsFlow.collectAsState()
|
||||||
|
|
@ -40,36 +40,36 @@ class KnockRequestsListPresenter @Inject constructor(
|
||||||
fun handleEvents(event: KnockRequestsListEvents) {
|
fun handleEvents(event: KnockRequestsListEvents) {
|
||||||
when (event) {
|
when (event) {
|
||||||
KnockRequestsListEvents.AcceptAll -> {
|
KnockRequestsListEvents.AcceptAll -> {
|
||||||
actionTarget = KnockRequestsActionTarget.AcceptAll
|
currentAction = KnockRequestsAction.AcceptAll
|
||||||
}
|
}
|
||||||
is KnockRequestsListEvents.Accept -> {
|
is KnockRequestsListEvents.Accept -> {
|
||||||
actionTarget = KnockRequestsActionTarget.Accept(event.knockRequest)
|
currentAction = KnockRequestsAction.Accept(event.knockRequest)
|
||||||
}
|
}
|
||||||
is KnockRequestsListEvents.Decline -> {
|
is KnockRequestsListEvents.Decline -> {
|
||||||
actionTarget = KnockRequestsActionTarget.Decline(event.knockRequest)
|
currentAction = KnockRequestsAction.Decline(event.knockRequest)
|
||||||
}
|
}
|
||||||
is KnockRequestsListEvents.DeclineAndBan -> {
|
is KnockRequestsListEvents.DeclineAndBan -> {
|
||||||
actionTarget = KnockRequestsActionTarget.DeclineAndBan(event.knockRequest)
|
currentAction = KnockRequestsAction.DeclineAndBan(event.knockRequest)
|
||||||
}
|
}
|
||||||
KnockRequestsListEvents.ResetCurrentAction -> {
|
KnockRequestsListEvents.ResetCurrentAction -> {
|
||||||
asyncAction.value = AsyncAction.Uninitialized
|
asyncAction.value = AsyncAction.Uninitialized
|
||||||
actionTarget = KnockRequestsActionTarget.None
|
currentAction = KnockRequestsAction.None
|
||||||
}
|
}
|
||||||
KnockRequestsListEvents.RetryCurrentAction -> {
|
KnockRequestsListEvents.RetryCurrentAction -> {
|
||||||
coroutineScope.executeAction(actionTarget, asyncAction, isActionConfirmed = true)
|
coroutineScope.executeAction(currentAction, asyncAction, isActionConfirmed = true)
|
||||||
}
|
}
|
||||||
KnockRequestsListEvents.ConfirmCurrentAction -> {
|
KnockRequestsListEvents.ConfirmCurrentAction -> {
|
||||||
coroutineScope.executeAction(actionTarget, asyncAction, isActionConfirmed = true)
|
coroutineScope.executeAction(currentAction, asyncAction, isActionConfirmed = true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LaunchedEffect(actionTarget) {
|
LaunchedEffect(currentAction) {
|
||||||
executeAction(actionTarget, asyncAction, isActionConfirmed = false)
|
executeAction(currentAction, asyncAction, isActionConfirmed = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
return KnockRequestsListState(
|
return KnockRequestsListState(
|
||||||
knockRequests = knockRequests,
|
knockRequests = knockRequests,
|
||||||
actionTarget = actionTarget,
|
currentAction = currentAction,
|
||||||
permissions = permissions,
|
permissions = permissions,
|
||||||
asyncAction = asyncAction.value,
|
asyncAction = asyncAction.value,
|
||||||
eventSink = ::handleEvents
|
eventSink = ::handleEvents
|
||||||
|
|
@ -77,35 +77,35 @@ class KnockRequestsListPresenter @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun CoroutineScope.executeAction(
|
private fun CoroutineScope.executeAction(
|
||||||
actionTarget: KnockRequestsActionTarget,
|
currentAction: KnockRequestsAction,
|
||||||
asyncAction: MutableState<AsyncAction<Unit>>,
|
asyncAction: MutableState<AsyncAction<Unit>>,
|
||||||
isActionConfirmed: Boolean,
|
isActionConfirmed: Boolean,
|
||||||
) = launch {
|
) = launch {
|
||||||
when (actionTarget) {
|
when (currentAction) {
|
||||||
is KnockRequestsActionTarget.Accept -> {
|
is KnockRequestsAction.Accept -> {
|
||||||
runUpdatingState(asyncAction) {
|
runUpdatingState(asyncAction) {
|
||||||
knockRequestsService.acceptKnockRequest(actionTarget.knockRequest)
|
knockRequestsService.acceptKnockRequest(currentAction.knockRequest)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is KnockRequestsActionTarget.Decline -> {
|
is KnockRequestsAction.Decline -> {
|
||||||
if (isActionConfirmed) {
|
if (isActionConfirmed) {
|
||||||
runUpdatingState(asyncAction) {
|
runUpdatingState(asyncAction) {
|
||||||
knockRequestsService.declineKnockRequest(actionTarget.knockRequest)
|
knockRequestsService.declineKnockRequest(currentAction.knockRequest)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
asyncAction.value = AsyncAction.ConfirmingNoParams
|
asyncAction.value = AsyncAction.ConfirmingNoParams
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is KnockRequestsActionTarget.DeclineAndBan -> {
|
is KnockRequestsAction.DeclineAndBan -> {
|
||||||
if (isActionConfirmed) {
|
if (isActionConfirmed) {
|
||||||
runUpdatingState(asyncAction) {
|
runUpdatingState(asyncAction) {
|
||||||
knockRequestsService.declineAndBanKnockRequest(actionTarget.knockRequest)
|
knockRequestsService.declineAndBanKnockRequest(currentAction.knockRequest)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
asyncAction.value = AsyncAction.ConfirmingNoParams
|
asyncAction.value = AsyncAction.ConfirmingNoParams
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is KnockRequestsActionTarget.AcceptAll -> {
|
is KnockRequestsAction.AcceptAll -> {
|
||||||
if (isActionConfirmed) {
|
if (isActionConfirmed) {
|
||||||
runUpdatingState(asyncAction) {
|
runUpdatingState(asyncAction) {
|
||||||
knockRequestsService.acceptAllKnockRequests()
|
knockRequestsService.acceptAllKnockRequests()
|
||||||
|
|
@ -114,7 +114,7 @@ class KnockRequestsListPresenter @Inject constructor(
|
||||||
asyncAction.value = AsyncAction.ConfirmingNoParams
|
asyncAction.value = AsyncAction.ConfirmingNoParams
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KnockRequestsActionTarget.None -> Unit
|
KnockRequestsAction.None -> Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import kotlinx.collections.immutable.ImmutableList
|
||||||
|
|
||||||
data class KnockRequestsListState(
|
data class KnockRequestsListState(
|
||||||
val knockRequests: AsyncData<ImmutableList<KnockRequestPresentable>>,
|
val knockRequests: AsyncData<ImmutableList<KnockRequestPresentable>>,
|
||||||
val actionTarget: KnockRequestsActionTarget,
|
val currentAction: KnockRequestsAction,
|
||||||
val asyncAction: AsyncAction<Unit>,
|
val asyncAction: AsyncAction<Unit>,
|
||||||
val permissions: KnockRequestPermissions,
|
val permissions: KnockRequestPermissions,
|
||||||
val eventSink: (KnockRequestsListEvents) -> Unit,
|
val eventSink: (KnockRequestsListEvents) -> Unit,
|
||||||
|
|
@ -25,10 +25,10 @@ data class KnockRequestsListState(
|
||||||
}
|
}
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
sealed interface KnockRequestsActionTarget {
|
sealed interface KnockRequestsAction {
|
||||||
data object None : KnockRequestsActionTarget
|
data object None : KnockRequestsAction
|
||||||
data class Accept(val knockRequest: KnockRequestPresentable) : KnockRequestsActionTarget
|
data class Accept(val knockRequest: KnockRequestPresentable) : KnockRequestsAction
|
||||||
data class Decline(val knockRequest: KnockRequestPresentable) : KnockRequestsActionTarget
|
data class Decline(val knockRequest: KnockRequestPresentable) : KnockRequestsAction
|
||||||
data class DeclineAndBan(val knockRequest: KnockRequestPresentable) : KnockRequestsActionTarget
|
data class DeclineAndBan(val knockRequest: KnockRequestPresentable) : KnockRequestsAction
|
||||||
data object AcceptAll : KnockRequestsActionTarget
|
data object AcceptAll : KnockRequestsAction
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ open class KnockRequestsListStateProvider : PreviewParameterProvider<KnockReques
|
||||||
aKnockRequestPresentable()
|
aKnockRequestPresentable()
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
actionTarget = KnockRequestsActionTarget.AcceptAll,
|
currentAction = KnockRequestsAction.AcceptAll,
|
||||||
asyncAction = AsyncAction.ConfirmingNoParams,
|
asyncAction = AsyncAction.ConfirmingNoParams,
|
||||||
),
|
),
|
||||||
aKnockRequestsListState(
|
aKnockRequestsListState(
|
||||||
|
|
@ -74,7 +74,7 @@ open class KnockRequestsListStateProvider : PreviewParameterProvider<KnockReques
|
||||||
aKnockRequestPresentable()
|
aKnockRequestPresentable()
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
actionTarget = KnockRequestsActionTarget.AcceptAll,
|
currentAction = KnockRequestsAction.AcceptAll,
|
||||||
asyncAction = AsyncAction.Loading,
|
asyncAction = AsyncAction.Loading,
|
||||||
),
|
),
|
||||||
aKnockRequestsListState(
|
aKnockRequestsListState(
|
||||||
|
|
@ -88,7 +88,7 @@ open class KnockRequestsListStateProvider : PreviewParameterProvider<KnockReques
|
||||||
canDecline = true,
|
canDecline = true,
|
||||||
canBan = true,
|
canBan = true,
|
||||||
),
|
),
|
||||||
actionTarget = KnockRequestsActionTarget.AcceptAll,
|
currentAction = KnockRequestsAction.AcceptAll,
|
||||||
asyncAction = AsyncAction.Failure(Throwable("Failed to accept all")),
|
asyncAction = AsyncAction.Failure(Throwable("Failed to accept all")),
|
||||||
),
|
),
|
||||||
aKnockRequestsListState(
|
aKnockRequestsListState(
|
||||||
|
|
@ -132,7 +132,7 @@ open class KnockRequestsListStateProvider : PreviewParameterProvider<KnockReques
|
||||||
|
|
||||||
fun aKnockRequestsListState(
|
fun aKnockRequestsListState(
|
||||||
knockRequests: AsyncData<ImmutableList<KnockRequestPresentable>> = AsyncData.Success(persistentListOf()),
|
knockRequests: AsyncData<ImmutableList<KnockRequestPresentable>> = AsyncData.Success(persistentListOf()),
|
||||||
actionTarget: KnockRequestsActionTarget = KnockRequestsActionTarget.None,
|
currentAction: KnockRequestsAction = KnockRequestsAction.None,
|
||||||
asyncAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
|
asyncAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
|
||||||
permissions: KnockRequestPermissions = KnockRequestPermissions(
|
permissions: KnockRequestPermissions = KnockRequestPermissions(
|
||||||
canAccept = true,
|
canAccept = true,
|
||||||
|
|
@ -142,7 +142,7 @@ fun aKnockRequestsListState(
|
||||||
eventSink: (KnockRequestsListEvents) -> Unit = {},
|
eventSink: (KnockRequestsListEvents) -> Unit = {},
|
||||||
) = KnockRequestsListState(
|
) = KnockRequestsListState(
|
||||||
knockRequests = knockRequests,
|
knockRequests = knockRequests,
|
||||||
actionTarget = actionTarget,
|
currentAction = currentAction,
|
||||||
asyncAction = asyncAction,
|
asyncAction = asyncAction,
|
||||||
permissions = permissions,
|
permissions = permissions,
|
||||||
eventSink = eventSink,
|
eventSink = eventSink,
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,7 @@ private fun KnockRequestsListContent(
|
||||||
else -> Unit
|
else -> Unit
|
||||||
}
|
}
|
||||||
KnockRequestsActionsView(
|
KnockRequestsActionsView(
|
||||||
actionTarget = state.actionTarget,
|
currentAction = state.currentAction,
|
||||||
asyncAction = state.asyncAction,
|
asyncAction = state.asyncAction,
|
||||||
onConfirm = {
|
onConfirm = {
|
||||||
state.eventSink(KnockRequestsListEvents.ConfirmCurrentAction)
|
state.eventSink(KnockRequestsListEvents.ConfirmCurrentAction)
|
||||||
|
|
@ -181,7 +181,7 @@ private fun KnockRequestsListContent(
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun KnockRequestsActionsView(
|
private fun KnockRequestsActionsView(
|
||||||
actionTarget: KnockRequestsActionTarget,
|
currentAction: KnockRequestsAction,
|
||||||
asyncAction: AsyncAction<Unit>,
|
asyncAction: AsyncAction<Unit>,
|
||||||
onConfirm: () -> Unit,
|
onConfirm: () -> Unit,
|
||||||
onDismiss: () -> Unit,
|
onDismiss: () -> Unit,
|
||||||
|
|
@ -195,20 +195,20 @@ private fun KnockRequestsActionsView(
|
||||||
onErrorDismiss = onDismiss,
|
onErrorDismiss = onDismiss,
|
||||||
confirmationDialog = {
|
confirmationDialog = {
|
||||||
KnockRequestActionConfirmation(
|
KnockRequestActionConfirmation(
|
||||||
actionTarget = actionTarget,
|
currentAction = currentAction,
|
||||||
onSubmit = onConfirm,
|
onSubmit = onConfirm,
|
||||||
onDismiss = onDismiss,
|
onDismiss = onDismiss,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
progressDialog = {
|
progressDialog = {
|
||||||
KnockRequestActionProgress(target = actionTarget)
|
KnockRequestActionProgress(target = currentAction)
|
||||||
},
|
},
|
||||||
errorMessage = {
|
errorMessage = {
|
||||||
when (actionTarget) {
|
when (currentAction) {
|
||||||
is KnockRequestsActionTarget.Accept -> stringResource(R.string.screen_knock_requests_list_accept_failed_alert_description)
|
is KnockRequestsAction.Accept -> stringResource(R.string.screen_knock_requests_list_accept_failed_alert_description)
|
||||||
is KnockRequestsActionTarget.Decline -> stringResource(R.string.screen_knock_requests_list_decline_failed_alert_description)
|
is KnockRequestsAction.Decline -> stringResource(R.string.screen_knock_requests_list_decline_failed_alert_description)
|
||||||
is KnockRequestsActionTarget.DeclineAndBan -> stringResource(R.string.screen_knock_requests_list_decline_failed_alert_description)
|
is KnockRequestsAction.DeclineAndBan -> stringResource(R.string.screen_knock_requests_list_decline_failed_alert_description)
|
||||||
KnockRequestsActionTarget.AcceptAll -> stringResource(R.string.screen_knock_requests_list_accept_all_failed_alert_description)
|
KnockRequestsAction.AcceptAll -> stringResource(R.string.screen_knock_requests_list_accept_all_failed_alert_description)
|
||||||
else -> ""
|
else -> ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -219,25 +219,25 @@ private fun KnockRequestsActionsView(
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun KnockRequestActionConfirmation(
|
private fun KnockRequestActionConfirmation(
|
||||||
actionTarget: KnockRequestsActionTarget,
|
currentAction: KnockRequestsAction,
|
||||||
onSubmit: () -> Unit,
|
onSubmit: () -> Unit,
|
||||||
onDismiss: () -> Unit,
|
onDismiss: () -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
val (title, content, submitText) = when (actionTarget) {
|
val (title, content, submitText) = when (currentAction) {
|
||||||
KnockRequestsActionTarget.AcceptAll -> Triple(
|
KnockRequestsAction.AcceptAll -> Triple(
|
||||||
stringResource(R.string.screen_knock_requests_list_accept_all_alert_title),
|
stringResource(R.string.screen_knock_requests_list_accept_all_alert_title),
|
||||||
stringResource(R.string.screen_knock_requests_list_accept_all_alert_description),
|
stringResource(R.string.screen_knock_requests_list_accept_all_alert_description),
|
||||||
stringResource(R.string.screen_knock_requests_list_accept_all_alert_confirm_button_title),
|
stringResource(R.string.screen_knock_requests_list_accept_all_alert_confirm_button_title),
|
||||||
)
|
)
|
||||||
is KnockRequestsActionTarget.Decline -> Triple(
|
is KnockRequestsAction.Decline -> Triple(
|
||||||
stringResource(R.string.screen_knock_requests_list_decline_alert_title),
|
stringResource(R.string.screen_knock_requests_list_decline_alert_title),
|
||||||
stringResource(R.string.screen_knock_requests_list_decline_alert_description, actionTarget.knockRequest.getBestName()),
|
stringResource(R.string.screen_knock_requests_list_decline_alert_description, currentAction.knockRequest.getBestName()),
|
||||||
stringResource(R.string.screen_knock_requests_list_decline_alert_confirm_button_title),
|
stringResource(R.string.screen_knock_requests_list_decline_alert_confirm_button_title),
|
||||||
)
|
)
|
||||||
is KnockRequestsActionTarget.DeclineAndBan -> Triple(
|
is KnockRequestsAction.DeclineAndBan -> Triple(
|
||||||
stringResource(R.string.screen_knock_requests_list_ban_alert_title),
|
stringResource(R.string.screen_knock_requests_list_ban_alert_title),
|
||||||
stringResource(R.string.screen_knock_requests_list_ban_alert_description, actionTarget.knockRequest.getBestName()),
|
stringResource(R.string.screen_knock_requests_list_ban_alert_description, currentAction.knockRequest.getBestName()),
|
||||||
stringResource(R.string.screen_knock_requests_list_ban_alert_confirm_button_title),
|
stringResource(R.string.screen_knock_requests_list_ban_alert_confirm_button_title),
|
||||||
)
|
)
|
||||||
else -> return
|
else -> return
|
||||||
|
|
@ -254,14 +254,14 @@ private fun KnockRequestActionConfirmation(
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun KnockRequestActionProgress(
|
private fun KnockRequestActionProgress(
|
||||||
target: KnockRequestsActionTarget,
|
target: KnockRequestsAction,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
val progressText = when (target) {
|
val progressText = when (target) {
|
||||||
is KnockRequestsActionTarget.Accept -> stringResource(R.string.screen_knock_requests_list_accept_loading_title)
|
is KnockRequestsAction.Accept -> stringResource(R.string.screen_knock_requests_list_accept_loading_title)
|
||||||
is KnockRequestsActionTarget.Decline -> stringResource(R.string.screen_knock_requests_list_decline_loading_title)
|
is KnockRequestsAction.Decline -> stringResource(R.string.screen_knock_requests_list_decline_loading_title)
|
||||||
is KnockRequestsActionTarget.DeclineAndBan -> stringResource(R.string.screen_knock_requests_list_ban_loading_title)
|
is KnockRequestsAction.DeclineAndBan -> stringResource(R.string.screen_knock_requests_list_ban_loading_title)
|
||||||
KnockRequestsActionTarget.AcceptAll -> stringResource(R.string.screen_knock_requests_list_accept_all_loading_title)
|
KnockRequestsAction.AcceptAll -> stringResource(R.string.screen_knock_requests_list_accept_all_loading_title)
|
||||||
else -> return
|
else -> return
|
||||||
}
|
}
|
||||||
ProgressDialog(
|
ProgressDialog(
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ class KnockRequestsListPresenterTest {
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
|
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.Accept(knockRequestPresentable))
|
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.Accept(knockRequestPresentable))
|
||||||
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
||||||
}
|
}
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
|
|
@ -79,7 +79,7 @@ class KnockRequestsListPresenterTest {
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.None)
|
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.None)
|
||||||
assertThat(state.knockRequests.dataOrNull().orEmpty()).isEmpty()
|
assertThat(state.knockRequests.dataOrNull().orEmpty()).isEmpty()
|
||||||
}
|
}
|
||||||
assert(acceptLambda).isCalledOnce()
|
assert(acceptLambda).isCalledOnce()
|
||||||
|
|
@ -103,7 +103,7 @@ class KnockRequestsListPresenterTest {
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
|
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.Accept(knockRequestPresentable))
|
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.Accept(knockRequestPresentable))
|
||||||
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
||||||
}
|
}
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
|
|
@ -120,7 +120,7 @@ class KnockRequestsListPresenterTest {
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.None)
|
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.None)
|
||||||
assertThat(state.knockRequests.dataOrNull()).hasSize(1)
|
assertThat(state.knockRequests.dataOrNull()).hasSize(1)
|
||||||
}
|
}
|
||||||
assert(acceptLambda).isCalledExactly(2)
|
assert(acceptLambda).isCalledExactly(2)
|
||||||
|
|
@ -144,7 +144,7 @@ class KnockRequestsListPresenterTest {
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
|
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.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(KnockRequestsListEvents.ConfirmCurrentAction)
|
||||||
}
|
}
|
||||||
|
|
@ -158,7 +158,7 @@ class KnockRequestsListPresenterTest {
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.None)
|
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.None)
|
||||||
assertThat(state.knockRequests.dataOrNull().orEmpty()).isEmpty()
|
assertThat(state.knockRequests.dataOrNull().orEmpty()).isEmpty()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -182,7 +182,7 @@ class KnockRequestsListPresenterTest {
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
|
val knockRequestPresentable = state.knockRequests.dataOrNull()?.first()!!
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.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(KnockRequestsListEvents.ConfirmCurrentAction)
|
||||||
}
|
}
|
||||||
|
|
@ -196,7 +196,7 @@ class KnockRequestsListPresenterTest {
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.None)
|
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.None)
|
||||||
assertThat(state.knockRequests.dataOrNull().orEmpty()).isEmpty()
|
assertThat(state.knockRequests.dataOrNull().orEmpty()).isEmpty()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -223,7 +223,7 @@ class KnockRequestsListPresenterTest {
|
||||||
}
|
}
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.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(KnockRequestsListEvents.ConfirmCurrentAction)
|
||||||
}
|
}
|
||||||
|
|
@ -237,7 +237,7 @@ class KnockRequestsListPresenterTest {
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.None)
|
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.None)
|
||||||
assertThat(state.knockRequests.dataOrNull().orEmpty()).isEmpty()
|
assertThat(state.knockRequests.dataOrNull().orEmpty()).isEmpty()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -265,7 +265,7 @@ class KnockRequestsListPresenterTest {
|
||||||
}
|
}
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.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(KnockRequestsListEvents.ConfirmCurrentAction)
|
||||||
}
|
}
|
||||||
|
|
@ -279,7 +279,7 @@ class KnockRequestsListPresenterTest {
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
assertThat(state.asyncAction).isInstanceOf(AsyncAction.Uninitialized::class.java)
|
||||||
assertThat(state.actionTarget).isEqualTo(KnockRequestsActionTarget.None)
|
assertThat(state.currentAction).isEqualTo(KnockRequestsAction.None)
|
||||||
assertThat(state.knockRequests.dataOrNull()).hasSize(1)
|
assertThat(state.knockRequests.dataOrNull()).hasSize(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ class KnockRequestsListViewTest {
|
||||||
aKnockRequestsListState(
|
aKnockRequestsListState(
|
||||||
knockRequests = AsyncData.Success(knockRequests),
|
knockRequests = AsyncData.Success(knockRequests),
|
||||||
asyncAction = AsyncAction.Failure(Throwable("Failed to accept all")),
|
asyncAction = AsyncAction.Failure(Throwable("Failed to accept all")),
|
||||||
actionTarget = KnockRequestsActionTarget.AcceptAll,
|
currentAction = KnockRequestsAction.AcceptAll,
|
||||||
eventSink = eventsRecorder,
|
eventSink = eventsRecorder,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
@ -125,7 +125,7 @@ class KnockRequestsListViewTest {
|
||||||
aKnockRequestsListState(
|
aKnockRequestsListState(
|
||||||
knockRequests = AsyncData.Success(knockRequests),
|
knockRequests = AsyncData.Success(knockRequests),
|
||||||
asyncAction = AsyncAction.Failure(Throwable("Failed to accept all")),
|
asyncAction = AsyncAction.Failure(Throwable("Failed to accept all")),
|
||||||
actionTarget = KnockRequestsActionTarget.AcceptAll,
|
currentAction = KnockRequestsAction.AcceptAll,
|
||||||
eventSink = eventsRecorder,
|
eventSink = eventsRecorder,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
@ -141,7 +141,7 @@ class KnockRequestsListViewTest {
|
||||||
aKnockRequestsListState(
|
aKnockRequestsListState(
|
||||||
knockRequests = AsyncData.Success(knockRequests),
|
knockRequests = AsyncData.Success(knockRequests),
|
||||||
asyncAction = AsyncAction.ConfirmingNoParams,
|
asyncAction = AsyncAction.ConfirmingNoParams,
|
||||||
actionTarget = KnockRequestsActionTarget.AcceptAll,
|
currentAction = KnockRequestsAction.AcceptAll,
|
||||||
eventSink = eventsRecorder,
|
eventSink = eventsRecorder,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue