Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,16 @@ extension MockCardReaderSettingsAlerts: BluetoothReaderConnnectionAlertsProvidin
typealias AlertDetails = CardPresentPaymentsModalViewModel

func scanningForReader(cancel: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
if mode == .cancelScanning {
switch mode {
case .cancelScanning:
cancel()
}

if mode == .continueSearchingAfterConnectionFailure {
case .continueSearchingAfterConnectionFailure:
/// If we've already presented a found reader once before, cancel this second search
///
if didPresentFoundReader {
cancel()
}
default:
break
}

return MockCardPresentPaymentsModalViewModel()
Expand Down Expand Up @@ -92,13 +92,7 @@ extension MockCardReaderSettingsAlerts: BluetoothReaderConnnectionAlertsProvidin
func connectingFailed(error: Error,
retrySearch: @escaping () -> Void,
cancelSearch: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
if mode == .continueSearchingAfterConnectionFailure {
retrySearch()
}

if mode == .cancelSearchingAfterConnectionFailure {
cancelSearch()
}
retryOrCancelIfNeeded(retry: retrySearch, cancel: cancelSearch)
return MockCardPresentPaymentsModalViewModel()
}

Expand All @@ -107,37 +101,19 @@ extension MockCardReaderSettingsAlerts: BluetoothReaderConnnectionAlertsProvidin
openWCSettings: (() -> Void)?,
retrySearch: @escaping () -> Void,
cancelSearch: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
if mode == .continueSearchingAfterConnectionFailure {
retrySearch()
}

if mode == .cancelSearchingAfterConnectionFailure {
cancelSearch()
}
retryOrCancelIfNeeded(retry: retrySearch, cancel: cancelSearch)
return MockCardPresentPaymentsModalViewModel()
}

func connectingFailedInvalidPostalCode(retrySearch: @escaping () -> Void,
cancelSearch: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
if mode == .continueSearchingAfterConnectionFailure {
retrySearch()
}

if mode == .cancelSearchingAfterConnectionFailure {
cancelSearch()
}
retryOrCancelIfNeeded(retry: retrySearch, cancel: cancelSearch)
return MockCardPresentPaymentsModalViewModel()
}

func connectingFailedCriticallyLowBattery(retrySearch: @escaping () -> Void,
cancelSearch: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
if mode == .continueSearchingAfterConnectionFailure {
retrySearch()
}

if mode == .cancelSearchingAfterConnectionFailure {
cancelSearch()
}
retryOrCancelIfNeeded(retry: retrySearch, cancel: cancelSearch)
return MockCardPresentPaymentsModalViewModel()
}

Expand All @@ -149,12 +125,7 @@ extension MockCardReaderSettingsAlerts: BluetoothReaderConnnectionAlertsProvidin
func updatingFailedLowBattery(batteryLevel: Double?,
retrySearch: @escaping () -> Void,
close: @escaping () -> Void) -> CardPresentPaymentsModalViewModel {
if mode == .continueSearchingAfterConnectionFailure {
retrySearch()
}
if mode == .cancelSearchingAfterConnectionFailure {
close()
}
retryOrCancelIfNeeded(retry: retrySearch, cancel: close)
return MockCardPresentPaymentsModalViewModel()
}

Expand Down Expand Up @@ -188,6 +159,17 @@ extension MockCardReaderSettingsAlerts: BluetoothReaderConnnectionAlertsProvidin
}
return MockCardPresentPaymentsModalViewModel()
}

private func retryOrCancelIfNeeded(retry: @escaping () -> Void, cancel: @escaping () -> Void) {
switch mode {
case .cancelSearchingAfterConnectionFailure:
cancel()
case .continueSearchingAfterConnectionFailure:
retry()
default:
break
}
}
}


Expand Down
1 change: 0 additions & 1 deletion WooCommerce/WooCommerceTests/UnitTests.xctestplan
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
},
{
"skippedTests" : [
"CardReaderConnectionControllerTests",
"InAppPurchaseStoreTests",
"InAppPurchaseStoreTests\/test_iap_supported_in_canada()",
"InAppPurchaseStoreTests\/test_iap_supported_in_us()",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,11 @@ final class CardReaderConnectionControllerTests: XCTestCase {
storageManager = MockStorageManager()
locationService = MockLocationService(status: .authorized)

let paymentGateway = storageManager.viewStorage.insertNewObject(ofType: StoragePaymentGatewayAccount.self)
paymentGateway.update(with: .fake().copy(siteID: sampleSiteID, gatewayID: "woocommerce-payments", isCardPresentEligible: true))
storageManager.viewStorage.saveIfNeeded()

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

analyticsProvider = MockAnalyticsProvider()
analytics = WooAnalytics(analyticsProvider: analyticsProvider)
Expand Down