summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/payment-handler/app-supports-shipping-contact-delegation.js
diff options
context:
space:
mode:
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.js44
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));
+});