File tree Expand file tree Collapse file tree 4 files changed +7
-6
lines changed
main/kotlin/com/woocommerce/android/ui/bookings/details
test/kotlin/com/woocommerce/android/ui/bookings/details Expand file tree Collapse file tree 4 files changed +7
-6
lines changed Original file line number Diff line number Diff line change @@ -46,7 +46,6 @@ fun BookingDetailsScreen(
4646 BookingDetailsScreen (
4747 viewState = it,
4848 onBack = onBack,
49- onAttendanceStatusSelected = viewModel::onAttendanceStatusSelected,
5049 onViewOrder = onViewOrder,
5150 )
5251 }
@@ -56,7 +55,6 @@ fun BookingDetailsScreen(
5655fun BookingDetailsScreen (
5756 viewState : BookingDetailsViewState ,
5857 onBack : () -> Unit ,
59- onAttendanceStatusSelected : (AttendanceStatus ) -> Unit ,
6058 onViewOrder : (Long ) -> Unit ,
6159) {
6260 val showAttendanceSheet = remember { mutableStateOf(false ) }
@@ -110,7 +108,7 @@ fun BookingDetailsScreen(
110108 if (showAttendanceSheet.value) {
111109 BookingAttendanceStatusBottomSheet (
112110 onSelect = { status ->
113- onAttendanceStatusSelected(status)
111+ viewState. onAttendanceStatusSelected(status)
114112 },
115113 onDismiss = { showAttendanceSheet.value = false }
116114 )
@@ -143,7 +141,6 @@ private fun BookingDetailsPreview() {
143141 )
144142 ),
145143 onBack = {},
146- onAttendanceStatusSelected = {},
147144 onViewOrder = {}
148145 )
149146 }
Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ class BookingDetailsViewModel @Inject constructor(
2727 onMarkAsPaid = ::onMarkAsPaid,
2828 onMarkAsRefunded = ::onMarkAsRefunded,
2929 onCancelBooking = ::onCancelBooking,
30+ onAttendanceStatusSelected = ::onAttendanceStatusSelected,
3031 )
3132 )
3233 val state: LiveData <BookingDetailsViewState > = _state .asLiveData()
@@ -39,7 +40,7 @@ class BookingDetailsViewModel @Inject constructor(
3940 }
4041 }
4142
42- fun onAttendanceStatusSelected (status : AttendanceStatus ) {
43+ private fun onAttendanceStatusSelected (status : AttendanceStatus ) {
4344 _state .update { current ->
4445 current.copy(
4546 bookingSummary = current.bookingSummary.copy(attendanceStatus = status)
Original file line number Diff line number Diff line change @@ -44,4 +44,5 @@ data class BookingDetailsViewState(
4444 val onMarkAsPaid : () -> Unit = {},
4545 val onMarkAsRefunded : () -> Unit = {},
4646 val onCancelBooking : () -> Unit = {},
47+ val onAttendanceStatusSelected : (AttendanceStatus ) -> Unit = { _ -> }
4748)
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ package com.woocommerce.android.ui.bookings.details
22
33import androidx.lifecycle.SavedStateHandle
44import com.woocommerce.android.R
5+ import com.woocommerce.android.util.getOrAwaitValue
56import com.woocommerce.android.viewmodel.BaseUnitTest
67import com.woocommerce.android.viewmodel.ResourceProvider
78import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -41,7 +42,8 @@ class BookingDetailsViewModelTest : BaseUnitTest() {
4142 val viewModel = createViewModel(savedState, resourceProvider)
4243
4344 // When
44- viewModel.onAttendanceStatusSelected(com.woocommerce.android.ui.bookings.compose.AttendanceStatus .CANCELLED )
45+ val state = viewModel.state.getOrAwaitValue()
46+ state.onAttendanceStatusSelected(com.woocommerce.android.ui.bookings.compose.AttendanceStatus .CANCELLED )
4547
4648 // Then
4749 val updated = viewModel.state.value?.bookingSummary?.attendanceStatus
You can’t perform that action at this time.
0 commit comments