Skip to content

Commit bc2f23f

Browse files
committed
Merge branch 'trunk' into task/part-of-WOOMOB-534-remove-domain-credit-ref
2 parents 155edd3 + 222fc6f commit bc2f23f

File tree

3 files changed

+26
-44
lines changed

3 files changed

+26
-44
lines changed

WooCommerce/WooCommerceTests/Mocks/MockCardReaderSettingsAlerts.swift

Lines changed: 21 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ extension MockCardReaderSettingsAlerts: BluetoothReaderConnnectionAlertsProvidin
3434
typealias AlertDetails = CardPresentPaymentsModalViewModel
3535

3636
func scanningForReader(cancel: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
37-
if mode == .cancelScanning {
37+
switch mode {
38+
case .cancelScanning:
3839
cancel()
39-
}
40-
41-
if mode == .continueSearchingAfterConnectionFailure {
40+
case .continueSearchingAfterConnectionFailure:
4241
/// If we've already presented a found reader once before, cancel this second search
43-
///
4442
if didPresentFoundReader {
4543
cancel()
4644
}
45+
default:
46+
break
4747
}
4848

4949
return MockCardPresentPaymentsModalViewModel()
@@ -92,13 +92,7 @@ extension MockCardReaderSettingsAlerts: BluetoothReaderConnnectionAlertsProvidin
9292
func connectingFailed(error: Error,
9393
retrySearch: @escaping () -> Void,
9494
cancelSearch: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
95-
if mode == .continueSearchingAfterConnectionFailure {
96-
retrySearch()
97-
}
98-
99-
if mode == .cancelSearchingAfterConnectionFailure {
100-
cancelSearch()
101-
}
95+
retryOrCancelIfNeeded(retry: retrySearch, cancel: cancelSearch)
10296
return MockCardPresentPaymentsModalViewModel()
10397
}
10498

@@ -107,37 +101,19 @@ extension MockCardReaderSettingsAlerts: BluetoothReaderConnnectionAlertsProvidin
107101
openWCSettings: (() -> Void)?,
108102
retrySearch: @escaping () -> Void,
109103
cancelSearch: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
110-
if mode == .continueSearchingAfterConnectionFailure {
111-
retrySearch()
112-
}
113-
114-
if mode == .cancelSearchingAfterConnectionFailure {
115-
cancelSearch()
116-
}
104+
retryOrCancelIfNeeded(retry: retrySearch, cancel: cancelSearch)
117105
return MockCardPresentPaymentsModalViewModel()
118106
}
119107

120108
func connectingFailedInvalidPostalCode(retrySearch: @escaping () -> Void,
121109
cancelSearch: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
122-
if mode == .continueSearchingAfterConnectionFailure {
123-
retrySearch()
124-
}
125-
126-
if mode == .cancelSearchingAfterConnectionFailure {
127-
cancelSearch()
128-
}
110+
retryOrCancelIfNeeded(retry: retrySearch, cancel: cancelSearch)
129111
return MockCardPresentPaymentsModalViewModel()
130112
}
131113

132114
func connectingFailedCriticallyLowBattery(retrySearch: @escaping () -> Void,
133115
cancelSearch: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
134-
if mode == .continueSearchingAfterConnectionFailure {
135-
retrySearch()
136-
}
137-
138-
if mode == .cancelSearchingAfterConnectionFailure {
139-
cancelSearch()
140-
}
116+
retryOrCancelIfNeeded(retry: retrySearch, cancel: cancelSearch)
141117
return MockCardPresentPaymentsModalViewModel()
142118
}
143119

@@ -149,12 +125,7 @@ extension MockCardReaderSettingsAlerts: BluetoothReaderConnnectionAlertsProvidin
149125
func updatingFailedLowBattery(batteryLevel: Double?,
150126
retrySearch: @escaping () -> Void,
151127
close: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
152-
if mode == .continueSearchingAfterConnectionFailure {
153-
retrySearch()
154-
}
155-
if mode == .cancelSearchingAfterConnectionFailure {
156-
close()
157-
}
128+
retryOrCancelIfNeeded(retry: retrySearch, cancel: close)
158129
return MockCardPresentPaymentsModalViewModel()
159130
}
160131

@@ -188,6 +159,17 @@ extension MockCardReaderSettingsAlerts: BluetoothReaderConnnectionAlertsProvidin
188159
}
189160
return MockCardPresentPaymentsModalViewModel()
190161
}
162+
163+
private func retryOrCancelIfNeeded(retry: @escaping () -> Void, cancel: @escaping () -> Void) {
164+
switch mode {
165+
case .cancelSearchingAfterConnectionFailure:
166+
cancel()
167+
case .continueSearchingAfterConnectionFailure:
168+
retry()
169+
default:
170+
break
171+
}
172+
}
191173
}
192174

193175

WooCommerce/WooCommerceTests/UnitTests.xctestplan

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
},
6060
{
6161
"skippedTests" : [
62-
"CardReaderConnectionControllerTests",
6362
"InAppPurchaseStoreTests",
6463
"InAppPurchaseStoreTests\/test_iap_supported_in_canada()",
6564
"InAppPurchaseStoreTests\/test_iap_supported_in_us()",

WooCommerce/WooCommerceTests/ViewRelated/CardPresentPayments/CardReaderConnectionControllerTests.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,11 @@ final class CardReaderConnectionControllerTests: XCTestCase {
2222
storageManager = MockStorageManager()
2323
locationService = MockLocationService(status: .authorized)
2424

25-
let paymentGateway = storageManager.viewStorage.insertNewObject(ofType: StoragePaymentGatewayAccount.self)
26-
paymentGateway.update(with: .fake().copy(siteID: sampleSiteID, gatewayID: "woocommerce-payments", isCardPresentEligible: true))
27-
storageManager.viewStorage.saveIfNeeded()
28-
25+
storageManager.performAndSave({ [weak self] storage in
26+
guard let self else { return }
27+
let paymentGateway = storageManager.viewStorage.insertNewObject(ofType: StoragePaymentGatewayAccount.self)
28+
paymentGateway.update(with: .fake().copy(siteID: sampleSiteID, gatewayID: "woocommerce-payments", isCardPresentEligible: true))
29+
}, completion: nil, on: .main)
2930

3031
analyticsProvider = MockAnalyticsProvider()
3132
analytics = WooAnalytics(analyticsProvider: analyticsProvider)

0 commit comments

Comments
 (0)