diff options
Diffstat (limited to 'testing/web-platform/tests/payment-handler/app-supports-shipping-contact-delegation.js')
-rw-r--r-- | testing/web-platform/tests/payment-handler/app-supports-shipping-contact-delegation.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/testing/web-platform/tests/payment-handler/app-supports-shipping-contact-delegation.js b/testing/web-platform/tests/payment-handler/app-supports-shipping-contact-delegation.js new file mode 100644 index 0000000000..770e2de64f --- /dev/null +++ b/testing/web-platform/tests/payment-handler/app-supports-shipping-contact-delegation.js @@ -0,0 +1,44 @@ +self.addEventListener('canmakepayment', (event) => { + event.respondWith(true); +}); + +function responder(event) { + const methodName = event.methodData[0].supportedMethods; + const shippingOption = event.paymentOptions.requestShipping + ? event.shippingOptions[0].id + : ''; + const payerName = + event.paymentOptions.requestPayerName ? 'John Smith' : ''; + const payerEmail = + event.paymentOptions.requestPayerEmail ? 'smith@gmail.com' : ''; + const payerPhone = + event.paymentOptions.requestPayerPhone ? '+15555555555' : ''; + const shippingAddress = event.paymentOptions.requestShipping ? { + addressLine: [ + '1875 Explorer St #1000', + ], + city: 'Reston', + country: 'US', + dependentLocality: '', + organization: 'Google', + phone: '+15555555555', + postalCode: '20190', + recipient: 'John Smith', + region: 'VA', + sortingCode: '', + } : {}; + + return { + methodName, + details: { token: '123456789'}, + payerName, + payerEmail, + payerPhone, + shippingAddress, + shippingOption + }; +} + +self.addEventListener('paymentrequest', (event) => { + event.respondWith(responder(event)); +}); |