@internetarchive/donation-form 1.0.2 → 1.0.3-alpha-webdev7960.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/LICENSE +661 -661
  2. package/README.md +115 -115
  3. package/dist/demo/braintree-endpoint-manager.js.map +1 -1
  4. package/dist/demo/demo-analytics-handler.js.map +1 -1
  5. package/dist/demo/submit-form-with.js.map +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/src/braintree-manager/braintree-interfaces.js.map +1 -1
  8. package/dist/src/braintree-manager/braintree-manager.js.map +1 -1
  9. package/dist/src/braintree-manager/payment-clients.js.map +1 -1
  10. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.js.map +1 -1
  11. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.js.map +1 -1
  12. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.js.map +1 -1
  13. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.js.map +1 -1
  14. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.js.map +1 -1
  15. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.js.map +1 -1
  16. package/dist/src/braintree-manager/payment-providers/credit-card/credit-card-interface.js.map +1 -1
  17. package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.js.map +1 -1
  18. package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.js.map +1 -1
  19. package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.js.map +1 -1
  20. package/dist/src/braintree-manager/payment-providers/google-pay-interface.js.map +1 -1
  21. package/dist/src/braintree-manager/payment-providers/google-pay.js.map +1 -1
  22. package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.js.map +1 -1
  23. package/dist/src/braintree-manager/payment-providers/paypal/paypal-interface.js.map +1 -1
  24. package/dist/src/braintree-manager/payment-providers/paypal/paypal.js.map +1 -1
  25. package/dist/src/braintree-manager/payment-providers/venmo-interface.js.map +1 -1
  26. package/dist/src/braintree-manager/payment-providers/venmo.js.map +1 -1
  27. package/dist/src/braintree-manager/payment-providers-interface.js.map +1 -1
  28. package/dist/src/braintree-manager/payment-providers.js.map +1 -1
  29. package/dist/src/donation-form-controller.js +123 -123
  30. package/dist/src/donation-form-controller.js.map +1 -1
  31. package/dist/src/donation-form-error.js.map +1 -1
  32. package/dist/src/donation-form.js +107 -107
  33. package/dist/src/donation-form.js.map +1 -1
  34. package/dist/src/form-elements/badged-input.js +47 -47
  35. package/dist/src/form-elements/badged-input.js.map +1 -1
  36. package/dist/src/form-elements/contact-form/autocomplete-field-options.js.map +1 -1
  37. package/dist/src/form-elements/contact-form/contact-form.js +157 -157
  38. package/dist/src/form-elements/contact-form/contact-form.js.map +1 -1
  39. package/dist/src/form-elements/contact-form/countries.js.map +1 -1
  40. package/dist/src/form-elements/header/donation-form-header.js +14 -14
  41. package/dist/src/form-elements/header/donation-form-header.js.map +1 -1
  42. package/dist/src/form-elements/header/donation-summary.js +15 -15
  43. package/dist/src/form-elements/header/donation-summary.js.map +1 -1
  44. package/dist/src/form-elements/payment-selector.js +164 -164
  45. package/dist/src/form-elements/payment-selector.js.map +1 -1
  46. package/dist/src/form-elements/total-amount.js +16 -16
  47. package/dist/src/form-elements/total-amount.js.map +1 -1
  48. package/dist/src/modals/confirm-donation-modal-content.js +51 -51
  49. package/dist/src/modals/confirm-donation-modal-content.js.map +1 -1
  50. package/dist/src/modals/error-modal-content.js +22 -22
  51. package/dist/src/modals/error-modal-content.js.map +1 -1
  52. package/dist/src/modals/upsell-modal-content.js +182 -182
  53. package/dist/src/modals/upsell-modal-content.js.map +1 -1
  54. package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js +20 -20
  55. package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js.map +1 -1
  56. package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.js.map +1 -1
  57. package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.js.map +1 -1
  58. package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js.map +1 -1
  59. package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js.map +1 -1
  60. package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.js.map +1 -1
  61. package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.js.map +1 -1
  62. package/dist/src/payment-flow-handlers/payment-flow-handlers.js.map +1 -1
  63. package/dist/src/recaptcha-manager/recaptcha-manager.js.map +1 -1
  64. package/dist/src/util/promisedSleep.js.map +1 -1
  65. package/dist/test/helpers/fillInContactForm.js.map +1 -1
  66. package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.js.map +1 -1
  67. package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.js.map +1 -1
  68. package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.js.map +1 -1
  69. package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.js.map +1 -1
  70. package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.js.map +1 -1
  71. package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js.map +1 -1
  72. package/dist/test/mocks/mock-braintree-manager.js.map +1 -1
  73. package/dist/test/mocks/mock-donation-info.js.map +1 -1
  74. package/dist/test/mocks/mock-endpoint-manager.js.map +1 -1
  75. package/dist/test/mocks/mock-hosted-fields-config.js.map +1 -1
  76. package/dist/test/mocks/mock-hosted-fields-container.js.map +1 -1
  77. package/dist/test/mocks/mock-lazy-loader.js.map +1 -1
  78. package/dist/test/mocks/mock-modal-manager.js.map +1 -1
  79. package/dist/test/mocks/mock-payment-clients.js.map +1 -1
  80. package/dist/test/mocks/mock-paypal-button-renderer.js.map +1 -1
  81. package/dist/test/mocks/mock-recaptcha-manager.js.map +1 -1
  82. package/dist/test/mocks/models/mock-billing-info.js.map +1 -1
  83. package/dist/test/mocks/models/mock-custom-fields.js.map +1 -1
  84. package/dist/test/mocks/models/mock-customer-info.js.map +1 -1
  85. package/dist/test/mocks/models/mock-donation-request.js.map +1 -1
  86. package/dist/test/mocks/models/mock-success-response.js.map +1 -1
  87. package/dist/test/mocks/payment-clients/mock-applepay-client.js.map +1 -1
  88. package/dist/test/mocks/payment-clients/mock-applepay-payment.js.map +1 -1
  89. package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js.map +1 -1
  90. package/dist/test/mocks/payment-clients/mock-applepay-session.js.map +1 -1
  91. package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js.map +1 -1
  92. package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.js.map +1 -1
  93. package/dist/test/mocks/payment-clients/mock-braintree-client.js.map +1 -1
  94. package/dist/test/mocks/payment-clients/mock-data-collector.js.map +1 -1
  95. package/dist/test/mocks/payment-clients/mock-googlepay-client.js.map +1 -1
  96. package/dist/test/mocks/payment-clients/mock-googlepay-library.js.map +1 -1
  97. package/dist/test/mocks/payment-clients/mock-grecaptcha.js.map +1 -1
  98. package/dist/test/mocks/payment-clients/mock-hostedfields-client.js.map +1 -1
  99. package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.js.map +1 -1
  100. package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.js.map +1 -1
  101. package/dist/test/mocks/payment-clients/mock-paypal-client.js.map +1 -1
  102. package/dist/test/mocks/payment-clients/mock-paypal-library.js.map +1 -1
  103. package/dist/test/mocks/payment-clients/mock-venmo-client.js.map +1 -1
  104. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.js.map +1 -1
  105. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.js.map +1 -1
  106. package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js.map +1 -1
  107. package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.js.map +1 -1
  108. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.js.map +1 -1
  109. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js.map +1 -1
  110. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.js.map +1 -1
  111. package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.js.map +1 -1
  112. package/dist/test/mocks/payment-providers/mock-payment-providers.js.map +1 -1
  113. package/dist/test/tests/braintree-manager.test.js.map +1 -1
  114. package/dist/test/tests/donation-form-controller.test.js +39 -39
  115. package/dist/test/tests/donation-form-controller.test.js.map +1 -1
  116. package/dist/test/tests/donation-form.test.js +4 -4
  117. package/dist/test/tests/donation-form.test.js.map +1 -1
  118. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js +14 -14
  119. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js.map +1 -1
  120. package/dist/test/tests/form-elements/donation-summary.test.js.map +1 -1
  121. package/dist/test/tests/form-elements/payment-selector.test.js.map +1 -1
  122. package/dist/test/tests/modals/error-modal-content.test.js +2 -2
  123. package/dist/test/tests/modals/error-modal-content.test.js.map +1 -1
  124. package/dist/test/tests/modals/upsell-modal-content.test.js +31 -31
  125. package/dist/test/tests/modals/upsell-modal-content.test.js.map +1 -1
  126. package/dist/test/tests/models/donation-payment-info.test.js.map +1 -1
  127. package/dist/test/tests/payment-clients.test.js.map +1 -1
  128. package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js.map +1 -1
  129. package/dist/test/tests/payment-providers/applepay-sessionmanager.test.js.map +1 -1
  130. package/dist/test/tests/payment-providers/applepay.test.js.map +1 -1
  131. package/dist/test/tests/payment-providers/creditcard.test.js.map +1 -1
  132. package/dist/test/tests/payment-providers/googlepay.test.js.map +1 -1
  133. package/dist/test/tests/payment-providers/payment-providers.test.js.map +1 -1
  134. package/dist/test/tests/payment-providers/paypal-button-datasource.test.js.map +1 -1
  135. package/dist/test/tests/payment-providers/paypal.test.js.map +1 -1
  136. package/dist/test/tests/payment-providers/venmo.test.js.map +1 -1
  137. package/dist/test/tests/recaptcha-manager.test.js.map +1 -1
  138. package/package.json +107 -107
  139. package/src/@types/analytics-handler/index.d.ts +8 -8
  140. package/src/@types/braintree-web/LICENSE +21 -21
  141. package/src/@types/braintree-web/index.d.ts +93 -93
  142. package/src/@types/braintree-web/modules/american-express.d.ts +50 -50
  143. package/src/@types/braintree-web/modules/apple-pay.d.ts +213 -213
  144. package/src/@types/braintree-web/modules/client.d.ts +103 -103
  145. package/src/@types/braintree-web/modules/core.d.ts +34 -34
  146. package/src/@types/braintree-web/modules/data-collector.d.ts +13 -13
  147. package/src/@types/braintree-web/modules/google-payment.d.ts +269 -269
  148. package/src/@types/braintree-web/modules/hosted-fields.d.ts +366 -366
  149. package/src/@types/braintree-web/modules/paypal-checkout.d.ts +262 -262
  150. package/src/@types/braintree-web/modules/paypal.d.ts +177 -177
  151. package/src/@types/braintree-web/modules/three-d-secure.d.ts +141 -141
  152. package/src/@types/braintree-web/modules/unionpay.d.ts +224 -224
  153. package/src/@types/braintree-web/modules/us-bank-account.d.ts +81 -81
  154. package/src/@types/braintree-web/modules/venmo.d.ts +110 -110
  155. package/src/@types/braintree-web/package.json +64 -64
  156. package/src/@types/paypal-checkout-components/LICENSE +21 -21
  157. package/src/@types/paypal-checkout-components/index.d.ts +67 -67
  158. package/src/@types/paypal-checkout-components/modules/button.d.ts +50 -50
  159. package/src/@types/paypal-checkout-components/modules/callback-data.d.ts +244 -244
  160. package/src/@types/paypal-checkout-components/modules/configuration.d.ts +114 -114
  161. package/src/@types/paypal-checkout-components/package.json +58 -58
  162. package/src/braintree-manager/braintree-interfaces.ts +172 -172
  163. package/src/braintree-manager/braintree-manager.ts +281 -281
  164. package/src/braintree-manager/payment-clients.ts +146 -146
  165. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.ts +13 -13
  166. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.ts +8 -8
  167. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.ts +10 -10
  168. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.ts +119 -119
  169. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.ts +21 -21
  170. package/src/braintree-manager/payment-providers/apple-pay/apple-pay.ts +97 -97
  171. package/src/braintree-manager/payment-providers/credit-card/credit-card-interface.ts +21 -21
  172. package/src/braintree-manager/payment-providers/credit-card/credit-card.ts +130 -130
  173. package/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.ts +19 -19
  174. package/src/braintree-manager/payment-providers/credit-card/hosted-field-container.ts +85 -85
  175. package/src/braintree-manager/payment-providers/google-pay-interface.ts +8 -8
  176. package/src/braintree-manager/payment-providers/google-pay.ts +59 -59
  177. package/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.ts +218 -218
  178. package/src/braintree-manager/payment-providers/paypal/paypal-interface.ts +13 -13
  179. package/src/braintree-manager/payment-providers/paypal/paypal.ts +78 -78
  180. package/src/braintree-manager/payment-providers/venmo-interface.ts +8 -8
  181. package/src/braintree-manager/payment-providers/venmo.ts +67 -67
  182. package/src/braintree-manager/payment-providers-interface.ts +25 -25
  183. package/src/braintree-manager/payment-providers.ts +147 -147
  184. package/src/donation-form-controller.ts +623 -623
  185. package/src/donation-form-error.ts +6 -6
  186. package/src/donation-form.ts +576 -576
  187. package/src/form-elements/badged-input.ts +109 -109
  188. package/src/form-elements/contact-form/autocomplete-field-options.ts +63 -63
  189. package/src/form-elements/contact-form/contact-form.ts +434 -434
  190. package/src/form-elements/contact-form/countries.ts +252 -252
  191. package/src/form-elements/header/donation-form-header.ts +98 -98
  192. package/src/form-elements/header/donation-summary.ts +61 -61
  193. package/src/form-elements/payment-selector.ts +365 -365
  194. package/src/form-elements/total-amount.ts +46 -46
  195. package/src/modals/confirm-donation-modal-content.ts +168 -168
  196. package/src/modals/error-modal-content.ts +48 -48
  197. package/src/modals/upsell-modal-content.ts +284 -284
  198. package/src/payment-flow-handlers/donation-flow-modal-manager.ts +439 -439
  199. package/src/payment-flow-handlers/handlers/applepay-flow-handler.ts +109 -109
  200. package/src/payment-flow-handlers/handlers/creditcard-flow-handler.ts +232 -232
  201. package/src/payment-flow-handlers/handlers/googlepay-flow-handler.ts +111 -111
  202. package/src/payment-flow-handlers/handlers/paypal-flow-handler.ts +331 -331
  203. package/src/payment-flow-handlers/handlers/venmo-flow-handler.ts +119 -119
  204. package/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.ts +127 -127
  205. package/src/payment-flow-handlers/payment-flow-handlers.ts +218 -218
  206. package/src/recaptcha-manager/recaptcha-manager.ts +123 -123
  207. package/src/util/promisedSleep.ts +3 -3
  208. package/dist/demo/app-root.d.ts +0 -0
  209. package/dist/demo/app-root.js +0 -2
  210. package/dist/demo/app-root.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"applepay.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/applepay.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { expect } from '@open-wc/testing';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { ApplePayHandler } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay';\nimport { MockApplePayClient } from '../../mocks/payment-clients/mock-applepay-client';\nimport { MockApplePaySessionManager } from '../../mocks/payment-clients/mock-applepay-sessionmanager';\nimport { PromisedSingleton } from '@internetarchive/promised-singleton';\nimport { MockDonationInfo } from '../../mocks/mock-donation-info';\n\ndescribe('ApplePayHandler', () => {\n describe('isAvailable', () => {\n it('returns true if the browser is supported', async () => {\n const braintreeManager = new MockBraintreeManager();\n const applePayClient = new MockApplePayClient();\n const sessionManager = new MockApplePaySessionManager({\n canMakePayments: true,\n });\n const handler = new ApplePayHandler({\n braintreeManager: braintreeManager,\n applePayClient: applePayClient,\n applePaySessionManager: sessionManager,\n });\n const supported = await handler.isAvailable();\n expect(supported).to.be.true;\n });\n\n it('returns false if the browser is not supported', async () => {\n const braintreeManager = new MockBraintreeManager();\n const applePayClient = new MockApplePayClient();\n const sessionManager = new MockApplePaySessionManager({\n canMakePayments: false,\n });\n const handler = new ApplePayHandler({\n braintreeManager: braintreeManager,\n applePayClient: applePayClient,\n applePaySessionManager: sessionManager,\n });\n const supported = await handler.isAvailable();\n expect(supported).to.be.false;\n });\n\n it('returns false if there was an error', async () => {\n const braintreeManager = new MockBraintreeManager();\n const applePayClient = new MockApplePayClient();\n const sessionManager = new MockApplePaySessionManager({\n canMakePayments: true, // should be true, but will be short circuited by the rejection\n });\n const instancePromisedSingleton = new PromisedSingleton<any>({\n generator: (): Promise<any> =>\n new Promise((resolve, reject) => {\n reject();\n }),\n });\n const handler = new ApplePayHandler({\n braintreeManager: braintreeManager,\n applePayClient: applePayClient,\n applePaySessionManager: sessionManager,\n instancePromisedSingleton: instancePromisedSingleton,\n });\n const supported = await handler.isAvailable();\n expect(supported).to.be.false;\n });\n });\n\n describe('createPaymentRequest', () => {\n it('creates a datasource properly', async () => {\n const braintreeManager = new MockBraintreeManager();\n const applePayClient = new MockApplePayClient();\n const sessionManager = new MockApplePaySessionManager({\n canMakePayments: true,\n });\n const handler = new ApplePayHandler({\n braintreeManager: braintreeManager,\n applePayClient: applePayClient,\n applePaySessionManager: sessionManager,\n });\n const event = new Event('boop');\n const datasource = await handler.createPaymentRequest(event, new MockDonationInfo());\n expect(datasource.donationInfo.amount).to.equal(new MockDonationInfo().amount);\n });\n });\n});\n"]}
