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
@@ -1,7 +1,7 @@
import protocol WooFoundation.Analytics
import Yosemite

final class POSCollectOrderPaymentAnalytics: CollectOrderPaymentAnalyticsTracking {
final class POSCollectOrderPaymentAnalytics: POSCollectOrderPaymentAnalyticsTracking {
var connectedReaderModel: String?

private var customerInteractionStarted: Double = 0
Expand Down Expand Up @@ -126,15 +126,3 @@ private extension POSCollectOrderPaymentAnalytics {
resetProcessingPaymentTracking()
}
}

// Protocol conformance. These events are not needed for IPP, only for POS.
// https://github.com/woocommerce/woocommerce-ios/issues/15149
extension CollectOrderPaymentAnalytics {
func trackCustomerInteractionStarted() { }
func trackOrderSyncSuccess() { }
func trackCardReaderReady() { }
func trackCardReaderTapped() { }
func trackCheckoutTapped() { }
func resetCheckoutTapCountTracker() { }
func trackSuccessfulCashPayment() { }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
protocol POSCollectOrderPaymentAnalyticsTracking: CollectOrderPaymentAnalyticsTracking {
func trackCustomerInteractionStarted()
func trackOrderSyncSuccess()
func trackCardReaderReady()
func trackCardReaderTapped()
func trackCheckoutTapped()
func resetCheckoutTapCountTracker()
func trackSuccessfulCashPayment()
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ protocol PointOfSaleAggregateModelProtocol {
private let cardPresentPaymentService: CardPresentPaymentFacade
private let orderController: PointOfSaleOrderControllerProtocol
private let analytics: Analytics
private let collectOrderPaymentAnalyticsTracker: CollectOrderPaymentAnalyticsTracking
private let collectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking

private var startPaymentOnCardReaderConnection: AnyCancellable?
private var cardReaderDisconnection: AnyCancellable?
Expand All @@ -73,7 +73,7 @@ protocol PointOfSaleAggregateModelProtocol {
cardPresentPaymentService: CardPresentPaymentFacade,
orderController: PointOfSaleOrderControllerProtocol,
analytics: Analytics = ServiceLocator.analytics,
collectOrderPaymentAnalyticsTracker: CollectOrderPaymentAnalyticsTracking,
collectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking,
paymentState: PointOfSalePaymentState = .card(.idle)) {
self.itemsController = itemsController
self.cardPresentPaymentService = cardPresentPaymentService
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ struct PointOfSaleEntryPointView: View {
onPointOfSaleModeActiveStateChange: @escaping ((Bool) -> Void),
cardPresentPaymentService: CardPresentPaymentFacade,
orderController: PointOfSaleOrderControllerProtocol,
collectOrderPaymentAnalyticsTracker: CollectOrderPaymentAnalyticsTracking) {
collectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking) {
self.onPointOfSaleModeActiveStateChange = onPointOfSaleModeActiveStateChange

let posModel = PointOfSaleAggregateModel(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,6 @@ protocol CollectOrderPaymentAnalyticsTracking {
func trackReceiptPrintCanceled()

func trackReceiptPrintFailed(error: Error)

func trackCustomerInteractionStarted()
func trackOrderSyncSuccess()
func trackCardReaderReady()
func trackCardReaderTapped()
func trackCheckoutTapped()
func resetCheckoutTapCountTracker()
func trackSuccessfulCashPayment()
}

final class CollectOrderPaymentAnalytics: CollectOrderPaymentAnalyticsTracking {
Expand Down
8 changes: 8 additions & 0 deletions WooCommerce/WooCommerce.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1629,6 +1629,8 @@
68E952D22875A44B0095A23D /* CardReaderType+Manual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E952D12875A44B0095A23D /* CardReaderType+Manual.swift */; };
68ED2BD62ADD2C8C00ECA88D /* LineDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68ED2BD52ADD2C8C00ECA88D /* LineDetailView.swift */; };
68F151E12C0DA7910082AEC8 /* CartItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F151E02C0DA7910082AEC8 /* CartItem.swift */; };
68F68A502D6730E200BB9568 /* POSCollectOrderPaymentAnalyticsTracking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F68A4F2D6730DF00BB9568 /* POSCollectOrderPaymentAnalyticsTracking.swift */; };
68F68A522D67365900BB9568 /* MockPOSCollectOrderPaymentAnalyticsTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F68A512D67365900BB9568 /* MockPOSCollectOrderPaymentAnalyticsTracker.swift */; };
68F896422D5E4323000B308B /* POSCollectOrderPaymentAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F896412D5E4321000B308B /* POSCollectOrderPaymentAnalytics.swift */; };
740382DB2267D94100A627F4 /* LargeImageTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740382D92267D94100A627F4 /* LargeImageTableViewCell.swift */; };
740382DC2267D94100A627F4 /* LargeImageTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 740382DA2267D94100A627F4 /* LargeImageTableViewCell.xib */; };
Expand Down Expand Up @@ -4782,6 +4784,8 @@
68E952D12875A44B0095A23D /* CardReaderType+Manual.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CardReaderType+Manual.swift"; sourceTree = "<group>"; };
68ED2BD52ADD2C8C00ECA88D /* LineDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LineDetailView.swift; sourceTree = "<group>"; };
68F151E02C0DA7910082AEC8 /* CartItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CartItem.swift; sourceTree = "<group>"; };
68F68A4F2D6730DF00BB9568 /* POSCollectOrderPaymentAnalyticsTracking.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSCollectOrderPaymentAnalyticsTracking.swift; sourceTree = "<group>"; };
68F68A512D67365900BB9568 /* MockPOSCollectOrderPaymentAnalyticsTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockPOSCollectOrderPaymentAnalyticsTracker.swift; sourceTree = "<group>"; };
68F896412D5E4321000B308B /* POSCollectOrderPaymentAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSCollectOrderPaymentAnalytics.swift; sourceTree = "<group>"; };
6A58DEEBCA91CDE69F439754 /* Pods_Woo_Watch_App.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Woo_Watch_App.framework; sourceTree = BUILT_PRODUCTS_DIR; };
6DC4526F9A7357761197EBF0 /* Pods_WooCommerceTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WooCommerceTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
Expand Down Expand Up @@ -7729,6 +7733,7 @@
200BA15A2CF0A2130006DC5B /* MockPointOfSaleItemsService.swift */,
20FCBCE22CE24F5D0082DCA3 /* MockPointOfSaleAggregateModel.swift */,
207D2D222CFDCCBF00F79204 /* MockPOSOrderableItem.swift */,
68F68A512D67365900BB9568 /* MockPOSCollectOrderPaymentAnalyticsTracker.swift */,
);
path = Mocks;
sourceTree = "<group>";
Expand All @@ -7746,6 +7751,7 @@
02D1D2D82CD3CD710069A93F /* Analytics */ = {
isa = PBXGroup;
children = (
68F68A4F2D6730DF00BB9568 /* POSCollectOrderPaymentAnalyticsTracking.swift */,
68F896412D5E4321000B308B /* POSCollectOrderPaymentAnalytics.swift */,
02D1D2D92CD3CD8D0069A93F /* WooAnalyticsEvent+PointOfSale.swift */,
);
Expand Down Expand Up @@ -16167,6 +16173,7 @@
203163AF2C1C5C6B001C96DA /* PointOfSaleCardPresentPaymentConnectingFailedUpdateAddressAlertViewModel.swift in Sources */,
EE45E2BF2A409E250085F227 /* UIColor+Tooltip.swift in Sources */,
B5FD111621D3F13700560344 /* BordersView.swift in Sources */,
68F68A502D6730E200BB9568 /* POSCollectOrderPaymentAnalyticsTracking.swift in Sources */,
68E674AF2A4DACD50034BA1E /* UpgradeTopBarView.swift in Sources */,
0262DA5B23A244830029AF30 /* Product+ShippingSettingsViewModels.swift in Sources */,
02D29A8E29F7C26000473D6D /* InputAccessoryView.swift in Sources */,
Expand Down Expand Up @@ -17351,6 +17358,7 @@
20FCBCDF2CE241810082DCA3 /* PointOfSaleAggregateModelTests.swift in Sources */,
03D7985C2A94EC7700809B0E /* MockCollectOrderPaymentAnalyticsTracker.swift in Sources */,
021E2A2023AA274700B1DE07 /* ProductBackordersSettingListSelectorCommandTests.swift in Sources */,
68F68A522D67365900BB9568 /* MockPOSCollectOrderPaymentAnalyticsTracker.swift in Sources */,
0235BFDB246E99A700778909 /* ProductFormActionsFactory+NonEmptyBottomSheetActionsTests.swift in Sources */,
DE7B17F52C0DF02800A6C7D8 /* InboxEligibilityUseCaseTests.swift in Sources */,
020BE76723B49FE9007FE54C /* AztecBoldFormatBarCommandTests.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,33 +53,4 @@ final class MockCollectOrderPaymentAnalyticsTracker: CollectOrderPaymentAnalytic
func trackReceiptPrintFailed(error: Error) {
// no-op
}

func trackCustomerInteractionStarted() {
// no-op
}

func trackOrderSyncSuccess() {
// no-op
}

func trackCardReaderReady() {
// no-op
}

func trackCardReaderTapped() {
// no-op
}

var didCallTrackCheckoutTapped = false
func trackCheckoutTapped() {
didCallTrackCheckoutTapped = true
}

func resetCheckoutTapCountTracker() {
// no-op
}

func trackSuccessfulCashPayment() {
// no-op
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
@testable import WooCommerce
import struct Yosemite.PaymentIntent

final class MockPOSCollectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking {
var didCallTrackCheckoutTapped = false

func trackCustomerInteractionStarted() {
// no-op
}

func trackOrderSyncSuccess() {
// no-op
}

func trackCardReaderReady() {
// no-op
}

func trackCardReaderTapped() {
// no-op
}

func trackCheckoutTapped() {
didCallTrackCheckoutTapped = true
}

func resetCheckoutTapCountTracker() {
// no-op
}

func trackSuccessfulCashPayment() {
// no-op
}

var connectedReaderModel: String?

func preflightResultReceived(_ result: WooCommerce.CardReaderPreflightResult?) {
// no-op
}

func trackProcessingCompletion(intent: Yosemite.PaymentIntent) {
// no-op
}

func trackSuccessfulCardPayment(capturedPaymentData: WooCommerce.CardPresentCapturedPaymentData) {
// no-op
}

func trackPaymentFailure(with error: any Error) {
// no-op
}

func trackPaymentCancelation(cancelationSource: WooCommerce.WooAnalyticsEvent.InPersonPayments.CancellationSource) {
// no-op
}

func trackEmailTapped() {
// no-op
}

func trackReceiptPrintTapped() {
// no-op
}

func trackReceiptPrintSuccess() {
// no-op
}

func trackReceiptPrintCanceled() {
// no-op
}

func trackReceiptPrintFailed(error: any Error) {
// no-op
}
}
Loading
Loading