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

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 +159 -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 +2 -0
  59. package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js.map +1 -1
  60. package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js +2 -0
  61. package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js.map +1 -1
  62. package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.js.map +1 -1
  63. package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.js.map +1 -1
  64. package/dist/src/payment-flow-handlers/payment-flow-handlers.js.map +1 -1
  65. package/dist/src/recaptcha-manager/recaptcha-manager.js.map +1 -1
  66. package/dist/src/util/promisedSleep.js.map +1 -1
  67. package/dist/test/helpers/fillInContactForm.js.map +1 -1
  68. package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.js.map +1 -1
  69. package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.js.map +1 -1
  70. package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.js.map +1 -1
  71. package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.js.map +1 -1
  72. package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.js.map +1 -1
  73. package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js.map +1 -1
  74. package/dist/test/mocks/mock-braintree-manager.js.map +1 -1
  75. package/dist/test/mocks/mock-donation-info.js.map +1 -1
  76. package/dist/test/mocks/mock-endpoint-manager.js.map +1 -1
  77. package/dist/test/mocks/mock-hosted-fields-config.js.map +1 -1
  78. package/dist/test/mocks/mock-hosted-fields-container.js.map +1 -1
  79. package/dist/test/mocks/mock-lazy-loader.js.map +1 -1
  80. package/dist/test/mocks/mock-modal-manager.js.map +1 -1
  81. package/dist/test/mocks/mock-payment-clients.js.map +1 -1
  82. package/dist/test/mocks/mock-paypal-button-renderer.js.map +1 -1
  83. package/dist/test/mocks/mock-recaptcha-manager.js.map +1 -1
  84. package/dist/test/mocks/models/mock-billing-info.js +2 -0
  85. package/dist/test/mocks/models/mock-billing-info.js.map +1 -1
  86. package/dist/test/mocks/models/mock-custom-fields.js.map +1 -1
  87. package/dist/test/mocks/models/mock-customer-info.js.map +1 -1
  88. package/dist/test/mocks/models/mock-donation-request.js.map +1 -1
  89. package/dist/test/mocks/models/mock-success-response.js.map +1 -1
  90. package/dist/test/mocks/payment-clients/mock-applepay-client.js.map +1 -1
  91. package/dist/test/mocks/payment-clients/mock-applepay-payment.js.map +1 -1
  92. package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js.map +1 -1
  93. package/dist/test/mocks/payment-clients/mock-applepay-session.js.map +1 -1
  94. package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js.map +1 -1
  95. package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.js.map +1 -1
  96. package/dist/test/mocks/payment-clients/mock-braintree-client.js.map +1 -1
  97. package/dist/test/mocks/payment-clients/mock-data-collector.js.map +1 -1
  98. package/dist/test/mocks/payment-clients/mock-googlepay-client.js.map +1 -1
  99. package/dist/test/mocks/payment-clients/mock-googlepay-library.js.map +1 -1
  100. package/dist/test/mocks/payment-clients/mock-grecaptcha.js.map +1 -1
  101. package/dist/test/mocks/payment-clients/mock-hostedfields-client.js.map +1 -1
  102. package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.js.map +1 -1
  103. package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.js.map +1 -1
  104. package/dist/test/mocks/payment-clients/mock-paypal-client.js.map +1 -1
  105. package/dist/test/mocks/payment-clients/mock-paypal-library.js.map +1 -1
  106. package/dist/test/mocks/payment-clients/mock-venmo-client.js.map +1 -1
  107. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.js.map +1 -1
  108. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.js.map +1 -1
  109. package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js.map +1 -1
  110. package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.js.map +1 -1
  111. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.js.map +1 -1
  112. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js.map +1 -1
  113. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.js.map +1 -1
  114. package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.js.map +1 -1
  115. package/dist/test/mocks/payment-providers/mock-payment-providers.js.map +1 -1
  116. package/dist/test/tests/braintree-manager.test.js.map +1 -1
  117. package/dist/test/tests/donation-form-controller.test.js +39 -39
  118. package/dist/test/tests/donation-form-controller.test.js.map +1 -1
  119. package/dist/test/tests/donation-form.test.js +4 -4
  120. package/dist/test/tests/donation-form.test.js.map +1 -1
  121. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js +16 -14
  122. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js.map +1 -1
  123. package/dist/test/tests/form-elements/donation-summary.test.js.map +1 -1
  124. package/dist/test/tests/form-elements/payment-selector.test.js.map +1 -1
  125. package/dist/test/tests/modals/error-modal-content.test.js +2 -2
  126. package/dist/test/tests/modals/error-modal-content.test.js.map +1 -1
  127. package/dist/test/tests/modals/upsell-modal-content.test.js +31 -31
  128. package/dist/test/tests/modals/upsell-modal-content.test.js.map +1 -1
  129. package/dist/test/tests/models/donation-payment-info.test.js.map +1 -1
  130. package/dist/test/tests/payment-clients.test.js.map +1 -1
  131. package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js.map +1 -1
  132. package/dist/test/tests/payment-providers/applepay-sessionmanager.test.js.map +1 -1
  133. package/dist/test/tests/payment-providers/applepay.test.js.map +1 -1
  134. package/dist/test/tests/payment-providers/creditcard.test.js.map +1 -1
  135. package/dist/test/tests/payment-providers/googlepay.test.js.map +1 -1
  136. package/dist/test/tests/payment-providers/payment-providers.test.js.map +1 -1
  137. package/dist/test/tests/payment-providers/paypal-button-datasource.test.js.map +1 -1
  138. package/dist/test/tests/payment-providers/paypal.test.js.map +1 -1
  139. package/dist/test/tests/payment-providers/venmo.test.js.map +1 -1
  140. package/dist/test/tests/recaptcha-manager.test.js.map +1 -1
  141. package/package.json +107 -107
  142. package/src/@types/analytics-handler/index.d.ts +8 -8
  143. package/src/@types/braintree-web/LICENSE +21 -21
  144. package/src/@types/braintree-web/index.d.ts +93 -93
  145. package/src/@types/braintree-web/modules/american-express.d.ts +50 -50
  146. package/src/@types/braintree-web/modules/apple-pay.d.ts +213 -213
  147. package/src/@types/braintree-web/modules/client.d.ts +103 -103
  148. package/src/@types/braintree-web/modules/core.d.ts +34 -34
  149. package/src/@types/braintree-web/modules/data-collector.d.ts +13 -13
  150. package/src/@types/braintree-web/modules/google-payment.d.ts +269 -269
  151. package/src/@types/braintree-web/modules/hosted-fields.d.ts +366 -366
  152. package/src/@types/braintree-web/modules/paypal-checkout.d.ts +262 -262
  153. package/src/@types/braintree-web/modules/paypal.d.ts +177 -177
  154. package/src/@types/braintree-web/modules/three-d-secure.d.ts +141 -141
  155. package/src/@types/braintree-web/modules/unionpay.d.ts +224 -224
  156. package/src/@types/braintree-web/modules/us-bank-account.d.ts +81 -81
  157. package/src/@types/braintree-web/modules/venmo.d.ts +110 -110
  158. package/src/@types/braintree-web/package.json +64 -64
  159. package/src/@types/paypal-checkout-components/LICENSE +21 -21
  160. package/src/@types/paypal-checkout-components/index.d.ts +67 -67
  161. package/src/@types/paypal-checkout-components/modules/button.d.ts +50 -50
  162. package/src/@types/paypal-checkout-components/modules/callback-data.d.ts +244 -244
  163. package/src/@types/paypal-checkout-components/modules/configuration.d.ts +114 -114
  164. package/src/@types/paypal-checkout-components/package.json +58 -58
  165. package/src/braintree-manager/braintree-interfaces.ts +172 -172
  166. package/src/braintree-manager/braintree-manager.ts +281 -281
  167. package/src/braintree-manager/payment-clients.ts +146 -146
  168. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.ts +13 -13
  169. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.ts +8 -8
  170. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.ts +10 -10
  171. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.ts +119 -119
  172. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.ts +21 -21
  173. package/src/braintree-manager/payment-providers/apple-pay/apple-pay.ts +97 -97
  174. package/src/braintree-manager/payment-providers/credit-card/credit-card-interface.ts +21 -21
  175. package/src/braintree-manager/payment-providers/credit-card/credit-card.ts +130 -130
  176. package/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.ts +19 -19
  177. package/src/braintree-manager/payment-providers/credit-card/hosted-field-container.ts +85 -85
  178. package/src/braintree-manager/payment-providers/google-pay-interface.ts +8 -8
  179. package/src/braintree-manager/payment-providers/google-pay.ts +59 -59
  180. package/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.ts +218 -218
  181. package/src/braintree-manager/payment-providers/paypal/paypal-interface.ts +13 -13
  182. package/src/braintree-manager/payment-providers/paypal/paypal.ts +78 -78
  183. package/src/braintree-manager/payment-providers/venmo-interface.ts +8 -8
  184. package/src/braintree-manager/payment-providers/venmo.ts +67 -67
  185. package/src/braintree-manager/payment-providers-interface.ts +25 -25
  186. package/src/braintree-manager/payment-providers.ts +147 -147
  187. package/src/donation-form-controller.ts +623 -623
  188. package/src/donation-form-error.ts +6 -6
  189. package/src/donation-form.ts +576 -576
  190. package/src/form-elements/badged-input.ts +109 -109
  191. package/src/form-elements/contact-form/autocomplete-field-options.ts +63 -63
  192. package/src/form-elements/contact-form/contact-form.ts +436 -434
  193. package/src/form-elements/contact-form/countries.ts +252 -252
  194. package/src/form-elements/header/donation-form-header.ts +98 -98
  195. package/src/form-elements/header/donation-summary.ts +61 -61
  196. package/src/form-elements/payment-selector.ts +365 -365
  197. package/src/form-elements/total-amount.ts +46 -46
  198. package/src/modals/confirm-donation-modal-content.ts +168 -168
  199. package/src/modals/error-modal-content.ts +48 -48
  200. package/src/modals/upsell-modal-content.ts +284 -284
  201. package/src/payment-flow-handlers/donation-flow-modal-manager.ts +439 -439
  202. package/src/payment-flow-handlers/handlers/applepay-flow-handler.ts +109 -109
  203. package/src/payment-flow-handlers/handlers/creditcard-flow-handler.ts +232 -232
  204. package/src/payment-flow-handlers/handlers/googlepay-flow-handler.ts +113 -111
  205. package/src/payment-flow-handlers/handlers/paypal-flow-handler.ts +333 -331
  206. package/src/payment-flow-handlers/handlers/venmo-flow-handler.ts +119 -119
  207. package/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.ts +127 -127
  208. package/src/payment-flow-handlers/payment-flow-handlers.ts +218 -218
  209. package/src/recaptcha-manager/recaptcha-manager.ts +123 -123
  210. package/src/util/promisedSleep.ts +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"applepay-sessiondatasource.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/applepay-sessiondatasource.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 { MockApplePaySession } from '../../mocks/payment-clients/mock-applepay-session';\r\nimport { MockApplePaySessionDataSourceDelegate } from '../../mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate';\r\nimport { ApplePaySessionDataSource } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource';\r\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\r\nimport { MockApplePayClient } from '../../mocks/payment-clients/mock-applepay-client';\r\nimport { MockApplePayValidateMerchantEvent } from '../../mocks/payment-clients/mock-applepay-validatemerchantevent';\r\nimport { MockApplePayPaymentAuthorizedEvent } from '../../mocks/payment-clients/mock-applepay-paymentauthorizedevent';\r\nimport { SuccessResponse } from '@internetarchive/donation-form-data-models';\r\nimport { MockDonationInfo } from '../../mocks/mock-donation-info';\r\n\r\ndescribe('ApplePaySessionDataSource', () => {\r\n describe('onvalidatemerchant', () => {\r\n it('performs validation and calls completeMerchantValidation', async () => {\r\n const session = new MockApplePaySession();\r\n const instance = new MockApplePayClient();\r\n const braintreeManager = new MockBraintreeManager();\r\n const delegate = new MockApplePaySessionDataSourceDelegate();\r\n const datasource = new ApplePaySessionDataSource({\r\n donationInfo: new MockDonationInfo(),\r\n session: session,\r\n applePayInstance: instance,\r\n braintreeManager: braintreeManager,\r\n });\r\n datasource.delegate = delegate;\r\n\r\n const event = new MockApplePayValidateMerchantEvent();\r\n\r\n await datasource.onvalidatemerchant(event);\r\n expect(session.completeMerchantValidationCalled).to.be.true;\r\n });\r\n\r\n it('notifies delegate and aborts session if validation fails', async () => {\r\n const session = new MockApplePaySession();\r\n const instance = new MockApplePayClient({ shouldValidateMerchant: false });\r\n const braintreeManager = new MockBraintreeManager();\r\n const delegate = new MockApplePaySessionDataSourceDelegate();\r\n const datasource = new ApplePaySessionDataSource({\r\n donationInfo: new MockDonationInfo(),\r\n session: session,\r\n applePayInstance: instance,\r\n braintreeManager: braintreeManager,\r\n });\r\n datasource.delegate = delegate;\r\n\r\n const event = new MockApplePayValidateMerchantEvent();\r\n\r\n try {\r\n await datasource.onvalidatemerchant(event);\r\n expect.fail('should not reach here');\r\n } catch (error) {\r\n expect(error).to.not.be.undefined;\r\n }\r\n });\r\n });\r\n\r\n describe('oncancel', () => {\r\n it('notifies the delegate when the payment is cancelled', async () => {\r\n const session = new MockApplePaySession();\r\n const instance = new MockApplePayClient();\r\n const braintreeManager = new MockBraintreeManager();\r\n const delegate = new MockApplePaySessionDataSourceDelegate();\r\n const datasource = new ApplePaySessionDataSource({\r\n donationInfo: new MockDonationInfo(),\r\n session: session,\r\n applePayInstance: instance,\r\n braintreeManager: braintreeManager,\r\n });\r\n datasource.delegate = delegate;\r\n datasource.oncancel();\r\n expect(delegate.paymentCancelledCalled).to.be.true;\r\n });\r\n });\r\n\r\n describe('onpaymentauthorized', () => {\r\n beforeEach(() => {\r\n (window['ApplePaySession' as any] as any) = MockApplePaySession;\r\n });\r\n\r\n afterEach(() => {\r\n delete window['ApplePaySession' as any];\r\n });\r\n\r\n it('notifies the delegate on payment completion and completes the session', async () => {\r\n const session = new MockApplePaySession();\r\n const instance = new MockApplePayClient();\r\n const braintreeManager = new MockBraintreeManager();\r\n const delegate = new MockApplePaySessionDataSourceDelegate();\r\n const datasource = new ApplePaySessionDataSource({\r\n donationInfo: new MockDonationInfo(),\r\n session: session,\r\n applePayInstance: instance,\r\n braintreeManager: braintreeManager,\r\n });\r\n datasource.delegate = delegate;\r\n\r\n const event = new MockApplePayPaymentAuthorizedEvent();\r\n\r\n await datasource.onpaymentauthorized(event);\r\n expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_SUCCESS);\r\n\r\n const response = delegate.paymentCompleteResponse;\r\n expect(response).to.not.be.undefined;\r\n expect(response?.success).to.be.true;\r\n\r\n const value = response?.value as SuccessResponse;\r\n expect(value.amount).to.equal(5);\r\n expect(value.customer.email).to.equal('foo@bar.com');\r\n expect(value.billing.streetAddress).to.equal('123 Fake St');\r\n expect(value.billing.extendedAddress).to.equal('Apt 123');\r\n });\r\n\r\n it('on tokenization failure, notifies the delegate and completes the session with a failure', async () => {\r\n const session = new MockApplePaySession();\r\n const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: false });\r\n const braintreeManager = new MockBraintreeManager();\r\n const delegate = new MockApplePaySessionDataSourceDelegate();\r\n const datasource = new ApplePaySessionDataSource({\r\n donationInfo: new MockDonationInfo(),\r\n session: session,\r\n applePayInstance: instance,\r\n braintreeManager: braintreeManager,\r\n });\r\n datasource.delegate = delegate;\r\n\r\n const event = new MockApplePayPaymentAuthorizedEvent();\r\n\r\n await datasource.onpaymentauthorized(event);\r\n expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);\r\n const result = delegate.paymentFailedError;\r\n expect(result).to.deep.equal({\r\n code: 'foo',\r\n details: 'foo bar',\r\n message: 'bar',\r\n type: 'CUSTOMER',\r\n });\r\n });\r\n\r\n it('on submission failure, notifies the delegate and completes the session with a failure', async () => {\r\n const session = new MockApplePaySession();\r\n const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: true });\r\n const braintreeManager = new MockBraintreeManager({ submitDonationResponse: 'failure' });\r\n const delegate = new MockApplePaySessionDataSourceDelegate();\r\n const datasource = new ApplePaySessionDataSource({\r\n donationInfo: new MockDonationInfo(),\r\n session: session,\r\n applePayInstance: instance,\r\n braintreeManager: braintreeManager,\r\n });\r\n datasource.delegate = delegate;\r\n\r\n const event = new MockApplePayPaymentAuthorizedEvent();\r\n\r\n await datasource.onpaymentauthorized(event);\r\n expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);\r\n const result = delegate.paymentFailedError;\r\n expect(result).to.equal('Failure submitting data');\r\n });\r\n\r\n it('on submission error, notifies the delegate and completes the session with a failure', async () => {\r\n const session = new MockApplePaySession();\r\n const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: true });\r\n const braintreeManager = new MockBraintreeManager({ submitDonationError: true });\r\n const delegate = new MockApplePaySessionDataSourceDelegate();\r\n const datasource = new ApplePaySessionDataSource({\r\n donationInfo: new MockDonationInfo(),\r\n session: session,\r\n applePayInstance: instance,\r\n braintreeManager: braintreeManager,\r\n });\r\n datasource.delegate = delegate;\r\n\r\n const event = new MockApplePayPaymentAuthorizedEvent();\r\n\r\n await datasource.onpaymentauthorized(event);\r\n expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);\r\n const result = delegate.paymentFailedError;\r\n expect(result).to.equal('oh no');\r\n });\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"applepay-sessiondatasource.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/applepay-sessiondatasource.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { expect } from '@open-wc/testing';\nimport { MockApplePaySession } from '../../mocks/payment-clients/mock-applepay-session';\nimport { MockApplePaySessionDataSourceDelegate } from '../../mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate';\nimport { ApplePaySessionDataSource } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { MockApplePayClient } from '../../mocks/payment-clients/mock-applepay-client';\nimport { MockApplePayValidateMerchantEvent } from '../../mocks/payment-clients/mock-applepay-validatemerchantevent';\nimport { MockApplePayPaymentAuthorizedEvent } from '../../mocks/payment-clients/mock-applepay-paymentauthorizedevent';\nimport { SuccessResponse } from '@internetarchive/donation-form-data-models';\nimport { MockDonationInfo } from '../../mocks/mock-donation-info';\n\ndescribe('ApplePaySessionDataSource', () => {\n describe('onvalidatemerchant', () => {\n it('performs validation and calls completeMerchantValidation', async () => {\n const session = new MockApplePaySession();\n const instance = new MockApplePayClient();\n const braintreeManager = new MockBraintreeManager();\n const delegate = new MockApplePaySessionDataSourceDelegate();\n const datasource = new ApplePaySessionDataSource({\n donationInfo: new MockDonationInfo(),\n session: session,\n applePayInstance: instance,\n braintreeManager: braintreeManager,\n });\n datasource.delegate = delegate;\n\n const event = new MockApplePayValidateMerchantEvent();\n\n await datasource.onvalidatemerchant(event);\n expect(session.completeMerchantValidationCalled).to.be.true;\n });\n\n it('notifies delegate and aborts session if validation fails', async () => {\n const session = new MockApplePaySession();\n const instance = new MockApplePayClient({ shouldValidateMerchant: false });\n const braintreeManager = new MockBraintreeManager();\n const delegate = new MockApplePaySessionDataSourceDelegate();\n const datasource = new ApplePaySessionDataSource({\n donationInfo: new MockDonationInfo(),\n session: session,\n applePayInstance: instance,\n braintreeManager: braintreeManager,\n });\n datasource.delegate = delegate;\n\n const event = new MockApplePayValidateMerchantEvent();\n\n try {\n await datasource.onvalidatemerchant(event);\n expect.fail('should not reach here');\n } catch (error) {\n expect(error).to.not.be.undefined;\n }\n });\n });\n\n describe('oncancel', () => {\n it('notifies the delegate when the payment is cancelled', async () => {\n const session = new MockApplePaySession();\n const instance = new MockApplePayClient();\n const braintreeManager = new MockBraintreeManager();\n const delegate = new MockApplePaySessionDataSourceDelegate();\n const datasource = new ApplePaySessionDataSource({\n donationInfo: new MockDonationInfo(),\n session: session,\n applePayInstance: instance,\n braintreeManager: braintreeManager,\n });\n datasource.delegate = delegate;\n datasource.oncancel();\n expect(delegate.paymentCancelledCalled).to.be.true;\n });\n });\n\n describe('onpaymentauthorized', () => {\n beforeEach(() => {\n (window['ApplePaySession' as any] as any) = MockApplePaySession;\n });\n\n afterEach(() => {\n delete window['ApplePaySession' as any];\n });\n\n it('notifies the delegate on payment completion and completes the session', async () => {\n const session = new MockApplePaySession();\n const instance = new MockApplePayClient();\n const braintreeManager = new MockBraintreeManager();\n const delegate = new MockApplePaySessionDataSourceDelegate();\n const datasource = new ApplePaySessionDataSource({\n donationInfo: new MockDonationInfo(),\n session: session,\n applePayInstance: instance,\n braintreeManager: braintreeManager,\n });\n datasource.delegate = delegate;\n\n const event = new MockApplePayPaymentAuthorizedEvent();\n\n await datasource.onpaymentauthorized(event);\n expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_SUCCESS);\n\n const response = delegate.paymentCompleteResponse;\n expect(response).to.not.be.undefined;\n expect(response?.success).to.be.true;\n\n const value = response?.value as SuccessResponse;\n expect(value.amount).to.equal(5);\n expect(value.customer.email).to.equal('foo@bar.com');\n expect(value.billing.streetAddress).to.equal('123 Fake St');\n expect(value.billing.extendedAddress).to.equal('Apt 123');\n });\n\n it('on tokenization failure, notifies the delegate and completes the session with a failure', async () => {\n const session = new MockApplePaySession();\n const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: false });\n const braintreeManager = new MockBraintreeManager();\n const delegate = new MockApplePaySessionDataSourceDelegate();\n const datasource = new ApplePaySessionDataSource({\n donationInfo: new MockDonationInfo(),\n session: session,\n applePayInstance: instance,\n braintreeManager: braintreeManager,\n });\n datasource.delegate = delegate;\n\n const event = new MockApplePayPaymentAuthorizedEvent();\n\n await datasource.onpaymentauthorized(event);\n expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);\n const result = delegate.paymentFailedError;\n expect(result).to.deep.equal({\n code: 'foo',\n details: 'foo bar',\n message: 'bar',\n type: 'CUSTOMER',\n });\n });\n\n it('on submission failure, notifies the delegate and completes the session with a failure', async () => {\n const session = new MockApplePaySession();\n const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: true });\n const braintreeManager = new MockBraintreeManager({ submitDonationResponse: 'failure' });\n const delegate = new MockApplePaySessionDataSourceDelegate();\n const datasource = new ApplePaySessionDataSource({\n donationInfo: new MockDonationInfo(),\n session: session,\n applePayInstance: instance,\n braintreeManager: braintreeManager,\n });\n datasource.delegate = delegate;\n\n const event = new MockApplePayPaymentAuthorizedEvent();\n\n await datasource.onpaymentauthorized(event);\n expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);\n const result = delegate.paymentFailedError;\n expect(result).to.equal('Failure submitting data');\n });\n\n it('on submission error, notifies the delegate and completes the session with a failure', async () => {\n const session = new MockApplePaySession();\n const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: true });\n const braintreeManager = new MockBraintreeManager({ submitDonationError: true });\n const delegate = new MockApplePaySessionDataSourceDelegate();\n const datasource = new ApplePaySessionDataSource({\n donationInfo: new MockDonationInfo(),\n session: session,\n applePayInstance: instance,\n braintreeManager: braintreeManager,\n });\n datasource.delegate = delegate;\n\n const event = new MockApplePayPaymentAuthorizedEvent();\n\n await datasource.onpaymentauthorized(event);\n expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);\n const result = delegate.paymentFailedError;\n expect(result).to.equal('oh no');\n });\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"applepay-sessionmanager.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/applepay-sessionmanager.test.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sFAAsF,CAAC;AAC9H,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAExF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;QAC1D,MAAM,CAAC,iBAAwB,CAAS,GAAG,mBAAmB,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACpD,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACpD,OAAO,MAAM,CAAC,iBAAwB,CAAC,CAAC;IAC1C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAS,EAAE;QAChE,MAAM,cAAc,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACpD,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACvD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAS,EAAE;QAC5C,MAAM,CAAC,iBAAwB,CAAS,GAAG,mBAAmB,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACpD,MAAM,OAAO,GAAsC;YACjD,KAAK,EAAE;gBACL,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,MAAM;aACf;YACD,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,KAAK;YACnB,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;YACjC,oBAAoB,EAAE,EAAE;YAExB,4BAA4B,EAAE,CAAC,eAAe,CAAC;YAC/C,6BAA6B,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SACjD,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAwB,CAAC;QACvF,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,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 { ApplePaySessionManager } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager';\r\nimport { MockApplePaySession } from '../../mocks/payment-clients/mock-applepay-session';\r\n\r\ndescribe('ApplePaySessionManager', () => {\r\n it('properly determines if payments can be made', async () => {\r\n (window['ApplePaySession' as any] as any) = MockApplePaySession;\r\n const sessionManager = new ApplePaySessionManager();\r\n expect(sessionManager.canMakePayments()).to.be.true;\r\n delete window['ApplePaySession' as any];\r\n });\r\n\r\n it('properly determines when payments cannot be made', async () => {\r\n const sessionManager = new ApplePaySessionManager();\r\n expect(sessionManager.canMakePayments()).to.be.false;\r\n });\r\n\r\n it('creates a new ApplePaySession', async () => {\r\n (window['ApplePaySession' as any] as any) = MockApplePaySession;\r\n const sessionManager = new ApplePaySessionManager();\r\n const request: ApplePayJS.ApplePayPaymentRequest = {\r\n total: {\r\n label: 'Foo Donation',\r\n amount: '3.50',\r\n },\r\n countryCode: 'US',\r\n currencyCode: 'USD',\r\n supportedNetworks: ['Foo', 'Bar'],\r\n merchantCapabilities: [],\r\n\r\n requiredBillingContactFields: ['postalAddress'],\r\n requiredShippingContactFields: ['name', 'email'],\r\n };\r\n const session = sessionManager.createNewPaymentSession(request) as MockApplePaySession;\r\n expect(session.versionCheck).to.equal(ApplePaySessionManager.VERSION);\r\n expect(session.paymentRequestCheck).to.deep.equal(request);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"applepay-sessionmanager.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/applepay-sessionmanager.test.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sFAAsF,CAAC;AAC9H,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAExF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;QAC1D,MAAM,CAAC,iBAAwB,CAAS,GAAG,mBAAmB,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACpD,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACpD,OAAO,MAAM,CAAC,iBAAwB,CAAC,CAAC;IAC1C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAS,EAAE;QAChE,MAAM,cAAc,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACpD,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACvD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAS,EAAE;QAC5C,MAAM,CAAC,iBAAwB,CAAS,GAAG,mBAAmB,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACpD,MAAM,OAAO,GAAsC;YACjD,KAAK,EAAE;gBACL,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,MAAM;aACf;YACD,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,KAAK;YACnB,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;YACjC,oBAAoB,EAAE,EAAE;YAExB,4BAA4B,EAAE,CAAC,eAAe,CAAC;YAC/C,6BAA6B,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SACjD,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAwB,CAAC;QACvF,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { expect } from '@open-wc/testing';\nimport { ApplePaySessionManager } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager';\nimport { MockApplePaySession } from '../../mocks/payment-clients/mock-applepay-session';\n\ndescribe('ApplePaySessionManager', () => {\n it('properly determines if payments can be made', async () => {\n (window['ApplePaySession' as any] as any) = MockApplePaySession;\n const sessionManager = new ApplePaySessionManager();\n expect(sessionManager.canMakePayments()).to.be.true;\n delete window['ApplePaySession' as any];\n });\n\n it('properly determines when payments cannot be made', async () => {\n const sessionManager = new ApplePaySessionManager();\n expect(sessionManager.canMakePayments()).to.be.false;\n });\n\n it('creates a new ApplePaySession', async () => {\n (window['ApplePaySession' as any] as any) = MockApplePaySession;\n const sessionManager = new ApplePaySessionManager();\n const request: ApplePayJS.ApplePayPaymentRequest = {\n total: {\n label: 'Foo Donation',\n amount: '3.50',\n },\n countryCode: 'US',\n currencyCode: 'USD',\n supportedNetworks: ['Foo', 'Bar'],\n merchantCapabilities: [],\n\n requiredBillingContactFields: ['postalAddress'],\n requiredShippingContactFields: ['name', 'email'],\n };\n const session = sessionManager.createNewPaymentSession(request) as MockApplePaySession;\n expect(session.versionCheck).to.equal(ApplePaySessionManager.VERSION);\n expect(session.paymentRequestCheck).to.deep.equal(request);\n });\n});\n"]}
