Skip to content

Commit f17fe2f

Browse files
committed
Update EditableOrderViewModelTests.swift
1 parent b435b06 commit f17fe2f

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

WooCommerce/WooCommerceTests/ViewRelated/Orders/Order Creation/EditableOrderViewModelTests.swift

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3312,6 +3312,45 @@ final class EditableOrderViewModelTests: XCTestCase {
33123312
assertEqual(customerData.billing, orderToUpdate.billingAddress)
33133313
assertEqual(customerData.shipping, orderToUpdate.shippingAddress)
33143314
}
3315+
3316+
func test_canBeDismissed_whenEditing_withNoChanges_returnsTrue() {
3317+
// Given
3318+
let initialOrder = Order.fake()
3319+
let viewModel = EditableOrderViewModel(siteID: 123, flow: .editing(initialOrder: initialOrder))
3320+
3321+
// When
3322+
viewModel.selectionSyncApproach = .onRecalculateButtonTap
3323+
viewModel.syncRequired = false
3324+
3325+
// Then
3326+
XCTAssertTrue(viewModel.canBeDismissed)
3327+
}
3328+
3329+
func test_canBeDismissed_whenEditing_withPendingRecalculation_returnsFalse() {
3330+
// Given
3331+
let initialOrder = Order.fake()
3332+
let viewModel = EditableOrderViewModel(siteID: 123, flow: .editing(initialOrder: initialOrder))
3333+
3334+
// When
3335+
viewModel.selectionSyncApproach = .onRecalculateButtonTap
3336+
viewModel.syncRequired = true
3337+
3338+
// Then
3339+
XCTAssertFalse(viewModel.canBeDismissed)
3340+
}
3341+
3342+
func test_canBeDismissed_whenEditing_withImmediateSync_returnsTrue() {
3343+
// Given
3344+
let initialOrder = Order.fake()
3345+
let viewModel = EditableOrderViewModel(siteID: 123, flow: .editing(initialOrder: initialOrder))
3346+
3347+
// When
3348+
viewModel.selectionSyncApproach = .immediate
3349+
viewModel.syncRequired = true
3350+
3351+
// Then
3352+
XCTAssertTrue(viewModel.canBeDismissed)
3353+
}
33153354
}
33163355

33173356
private extension EditableOrderViewModelTests {

0 commit comments

Comments
 (0)