Skip to content

Commit 94eae8e

Browse files
committed
DI POSCollectOrderPaymentAnalytics through card reader service
1 parent f346fac commit 94eae8e

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,15 @@ final class CardPresentPaymentCollectOrderPaymentUseCaseAdaptor {
1111
private let currencyFormatter: CurrencyFormatter
1212
@Published private var latestPaymentEvent: CardPresentPaymentEvent = .idle
1313
private let stores: StoresManager
14+
private let collectOrderPaymentAnalyticsTracker: CollectOrderPaymentAnalyticsTracking
1415

1516
init(currencyFormatter: CurrencyFormatter = .init(currencySettings: ServiceLocator.currencySettings),
1617
paymentEventPublisher: AnyPublisher<CardPresentPaymentEvent, Never>,
17-
stores: StoresManager = ServiceLocator.stores) {
18+
stores: StoresManager = ServiceLocator.stores,
19+
collectOrderPaymentAnalyticsTracker: CollectOrderPaymentAnalyticsTracking) {
1820
self.currencyFormatter = currencyFormatter
1921
self.stores = stores
22+
self.collectOrderPaymentAnalyticsTracker = collectOrderPaymentAnalyticsTracker
2023
paymentEventPublisher.assign(to: &$latestPaymentEvent)
2124
}
2225

@@ -52,7 +55,7 @@ final class CardPresentPaymentCollectOrderPaymentUseCaseAdaptor {
5255
tapToPayAlertsProvider: CardPresentPaymentsTransactionAlertsProvider(),
5356
bluetoothAlertsProvider: CardPresentPaymentsTransactionAlertsProvider(),
5457
preflightController: preflightController,
55-
analyticsTracker: POSCollectOrderPaymentAnalytics())
58+
analyticsTracker: collectOrderPaymentAnalyticsTracker)
5659

5760
return try await withTaskCancellationHandler {
5861
return try await withCheckedThrowingContinuation { continuation in

WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentService.swift

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ final class CardPresentPaymentService: CardPresentPaymentFacade {
2525

2626
private let siteID: Int64
2727
private let stores: StoresManager
28+
private let collectOrderPaymentAnalyticsTracker: CollectOrderPaymentAnalyticsTracking
2829

2930
private var cardPresentPaymentsConfiguration: CardPresentPaymentsConfiguration {
3031
CardPresentConfigurationLoader().configuration
@@ -33,13 +34,14 @@ final class CardPresentPaymentService: CardPresentPaymentFacade {
3334
private var paymentTask: Task<CardPresentPaymentAdaptedCollectOrderPaymentResult, Error>?
3435

3536
@MainActor
36-
init(siteID: Int64, stores: StoresManager = ServiceLocator.stores) async {
37+
init(siteID: Int64, stores: StoresManager = ServiceLocator.stores, collectOrderPaymentAnalyticsTracker: CollectOrderPaymentAnalyticsTracking) async {
3738
self.siteID = siteID
3839
let onboardingAdaptor = CardPresentPaymentsOnboardingPresenterAdaptor()
3940
self.onboardingAdaptor = onboardingAdaptor
4041
let paymentAlertsPresenterAdaptor = CardPresentPaymentsAlertPresenterAdaptor()
4142
self.paymentAlertsPresenterAdaptor = paymentAlertsPresenterAdaptor
4243
self.stores = stores
44+
self.collectOrderPaymentAnalyticsTracker = collectOrderPaymentAnalyticsTracker
4345

4446
connectionControllerManager = CardPresentPaymentsConnectionControllerManager(
4547
siteID: siteID,
@@ -138,7 +140,9 @@ final class CardPresentPaymentService: CardPresentPaymentFacade {
138140

139141
// TODO: Update the connected reader subject when we get a connection here.
140142

141-
let paymentTask = CardPresentPaymentCollectOrderPaymentUseCaseAdaptor(paymentEventPublisher: paymentEventPublisher).collectPaymentTask(
143+
let paymentTask = CardPresentPaymentCollectOrderPaymentUseCaseAdaptor(paymentEventPublisher: paymentEventPublisher,
144+
collectOrderPaymentAnalyticsTracker: collectOrderPaymentAnalyticsTracker
145+
).collectPaymentTask(
142146
for: order,
143147
using: connectionMethod,
144148
siteID: siteID,

WooCommerce/Classes/ViewRelated/Hub Menu/HubMenuViewModel.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,9 @@ private extension HubMenuViewModel {
288288
private extension HubMenuViewModel {
289289
func createCardPresentPaymentService() {
290290
Task {
291-
self.cardPresentPaymentService = await CardPresentPaymentService(siteID: siteID)
291+
let collectOrderPaymentAnalyticsTracking = POSCollectOrderPaymentAnalytics()
292+
self.cardPresentPaymentService = await CardPresentPaymentService(siteID: siteID,
293+
collectOrderPaymentAnalyticsTracker: collectOrderPaymentAnalyticsTracking)
292294
}
293295
}
294296

0 commit comments

Comments
 (0)