1
+ {"version":3,"file":"applepay.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/applepay.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { expect } from '@open-wc/testing';\r\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\r\nimport { ApplePayHandler } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay';\r\nimport { MockApplePayClient } from '../../mocks/payment-clients/mock-applepay-client';\r\nimport { MockApplePaySessionManager } from '../../mocks/payment-clients/mock-applepay-sessionmanager';\r\nimport { PromisedSingleton } from '@internetarchive/promised-singleton';\r\nimport { MockDonationInfo } from '../../mocks/mock-donation-info';\r\n\r\ndescribe('ApplePayHandler', () => {\r\n describe('isAvailable', () => {\r\n it('returns true if the browser is supported', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const applePayClient = new MockApplePayClient();\r\n const sessionManager = new MockApplePaySessionManager({\r\n canMakePayments: true,\r\n });\r\n const handler = new ApplePayHandler({\r\n braintreeManager: braintreeManager,\r\n applePayClient: applePayClient,\r\n applePaySessionManager: sessionManager,\r\n });\r\n const supported = await handler.isAvailable();\r\n expect(supported).to.be.true;\r\n });\r\n\r\n it('returns false if the browser is not supported', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const applePayClient = new MockApplePayClient();\r\n const sessionManager = new MockApplePaySessionManager({\r\n canMakePayments: false,\r\n });\r\n const handler = new ApplePayHandler({\r\n braintreeManager: braintreeManager,\r\n applePayClient: applePayClient,\r\n applePaySessionManager: sessionManager,\r\n });\r\n const supported = await handler.isAvailable();\r\n expect(supported).to.be.false;\r\n });\r\n\r\n it('returns false if there was an error', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const applePayClient = new MockApplePayClient();\r\n const sessionManager = new MockApplePaySessionManager({\r\n canMakePayments: true, // should be true, but will be short circuited by the rejection\r\n });\r\n const instancePromisedSingleton = new PromisedSingleton<any>({\r\n generator: (): Promise<any> =>\r\n new Promise((resolve, reject) => {\r\n reject();\r\n }),\r\n });\r\n const handler = new ApplePayHandler({\r\n braintreeManager: braintreeManager,\r\n applePayClient: applePayClient,\r\n applePaySessionManager: sessionManager,\r\n instancePromisedSingleton: instancePromisedSingleton,\r\n });\r\n const supported = await handler.isAvailable();\r\n expect(supported).to.be.false;\r\n });\r\n });\r\n\r\n describe('createPaymentRequest', () => {\r\n it('creates a datasource properly', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const applePayClient = new MockApplePayClient();\r\n const sessionManager = new MockApplePaySessionManager({\r\n canMakePayments: true,\r\n });\r\n const handler = new ApplePayHandler({\r\n braintreeManager: braintreeManager,\r\n applePayClient: applePayClient,\r\n applePaySessionManager: sessionManager,\r\n });\r\n const event = new Event('boop');\r\n const datasource = await handler.createPaymentRequest(event, new MockDonationInfo());\r\n expect(datasource.donationInfo.amount).to.equal(new MockDonationInfo().amount);\r\n });\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"creditcard.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/creditcard.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { MockHostedFieldsClient } from '../../mocks/payment-clients/mock-hostedfields-client';\nimport { mockHostedFieldTokenizePayload } from '../../mocks/payment-clients/mock-hostedfieldtokenizepayload';\nimport { CreditCardHandler } from '../../../src/braintree-manager/payment-providers/credit-card/credit-card';\nimport { MockHostedFieldContainer } from '../../mocks/mock-hosted-fields-container';\nimport { HostedFieldConfiguration } from '../../../src/braintree-manager/payment-providers/credit-card/hosted-field-configuration';\nimport Sinon from 'sinon';\nimport {\n mockHostedFieldStyle,\n mockHostedFieldFieldOptions,\n mockHostedFieldConfig,\n} from '../../mocks/mock-hosted-fields-config';\n\nconst sandbox = Sinon.createSandbox();\n\ndescribe('CreditCardHandler', () => {\n afterEach(() => {\n sandbox.restore();\n });\n\n it('can tokenize the hosted fields', async () => {\n const braintreeManager = new MockBraintreeManager();\n const client = new MockHostedFieldsClient({\n mockHostedFieldTokenizePayload: mockHostedFieldTokenizePayload,\n });\n\n const handler = new CreditCardHandler({\n braintreeManager: braintreeManager,\n hostedFieldClient: client,\n hostedFieldConfig: mockHostedFieldConfig,\n });\n\n const payload = await handler.tokenizeHostedFields();\n\n expect(payload?.nonce).to.equal(mockHostedFieldTokenizePayload.nonce);\n });\n\n it('can mark field errors', async () => {\n const braintreeManager = new MockBraintreeManager();\n const client = new MockHostedFieldsClient();\n const mockHostedFieldContainer = new MockHostedFieldContainer();\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\n hostedFieldStyle: mockHostedFieldStyle,\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\n hostedFieldContainer: mockHostedFieldContainer,\n });\n const handler = new CreditCardHandler({\n braintreeManager: braintreeManager,\n hostedFieldClient: client,\n hostedFieldConfig: mockHostedFieldConfig,\n });\n handler.markFieldErrors([]);\n expect(mockHostedFieldContainer.markErrorsCalled).to.be.true;\n });\n\n it('can remove field errors', async () => {\n const braintreeManager = new MockBraintreeManager();\n const client = new MockHostedFieldsClient();\n const mockHostedFieldContainer = new MockHostedFieldContainer();\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\n hostedFieldStyle: mockHostedFieldStyle,\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\n hostedFieldContainer: mockHostedFieldContainer,\n });\n const handler = new CreditCardHandler({\n braintreeManager: braintreeManager,\n hostedFieldClient: client,\n hostedFieldConfig: mockHostedFieldConfig,\n });\n handler.removeFieldErrors([]);\n expect(mockHostedFieldContainer.removeErrorsCalled).to.be.true;\n });\n\n it('can show the error message', async () => {\n const braintreeManager = new MockBraintreeManager();\n const client = new MockHostedFieldsClient();\n const mockHostedFieldContainer = new MockHostedFieldContainer();\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\n hostedFieldStyle: mockHostedFieldStyle,\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\n hostedFieldContainer: mockHostedFieldContainer,\n });\n const handler = new CreditCardHandler({\n braintreeManager: braintreeManager,\n hostedFieldClient: client,\n hostedFieldConfig: mockHostedFieldConfig,\n });\n handler.showErrorMessage();\n expect(mockHostedFieldContainer.showErrorMessageCalled).to.be.true;\n });\n\n it('can hide the error message', async () => {\n const braintreeManager = new MockBraintreeManager();\n const client = new MockHostedFieldsClient();\n const mockHostedFieldContainer = new MockHostedFieldContainer();\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\n hostedFieldStyle: mockHostedFieldStyle,\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\n hostedFieldContainer: mockHostedFieldContainer,\n });\n const handler = new CreditCardHandler({\n braintreeManager: braintreeManager,\n hostedFieldClient: client,\n hostedFieldConfig: mockHostedFieldConfig,\n });\n handler.hideErrorMessage();\n expect(mockHostedFieldContainer.hideErrorMessageCalled).to.be.true;\n });\n\n it('retries the expected number of times before failure', async () => {\n const braintreeManager = new MockBraintreeManager();\n const client = new MockHostedFieldsClient();\n\n let retryCount = 0;\n Sinon.stub(client, 'create').callsFake(() => {\n retryCount++;\n throw new Error('Error');\n });\n\n const mockHostedFieldContainer = new MockHostedFieldContainer();\n const hostedFieldsSpy = Sinon.spy(mockHostedFieldContainer, 'resetHostedFields');\n\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\n hostedFieldStyle: mockHostedFieldStyle,\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\n hostedFieldContainer: mockHostedFieldContainer,\n });\n const handler = new CreditCardHandler({\n braintreeManager: braintreeManager,\n hostedFieldClient: client,\n hostedFieldConfig: mockHostedFieldConfig,\n maxRetryCount: 3,\n loadTimeout: 0.01,\n });\n\n try {\n await handler.instance.get();\n expect.fail('Should have thrown an error');\n } catch (e) {}\n\n // initial call + 3 retries\n expect(retryCount).to.equal(4);\n expect(hostedFieldsSpy.callCount).to.equal(4);\n });\n\n it('retries creating the hosted fields if they fail', async () => {\n const braintreeManager = new MockBraintreeManager();\n const client = new MockHostedFieldsClient();\n\n let retryCount = 0;\n Sinon.stub(client, 'create').callsFake(() => {\n if (retryCount < 2) {\n retryCount++;\n throw new Error('Error');\n }\n return Promise.resolve(client);\n });\n\n const mockHostedFieldContainer = new MockHostedFieldContainer();\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\n hostedFieldStyle: mockHostedFieldStyle,\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\n hostedFieldContainer: mockHostedFieldContainer,\n });\n const handler = new CreditCardHandler({\n braintreeManager: braintreeManager,\n hostedFieldClient: client,\n hostedFieldConfig: mockHostedFieldConfig,\n maxRetryCount: 3,\n loadTimeout: 0.01,\n });\n\n const instance = await handler.instance.get();\n expect(instance).to.not.be.null;\n expect(retryCount).to.equal(2);\n });\n\n it('emits an event when retrying or failing', async () => {\n const braintreeManager = new MockBraintreeManager();\n const client = new MockHostedFieldsClient();\n\n Sinon.stub(client, 'create').callsFake(() => {\n throw new Error('Error');\n });\n\n const mockHostedFieldContainer = new MockHostedFieldContainer();\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\n hostedFieldStyle: mockHostedFieldStyle,\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\n hostedFieldContainer: mockHostedFieldContainer,\n });\n const handler = new CreditCardHandler({\n braintreeManager: braintreeManager,\n hostedFieldClient: client,\n hostedFieldConfig: mockHostedFieldConfig,\n maxRetryCount: 3,\n loadTimeout: 0.01,\n });\n\n let retryCountEvent = 0;\n let retryFailedEvent = 0;\n handler.on('hostedFieldsRetry', () => {\n retryCountEvent++;\n });\n handler.on('hostedFieldsFailed', () => {\n retryFailedEvent++;\n });\n\n try {\n await handler.instance.get();\n } catch (e) {}\n\n expect(retryCountEvent).to.equal(3);\n expect(retryFailedEvent).to.equal(1);\n });\n});\n"]}
1
+ {"version":3,"file":"creditcard.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/creditcard.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\r\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\r\nimport { MockHostedFieldsClient } from '../../mocks/payment-clients/mock-hostedfields-client';\r\nimport { mockHostedFieldTokenizePayload } from '../../mocks/payment-clients/mock-hostedfieldtokenizepayload';\r\nimport { CreditCardHandler } from '../../../src/braintree-manager/payment-providers/credit-card/credit-card';\r\nimport { MockHostedFieldContainer } from '../../mocks/mock-hosted-fields-container';\r\nimport { HostedFieldConfiguration } from '../../../src/braintree-manager/payment-providers/credit-card/hosted-field-configuration';\r\nimport Sinon from 'sinon';\r\nimport {\r\n mockHostedFieldStyle,\r\n mockHostedFieldFieldOptions,\r\n mockHostedFieldConfig,\r\n} from '../../mocks/mock-hosted-fields-config';\r\n\r\nconst sandbox = Sinon.createSandbox();\r\n\r\ndescribe('CreditCardHandler', () => {\r\n afterEach(() => {\r\n sandbox.restore();\r\n });\r\n\r\n it('can tokenize the hosted fields', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const client = new MockHostedFieldsClient({\r\n mockHostedFieldTokenizePayload: mockHostedFieldTokenizePayload,\r\n });\r\n\r\n const handler = new CreditCardHandler({\r\n braintreeManager: braintreeManager,\r\n hostedFieldClient: client,\r\n hostedFieldConfig: mockHostedFieldConfig,\r\n });\r\n\r\n const payload = await handler.tokenizeHostedFields();\r\n\r\n expect(payload?.nonce).to.equal(mockHostedFieldTokenizePayload.nonce);\r\n });\r\n\r\n it('can mark field errors', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const client = new MockHostedFieldsClient();\r\n const mockHostedFieldContainer = new MockHostedFieldContainer();\r\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\r\n hostedFieldStyle: mockHostedFieldStyle,\r\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\r\n hostedFieldContainer: mockHostedFieldContainer,\r\n });\r\n const handler = new CreditCardHandler({\r\n braintreeManager: braintreeManager,\r\n hostedFieldClient: client,\r\n hostedFieldConfig: mockHostedFieldConfig,\r\n });\r\n handler.markFieldErrors([]);\r\n expect(mockHostedFieldContainer.markErrorsCalled).to.be.true;\r\n });\r\n\r\n it('can remove field errors', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const client = new MockHostedFieldsClient();\r\n const mockHostedFieldContainer = new MockHostedFieldContainer();\r\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\r\n hostedFieldStyle: mockHostedFieldStyle,\r\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\r\n hostedFieldContainer: mockHostedFieldContainer,\r\n });\r\n const handler = new CreditCardHandler({\r\n braintreeManager: braintreeManager,\r\n hostedFieldClient: client,\r\n hostedFieldConfig: mockHostedFieldConfig,\r\n });\r\n handler.removeFieldErrors([]);\r\n expect(mockHostedFieldContainer.removeErrorsCalled).to.be.true;\r\n });\r\n\r\n it('can show the error message', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const client = new MockHostedFieldsClient();\r\n const mockHostedFieldContainer = new MockHostedFieldContainer();\r\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\r\n hostedFieldStyle: mockHostedFieldStyle,\r\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\r\n hostedFieldContainer: mockHostedFieldContainer,\r\n });\r\n const handler = new CreditCardHandler({\r\n braintreeManager: braintreeManager,\r\n hostedFieldClient: client,\r\n hostedFieldConfig: mockHostedFieldConfig,\r\n });\r\n handler.showErrorMessage();\r\n expect(mockHostedFieldContainer.showErrorMessageCalled).to.be.true;\r\n });\r\n\r\n it('can hide the error message', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const client = new MockHostedFieldsClient();\r\n const mockHostedFieldContainer = new MockHostedFieldContainer();\r\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\r\n hostedFieldStyle: mockHostedFieldStyle,\r\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\r\n hostedFieldContainer: mockHostedFieldContainer,\r\n });\r\n const handler = new CreditCardHandler({\r\n braintreeManager: braintreeManager,\r\n hostedFieldClient: client,\r\n hostedFieldConfig: mockHostedFieldConfig,\r\n });\r\n handler.hideErrorMessage();\r\n expect(mockHostedFieldContainer.hideErrorMessageCalled).to.be.true;\r\n });\r\n\r\n it('retries the expected number of times before failure', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const client = new MockHostedFieldsClient();\r\n\r\n let retryCount = 0;\r\n Sinon.stub(client, 'create').callsFake(() => {\r\n retryCount++;\r\n throw new Error('Error');\r\n });\r\n\r\n const mockHostedFieldContainer = new MockHostedFieldContainer();\r\n const hostedFieldsSpy = Sinon.spy(mockHostedFieldContainer, 'resetHostedFields');\r\n\r\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\r\n hostedFieldStyle: mockHostedFieldStyle,\r\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\r\n hostedFieldContainer: mockHostedFieldContainer,\r\n });\r\n const handler = new CreditCardHandler({\r\n braintreeManager: braintreeManager,\r\n hostedFieldClient: client,\r\n hostedFieldConfig: mockHostedFieldConfig,\r\n maxRetryCount: 3,\r\n loadTimeout: 0.01,\r\n });\r\n\r\n try {\r\n await handler.instance.get();\r\n expect.fail('Should have thrown an error');\r\n } catch (e) {}\r\n\r\n // initial call + 3 retries\r\n expect(retryCount).to.equal(4);\r\n expect(hostedFieldsSpy.callCount).to.equal(4);\r\n });\r\n\r\n it('retries creating the hosted fields if they fail', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const client = new MockHostedFieldsClient();\r\n\r\n let retryCount = 0;\r\n Sinon.stub(client, 'create').callsFake(() => {\r\n if (retryCount < 2) {\r\n retryCount++;\r\n throw new Error('Error');\r\n }\r\n return Promise.resolve(client);\r\n });\r\n\r\n const mockHostedFieldContainer = new MockHostedFieldContainer();\r\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\r\n hostedFieldStyle: mockHostedFieldStyle,\r\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\r\n hostedFieldContainer: mockHostedFieldContainer,\r\n });\r\n const handler = new CreditCardHandler({\r\n braintreeManager: braintreeManager,\r\n hostedFieldClient: client,\r\n hostedFieldConfig: mockHostedFieldConfig,\r\n maxRetryCount: 3,\r\n loadTimeout: 0.01,\r\n });\r\n\r\n const instance = await handler.instance.get();\r\n expect(instance).to.not.be.null;\r\n expect(retryCount).to.equal(2);\r\n });\r\n\r\n it('emits an event when retrying or failing', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const client = new MockHostedFieldsClient();\r\n\r\n Sinon.stub(client, 'create').callsFake(() => {\r\n throw new Error('Error');\r\n });\r\n\r\n const mockHostedFieldContainer = new MockHostedFieldContainer();\r\n const mockHostedFieldConfig: HostedFieldConfiguration = new HostedFieldConfiguration({\r\n hostedFieldStyle: mockHostedFieldStyle,\r\n hostedFieldFieldOptions: mockHostedFieldFieldOptions,\r\n hostedFieldContainer: mockHostedFieldContainer,\r\n });\r\n const handler = new CreditCardHandler({\r\n braintreeManager: braintreeManager,\r\n hostedFieldClient: client,\r\n hostedFieldConfig: mockHostedFieldConfig,\r\n maxRetryCount: 3,\r\n loadTimeout: 0.01,\r\n });\r\n\r\n let retryCountEvent = 0;\r\n let retryFailedEvent = 0;\r\n handler.on('hostedFieldsRetry', () => {\r\n retryCountEvent++;\r\n });\r\n handler.on('hostedFieldsFailed', () => {\r\n retryFailedEvent++;\r\n });\r\n\r\n try {\r\n await handler.instance.get();\r\n } catch (e) {}\r\n\r\n expect(retryCountEvent).to.equal(3);\r\n expect(retryFailedEvent).to.equal(1);\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"googlepay.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/googlepay.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAE/F,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACpD,MAAM,wBAAwB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC/D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;YACnC,gBAAgB,EAAE,gBAAgB;YAClC,wBAAwB,EAAE,wBAAwB;YAClD,oBAAoB,EAAE,gBAAgB;SACvC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAE9C,MAAM,CAAC,QAAQ,YAAY,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjE,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,wBAAwB,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC/D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAEpD,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC;YAEnC,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;gBACnC,gBAAgB,EAAE,gBAAgB;gBAClC,wBAAwB,EAAE,wBAAwB;gBAClD,oBAAoB,EAAE,gBAAgB;aACvC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAErD,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC7D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,wBAAwB,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC/D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,gBAAgB,CAAC,UAAU,GAAG,KAAK,CAAC;YAEpC,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;gBACnC,gBAAgB,EAAE,gBAAgB;gBAClC,wBAAwB,EAAE,wBAAwB;gBAClD,oBAAoB,EAAE,gBAAgB;aACvC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAErD,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAChC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { MockGooglePaymentClient } from '../../mocks/payment-clients/mock-googlepay-client';\nimport { MockGooglePayLibrary } from '../../mocks/payment-clients/mock-googlepay-library';\nimport { GooglePayHandler } from '../../../src/braintree-manager/payment-providers/google-pay';\n\ndescribe('GooglePayHandler', () => {\n it('returns the GooglePayment instance', async () => {\n const braintreeManager = new MockBraintreeManager();\n const googlePayBraintreeClient = new MockGooglePaymentClient();\n const googlePayLibrary = new MockGooglePayLibrary();\n const handler = new GooglePayHandler({\n braintreeManager: braintreeManager,\n googlePayBraintreeClient: googlePayBraintreeClient,\n googlePaymentsClient: googlePayLibrary,\n });\n\n const instance = await handler.instance.get();\n\n expect(instance instanceof MockGooglePaymentClient).to.be.true;\n });\n\n describe('isBrowserSupported', () => {\n it('returns true if the browser is supported', async () => {\n const braintreeManager = new MockBraintreeManager();\n const googlePayBraintreeClient = new MockGooglePaymentClient();\n const googlePayLibrary = new MockGooglePayLibrary();\n\n googlePayLibrary.readyToPay = true;\n\n const handler = new GooglePayHandler({\n braintreeManager: braintreeManager,\n googlePayBraintreeClient: googlePayBraintreeClient,\n googlePaymentsClient: googlePayLibrary,\n });\n\n const supported = await handler.isBrowserSupported();\n\n expect(supported).to.be.true;\n });\n\n it('returns false if the browser is not supported', async () => {\n const braintreeManager = new MockBraintreeManager();\n const googlePayBraintreeClient = new MockGooglePaymentClient();\n const googlePayLibrary = new MockGooglePayLibrary();\n googlePayLibrary.readyToPay = false;\n\n const handler = new GooglePayHandler({\n braintreeManager: braintreeManager,\n googlePayBraintreeClient: googlePayBraintreeClient,\n googlePaymentsClient: googlePayLibrary,\n });\n\n const supported = await handler.isBrowserSupported();\n\n expect(supported).to.be.false;\n });\n });\n});\n"]}
1
+ {"version":3,"file":"googlepay.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/googlepay.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAE/F,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACpD,MAAM,wBAAwB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC/D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;YACnC,gBAAgB,EAAE,gBAAgB;YAClC,wBAAwB,EAAE,wBAAwB;YAClD,oBAAoB,EAAE,gBAAgB;SACvC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAE9C,MAAM,CAAC,QAAQ,YAAY,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjE,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,wBAAwB,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC/D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAEpD,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC;YAEnC,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;gBACnC,gBAAgB,EAAE,gBAAgB;gBAClC,wBAAwB,EAAE,wBAAwB;gBAClD,oBAAoB,EAAE,gBAAgB;aACvC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAErD,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC7D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,wBAAwB,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC/D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,gBAAgB,CAAC,UAAU,GAAG,KAAK,CAAC;YAEpC,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;gBACnC,gBAAgB,EAAE,gBAAgB;gBAClC,wBAAwB,EAAE,wBAAwB;gBAClD,oBAAoB,EAAE,gBAAgB;aACvC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAErD,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAChC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\r\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\r\nimport { MockGooglePaymentClient } from '../../mocks/payment-clients/mock-googlepay-client';\r\nimport { MockGooglePayLibrary } from '../../mocks/payment-clients/mock-googlepay-library';\r\nimport { GooglePayHandler } from '../../../src/braintree-manager/payment-providers/google-pay';\r\n\r\ndescribe('GooglePayHandler', () => {\r\n it('returns the GooglePayment instance', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const googlePayBraintreeClient = new MockGooglePaymentClient();\r\n const googlePayLibrary = new MockGooglePayLibrary();\r\n const handler = new GooglePayHandler({\r\n braintreeManager: braintreeManager,\r\n googlePayBraintreeClient: googlePayBraintreeClient,\r\n googlePaymentsClient: googlePayLibrary,\r\n });\r\n\r\n const instance = await handler.instance.get();\r\n\r\n expect(instance instanceof MockGooglePaymentClient).to.be.true;\r\n });\r\n\r\n describe('isBrowserSupported', () => {\r\n it('returns true if the browser is supported', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const googlePayBraintreeClient = new MockGooglePaymentClient();\r\n const googlePayLibrary = new MockGooglePayLibrary();\r\n\r\n googlePayLibrary.readyToPay = true;\r\n\r\n const handler = new GooglePayHandler({\r\n braintreeManager: braintreeManager,\r\n googlePayBraintreeClient: googlePayBraintreeClient,\r\n googlePaymentsClient: googlePayLibrary,\r\n });\r\n\r\n const supported = await handler.isBrowserSupported();\r\n\r\n expect(supported).to.be.true;\r\n });\r\n\r\n it('returns false if the browser is not supported', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const googlePayBraintreeClient = new MockGooglePaymentClient();\r\n const googlePayLibrary = new MockGooglePayLibrary();\r\n googlePayLibrary.readyToPay = false;\r\n\r\n const handler = new GooglePayHandler({\r\n braintreeManager: braintreeManager,\r\n googlePayBraintreeClient: googlePayBraintreeClient,\r\n googlePaymentsClient: googlePayLibrary,\r\n });\r\n\r\n const supported = await handler.isBrowserSupported();\r\n\r\n expect(supported).to.be.false;\r\n });\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"payment-providers.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/payment-providers.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,gEAAgE,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,4DAA4D,EAAE,GAAS,EAAE;YAC1E,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACxD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACpD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;gBAC5C,gBAAgB,EAAE,oBAAoB;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,kBAAkB,EAAE,kBAAkB,CAAC,WAAW;gBAClD,iBAAiB,EAAE,qBAAqB;aACzC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAChC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,6BAA6B,EAAE,GAAS,EAAE;YAC3C,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACxD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACpD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;gBAC5C,gBAAgB,EAAE,oBAAoB;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,kBAAkB,EAAE,kBAAkB,CAAC,WAAW;gBAClD,iBAAiB,EAAE,qBAAqB;aACzC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YAC1D,MAAM,CAAC,MAAM,YAAY,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACrD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { HostingEnvironment } from '../../../src/braintree-manager/braintree-interfaces';\nimport { PaymentProviders } from '../../../src/braintree-manager/payment-providers';\nimport { PayPalHandler } from '../../../src/braintree-manager/payment-providers/paypal/paypal';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { mockHostedFieldConfig } from '../../mocks/mock-hosted-fields-config';\nimport { MockPaymentClients } from '../../mocks/mock-payment-clients';\n\ndescribe('PaymentProviders', () => {\n describe('Venmo Handler', () => {\n it('returns an undefined venmo handler if no venmo id provided', async () => {\n const mockBraintreeManager = new MockBraintreeManager();\n const mockPaymentClients = new MockPaymentClients();\n const paymentProviders = new PaymentProviders({\n braintreeManager: mockBraintreeManager,\n paymentClients: mockPaymentClients,\n hostingEnvironment: HostingEnvironment.Development,\n hostedFieldConfig: mockHostedFieldConfig,\n });\n const venmo = await paymentProviders.venmoHandler.get();\n expect(venmo).to.be.undefined;\n });\n });\n\n describe('PayPal Handler', () => {\n it('can fetch the PayPalHandler', async () => {\n const mockBraintreeManager = new MockBraintreeManager();\n const mockPaymentClients = new MockPaymentClients();\n const paymentProviders = new PaymentProviders({\n braintreeManager: mockBraintreeManager,\n paymentClients: mockPaymentClients,\n hostingEnvironment: HostingEnvironment.Development,\n hostedFieldConfig: mockHostedFieldConfig,\n });\n const paypal = await paymentProviders.paypalHandler.get();\n expect(paypal instanceof PayPalHandler).to.be.true;\n });\n });\n});\n"]}
1
+ {"version":3,"file":"payment-providers.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/payment-providers.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,gEAAgE,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,4DAA4D,EAAE,GAAS,EAAE;YAC1E,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACxD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACpD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;gBAC5C,gBAAgB,EAAE,oBAAoB;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,kBAAkB,EAAE,kBAAkB,CAAC,WAAW;gBAClD,iBAAiB,EAAE,qBAAqB;aACzC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAChC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,6BAA6B,EAAE,GAAS,EAAE;YAC3C,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACxD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACpD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;gBAC5C,gBAAgB,EAAE,oBAAoB;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,kBAAkB,EAAE,kBAAkB,CAAC,WAAW;gBAClD,iBAAiB,EAAE,qBAAqB;aACzC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YAC1D,MAAM,CAAC,MAAM,YAAY,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACrD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\r\nimport { HostingEnvironment } from '../../../src/braintree-manager/braintree-interfaces';\r\nimport { PaymentProviders } from '../../../src/braintree-manager/payment-providers';\r\nimport { PayPalHandler } from '../../../src/braintree-manager/payment-providers/paypal/paypal';\r\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\r\nimport { mockHostedFieldConfig } from '../../mocks/mock-hosted-fields-config';\r\nimport { MockPaymentClients } from '../../mocks/mock-payment-clients';\r\n\r\ndescribe('PaymentProviders', () => {\r\n describe('Venmo Handler', () => {\r\n it('returns an undefined venmo handler if no venmo id provided', async () => {\r\n const mockBraintreeManager = new MockBraintreeManager();\r\n const mockPaymentClients = new MockPaymentClients();\r\n const paymentProviders = new PaymentProviders({\r\n braintreeManager: mockBraintreeManager,\r\n paymentClients: mockPaymentClients,\r\n hostingEnvironment: HostingEnvironment.Development,\r\n hostedFieldConfig: mockHostedFieldConfig,\r\n });\r\n const venmo = await paymentProviders.venmoHandler.get();\r\n expect(venmo).to.be.undefined;\r\n });\r\n });\r\n\r\n describe('PayPal Handler', () => {\r\n it('can fetch the PayPalHandler', async () => {\r\n const mockBraintreeManager = new MockBraintreeManager();\r\n const mockPaymentClients = new MockPaymentClients();\r\n const paymentProviders = new PaymentProviders({\r\n braintreeManager: mockBraintreeManager,\r\n paymentClients: mockPaymentClients,\r\n hostingEnvironment: HostingEnvironment.Development,\r\n hostedFieldConfig: mockHostedFieldConfig,\r\n });\r\n const paypal = await paymentProviders.paypalHandler.get();\r\n expect(paypal instanceof PayPalHandler).to.be.true;\r\n });\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"paypal-button-datasource.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/paypal-button-datasource.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { MockPayPalClient } from '../../mocks/payment-clients/mock-paypal-client';\nimport { DonationPaymentInfo, DonationType } from '@internetarchive/donation-form-data-models';\nimport { PayPalButtonDataSource } from '../../../src/braintree-manager/payment-providers/paypal/paypal-button-datasource';\nimport { MockPayPalButtonDataSourceDelegate } from '../../mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate';\n\ndescribe('PayPalButtonDataSource', () => {\n describe('Payment start', () => {\n it('notifies the delegate and creates the payment when the `payment()` callback is triggered from a button press', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.Monthly,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n datasource.delegate = delegate;\n\n const result = await datasource.payment();\n\n expect(delegate.paymentStartedResults.called).to.be.true;\n expect(result).to.equal('createPaymentCalled');\n });\n\n it('sends the proper one-time donation request', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n datasource.delegate = delegate;\n await datasource.payment();\n expect(delegate.paymentStartedResults.options).to.deep.equal({\n flow: 'checkout',\n enableShippingAddress: true,\n amount: 3.5,\n currency: 'USD',\n intent: 'capture',\n });\n });\n\n it('sends the proper one-time donation request with fees covered', async () => {\n const baseAmount = 3.5;\n const expectedTotal = DonationPaymentInfo.calculateTotal(baseAmount, true);\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: baseAmount,\n coverFees: true,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n datasource.delegate = delegate;\n await datasource.payment();\n expect(delegate.paymentStartedResults.options).to.deep.equal({\n flow: 'checkout',\n enableShippingAddress: true,\n amount: expectedTotal,\n currency: 'USD',\n intent: 'capture',\n });\n });\n\n it('sends the proper monthly donation request', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.Monthly,\n amount: 1.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n datasource.delegate = delegate;\n await datasource.payment();\n expect(delegate.paymentStartedResults.options).to.deep.equal({\n flow: 'vault',\n enableShippingAddress: true,\n billingAgreementDescription: 'Subscribe to donate $1.50 monthly',\n intent: 'capture',\n });\n });\n });\n\n describe('Payment authorized', () => {\n it('it tokenizes the payment and notifies the delegate when the payment is authorized', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n const authData: paypal.AuthorizationData = {\n payerId: 'foo',\n paymentId: '1234',\n };\n\n datasource.delegate = delegate;\n\n const result = await datasource.onAuthorize(authData);\n\n expect(delegate.paymentAuthorizedResults.called).to.be.true;\n expect(delegate.paymentAuthorizedResults.payload?.nonce).to.equal('foo-nonce');\n\n expect(result.nonce).to.equal('foo-nonce');\n expect(result.type).to.equal('foo-type');\n });\n });\n\n describe('Payment cancelled', () => {\n it('it notifies the delegate when the payment is cancelled', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n const cancelData = {\n foo: 'bar',\n };\n\n datasource.delegate = delegate;\n\n datasource.onCancel(cancelData);\n\n expect(delegate.paymentCancelledResults.called).to.be.true;\n expect(delegate.paymentCancelledResults.data).to.deep.equal(cancelData);\n });\n });\n\n describe('Payment error', () => {\n it('it notifies the delegate when there has been a payment error', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n const error = 'foo-error';\n\n datasource.delegate = delegate;\n\n datasource.onError(error);\n\n expect(delegate.paymentErrorResults.called).to.be.true;\n expect(delegate.paymentErrorResults.error).to.equal(error);\n });\n });\n});\n"]}
1
+ {"version":3,"file":"paypal-button-datasource.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/paypal-button-datasource.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\r\nimport { MockPayPalClient } from '../../mocks/payment-clients/mock-paypal-client';\r\nimport { DonationPaymentInfo, DonationType } from '@internetarchive/donation-form-data-models';\r\nimport { PayPalButtonDataSource } from '../../../src/braintree-manager/payment-providers/paypal/paypal-button-datasource';\r\nimport { MockPayPalButtonDataSourceDelegate } from '../../mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate';\r\n\r\ndescribe('PayPalButtonDataSource', () => {\r\n describe('Payment start', () => {\r\n it('notifies the delegate and creates the payment when the `payment()` callback is triggered from a button press', async () => {\r\n const delegate = new MockPayPalButtonDataSourceDelegate();\r\n const paypalInstance = new MockPayPalClient();\r\n const donation = new DonationPaymentInfo({\r\n donationType: DonationType.Monthly,\r\n amount: 3.5,\r\n coverFees: false,\r\n });\r\n const datasource = new PayPalButtonDataSource({\r\n donationInfo: donation,\r\n paypalInstance: paypalInstance,\r\n });\r\n\r\n datasource.delegate = delegate;\r\n\r\n const result = await datasource.payment();\r\n\r\n expect(delegate.paymentStartedResults.called).to.be.true;\r\n expect(result).to.equal('createPaymentCalled');\r\n });\r\n\r\n it('sends the proper one-time donation request', async () => {\r\n const delegate = new MockPayPalButtonDataSourceDelegate();\r\n const paypalInstance = new MockPayPalClient();\r\n const donation = new DonationPaymentInfo({\r\n donationType: DonationType.OneTime,\r\n amount: 3.5,\r\n coverFees: false,\r\n });\r\n const datasource = new PayPalButtonDataSource({\r\n donationInfo: donation,\r\n paypalInstance: paypalInstance,\r\n });\r\n datasource.delegate = delegate;\r\n await datasource.payment();\r\n expect(delegate.paymentStartedResults.options).to.deep.equal({\r\n flow: 'checkout',\r\n enableShippingAddress: true,\r\n amount: 3.5,\r\n currency: 'USD',\r\n intent: 'capture',\r\n });\r\n });\r\n\r\n it('sends the proper one-time donation request with fees covered', async () => {\r\n const baseAmount = 3.5;\r\n const expectedTotal = DonationPaymentInfo.calculateTotal(baseAmount, true);\r\n const delegate = new MockPayPalButtonDataSourceDelegate();\r\n const paypalInstance = new MockPayPalClient();\r\n const donation = new DonationPaymentInfo({\r\n donationType: DonationType.OneTime,\r\n amount: baseAmount,\r\n coverFees: true,\r\n });\r\n const datasource = new PayPalButtonDataSource({\r\n donationInfo: donation,\r\n paypalInstance: paypalInstance,\r\n });\r\n datasource.delegate = delegate;\r\n await datasource.payment();\r\n expect(delegate.paymentStartedResults.options).to.deep.equal({\r\n flow: 'checkout',\r\n enableShippingAddress: true,\r\n amount: expectedTotal,\r\n currency: 'USD',\r\n intent: 'capture',\r\n });\r\n });\r\n\r\n it('sends the proper monthly donation request', async () => {\r\n const delegate = new MockPayPalButtonDataSourceDelegate();\r\n const paypalInstance = new MockPayPalClient();\r\n const donation = new DonationPaymentInfo({\r\n donationType: DonationType.Monthly,\r\n amount: 1.5,\r\n coverFees: false,\r\n });\r\n const datasource = new PayPalButtonDataSource({\r\n donationInfo: donation,\r\n paypalInstance: paypalInstance,\r\n });\r\n datasource.delegate = delegate;\r\n await datasource.payment();\r\n expect(delegate.paymentStartedResults.options).to.deep.equal({\r\n flow: 'vault',\r\n enableShippingAddress: true,\r\n billingAgreementDescription: 'Subscribe to donate $1.50 monthly',\r\n intent: 'capture',\r\n });\r\n });\r\n });\r\n\r\n describe('Payment authorized', () => {\r\n it('it tokenizes the payment and notifies the delegate when the payment is authorized', async () => {\r\n const delegate = new MockPayPalButtonDataSourceDelegate();\r\n const paypalInstance = new MockPayPalClient();\r\n const donation = new DonationPaymentInfo({\r\n donationType: DonationType.OneTime,\r\n amount: 3.5,\r\n coverFees: false,\r\n });\r\n const datasource = new PayPalButtonDataSource({\r\n donationInfo: donation,\r\n paypalInstance: paypalInstance,\r\n });\r\n\r\n const authData: paypal.AuthorizationData = {\r\n payerId: 'foo',\r\n paymentId: '1234',\r\n };\r\n\r\n datasource.delegate = delegate;\r\n\r\n const result = await datasource.onAuthorize(authData);\r\n\r\n expect(delegate.paymentAuthorizedResults.called).to.be.true;\r\n expect(delegate.paymentAuthorizedResults.payload?.nonce).to.equal('foo-nonce');\r\n\r\n expect(result.nonce).to.equal('foo-nonce');\r\n expect(result.type).to.equal('foo-type');\r\n });\r\n });\r\n\r\n describe('Payment cancelled', () => {\r\n it('it notifies the delegate when the payment is cancelled', async () => {\r\n const delegate = new MockPayPalButtonDataSourceDelegate();\r\n const paypalInstance = new MockPayPalClient();\r\n const donation = new DonationPaymentInfo({\r\n donationType: DonationType.OneTime,\r\n amount: 3.5,\r\n coverFees: false,\r\n });\r\n const datasource = new PayPalButtonDataSource({\r\n donationInfo: donation,\r\n paypalInstance: paypalInstance,\r\n });\r\n\r\n const cancelData = {\r\n foo: 'bar',\r\n };\r\n\r\n datasource.delegate = delegate;\r\n\r\n datasource.onCancel(cancelData);\r\n\r\n expect(delegate.paymentCancelledResults.called).to.be.true;\r\n expect(delegate.paymentCancelledResults.data).to.deep.equal(cancelData);\r\n });\r\n });\r\n\r\n describe('Payment error', () => {\r\n it('it notifies the delegate when there has been a payment error', async () => {\r\n const delegate = new MockPayPalButtonDataSourceDelegate();\r\n const paypalInstance = new MockPayPalClient();\r\n const donation = new DonationPaymentInfo({\r\n donationType: DonationType.OneTime,\r\n amount: 3.5,\r\n coverFees: false,\r\n });\r\n const datasource = new PayPalButtonDataSource({\r\n donationInfo: donation,\r\n paypalInstance: paypalInstance,\r\n });\r\n\r\n const error = 'foo-error';\r\n\r\n datasource.delegate = delegate;\r\n\r\n datasource.onError(error);\r\n\r\n expect(delegate.paymentErrorResults.called).to.be.true;\r\n expect(delegate.paymentErrorResults.error).to.equal(error);\r\n });\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"paypal.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/paypal.test.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,gEAAgE,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,8BAA8B,EAAE,GAAS,EAAE;QAC5C,kEAAkE;QACjE,MAAM,CAAC,QAAQ,CAAS,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;QAE5D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAEtD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;YAChC,gBAAgB,EAAE,gBAAgB;YAClC,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,cAAc;YAC5B,kBAAkB,EAAE,kBAAkB,CAAC,WAAW;SACnD,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAE5C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC;YAClD,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE;gBACL,KAAK,EAAE,MAAkC;gBACzC,KAAK,EAAE,QAAoC;gBAC3C,KAAK,EAAE,MAAkC;gBACzC,IAAI,EAAE,QAAmC;gBACzC,OAAO,EAAE,KAAK;aACf;YACD,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpD,OAAO,MAAM,CAAC,QAAe,CAAC,CAAC;IACjC,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { expect } from '@open-wc/testing';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { PayPalHandler } from '../../../src/braintree-manager/payment-providers/paypal/paypal';\nimport { MockPayPalClient } from '../../mocks/payment-clients/mock-paypal-client';\nimport { MockPayPalButtonRenderer } from '../../mocks/mock-paypal-button-renderer';\nimport { HostingEnvironment } from '../../../src/braintree-manager/braintree-interfaces';\nimport { MockDonationInfo } from '../../mocks/mock-donation-info';\n\ndescribe('PayPalHandler', () => {\n it('can render the paypal button', async () => {\n // This is the only way I can figure out how to mock window.paypal\n (window['paypal'] as any) = { FUNDING: { VENMO: 'venmo' } };\n\n const braintreeManager = new MockBraintreeManager();\n const client = new MockPayPalClient();\n const buttonRenderer = new MockPayPalButtonRenderer();\n\n const handler = new PayPalHandler({\n braintreeManager: braintreeManager,\n paypalClient: client,\n paypalButton: buttonRenderer,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n const donationInfo = new MockDonationInfo();\n\n const datasource = await handler.renderPayPalButton({\n selector: 'foo',\n style: {\n color: 'blue' as paypal.ButtonColorOption,\n label: 'paypal' as paypal.ButtonLabelOption,\n shape: 'rect' as paypal.ButtonShapeOption,\n size: 'medium' as paypal.ButtonSizeOption,\n tagline: false,\n },\n donationInfo: donationInfo,\n });\n\n expect(datasource?.donationInfo.amount).to.equal(5);\n\n delete window['paypal' as any];\n });\n});\n"]}
1
+ {"version":3,"file":"paypal.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/paypal.test.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,gEAAgE,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,8BAA8B,EAAE,GAAS,EAAE;QAC5C,kEAAkE;QACjE,MAAM,CAAC,QAAQ,CAAS,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;QAE5D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAEtD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;YAChC,gBAAgB,EAAE,gBAAgB;YAClC,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,cAAc;YAC5B,kBAAkB,EAAE,kBAAkB,CAAC,WAAW;SACnD,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAE5C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC;YAClD,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE;gBACL,KAAK,EAAE,MAAkC;gBACzC,KAAK,EAAE,QAAoC;gBAC3C,KAAK,EAAE,MAAkC;gBACzC,IAAI,EAAE,QAAmC;gBACzC,OAAO,EAAE,KAAK;aACf;YACD,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpD,OAAO,MAAM,CAAC,QAAe,CAAC,CAAC;IACjC,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { expect } from '@open-wc/testing';\r\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\r\nimport { PayPalHandler } from '../../../src/braintree-manager/payment-providers/paypal/paypal';\r\nimport { MockPayPalClient } from '../../mocks/payment-clients/mock-paypal-client';\r\nimport { MockPayPalButtonRenderer } from '../../mocks/mock-paypal-button-renderer';\r\nimport { HostingEnvironment } from '../../../src/braintree-manager/braintree-interfaces';\r\nimport { MockDonationInfo } from '../../mocks/mock-donation-info';\r\n\r\ndescribe('PayPalHandler', () => {\r\n it('can render the paypal button', async () => {\r\n // This is the only way I can figure out how to mock window.paypal\r\n (window['paypal'] as any) = { FUNDING: { VENMO: 'venmo' } };\r\n\r\n const braintreeManager = new MockBraintreeManager();\r\n const client = new MockPayPalClient();\r\n const buttonRenderer = new MockPayPalButtonRenderer();\r\n\r\n const handler = new PayPalHandler({\r\n braintreeManager: braintreeManager,\r\n paypalClient: client,\r\n paypalButton: buttonRenderer,\r\n hostingEnvironment: HostingEnvironment.Development,\r\n });\r\n\r\n const donationInfo = new MockDonationInfo();\r\n\r\n const datasource = await handler.renderPayPalButton({\r\n selector: 'foo',\r\n style: {\r\n color: 'blue' as paypal.ButtonColorOption,\r\n label: 'paypal' as paypal.ButtonLabelOption,\r\n shape: 'rect' as paypal.ButtonShapeOption,\r\n size: 'medium' as paypal.ButtonSizeOption,\r\n tagline: false,\r\n },\r\n donationInfo: donationInfo,\r\n });\r\n\r\n expect(datasource?.donationInfo.amount).to.equal(5);\r\n\r\n delete window['paypal' as any];\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"venmo.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/venmo.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { VenmoHandler } from '../../../src/braintree-manager/payment-providers/venmo';\nimport { MockVenmoClient } from '../../mocks/payment-clients/mock-venmo-client';\nimport { PromisedSingleton } from '@internetarchive/promised-singleton';\n\ndescribe('VenmoHandler', () => {\n it('calls tokenize on the client when startPayment() is called', async () => {\n const braintreeManager = new MockBraintreeManager();\n const venmoClient = new MockVenmoClient({\n isBrowserSupported: true,\n });\n\n const instancePromisedSingleton = new PromisedSingleton<braintree.Venmo>({\n generator: (): Promise<braintree.Venmo> =>\n new Promise(resolve => {\n resolve(venmoClient);\n }),\n });\n\n const handler = new VenmoHandler({\n braintreeManager: braintreeManager,\n venmoClient: venmoClient,\n venmoProfileId: 'foo',\n instancePromisedSingleton: instancePromisedSingleton,\n });\n await handler.startPayment();\n expect(venmoClient.tokenizeCalled).to.be.true;\n });\n\n describe('isBrowserSupported', () => {\n it('returns true if the browser is supported', async () => {\n const braintreeManager = new MockBraintreeManager();\n const venmoClient = new MockVenmoClient({\n isBrowserSupported: true,\n });\n const handler = new VenmoHandler({\n braintreeManager: braintreeManager,\n venmoClient: venmoClient,\n venmoProfileId: 'foo',\n });\n const supported = await handler.isBrowserSupported();\n expect(supported).to.be.true;\n });\n\n it('returns false if the browser is not supported', async () => {\n const braintreeManager = new MockBraintreeManager();\n const venmoClient = new MockVenmoClient({\n isBrowserSupported: false,\n });\n const handler = new VenmoHandler({\n braintreeManager: braintreeManager,\n venmoClient: venmoClient,\n venmoProfileId: 'foo',\n });\n const supported = await handler.isBrowserSupported();\n expect(supported).to.be.false;\n });\n\n it('returns false if the browser is mobile firefox', async () => {\n const originalUserAgent = navigator.userAgent;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (navigator as any)['__defineGetter__']('userAgent', function () {\n return 'FxiOS Mobile';\n });\n\n const braintreeManager = new MockBraintreeManager();\n const venmoClient = new MockVenmoClient({\n isBrowserSupported: true, // should be true but will be short-circuited by FireFox\n });\n const handler = new VenmoHandler({\n braintreeManager: braintreeManager,\n venmoClient: venmoClient,\n venmoProfileId: 'foo',\n });\n const supported = await handler.isBrowserSupported();\n expect(supported).to.be.false;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (navigator as any)['__defineGetter__']('userAgent', function () {\n return originalUserAgent;\n });\n });\n });\n});\n"]}
1
+ {"version":3,"file":"venmo.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/venmo.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\r\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\r\nimport { VenmoHandler } from '../../../src/braintree-manager/payment-providers/venmo';\r\nimport { MockVenmoClient } from '../../mocks/payment-clients/mock-venmo-client';\r\nimport { PromisedSingleton } from '@internetarchive/promised-singleton';\r\n\r\ndescribe('VenmoHandler', () => {\r\n it('calls tokenize on the client when startPayment() is called', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const venmoClient = new MockVenmoClient({\r\n isBrowserSupported: true,\r\n });\r\n\r\n const instancePromisedSingleton = new PromisedSingleton<braintree.Venmo>({\r\n generator: (): Promise<braintree.Venmo> =>\r\n new Promise(resolve => {\r\n resolve(venmoClient);\r\n }),\r\n });\r\n\r\n const handler = new VenmoHandler({\r\n braintreeManager: braintreeManager,\r\n venmoClient: venmoClient,\r\n venmoProfileId: 'foo',\r\n instancePromisedSingleton: instancePromisedSingleton,\r\n });\r\n await handler.startPayment();\r\n expect(venmoClient.tokenizeCalled).to.be.true;\r\n });\r\n\r\n describe('isBrowserSupported', () => {\r\n it('returns true if the browser is supported', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const venmoClient = new MockVenmoClient({\r\n isBrowserSupported: true,\r\n });\r\n const handler = new VenmoHandler({\r\n braintreeManager: braintreeManager,\r\n venmoClient: venmoClient,\r\n venmoProfileId: 'foo',\r\n });\r\n const supported = await handler.isBrowserSupported();\r\n expect(supported).to.be.true;\r\n });\r\n\r\n it('returns false if the browser is not supported', async () => {\r\n const braintreeManager = new MockBraintreeManager();\r\n const venmoClient = new MockVenmoClient({\r\n isBrowserSupported: false,\r\n });\r\n const handler = new VenmoHandler({\r\n braintreeManager: braintreeManager,\r\n venmoClient: venmoClient,\r\n venmoProfileId: 'foo',\r\n });\r\n const supported = await handler.isBrowserSupported();\r\n expect(supported).to.be.false;\r\n });\r\n\r\n it('returns false if the browser is mobile firefox', async () => {\r\n const originalUserAgent = navigator.userAgent;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (navigator as any)['__defineGetter__']('userAgent', function () {\r\n return 'FxiOS Mobile';\r\n });\r\n\r\n const braintreeManager = new MockBraintreeManager();\r\n const venmoClient = new MockVenmoClient({\r\n isBrowserSupported: true, // should be true but will be short-circuited by FireFox\r\n });\r\n const handler = new VenmoHandler({\r\n braintreeManager: braintreeManager,\r\n venmoClient: venmoClient,\r\n venmoProfileId: 'foo',\r\n });\r\n const supported = await handler.isBrowserSupported();\r\n expect(supported).to.be.false;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (navigator as any)['__defineGetter__']('userAgent', function () {\r\n return originalUserAgent;\r\n });\r\n });\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"recaptcha-manager.test.js","sourceRoot":"","sources":["../../../test/tests/recaptcha-manager.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, fixture, expect } from '@open-wc/testing';\nimport { MockGrecaptcha, MockGrecaptchaMode } from '../mocks/payment-clients/mock-grecaptcha';\nimport { RecaptchaManager } from '../../src/recaptcha-manager/recaptcha-manager';\n\ndescribe('ReCaptcha Manager', () => {\n it('can execute the recaptcha like a Promise', async () => {\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Success);\n const recaptchaManager = new RecaptchaManager({\n grecaptchaLibrary: mockGrecaptcha,\n siteKey: '123',\n });\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\n const result = await recaptchaManager.execute();\n expect(result).to.equal('foo');\n });\n\n it('can error properly like a Promise', async () => {\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Error);\n const recaptchaManager = new RecaptchaManager({\n grecaptchaLibrary: mockGrecaptcha,\n siteKey: '123',\n });\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\n try {\n await recaptchaManager.execute();\n expect.fail('should not get here');\n } catch (error) {\n expect(error).to.equal('error');\n }\n });\n\n it('can expire properly like a Promise', async () => {\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Expired);\n const recaptchaManager = new RecaptchaManager({\n grecaptchaLibrary: mockGrecaptcha,\n siteKey: '123',\n });\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\n try {\n await recaptchaManager.execute();\n expect.fail('should not get here');\n } catch (error) {\n expect(error).to.equal('expired');\n }\n });\n\n it('resets the captcha if execute() gets called more than once', async () => {\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Success, true);\n const recaptchaManager = new RecaptchaManager({\n grecaptchaLibrary: mockGrecaptcha,\n siteKey: '123',\n });\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\n recaptchaManager.execute();\n expect(mockGrecaptcha.resetCalled).to.be.false;\n recaptchaManager.execute();\n expect(mockGrecaptcha.resetCalled).to.be.true;\n });\n});\n"]}
1
+ {"version":3,"file":"recaptcha-manager.test.js","sourceRoot":"","sources":["../../../test/tests/recaptcha-manager.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, fixture, expect } from '@open-wc/testing';\r\nimport { MockGrecaptcha, MockGrecaptchaMode } from '../mocks/payment-clients/mock-grecaptcha';\r\nimport { RecaptchaManager } from '../../src/recaptcha-manager/recaptcha-manager';\r\n\r\ndescribe('ReCaptcha Manager', () => {\r\n it('can execute the recaptcha like a Promise', async () => {\r\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\r\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Success);\r\n const recaptchaManager = new RecaptchaManager({\r\n grecaptchaLibrary: mockGrecaptcha,\r\n siteKey: '123',\r\n });\r\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\r\n const result = await recaptchaManager.execute();\r\n expect(result).to.equal('foo');\r\n });\r\n\r\n it('can error properly like a Promise', async () => {\r\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\r\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Error);\r\n const recaptchaManager = new RecaptchaManager({\r\n grecaptchaLibrary: mockGrecaptcha,\r\n siteKey: '123',\r\n });\r\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\r\n try {\r\n await recaptchaManager.execute();\r\n expect.fail('should not get here');\r\n } catch (error) {\r\n expect(error).to.equal('error');\r\n }\r\n });\r\n\r\n it('can expire properly like a Promise', async () => {\r\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\r\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Expired);\r\n const recaptchaManager = new RecaptchaManager({\r\n grecaptchaLibrary: mockGrecaptcha,\r\n siteKey: '123',\r\n });\r\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\r\n try {\r\n await recaptchaManager.execute();\r\n expect.fail('should not get here');\r\n } catch (error) {\r\n expect(error).to.equal('expired');\r\n }\r\n });\r\n\r\n it('resets the captcha if execute() gets called more than once', async () => {\r\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\r\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Success, true);\r\n const recaptchaManager = new RecaptchaManager({\r\n grecaptchaLibrary: mockGrecaptcha,\r\n siteKey: '123',\r\n });\r\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\r\n recaptchaManager.execute();\r\n expect(mockGrecaptcha.resetCalled).to.be.false;\r\n recaptchaManager.execute();\r\n expect(mockGrecaptcha.resetCalled).to.be.true;\r\n });\r\n});\r\n"]}
package/package.json CHANGED
@@ -1,107 +1,107 @@
1
- {
2
- "name": "@internetarchive/donation-form",
3
- "version": "1.0.2",
4
- "description": "The Internet Archive Donation Form",
5
- "license": "AGPL-3.0-only",
6
- "main": "dist/index.js",
7
- "module": "dist/index.js",
8
- "types": "dist/index.d.ts",
9
- "files": [
10
- "dist/**/*",
11
- "src/**/*",
12
- "index.d.ts",
13
- "index.js"
14
- ],
15
- "scripts": {
16
- "prepare": "yarn run build",
17
- "build": "tsc -p tsconfig.build.json",
18
- "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds --app-index demo/index.html --node-resolve --open --watch --preserve-symlinks\"",
19
- "tsc:watch": "tsc --watch",
20
- "lint:eslint": "eslint .",
21
- "format:eslint": "eslint . --fix",
22
- "lint:prettier": "prettier \"**/*.js\" \"**/*.ts\" --check",
23
- "format:prettier": "prettier \"**/*.js\" \"**/*.ts\" --write",
24
- "lint": "yarn run lint:eslint && yarn run lint:prettier",
25
- "format": "yarn run format:eslint && yarn run format:prettier",
26
- "circular": "madge --circular --extensions ts .",
27
- "test": "tsc && yarn run lint && yarn run circular && wtr dist/test/tests/**/*.test.js --node-resolve --coverage",
28
- "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr test/tests/**/*.test.ts --node-resolve --watch\""
29
- },
30
- "dependencies": {
31
- "@internetarchive/analytics-manager": "^0.1.4",
32
- "@internetarchive/donation-form-currency-validator": "^0.3.1",
33
- "@internetarchive/donation-form-data-models": "^0.3.6",
34
- "@internetarchive/donation-form-edit-donation": "^1.1.5",
35
- "@internetarchive/donation-form-section": "^0.3.6",
36
- "@internetarchive/icon-applepay": "^1.3.2",
37
- "@internetarchive/icon-calendar": "^1.3.2",
38
- "@internetarchive/icon-credit-card": "^1.3.2",
39
- "@internetarchive/icon-email": "^1.3.2",
40
- "@internetarchive/icon-googlepay": "^1.3.2",
41
- "@internetarchive/icon-locale-pin": "^1.3.2",
42
- "@internetarchive/icon-lock": "^1.3.2",
43
- "@internetarchive/icon-paypal": "^1.3.2",
44
- "@internetarchive/icon-user": "^1.3.2",
45
- "@internetarchive/icon-venmo": "^1.3.2",
46
- "@internetarchive/lazy-loader-service": "^0.2.0",
47
- "@internetarchive/modal-manager": "^2.0.0",
48
- "@internetarchive/promised-singleton": "^0.2.1",
49
- "currency.js": "^2.0.2",
50
- "lit": "^2.8.0",
51
- "nanoevents": "^9.1.0"
52
- },
53
- "devDependencies": {
54
- "@babel/core": "^7.26.0",
55
- "@open-wc/eslint-config": "^12.0.3",
56
- "@open-wc/prettier-config": "^1.1.0",
57
- "@open-wc/testing": "^4.0.0",
58
- "@types/applepayjs": "^3.0.0",
59
- "@types/googlepay": "^0.7.6",
60
- "@types/grecaptcha": "^2.0.36",
61
- "@types/mocha": "^10.0.10",
62
- "@typescript-eslint/eslint-plugin": "^8.18.1",
63
- "@typescript-eslint/parser": "^8.18.1",
64
- "@web/dev-server": "^0.4.6",
65
- "@web/test-runner": "^0.19.0",
66
- "concurrently": "^9.1.0",
67
- "eslint": "^9.17.0",
68
- "eslint-config-prettier": "^9.1.0",
69
- "eslint-plugin-html": "^8.1.2",
70
- "eslint-plugin-import": "^2.31.0",
71
- "eslint-plugin-lit": "^1.15.0",
72
- "eslint-plugin-lit-a11y": "^4.1.4",
73
- "eslint-plugin-no-only-tests": "^3.3.0",
74
- "eslint-plugin-wc": "^2.2.0",
75
- "form-data": "^4.0.1",
76
- "husky": "^9.1.7",
77
- "karma": "^6.4.4",
78
- "lint-staged": "^15.2.11",
79
- "madge": "^8.0.0",
80
- "prettier": "^3.4.2",
81
- "sinon": "^19.0.2",
82
- "ts-lit-plugin": "^2.0.2",
83
- "tslib": "^2.8.1",
84
- "typescript": "^5.7.2"
85
- },
86
- "eslintConfig": {
87
- "extends": [
88
- "@open-wc/eslint-config",
89
- "eslint-config-prettier"
90
- ]
91
- },
92
- "prettier": "@open-wc/prettier-config",
93
- "husky": {
94
- "hooks": {
95
- "pre-commit": "lint-staged"
96
- }
97
- },
98
- "publishConfig": {
99
- "access": "public"
100
- },
101
- "lint-staged": {
102
- "*.ts": [
103
- "eslint --fix",
104
- "git add"
105
- ]
106
- }
107
- }
1
+ {
2
+ "name": "@internetarchive/donation-form",
3
+ "version": "1.0.3-alpha-webdev7960.1",
4
+ "description": "The Internet Archive Donation Form",
5
+ "license": "AGPL-3.0-only",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "files": [
10
+ "dist/**/*",
11
+ "src/**/*",
12
+ "index.d.ts",
13
+ "index.js"
14
+ ],
15
+ "scripts": {
16
+ "prepare": "yarn run build",
17
+ "build": "tsc -p tsconfig.build.json",
18
+ "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds --app-index demo/index.html --node-resolve --open --watch --preserve-symlinks\"",
19
+ "tsc:watch": "tsc --watch",
20
+ "lint:eslint": "eslint .",
21
+ "format:eslint": "eslint . --fix",
22
+ "lint:prettier": "prettier \"**/*.js\" \"**/*.ts\" --check",
23
+ "format:prettier": "prettier \"**/*.js\" \"**/*.ts\" --write",
24
+ "lint": "yarn run lint:eslint && yarn run lint:prettier",
25
+ "format": "yarn run format:eslint && yarn run format:prettier",
26
+ "circular": "madge --circular --extensions ts .",
27
+ "test": "tsc && yarn run lint && yarn run circular && wtr dist/test/tests/**/*.test.js --node-resolve --coverage",
28
+ "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr test/tests/**/*.test.ts --node-resolve --watch\""
29
+ },
30
+ "dependencies": {
31
+ "@internetarchive/analytics-manager": "^0.1.4",
32
+ "@internetarchive/donation-form-currency-validator": "^0.3.1",
33
+ "@internetarchive/donation-form-data-models": "^0.3.6",
34
+ "@internetarchive/donation-form-edit-donation": "^1.1.5",
35
+ "@internetarchive/donation-form-section": "^0.3.6",
36
+ "@internetarchive/icon-applepay": "^1.3.2",
37
+ "@internetarchive/icon-calendar": "^1.3.2",
38
+ "@internetarchive/icon-credit-card": "^1.3.2",
39
+ "@internetarchive/icon-email": "^1.3.2",
40
+ "@internetarchive/icon-googlepay": "^1.3.2",
41
+ "@internetarchive/icon-locale-pin": "^1.3.2",
42
+ "@internetarchive/icon-lock": "^1.3.2",
43
+ "@internetarchive/icon-paypal": "^1.3.2",
44
+ "@internetarchive/icon-user": "^1.3.2",
45
+ "@internetarchive/icon-venmo": "^1.3.2",
46
+ "@internetarchive/lazy-loader-service": "^0.2.0",
47
+ "@internetarchive/modal-manager": "2.0.4-alpha-webdev7960.1",
48
+ "@internetarchive/promised-singleton": "^0.2.1",
49
+ "currency.js": "^2.0.2",
50
+ "lit": "^2.8.0",
51
+ "nanoevents": "^9.1.0"
52
+ },
53
+ "devDependencies": {
54
+ "@babel/core": "^7.26.0",
55
+ "@open-wc/eslint-config": "^12.0.3",
56
+ "@open-wc/prettier-config": "^1.1.0",
57
+ "@open-wc/testing": "^4.0.0",
58
+ "@types/applepayjs": "^3.0.0",
59
+ "@types/googlepay": "^0.7.6",
60
+ "@types/grecaptcha": "^2.0.36",
61
+ "@types/mocha": "^10.0.10",
62
+ "@typescript-eslint/eslint-plugin": "^8.18.1",
63
+ "@typescript-eslint/parser": "^8.18.1",
64
+ "@web/dev-server": "^0.4.6",
65
+ "@web/test-runner": "^0.19.0",
66
+ "concurrently": "^9.1.0",
67
+ "eslint": "^9.17.0",
68
+ "eslint-config-prettier": "^9.1.0",
69
+ "eslint-plugin-html": "^8.1.2",
70
+ "eslint-plugin-import": "^2.31.0",
71
+ "eslint-plugin-lit": "^1.15.0",
72
+ "eslint-plugin-lit-a11y": "^4.1.4",
73
+ "eslint-plugin-no-only-tests": "^3.3.0",
74
+ "eslint-plugin-wc": "^2.2.0",
75
+ "form-data": "^4.0.1",
76
+ "husky": "^9.1.7",
77
+ "karma": "^6.4.4",
78
+ "lint-staged": "^15.2.11",
79
+ "madge": "^8.0.0",
80
+ "prettier": "^3.4.2",
81
+ "sinon": "^19.0.2",
82
+ "ts-lit-plugin": "^2.0.2",
83
+ "tslib": "^2.8.1",
84
+ "typescript": "^5.7.2"
85
+ },
86
+ "eslintConfig": {
87
+ "extends": [
88
+ "@open-wc/eslint-config",
89
+ "eslint-config-prettier"
90
+ ]
91
+ },
92
+ "prettier": "@open-wc/prettier-config",
93
+ "husky": {
94
+ "hooks": {
95
+ "pre-commit": "lint-staged"
96
+ }
97
+ },
98
+ "publishConfig": {
99
+ "access": "public"
100
+ },
101
+ "lint-staged": {
102
+ "*.ts": [
103
+ "eslint --fix",
104
+ "git add"
105
+ ]
106
+ }
107
+ }
@@ -1,8 +1,8 @@
1
- /** Analytics functionality from Donation Form Controller
2
- * this will get passed thru to the children handlers
3
- * so that they can send analytics events in donation form context
4
- */
5
- export interface DonationControllerEventLoggerInterface {
6
- logEvent(action: string, label: string): void;
7
- logDonationFlowEvent(action: string, label: string): void;
8
- }
1
+ /** Analytics functionality from Donation Form Controller
2
+ * this will get passed thru to the children handlers
3
+ * so that they can send analytics events in donation form context
4
+ */
5
+ export interface DonationControllerEventLoggerInterface {
6
+ logEvent(action: string, label: string): void;
7
+ logDonationFlowEvent(action: string, label: string): void;
8
+ }
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) Microsoft Corporation.
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE
1
+ MIT License
2
+
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE