Skip to content

Commit fb51ddd

Browse files
author
Sharma Elanthiriayan
committed
SimplePaymentsSummaryViewModelTests fix test_taxesToggled_event_is_tracked_after_switching_taxes_toggle test
- Mock `getSimplePaymentsTaxesToggleState` to ensure that toggle state is in stable inside the test. - Expect `simplePaymentsFlowTaxesToggled` event in received events as view model loads the toggle state during initialization. - Expect `state` `receivedProperties` to be `off` because taxes get disabled when view model loads the toggle state during initialization.
1 parent ea05a97 commit fb51ddd

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

WooCommerce/WooCommerceTests/ViewRelated/Orders/Simple Payments/SimplePaymentsSummaryViewModelTests.swift

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,18 @@ final class SimplePaymentsSummaryViewModelTests: XCTestCase {
263263

264264
func test_taxesToggled_event_is_tracked_after_switching_taxes_toggle() {
265265
// Given
266+
let mockStores = MockStoresManager(sessionManager: .testingInstance)
267+
mockStores.whenReceivingAction(ofType: AppSettingsAction.self) { action in
268+
switch action {
269+
case let .getSimplePaymentsTaxesToggleState(_, onCompletion):
270+
onCompletion(.success(false))
271+
case .setSimplePaymentsTaxesToggleState:
272+
break // No op
273+
default:
274+
XCTFail("Unexpected action: \(action)")
275+
}
276+
}
277+
266278
let mockAnalytics = MockAnalyticsProvider()
267279
let viewModel = SimplePaymentsSummaryViewModel(providedAmount: "1.0",
268280
totalWithTaxes: "1.0",
@@ -276,12 +288,14 @@ final class SimplePaymentsSummaryViewModelTests: XCTestCase {
276288

277289
// Then
278290
assertEqual(mockAnalytics.receivedEvents, [
291+
WooAnalyticsStat.simplePaymentsFlowTaxesToggled.rawValue, // Event triggered when view model loads the toggle state during initialization
279292
WooAnalyticsStat.simplePaymentsFlowTaxesToggled.rawValue, // Taxes enabled
280293
WooAnalyticsStat.simplePaymentsFlowTaxesToggled.rawValue // Taxes disabled
281294
])
282295

283-
assertEqual(mockAnalytics.receivedProperties[0]["state"] as? String, "on") // Taxes enabled
284-
assertEqual(mockAnalytics.receivedProperties[1]["state"] as? String, "off") // Taxes disabled
296+
assertEqual(mockAnalytics.receivedProperties[0]["state"] as? String, "off") // Taxes disabled when view model loads the toggle state during initialization
297+
assertEqual(mockAnalytics.receivedProperties[1]["state"] as? String, "on") // Taxes enabled due to setting `enableTaxes` as true
298+
assertEqual(mockAnalytics.receivedProperties[2]["state"] as? String, "off") // Taxes disabled due to setting `enableTaxes` as false
285299
}
286300

287301
func test_failing_event_is_tracked_when_order_fails_to_update() {

0 commit comments

Comments
 (0)