Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(payment): PI-1558 removed googlepay buttons from checkout button registry v1 #2496

Merged
merged 2 commits into from
May 13, 2024
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
Expand Up @@ -12,7 +12,6 @@ import {
BraintreePaypalCreditButtonStrategy,
BraintreeVenmoButtonStrategy,
} from './strategies/braintree';
import { GooglePayButtonStrategy } from './strategies/googlepay';

describe('createCheckoutButtonRegistry', () => {
let registry: Registry<CheckoutButtonStrategy>;
Expand Down Expand Up @@ -45,34 +44,4 @@ describe('createCheckoutButtonRegistry', () => {
it('returns registry with Braintree Venmo registered', () => {
expect(registry.get('braintreevenmo')).toEqual(expect.any(BraintreeVenmoButtonStrategy));
});

it('returns registry with GooglePay on Authorize.Net Credit registered', () => {
expect(registry.get('googlepayauthorizenet')).toEqual(expect.any(GooglePayButtonStrategy));
});

it('returns registry with GooglePay on Bank of New Zealand Credit registered', () => {
expect(registry.get('googlepaybnz')).toEqual(expect.any(GooglePayButtonStrategy));
});

it('returns registry with GooglePay on CybersourceV2 Credit registered', () => {
expect(registry.get('googlepaycybersourcev2')).toEqual(expect.any(GooglePayButtonStrategy));
});

it('returns registry with GooglePay on Orbital Credit registered', () => {
expect(registry.get('googlepayorbital')).toEqual(expect.any(GooglePayButtonStrategy));
});

it('returns registry with GooglePay on Stripe Credit registered', () => {
expect(registry.get('googlepaystripe')).toEqual(expect.any(GooglePayButtonStrategy));
});

it('returns registry with GooglePay on StripeUPE Credit registered', () => {
expect(registry.get('googlepaystripeupe')).toEqual(expect.any(GooglePayButtonStrategy));
});

it('returns registry with GooglePay on WorldpayAccess Credit registered', () => {
expect(registry.get('googlepayworldpayaccess')).toEqual(
expect.any(GooglePayButtonStrategy),
);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,6 @@ import { ConfigActionCreator, ConfigRequestSender } from '../config';
import { FormFieldsActionCreator, FormFieldsRequestSender } from '../form';
import { PaymentMethodActionCreator, PaymentMethodRequestSender } from '../payment';
import { BraintreeSDKCreator } from '../payment/strategies/braintree';
import {
createGooglePayPaymentProcessor,
GooglePayAuthorizeNetInitializer,
GooglePayBNZInitializer,
GooglePayCheckoutcomInitializer,
GooglePayCybersourceV2Initializer,
GooglePayOrbitalInitializer,
GooglePayStripeInitializer,
GooglePayStripeUPEInitializer,
GooglePayWorldpayAccessInitializer,
} from '../payment/strategies/googlepay';
import { MasterpassScriptLoader } from '../payment/strategies/masterpass';
import { PaypalScriptLoader } from '../payment/strategies/paypal';

Expand All @@ -34,7 +23,6 @@ import {
BraintreePaypalCreditButtonStrategy,
BraintreeVenmoButtonStrategy,
} from './strategies/braintree';
import { GooglePayButtonStrategy } from './strategies/googlepay';
import { MasterpassButtonStrategy } from './strategies/masterpass';
import { PaypalButtonStrategy } from './strategies/paypal';

Expand Down Expand Up @@ -113,93 +101,6 @@ export default function createCheckoutButtonRegistry(
),
);

registry.register(
CheckoutButtonMethodType.GOOGLEPAY_AUTHORIZENET,
() =>
new GooglePayButtonStrategy(
store,
formPoster,
checkoutActionCreator,
createGooglePayPaymentProcessor(store, new GooglePayAuthorizeNetInitializer()),
cartRequestSender,
),
);

registry.register(
CheckoutButtonMethodType.GOOGLEPAY_BNZ,
() =>
new GooglePayButtonStrategy(
store,
formPoster,
checkoutActionCreator,
createGooglePayPaymentProcessor(store, new GooglePayBNZInitializer()),
cartRequestSender,
),
);

registry.register(
CheckoutButtonMethodType.GOOGLEPAY_CHECKOUTCOM,
() =>
new GooglePayButtonStrategy(
store,
formPoster,
checkoutActionCreator,
createGooglePayPaymentProcessor(
store,
new GooglePayCheckoutcomInitializer(requestSender),
),
cartRequestSender,
),
);

registry.register(
CheckoutButtonMethodType.GOOGLEPAY_CYBERSOURCEV2,
() =>
new GooglePayButtonStrategy(
store,
formPoster,
checkoutActionCreator,
createGooglePayPaymentProcessor(store, new GooglePayCybersourceV2Initializer()),
cartRequestSender,
),
);

registry.register(
CheckoutButtonMethodType.GOOGLEPAY_ORBITAL,
() =>
new GooglePayButtonStrategy(
store,
formPoster,
checkoutActionCreator,
createGooglePayPaymentProcessor(store, new GooglePayOrbitalInitializer()),
cartRequestSender,
),
);

registry.register(
CheckoutButtonMethodType.GOOGLEPAY_STRIPE,
() =>
new GooglePayButtonStrategy(
store,
formPoster,
checkoutActionCreator,
createGooglePayPaymentProcessor(store, new GooglePayStripeInitializer()),
cartRequestSender,
),
);

registry.register(
CheckoutButtonMethodType.GOOGLEPAY_STRIPEUPE,
() =>
new GooglePayButtonStrategy(
store,
formPoster,
checkoutActionCreator,
createGooglePayPaymentProcessor(store, new GooglePayStripeUPEInitializer()),
cartRequestSender,
),
);

registry.register(
CheckoutButtonMethodType.MASTERPASS,
() =>
Expand All @@ -223,17 +124,5 @@ export default function createCheckoutButtonRegistry(
),
);

registry.register(
CheckoutButtonMethodType.GOOGLEPAY_WORLDPAYACCESS,
() =>
new GooglePayButtonStrategy(
store,
formPoster,
checkoutActionCreator,
createGooglePayPaymentProcessor(store, new GooglePayWorldpayAccessInitializer()),
cartRequestSender,
),
);

return registry;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { PaymentIntegrationService } from '@bigcommerce/checkout-sdk/payment-integration-api';
import { PaymentIntegrationServiceMock } from '@bigcommerce/checkout-sdk/payment-integrations-test-utils';

import GooglePayButtonStrategy from '../../google-pay-button-strategy';

import createGooglePayAuthorizeNetButtonStrategy from './create-google-pay-authorizenet-button-strategy';

describe('createGooglePayAuthorizeNetButtonStrategy', () => {
let paymentIntegrationService: PaymentIntegrationService;

beforeEach(() => {
paymentIntegrationService = new PaymentIntegrationServiceMock();
});

it('instantiates google pay authorizenet button strategy', () => {
const strategy = createGooglePayAuthorizeNetButtonStrategy(paymentIntegrationService);

expect(strategy).toBeInstanceOf(GooglePayButtonStrategy);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { createFormPoster } from '@bigcommerce/form-poster';
import { createRequestSender } from '@bigcommerce/request-sender';

import {
CheckoutButtonStrategyFactory,
toResolvableModule,
} from '@bigcommerce/checkout-sdk/payment-integration-api';

import GooglePayAuthorizeNetGateway from '../../gateways/google-pay-authorizenet-gateway';
import GooglePayButtonStrategy from '../../google-pay-button-strategy';
import GooglePayPaymentProcessor from '../../google-pay-payment-processor';
import createGooglePayScriptLoader from '../create-google-pay-script-loader';

const createGooglePayAuthorizeNetButtonStrategy: CheckoutButtonStrategyFactory<
GooglePayButtonStrategy
> = (paymentIntegrationService) =>
new GooglePayButtonStrategy(
paymentIntegrationService,
new GooglePayPaymentProcessor(
createGooglePayScriptLoader(),
new GooglePayAuthorizeNetGateway(paymentIntegrationService),
createRequestSender(),
createFormPoster(),
),
);

export default toResolvableModule(createGooglePayAuthorizeNetButtonStrategy, [
{ id: 'googlepayauthorizenet' },
]);
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { PaymentIntegrationService } from '@bigcommerce/checkout-sdk/payment-integration-api';
import { PaymentIntegrationServiceMock } from '@bigcommerce/checkout-sdk/payment-integrations-test-utils';

import GooglePayButtonStrategy from '../../google-pay-button-strategy';

import createGooglePayCheckoutComButtonStrategy from './create-google-pay-checkoutcom-button-strategy';

describe('createGooglePayCheckoutComButtonStrategy', () => {
let paymentIntegrationService: PaymentIntegrationService;

beforeEach(() => {
paymentIntegrationService = new PaymentIntegrationServiceMock();
});

it('instantiates google pay checkoutcom button strategy', () => {
const strategy = createGooglePayCheckoutComButtonStrategy(paymentIntegrationService);

expect(strategy).toBeInstanceOf(GooglePayButtonStrategy);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import { createFormPoster } from '@bigcommerce/form-poster';
import { createRequestSender } from '@bigcommerce/request-sender';

import {
CheckoutButtonStrategyFactory,
toResolvableModule,
} from '@bigcommerce/checkout-sdk/payment-integration-api';

import GooglePayCheckoutComGateway from '../../gateways/google-pay-checkoutcom-gateway';
import GooglePayButtonStrategy from '../../google-pay-button-strategy';
import GooglePayPaymentProcessor from '../../google-pay-payment-processor';
import createGooglePayScriptLoader from '../create-google-pay-script-loader';

const createGooglePayCheckoutComButtonStrategy: CheckoutButtonStrategyFactory<
GooglePayButtonStrategy
> = (paymentIntegrationService) => {
const requestSender = createRequestSender();

return new GooglePayButtonStrategy(
paymentIntegrationService,
new GooglePayPaymentProcessor(
createGooglePayScriptLoader(),
new GooglePayCheckoutComGateway(paymentIntegrationService, requestSender),
requestSender,
createFormPoster(),
),
);
};

export default toResolvableModule(createGooglePayCheckoutComButtonStrategy, [
{ id: 'googlepaycheckoutcom' },
]);
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { PaymentIntegrationService } from '@bigcommerce/checkout-sdk/payment-integration-api';
import { PaymentIntegrationServiceMock } from '@bigcommerce/checkout-sdk/payment-integrations-test-utils';

import GooglePayButtonStrategy from '../../google-pay-button-strategy';

import createGooglePayCybersourceButtonStrategy from './create-google-pay-cybersource-button-strategy';

describe('createGooglePayCybersourceButtonStrategy', () => {
let paymentIntegrationService: PaymentIntegrationService;

beforeEach(() => {
paymentIntegrationService = new PaymentIntegrationServiceMock();
});

it('instantiates google pay cybersource button strategy', () => {
const strategy = createGooglePayCybersourceButtonStrategy(paymentIntegrationService);

expect(strategy).toBeInstanceOf(GooglePayButtonStrategy);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { createFormPoster } from '@bigcommerce/form-poster';
import { createRequestSender } from '@bigcommerce/request-sender';

import {
CheckoutButtonStrategyFactory,
toResolvableModule,
} from '@bigcommerce/checkout-sdk/payment-integration-api';

import GooglePayCybersourceGateway from '../../gateways/google-pay-cybersource-gateway';
import GooglePayButtonStrategy from '../../google-pay-button-strategy';
import GooglePayPaymentProcessor from '../../google-pay-payment-processor';
import createGooglePayScriptLoader from '../create-google-pay-script-loader';

const createGooglePayCybersourceButtonStrategy: CheckoutButtonStrategyFactory<
GooglePayButtonStrategy
> = (paymentIntegrationService) =>
new GooglePayButtonStrategy(
paymentIntegrationService,
new GooglePayPaymentProcessor(
createGooglePayScriptLoader(),
new GooglePayCybersourceGateway(paymentIntegrationService),
createRequestSender(),
createFormPoster(),
),
);

export default toResolvableModule(createGooglePayCybersourceButtonStrategy, [
{ id: 'googlepaycybersourcev2' },
{ id: 'googlepaybnz' },
]);
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { PaymentIntegrationService } from '@bigcommerce/checkout-sdk/payment-integration-api';
import { PaymentIntegrationServiceMock } from '@bigcommerce/checkout-sdk/payment-integrations-test-utils';

import GooglePayButtonStrategy from '../../google-pay-button-strategy';

import createGooglePayOrbitalButtonStrategy from './create-google-pay-orbital-button-strategy';

describe('createGooglePayOrbitalButtonStrategy', () => {
let paymentIntegrationService: PaymentIntegrationService;

beforeEach(() => {
paymentIntegrationService = new PaymentIntegrationServiceMock();
});

it('instantiates google pay orbital button strategy', () => {
const strategy = createGooglePayOrbitalButtonStrategy(paymentIntegrationService);

expect(strategy).toBeInstanceOf(GooglePayButtonStrategy);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { createFormPoster } from '@bigcommerce/form-poster';
import { createRequestSender } from '@bigcommerce/request-sender';

import {
CheckoutButtonStrategyFactory,
toResolvableModule,
} from '@bigcommerce/checkout-sdk/payment-integration-api';

import GooglePayOrbitalGateway from '../../gateways/google-pay-orbital-gateway';
import GooglePayButtonStrategy from '../../google-pay-button-strategy';
import GooglePayPaymentProcessor from '../../google-pay-payment-processor';
import createGooglePayScriptLoader from '../create-google-pay-script-loader';

const createGooglePayOrbitalButtonStrategy: CheckoutButtonStrategyFactory<
GooglePayButtonStrategy
> = (paymentIntegrationService) =>
new GooglePayButtonStrategy(
paymentIntegrationService,
new GooglePayPaymentProcessor(
createGooglePayScriptLoader(),
new GooglePayOrbitalGateway(paymentIntegrationService),
createRequestSender(),
createFormPoster(),
),
);

export default toResolvableModule(createGooglePayOrbitalButtonStrategy, [
{ id: 'googlepayorbital' },
]);
Loading