Skip to content

Commit e4f2117

Browse files
committed
Rename OnboardingViewFactory to OnboardingViewContainer
1 parent 7037fc3 commit e4f2117

10 files changed

+35
-35
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ import Foundation
33
enum CardPresentPaymentEvent {
44
case idle
55
case show(eventDetails: CardPresentPaymentEventDetails)
6-
case showOnboarding(factory: CardPresentPaymentOnboardingViewFactory, onCancel: () -> Void)
6+
case showOnboarding(factory: CardPresentPaymentOnboardingViewContainer, onCancel: () -> Void)
77
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Foundation
22

33
enum CardPresentPaymentOnboardingPresentationEvent {
4-
case showOnboarding(factory: CardPresentPaymentOnboardingViewFactory, onCancel: () -> Void)
4+
case showOnboarding(factory: CardPresentPaymentOnboardingViewContainer, onCancel: () -> Void)
55
case onboardingComplete
66
}

WooCommerce/Classes/POS/Models/PointOfSaleAggregateModel.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ protocol PointOfSaleAggregateModelProtocol {
2323
var paymentState: PointOfSalePaymentState { get }
2424
var cardPresentPaymentAlertViewModel: PointOfSaleCardPresentPaymentAlertType? { get set }
2525
var cardPresentPaymentInlineMessage: PointOfSaleCardPresentPaymentMessageType? { get }
26-
var cardPresentPaymentOnboardingViewFactory: CardPresentPaymentOnboardingViewFactory? { get set }
26+
var cardPresentPaymentOnboardingViewContainer: CardPresentPaymentOnboardingViewContainer? { get set }
2727
func cancelCardPaymentsOnboarding()
2828
func trackCardPaymentsOnboardingShown()
2929

@@ -56,7 +56,7 @@ protocol PointOfSaleAggregateModelProtocol {
5656
private(set) var paymentState: PointOfSalePaymentState
5757
var cardPresentPaymentAlertViewModel: PointOfSaleCardPresentPaymentAlertType?
5858
private(set) var cardPresentPaymentInlineMessage: PointOfSaleCardPresentPaymentMessageType?
59-
var cardPresentPaymentOnboardingViewFactory: CardPresentPaymentOnboardingViewFactory?
59+
var cardPresentPaymentOnboardingViewContainer: CardPresentPaymentOnboardingViewContainer?
6060
private var onOnboardingCancellation: (() -> Void)?
6161

6262
private(set) var cart: Cart = .init()
@@ -454,15 +454,15 @@ extension PointOfSaleAggregateModel {
454454

455455
/// Called when the onboarding UI is dismissed.
456456
/// For external dismissal (tapping CTA to dismiss), this method is called twice - the first time to dismiss the onboarding UI
457-
/// by setting `cardPresentPaymentOnboardingViewFactory` to nil, the second time triggered by internal dismissal.
457+
/// by setting `cardPresentPaymentOnboardingViewContainer` to nil, the second time triggered by internal dismissal.
458458
/// For internal dismissal (tapping outside the modal), this method is called once.
459459
/// This method is used to reset the internal state of the onboarding UI and track the dismissal event.
460460
func cancelCardPaymentsOnboarding() {
461-
guard let onboardingViewFactory = cardPresentPaymentOnboardingViewFactory else {
461+
guard let onboardingViewContainer = cardPresentPaymentOnboardingViewContainer else {
462462
return
463463
}
464-
analytics.track(event: .PointOfSale.paymentsOnboardingDismissed(onboardingState: onboardingViewFactory.configuration.state))
465-
cardPresentPaymentOnboardingViewFactory = nil
464+
analytics.track(event: .PointOfSale.paymentsOnboardingDismissed(onboardingState: onboardingViewContainer.configuration.state))
465+
cardPresentPaymentOnboardingViewContainer = nil
466466
onOnboardingCancellation?()
467467
}
468468

@@ -528,7 +528,7 @@ private extension PointOfSaleAggregateModel {
528528
.store(in: &cancellables)
529529

530530
cardPresentPaymentService.paymentEventPublisher
531-
.map { [weak self] event -> CardPresentPaymentOnboardingViewFactory? in
531+
.map { [weak self] event -> CardPresentPaymentOnboardingViewContainer? in
532532
guard let self else { return nil }
533533
guard case let .showOnboarding(factory, onCancel) = event else {
534534
return nil
@@ -537,7 +537,7 @@ private extension PointOfSaleAggregateModel {
537537
return factory
538538
}
539539
.sink(receiveValue: { [weak self] factory in
540-
self?.cardPresentPaymentOnboardingViewFactory = factory
540+
self?.cardPresentPaymentOnboardingViewContainer = factory
541541
})
542542
.store(in: &cancellables)
543543
}

WooCommerce/Classes/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingView.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ struct PointOfSaleCardPresentPaymentOnboardingView: View {
66

77
var body: some View {
88
VStack(spacing: Constants.verticalSpacing) {
9-
AnyView(viewModel.onboardingViewFactory.view)
9+
AnyView(viewModel.onboardingViewContainer.view)
1010
// Hides the navigation bar title `navigationTitle` in `CardPresentPaymentsOnboardingView`.
1111
.toolbar(.hidden)
1212
}
@@ -36,15 +36,15 @@ private extension PointOfSaleCardPresentPaymentOnboardingView {
3636

3737
import enum Yosemite.CardPresentPaymentOnboardingState
3838

39-
final class PreviewOnboardingViewFactoryConfiguration: CardPresentPaymentsOnboardingViewConfiguration {
39+
final class PreviewOnboardingViewContainerConfiguration: CardPresentPaymentsOnboardingViewConfiguration {
4040
var showSupport: (() -> Void)?
4141
var showURL: ((URL) -> Void)?
4242
var state: CardPresentPaymentOnboardingState = .loading
4343
}
4444

4545
#Preview {
4646
PointOfSaleCardPresentPaymentOnboardingView(viewModel: .init(
47-
onboardingViewFactory: .init(configuration: PreviewOnboardingViewFactoryConfiguration()), onDismissTap: nil)
47+
onboardingViewContainer: .init(configuration: PreviewOnboardingViewContainerConfiguration()), onDismissTap: nil)
4848
)
4949
}
5050
#endif

WooCommerce/Classes/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingViewModel.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ protocol CardPresentPaymentsOnboardingViewConfiguration: ObservableObject {
88
var state: CardPresentPaymentOnboardingState { get }
99
}
1010

11-
final class CardPresentPaymentOnboardingViewFactory: ObservableObject, Equatable, Identifiable {
11+
final class CardPresentPaymentOnboardingViewContainer: ObservableObject, Equatable, Identifiable {
1212
@Published var configuration: any CardPresentPaymentsOnboardingViewConfiguration
1313
@Published var view: any View
1414

@@ -17,22 +17,22 @@ final class CardPresentPaymentOnboardingViewFactory: ObservableObject, Equatable
1717
self.view = view
1818
}
1919

20-
static func == (lhs: CardPresentPaymentOnboardingViewFactory, rhs: CardPresentPaymentOnboardingViewFactory) -> Bool {
20+
static func == (lhs: CardPresentPaymentOnboardingViewContainer, rhs: CardPresentPaymentOnboardingViewContainer) -> Bool {
2121
lhs.configuration.state == rhs.configuration.state
2222
}
2323
}
2424

2525
final class PointOfSaleCardPresentPaymentOnboardingViewModel: ObservableObject {
2626
@Published var onboardingURL: URL?
27-
@Published var onboardingViewFactory: CardPresentPaymentOnboardingViewFactory
27+
@Published var onboardingViewContainer: CardPresentPaymentOnboardingViewContainer
2828

2929
private let onDismissTap: (() -> Void)?
3030

31-
init(onboardingViewFactory: CardPresentPaymentOnboardingViewFactory,
31+
init(onboardingViewContainer: CardPresentPaymentOnboardingViewContainer,
3232
onDismissTap: (() -> Void)?) {
33-
self.onboardingViewFactory = onboardingViewFactory
33+
self.onboardingViewContainer = onboardingViewContainer
3434
self.onDismissTap = onDismissTap
35-
self.onboardingViewFactory.configuration.showURL = { [weak self] url in
35+
self.onboardingViewContainer.configuration.showURL = { [weak self] url in
3636
self?.onboardingURL = url
3737
}
3838
}

WooCommerce/Classes/POS/Presentation/PointOfSaleDashboardView.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ struct PointOfSaleDashboardView: View {
109109
.animation(.easeInOut, value: viewState == .loading)
110110
.background(Color.posSurface)
111111
.navigationBarBackButtonHidden(true)
112-
.posModal(item: $posModel.cardPresentPaymentOnboardingViewFactory, onDismiss: {
112+
.posModal(item: $posModel.cardPresentPaymentOnboardingViewContainer, onDismiss: {
113113
posModel.cancelCardPaymentsOnboarding()
114114
}) { factory in
115115
paymentsOnboardingView(from: factory)
@@ -207,13 +207,13 @@ private extension PointOfSaleDashboardView {
207207
SafariView(url: POSConstants.URLs.pointOfSaleDocumentation.asURL())
208208
}
209209

210-
func paymentsOnboardingView(from factory: CardPresentPaymentOnboardingViewFactory) -> some View {
210+
func paymentsOnboardingView(from factory: CardPresentPaymentOnboardingViewContainer) -> some View {
211211
factory.configuration.showSupport = { [weak posModel] in
212212
posModel?.cancelCardPaymentsOnboarding()
213213
showSupport = true
214214
}
215215

216-
return PointOfSaleCardPresentPaymentOnboardingView(viewModel: .init(onboardingViewFactory: factory,
216+
return PointOfSaleCardPresentPaymentOnboardingView(viewModel: .init(onboardingViewContainer: factory,
217217
onDismissTap: {
218218
posModel.cancelCardPaymentsOnboarding()
219219
}))

WooCommerce/WooCommerceTests/POS/Mocks/MockOnboardingViewFactoryConfiguration.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import Foundation
22
import enum Yosemite.CardPresentPaymentOnboardingState
33
@testable import WooCommerce
44

5-
class MockOnboardingViewFactoryConfiguration: CardPresentPaymentsOnboardingViewConfiguration {
5+
class MockOnboardingViewContainerConfiguration: CardPresentPaymentsOnboardingViewConfiguration {
66
var showSupport: (() -> Void)?
77
var showURL: ((URL) -> Void)?
88
var state: CardPresentPaymentOnboardingState = .loading

WooCommerce/WooCommerceTests/POS/Mocks/MockPointOfSaleAggregateModel.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ final class MockPointOfSaleAggregateModel: PointOfSaleAggregateModelProtocol {
1717

1818
var cardPresentPaymentInlineMessage: WooCommerce.PointOfSaleCardPresentPaymentMessageType?
1919

20-
var cardPresentPaymentOnboardingViewFactory: WooCommerce.CardPresentPaymentOnboardingViewFactory?
20+
var cardPresentPaymentOnboardingViewContainer: WooCommerce.CardPresentPaymentOnboardingViewContainer?
2121

2222
func cancelCardPaymentsOnboarding() { }
2323

WooCommerce/WooCommerceTests/POS/Models/PointOfSaleAggregateModelTests.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -707,24 +707,24 @@ struct PointOfSaleAggregateModelTests {
707707
}
708708

709709
// MARK: Onboarding
710-
@Test func cardPresentPaymentOnboardingViewFactory_is_non_nil_when_onboarding_is_required() async throws {
710+
@Test func cardPresentPaymentOnboardingViewContainer_is_non_nil_when_onboarding_is_required() async throws {
711711
// Given
712712
let itemsController = MockPointOfSaleItemsController()
713713
let sut = makePointOfSaleAggregateModel(
714714
itemsController: itemsController,
715715
cardPresentPaymentService: cardPresentPaymentService,
716716
orderController: orderController)
717-
let configuration = MockOnboardingViewFactoryConfiguration()
717+
let configuration = MockOnboardingViewContainerConfiguration()
718718
configuration.state = .pluginNotActivated(plugin: .stripe)
719-
let factory = CardPresentPaymentOnboardingViewFactory.init(configuration: configuration)
719+
let factory = CardPresentPaymentOnboardingViewContainer.init(configuration: configuration)
720720
cardPresentPaymentService.paymentEvent = .idle
721-
try #require(sut.cardPresentPaymentOnboardingViewFactory == nil)
721+
try #require(sut.cardPresentPaymentOnboardingViewContainer == nil)
722722

723723
// When
724724
cardPresentPaymentService.paymentEvent = .showOnboarding(factory: factory, onCancel: {})
725725

726726
// Then
727-
#expect(sut.cardPresentPaymentOnboardingViewFactory?.configuration.state == .pluginNotActivated(plugin: .stripe))
727+
#expect(sut.cardPresentPaymentOnboardingViewContainer?.configuration.state == .pluginNotActivated(plugin: .stripe))
728728
}
729729

730730
@Test func connectionSuccessAlert_is_filtered_when_waiting_to_start_payment_on_card_reader_connection() async throws {
@@ -798,9 +798,9 @@ struct PointOfSaleAggregateModelTests {
798798

799799
sut.addToCart(makePurchasableItem())
800800

801-
let configuration = MockOnboardingViewFactoryConfiguration()
801+
let configuration = MockOnboardingViewContainerConfiguration()
802802
configuration.state = .noConnectionError
803-
let factory = CardPresentPaymentOnboardingViewFactory.init(configuration: configuration)
803+
let factory = CardPresentPaymentOnboardingViewContainer.init(configuration: configuration)
804804

805805
cardPresentPaymentService.paymentEvent = .showOnboarding(factory: factory, onCancel: {})
806806

WooCommerce/WooCommerceTests/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingViewModelTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ final class PointOfSaleCardPresentPaymentOnboardingViewModelTests: XCTestCase {
66
func test_onDismissTap_is_invoked_when_cancelOnboarding_is_called() throws {
77
// Given
88
var isDismissTapInvoked = false
9-
let configuration = MockOnboardingViewFactoryConfiguration()
9+
let configuration = MockOnboardingViewContainerConfiguration()
1010
let sut = PointOfSaleCardPresentPaymentOnboardingViewModel(
11-
onboardingViewFactory: .init(configuration: configuration),
11+
onboardingViewContainer: .init(configuration: configuration),
1212
onDismissTap: {
1313
isDismissTapInvoked = true
1414
})
@@ -22,9 +22,9 @@ final class PointOfSaleCardPresentPaymentOnboardingViewModelTests: XCTestCase {
2222

2323
func test_onboardingURL_is_set_when_onboarding_vm_showURL_is_invoked() throws {
2424
// Given
25-
let configuration = MockOnboardingViewFactoryConfiguration()
25+
let configuration = MockOnboardingViewContainerConfiguration()
2626
let sut = PointOfSaleCardPresentPaymentOnboardingViewModel(
27-
onboardingViewFactory: .init(configuration: configuration),
27+
onboardingViewContainer: .init(configuration: configuration),
2828
onDismissTap: nil)
2929
XCTAssertNil(sut.onboardingURL)
3030

0 commit comments

Comments
 (0)