From 326195714c623855ef97e485d96c8e0b9313026c Mon Sep 17 00:00:00 2001 From: Soc Sieng Date: Tue, 16 Jun 2020 17:08:39 -0700 Subject: [PATCH] feat!: remove logic to infer paymentRequest properties Related to #13 --- .../examples/DynamicPriceUpdateExample.tsx | 1 + .../src/examples/ShippingOptionsExample.tsx | 1 + src/lib/button-manager.test.ts | 3 +- src/lib/button-manager.ts | 58 ++++++++++--------- 4 files changed, 34 insertions(+), 29 deletions(-) diff --git a/examples/react/src/examples/DynamicPriceUpdateExample.tsx b/examples/react/src/examples/DynamicPriceUpdateExample.tsx index fd4af07..8b6a024 100644 --- a/examples/react/src/examples/DynamicPriceUpdateExample.tsx +++ b/examples/react/src/examples/DynamicPriceUpdateExample.tsx @@ -90,6 +90,7 @@ const paymentRequest: google.payments.api.PaymentDataRequest = { description: o.description, })), }, + shippingOptionRequired: true, callbackIntents: ['SHIPPING_ADDRESS', 'SHIPPING_OPTION'], }; diff --git a/examples/react/src/examples/ShippingOptionsExample.tsx b/examples/react/src/examples/ShippingOptionsExample.tsx index 3942fdc..9d3f144 100644 --- a/examples/react/src/examples/ShippingOptionsExample.tsx +++ b/examples/react/src/examples/ShippingOptionsExample.tsx @@ -76,6 +76,7 @@ export default (props: any) => { description: o.description, })), }, + shippingOptionRequired: true, }} onLoadPaymentData={paymentRequest => { console.log('Success', paymentRequest); diff --git a/src/lib/button-manager.test.ts b/src/lib/button-manager.test.ts index 0b327c9..6737967 100644 --- a/src/lib/button-manager.test.ts +++ b/src/lib/button-manager.test.ts @@ -25,7 +25,8 @@ const managerOptions = { softwareInfoVersion: '1.0.0', }; -describe('Apply default configuration', () => { +// TODO: #13 re-enable inferrence if/when we agree as a team +describe.skip('Apply default configuration', () => { it('maintains default request parameters', () => { const manager = new ButtonManager(managerOptions); diff --git a/src/lib/button-manager.ts b/src/lib/button-manager.ts index fd4ffc5..152024a 100644 --- a/src/lib/button-manager.ts +++ b/src/lib/button-manager.ts @@ -168,19 +168,20 @@ export class ButtonManager { merchantInfo: this.createMerchantInfo(config), }; - // infer shippingAddressRequired - if (request.shippingAddressParameters && request.shippingAddressRequired === undefined) { - request.shippingAddressRequired = true; - } + // TODO: #13 re-enable inferrence if/when we agree as a team + // // infer shippingAddressRequired + // if (request.shippingAddressParameters && request.shippingAddressRequired === undefined) { + // request.shippingAddressRequired = true; + // } - // infer shippingOptionRequired - if (request.shippingOptionParameters && request.shippingOptionRequired === undefined) { - request.shippingOptionRequired = true; + // // infer shippingOptionRequired + // if (request.shippingOptionParameters && request.shippingOptionRequired === undefined) { + // request.shippingOptionRequired = true; - if (request.shippingAddressRequired === undefined) { - request.shippingAddressRequired = true; - } - } + // if (request.shippingAddressRequired === undefined) { + // request.shippingAddressRequired = true; + // } + // } // TODO: #13 re-enable inferrence if/when we agree as a team // // infer callback intents if not set @@ -209,24 +210,25 @@ export class ButtonManager { // request.callbackIntents = intents; // } - // infer billingAddressRequired - request.allowedPaymentMethods = request.allowedPaymentMethods.map(pm => { - const paymentMethod = { - ...pm, - parameters: { - ...pm.parameters, - }, - }; - - if ( - paymentMethod.parameters.billingAddressParameters && - paymentMethod.parameters.billingAddressRequired === undefined - ) { - paymentMethod.parameters.billingAddressRequired = true; - } + // TODO: #13 re-enable inferrence if/when we agree as a team + // // infer billingAddressRequired + // request.allowedPaymentMethods = request.allowedPaymentMethods.map(pm => { + // const paymentMethod = { + // ...pm, + // parameters: { + // ...pm.parameters, + // }, + // }; + + // if ( + // paymentMethod.parameters.billingAddressParameters && + // paymentMethod.parameters.billingAddressRequired === undefined + // ) { + // paymentMethod.parameters.billingAddressRequired = true; + // } - return paymentMethod; - }); + // return paymentMethod; + // }); return request; }