Skip to content

Commit

Permalink
feat!: remove logic to infer paymentRequest properties
Browse files Browse the repository at this point in the history
Related to #13
  • Loading branch information
Soc Sieng committed Jun 17, 2020
1 parent f169e90 commit 3261957
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 29 deletions.
1 change: 1 addition & 0 deletions examples/react/src/examples/DynamicPriceUpdateExample.tsx
Expand Up @@ -90,6 +90,7 @@ const paymentRequest: google.payments.api.PaymentDataRequest = {
description: o.description,
})),
},
shippingOptionRequired: true,
callbackIntents: ['SHIPPING_ADDRESS', 'SHIPPING_OPTION'],
};

Expand Down
1 change: 1 addition & 0 deletions examples/react/src/examples/ShippingOptionsExample.tsx
Expand Up @@ -76,6 +76,7 @@ export default (props: any) => {
description: o.description,
})),
},
shippingOptionRequired: true,
}}
onLoadPaymentData={paymentRequest => {
console.log('Success', paymentRequest);
Expand Down
3 changes: 2 additions & 1 deletion src/lib/button-manager.test.ts
Expand Up @@ -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);

Expand Down
58 changes: 30 additions & 28 deletions src/lib/button-manager.ts
Expand Up @@ -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
Expand Down Expand Up @@ -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;
}
Expand Down

0 comments on commit 3261957

Please sign in to comment.