Skip to content

Commit a1912c1

Browse files
refactor(payment): Moved BT Credit card payment strategy
1 parent 6ccbf0f commit a1912c1

File tree

4 files changed

+22
-11
lines changed

4 files changed

+22
-11
lines changed

packages/braintree-integration/src/braintree-credit-card/braintree-credit-card-payment-strategy.spec.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
BraintreeFastlane,
1414
BraintreeIntegrationService,
1515
BraintreePaymentProcessor,
16-
BraintreeScriptLoader,
16+
BraintreeScriptLoader, BraintreeSDKVersionManager,
1717
getBraintree,
1818
getFastlaneMock,
1919
getHostedFieldsMock,
@@ -40,6 +40,7 @@ describe('BraintreeCreditCardPaymentStrategy', () => {
4040
let braintreeHostedForm: BraintreeHostedForm;
4141
let paymentMethod: any; // TODO: FIX
4242
let braintreeFastlaneMock: BraintreeFastlane;
43+
let braintreeSDKVersionManager: BraintreeSDKVersionManager;
4344

4445
beforeEach(() => {
4546
const methodId = 'braintree';
@@ -51,7 +52,12 @@ describe('BraintreeCreditCardPaymentStrategy', () => {
5152
shouldRunAcceleratedCheckout: true,
5253
},
5354
};
54-
braintreeScriptLoader = new BraintreeScriptLoader(getScriptLoader(), window);
55+
braintreeSDKVersionManager = new BraintreeSDKVersionManager(paymentIntegrationService);
56+
braintreeScriptLoader = new BraintreeScriptLoader(
57+
getScriptLoader(),
58+
window,
59+
braintreeSDKVersionManager,
60+
);
5561
braintreeFastlaneMock = getFastlaneMock();
5662
paymentIntegrationService = new PaymentIntegrationServiceMock();
5763
braintreeIntegrationService = new BraintreeIntegrationService(

packages/braintree-integration/src/braintree-credit-card/create-braintree-credit-card-payment-strategy.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
BraintreeIntegrationService,
66
BraintreePaymentProcessor,
77
BraintreeScriptLoader,
8+
BraintreeSDKVersionManager,
89
} from '@bigcommerce/checkout-sdk/braintree-utils';
910
import {
1011
PaymentStrategyFactory,
@@ -17,13 +18,22 @@ const createBraintreeCreditCardPaymentStrategy: PaymentStrategyFactory<
1718
BraintreeCreditCardPaymentStrategy
1819
> = (paymentIntegrationService) => {
1920
const braintreeHostWindow: BraintreeHostWindow = window;
21+
const braintreeSDKVersionManager = new BraintreeSDKVersionManager(paymentIntegrationService);
2022
const braintreeIntegrationService = new BraintreeIntegrationService(
21-
new BraintreeScriptLoader(getScriptLoader(), braintreeHostWindow),
23+
new BraintreeScriptLoader(
24+
getScriptLoader(),
25+
braintreeHostWindow,
26+
braintreeSDKVersionManager,
27+
),
2228
braintreeHostWindow,
2329
);
2430
const braintreeHostedForm = new BraintreeHostedForm(
2531
braintreeIntegrationService,
26-
new BraintreeScriptLoader(getScriptLoader(), braintreeHostWindow),
32+
new BraintreeScriptLoader(
33+
getScriptLoader(),
34+
braintreeHostWindow,
35+
braintreeSDKVersionManager,
36+
),
2737
);
2838
const braintreePaymentProcessor = new BraintreePaymentProcessor(
2939
braintreeIntegrationService,

packages/braintree-utils/src/mocks/braintree-modules.mock.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ export function getModuleCreatorMock<T>(
4343
*/
4444
export function getClientMock(): BraintreeClient {
4545
return {
46+
getVersion: jest.fn,
4647
request: jest.fn(),
4748
};
4849
}

packages/payment-integration-api/src/payment/instrument.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
1-
import { HostedInstrument, NonceInstrument } from './payment';
2-
3-
type PaymentInstrument =
4-
| CardInstrument
5-
| AccountInstrument
6-
| HostedInstrument
7-
| NonceInstrument;
1+
type PaymentInstrument = | CardInstrument | AccountInstrument;
82

93
export default PaymentInstrument;
104

0 commit comments

Comments
 (0)