@@ -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 */\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
+ {"version":3,"file":"applepay.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/applepay.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,eAAe,EAAE,MAAM,sEAAsE,CAAC;AACvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,0BAA0B,CAAC;gBACpD,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;gBAClC,gBAAgB,EAAE,gBAAgB;gBAClC,cAAc,EAAE,cAAc;gBAC9B,sBAAsB,EAAE,cAAc;aACvC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9C,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,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,0BAA0B,CAAC;gBACpD,eAAe,EAAE,KAAK;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;gBAClC,gBAAgB,EAAE,gBAAgB;gBAClC,cAAc,EAAE,cAAc;gBAC9B,sBAAsB,EAAE,cAAc;aACvC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAChC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACnD,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,0BAA0B,CAAC;gBACpD,eAAe,EAAE,IAAI,EAAE,+DAA+D;aACvF,CAAC,CAAC;YACH,MAAM,yBAAyB,GAAG,IAAI,iBAAiB,CAAM;gBAC3D,SAAS,EAAE,GAAiB,EAAE,CAC5B,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC9B,MAAM,EAAE,CAAC;gBACX,CAAC,CAAC;aACL,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;gBAClC,gBAAgB,EAAE,gBAAgB;gBAClC,cAAc,EAAE,cAAc;gBAC9B,sBAAsB,EAAE,cAAc;gBACtC,yBAAyB,EAAE,yBAAyB;aACrD,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAChC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,+BAA+B,EAAE,GAAS,EAAE;YAC7C,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,0BAA0B,CAAC;gBACpD,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;gBAClC,gBAAgB,EAAE,gBAAgB;gBAClC,cAAc,EAAE,cAAc;gBAC9B,sBAAsB,EAAE,cAAc;aACvC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,gBAAgB,EAAE,CAAC,CAAC;YACrF,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;QACjF,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,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 { 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 +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';\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
+ {"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 +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';\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
+ {"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 +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';\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
+ {"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 +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';\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
+ {"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 +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 */\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
+ {"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 +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';\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
+ {"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 +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';\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"]}
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"]}