Skip to content

Commit f698908

Browse files
author
Luis Sanchez
committed
feat(payment): CHECKOUT-2926 Register Square Payment Strategy
1 parent 954d801 commit f698908

File tree

2 files changed

+24
-12
lines changed

2 files changed

+24
-12
lines changed

src/payment/create-payment-strategy-registry.spec.js

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
PaypalExpressPaymentStrategy,
1616
PaypalProPaymentStrategy,
1717
SagePayPaymentStrategy,
18+
SquarePaymentStrategy,
1819
} from './strategies';
1920

2021
describe('CreatePaymentStrategyRegistry', () => {
@@ -31,62 +32,67 @@ describe('CreatePaymentStrategyRegistry', () => {
3132
expect(registry).toEqual(expect.any(PaymentStrategyRegistry));
3233
});
3334

34-
it('can instanciate amazon', () => {
35+
it('can instantiate amazon', () => {
3536
const paymentStrategy = registry.get('amazon');
3637
expect(paymentStrategy).toBeInstanceOf(AmazonPayPaymentStrategy);
3738
});
3839

39-
it('can instanciate afterpay', () => {
40+
it('can instantiate afterpay', () => {
4041
const paymentStrategy = registry.get('afterpay');
4142
expect(paymentStrategy).toBeInstanceOf(AfterpayPaymentStrategy);
4243
});
4344

44-
it('can instanciate creditcard', () => {
45+
it('can instantiate creditcard', () => {
4546
const paymentStrategy = registry.get('creditcard');
4647
expect(paymentStrategy).toBeInstanceOf(CreditCardPaymentStrategy);
4748
});
4849

49-
it('can instanciate klarna', () => {
50+
it('can instantiate klarna', () => {
5051
const paymentStrategy = registry.get('klarna');
5152
expect(paymentStrategy).toBeInstanceOf(KlarnaPaymentStrategy);
5253
});
5354

54-
it('can instanciate legacy', () => {
55+
it('can instantiate legacy', () => {
5556
const paymentStrategy = registry.get('legacy');
5657
expect(paymentStrategy).toBeInstanceOf(LegacyPaymentStrategy);
5758
});
5859

59-
it('can instanciate offline', () => {
60+
it('can instantiate offline', () => {
6061
const paymentStrategy = registry.get('offline');
6162
expect(paymentStrategy).toBeInstanceOf(OfflinePaymentStrategy);
6263
});
6364

64-
it('can instanciate offsite', () => {
65+
it('can instantiate offsite', () => {
6566
const paymentStrategy = registry.get('offsite');
6667
expect(paymentStrategy).toBeInstanceOf(OffsitePaymentStrategy);
6768
});
6869

69-
it('can instanciate paypal', () => {
70+
it('can instantiate paypal', () => {
7071
const paymentStrategy = registry.get('paypal');
7172
expect(paymentStrategy).toBeInstanceOf(PaypalProPaymentStrategy);
7273
});
7374

74-
it('can instanciate paypalexpress', () => {
75+
it('can instantiate paypalexpress', () => {
7576
const paymentStrategy = registry.get('paypalexpress');
7677
expect(paymentStrategy).toBeInstanceOf(PaypalExpressPaymentStrategy);
7778
});
7879

79-
it('can instanciate paypalexpresscredit', () => {
80+
it('can instantiate paypalexpresscredit', () => {
8081
const paymentStrategy = registry.get('paypalexpresscredit');
8182
expect(paymentStrategy).toBeInstanceOf(PaypalExpressPaymentStrategy);
8283
});
8384

84-
it('can instanciate sagepay', () => {
85+
it('can instantiate sagepay', () => {
8586
const paymentStrategy = registry.get('sagepay');
8687
expect(paymentStrategy).toBeInstanceOf(SagePayPaymentStrategy);
8788
});
8889

89-
it('can instanciate nopaymentdatarequired', () => {
90+
it('can instantiate square', () => {
91+
const paymentStrategy = registry.get('square');
92+
expect(paymentStrategy).toBeInstanceOf(SquarePaymentStrategy);
93+
});
94+
95+
it('can instantiate nopaymentdatarequired', () => {
9096
const paymentStrategy = registry.get('nopaymentdatarequired');
9197
expect(paymentStrategy).toBeInstanceOf(NoPaymentDataRequiredPaymentStrategy);
9298
});

src/payment/create-payment-strategy-registry.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,11 @@ import {
2727
PaypalExpressPaymentStrategy,
2828
PaypalProPaymentStrategy,
2929
SagePayPaymentStrategy,
30+
SquarePaymentStrategy,
3031
WepayPaymentStrategy,
3132
} from './strategies';
3233
import { createBraintreePaymentProcessor } from './strategies/braintree';
34+
import { SquareScriptLoader } from './strategies/square';
3335

3436
export default function createPaymentStrategyRegistry(
3537
store: CheckoutStore,
@@ -95,6 +97,10 @@ export default function createPaymentStrategyRegistry(
9597
new SagePayPaymentStrategy(store, placeOrderService, createFormPoster())
9698
);
9799

100+
registry.register('square', () =>
101+
new SquarePaymentStrategy(store, placeOrderService, new SquareScriptLoader(scriptLoader))
102+
);
103+
98104
registry.register('nopaymentdatarequired', () =>
99105
new NoPaymentDataRequiredPaymentStrategy(store, placeOrderService)
100106
);

0 commit comments

Comments
 (0)