@internetarchive/donation-form 0.5.18-alpha.1 → 0.5.18
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.
- package/LICENSE +661 -661
- package/README.md +115 -115
- package/dist/demo/braintree-endpoint-manager.d.ts +9 -9
- package/dist/demo/braintree-endpoint-manager.js +45 -45
- package/dist/demo/braintree-endpoint-manager.js.map +1 -1
- package/dist/demo/demo-analytics-handler.d.ts +17 -17
- package/dist/demo/demo-analytics-handler.js +13 -13
- package/dist/demo/demo-analytics-handler.js.map +1 -1
- package/dist/demo/submit-form-with.d.ts +7 -7
- package/dist/demo/submit-form-with.js +21 -21
- package/dist/demo/submit-form-with.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/src/braintree-manager/braintree-interfaces.d.ts +147 -147
- package/dist/src/braintree-manager/braintree-interfaces.js +5 -5
- package/dist/src/braintree-manager/braintree-interfaces.js.map +1 -1
- package/dist/src/braintree-manager/braintree-manager.d.ts +124 -124
- package/dist/src/braintree-manager/braintree-manager.js +149 -149
- package/dist/src/braintree-manager/braintree-manager.js.map +1 -1
- package/dist/src/braintree-manager/payment-clients.d.ts +47 -47
- package/dist/src/braintree-manager/payment-clients.js +116 -116
- package/dist/src/braintree-manager/payment-clients.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.d.ts +8 -8
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.d.ts +6 -6
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts +10 -10
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.d.ts +21 -21
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.js +99 -99
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.d.ts +10 -10
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.js +12 -12
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.d.ts +20 -20
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.js +71 -71
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card-interface.d.ts +16 -16
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.d.ts +29 -29
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.js +99 -99
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.d.ts +11 -11
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.js +7 -7
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.d.ts +34 -34
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.js +52 -52
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/google-pay-interface.d.ts +7 -7
- package/dist/src/braintree-manager/payment-providers/google-pay-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/google-pay.d.ts +18 -18
- package/dist/src/braintree-manager/payment-providers/google-pay.js +40 -40
- package/dist/src/braintree-manager/payment-providers/google-pay.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.d.ts +145 -145
- package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.js +60 -60
- package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/paypal/paypal-interface.d.ts +11 -11
- package/dist/src/braintree-manager/payment-providers/paypal/paypal-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/paypal/paypal.d.ts +23 -23
- package/dist/src/braintree-manager/payment-providers/paypal/paypal.js +46 -46
- package/dist/src/braintree-manager/payment-providers/paypal/paypal.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/venmo-interface.d.ts +6 -6
- package/dist/src/braintree-manager/payment-providers/venmo-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/venmo.d.ts +28 -28
- package/dist/src/braintree-manager/payment-providers/venmo.js +50 -50
- package/dist/src/braintree-manager/payment-providers/venmo.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers-interface.d.ts +16 -16
- package/dist/src/braintree-manager/payment-providers-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers.d.ts +45 -45
- package/dist/src/braintree-manager/payment-providers.js +105 -105
- package/dist/src/braintree-manager/payment-providers.js.map +1 -1
- package/dist/src/donation-form-controller.d.ts +116 -116
- package/dist/src/donation-form-controller.js +562 -562
- package/dist/src/donation-form-controller.js.map +1 -1
- package/dist/src/donation-form-error.d.ts +3 -3
- package/dist/src/donation-form-error.js +6 -6
- package/dist/src/donation-form-error.js.map +1 -1
- package/dist/src/donation-form.d.ts +120 -120
- package/dist/src/donation-form.js +530 -530
- package/dist/src/donation-form.js.map +1 -1
- package/dist/src/form-elements/badged-input.d.ts +32 -32
- package/dist/src/form-elements/badged-input.js +124 -124
- package/dist/src/form-elements/badged-input.js.map +1 -1
- package/dist/src/form-elements/contact-form/autocomplete-field-options.d.ts +1 -1
- package/dist/src/form-elements/contact-form/autocomplete-field-options.js.map +1 -1
- package/dist/src/form-elements/contact-form/contact-form.d.ts +53 -53
- package/dist/src/form-elements/contact-form/contact-form.js +428 -428
- package/dist/src/form-elements/contact-form/contact-form.js.map +1 -1
- package/dist/src/form-elements/contact-form/countries.d.ts +3 -3
- package/dist/src/form-elements/contact-form/countries.js +252 -252
- package/dist/src/form-elements/contact-form/countries.js.map +1 -1
- package/dist/src/form-elements/header/donation-form-header.d.ts +27 -27
- package/dist/src/form-elements/header/donation-form-header.js +97 -97
- package/dist/src/form-elements/header/donation-form-header.js.map +1 -1
- package/dist/src/form-elements/header/donation-summary.d.ts +11 -11
- package/dist/src/form-elements/header/donation-summary.js +57 -57
- package/dist/src/form-elements/header/donation-summary.js.map +1 -1
- package/dist/src/form-elements/payment-selector.d.ts +25 -25
- package/dist/src/form-elements/payment-selector.js +286 -286
- package/dist/src/form-elements/payment-selector.js.map +1 -1
- package/dist/src/form-elements/total-amount.d.ts +8 -8
- package/dist/src/form-elements/total-amount.js +47 -47
- package/dist/src/form-elements/total-amount.js.map +1 -1
- package/dist/src/modals/confirm-donation-modal-content.d.ts +31 -31
- package/dist/src/modals/confirm-donation-modal-content.js +168 -168
- package/dist/src/modals/confirm-donation-modal-content.js.map +1 -1
- package/dist/src/modals/error-modal-content.d.ts +14 -14
- package/dist/src/modals/error-modal-content.js +49 -49
- package/dist/src/modals/error-modal-content.js.map +1 -1
- package/dist/src/modals/upsell-modal-content.d.ts +32 -32
- package/dist/src/modals/upsell-modal-content.js +294 -294
- package/dist/src/modals/upsell-modal-content.js.map +1 -1
- package/dist/src/payment-flow-handlers/donation-flow-modal-manager.d.ts +181 -181
- package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js +252 -252
- package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.d.ts +21 -21
- package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.js +76 -76
- package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.d.ts +70 -70
- package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.js +140 -140
- package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.d.ts +22 -22
- package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js +74 -74
- package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.d.ts +52 -52
- package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js +239 -239
- package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.d.ts +30 -30
- package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.js +89 -89
- package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.d.ts +75 -75
- package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.js +94 -94
- package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/payment-flow-handlers.d.ts +111 -111
- package/dist/src/payment-flow-handlers/payment-flow-handlers.js +107 -107
- package/dist/src/payment-flow-handlers/payment-flow-handlers.js.map +1 -1
- package/dist/src/recaptcha-manager/recaptcha-manager.d.ts +48 -48
- package/dist/src/recaptcha-manager/recaptcha-manager.js +88 -88
- package/dist/src/recaptcha-manager/recaptcha-manager.js.map +1 -1
- package/dist/src/util/promisedSleep.d.ts +1 -1
- package/dist/src/util/promisedSleep.js +3 -3
- package/dist/src/util/promisedSleep.js.map +1 -1
- package/dist/test/helpers/fillInContactForm.d.ts +2 -2
- package/dist/test/helpers/fillInContactForm.js +19 -19
- package/dist/test/helpers/fillInContactForm.js.map +1 -1
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.d.ts +7 -7
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.js +9 -9
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.js.map +1 -1
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.d.ts +15 -15
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.js +32 -32
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.js.map +1 -1
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.d.ts +9 -9
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.js +15 -15
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.js.map +1 -1
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.d.ts +15 -15
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.js +30 -30
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.js.map +1 -1
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.d.ts +9 -9
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.js +17 -17
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.js.map +1 -1
- package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.d.ts +30 -30
- package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js +29 -29
- package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js.map +1 -1
- package/dist/test/mocks/mock-analytics-handler.d.ts +8 -0
- package/dist/test/mocks/mock-analytics-handler.js +10 -0
- package/dist/test/mocks/mock-analytics-handler.js.map +1 -0
- package/dist/test/mocks/mock-braintree-manager.d.ts +45 -45
- package/dist/test/mocks/mock-braintree-manager.js +71 -71
- package/dist/test/mocks/mock-braintree-manager.js.map +1 -1
- package/dist/test/mocks/mock-donation-info.d.ts +4 -4
- package/dist/test/mocks/mock-donation-info.js +10 -10
- package/dist/test/mocks/mock-donation-info.js.map +1 -1
- package/dist/test/mocks/mock-endpoint-manager.d.ts +12 -12
- package/dist/test/mocks/mock-endpoint-manager.js +19 -19
- package/dist/test/mocks/mock-endpoint-manager.js.map +1 -1
- package/dist/test/mocks/mock-hosted-fields-config.d.ts +4 -4
- package/dist/test/mocks/mock-hosted-fields-config.js +37 -37
- package/dist/test/mocks/mock-hosted-fields-config.js.map +1 -1
- package/dist/test/mocks/mock-hosted-fields-container.d.ts +13 -13
- package/dist/test/mocks/mock-hosted-fields-container.js +27 -27
- package/dist/test/mocks/mock-hosted-fields-container.js.map +1 -1
- package/dist/test/mocks/mock-lazy-loader.d.ts +15 -15
- package/dist/test/mocks/mock-lazy-loader.js +20 -20
- package/dist/test/mocks/mock-lazy-loader.js.map +1 -1
- package/dist/test/mocks/mock-modal-manager.d.ts +17 -17
- package/dist/test/mocks/mock-modal-manager.js +26 -26
- package/dist/test/mocks/mock-modal-manager.js.map +1 -1
- package/dist/test/mocks/mock-payment-clients.d.ts +29 -29
- package/dist/test/mocks/mock-payment-clients.js +78 -78
- package/dist/test/mocks/mock-payment-clients.js.map +1 -1
- package/dist/test/mocks/mock-paypal-button-renderer.d.ts +5 -5
- package/dist/test/mocks/mock-paypal-button-renderer.js +6 -6
- package/dist/test/mocks/mock-paypal-button-renderer.js.map +1 -1
- package/dist/test/mocks/mock-recaptcha-manager.d.ts +7 -7
- package/dist/test/mocks/mock-recaptcha-manager.js +14 -14
- package/dist/test/mocks/mock-recaptcha-manager.js.map +1 -1
- package/dist/test/mocks/models/mock-billing-info.d.ts +2 -2
- package/dist/test/mocks/models/mock-billing-info.js +9 -9
- package/dist/test/mocks/models/mock-billing-info.js.map +1 -1
- package/dist/test/mocks/models/mock-custom-fields.d.ts +2 -2
- package/dist/test/mocks/models/mock-custom-fields.js +7 -7
- package/dist/test/mocks/models/mock-custom-fields.js.map +1 -1
- package/dist/test/mocks/models/mock-customer-info.d.ts +2 -2
- package/dist/test/mocks/models/mock-customer-info.js +6 -6
- package/dist/test/mocks/models/mock-customer-info.js.map +1 -1
- package/dist/test/mocks/models/mock-donation-request.d.ts +2 -2
- package/dist/test/mocks/models/mock-donation-request.js +18 -18
- package/dist/test/mocks/models/mock-donation-request.js.map +1 -1
- package/dist/test/mocks/models/mock-success-response.d.ts +2 -2
- package/dist/test/mocks/models/mock-success-response.js +14 -14
- package/dist/test/mocks/models/mock-success-response.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-client.d.ts +21 -21
- package/dist/test/mocks/payment-clients/mock-applepay-client.js +72 -72
- package/dist/test/mocks/payment-clients/mock-applepay-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-payment.d.ts +6 -6
- package/dist/test/mocks/payment-clients/mock-applepay-payment.js +42 -42
- package/dist/test/mocks/payment-clients/mock-applepay-payment.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.d.ts +22 -22
- package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js +35 -35
- package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-session.d.ts +30 -30
- package/dist/test/mocks/payment-clients/mock-applepay-session.js +52 -52
- package/dist/test/mocks/payment-clients/mock-applepay-session.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.d.ts +10 -10
- package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js +12 -12
- package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.d.ts +22 -22
- package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.js +34 -34
- package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-braintree-client.d.ts +14 -14
- package/dist/test/mocks/payment-clients/mock-braintree-client.js +19 -19
- package/dist/test/mocks/payment-clients/mock-braintree-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-data-collector.d.ts +11 -11
- package/dist/test/mocks/payment-clients/mock-data-collector.js +17 -17
- package/dist/test/mocks/payment-clients/mock-data-collector.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-googlepay-client.d.ts +22 -22
- package/dist/test/mocks/payment-clients/mock-googlepay-client.js +42 -42
- package/dist/test/mocks/payment-clients/mock-googlepay-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-googlepay-library.d.ts +10 -10
- package/dist/test/mocks/payment-clients/mock-googlepay-library.js +22 -22
- package/dist/test/mocks/payment-clients/mock-googlepay-library.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-grecaptcha.d.ts +23 -23
- package/dist/test/mocks/payment-clients/mock-grecaptcha.js +62 -62
- package/dist/test/mocks/payment-clients/mock-grecaptcha.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfields-client.d.ts +33 -33
- package/dist/test/mocks/payment-clients/mock-hostedfields-client.js +54 -54
- package/dist/test/mocks/payment-clients/mock-hostedfields-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.d.ts +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.js +50 -50
- package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.d.ts +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.js +13 -13
- package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-paypal-client.d.ts +23 -23
- package/dist/test/mocks/payment-clients/mock-paypal-client.js +62 -62
- package/dist/test/mocks/payment-clients/mock-paypal-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-paypal-library.d.ts +4 -4
- package/dist/test/mocks/payment-clients/mock-paypal-library.js +9 -9
- package/dist/test/mocks/payment-clients/mock-paypal-library.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-venmo-client.d.ts +22 -22
- package/dist/test/mocks/payment-clients/mock-venmo-client.js +36 -36
- package/dist/test/mocks/payment-clients/mock-venmo-client.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.d.ts +10 -10
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.js +14 -14
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.d.ts +9 -9
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.js +19 -19
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.d.ts +18 -18
- package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js +41 -41
- package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.d.ts +8 -8
- package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.js +16 -16
- package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.d.ts +28 -28
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.js +52 -52
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.d.ts +11 -11
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js +37 -37
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.d.ts +12 -12
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.js +15 -15
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.d.ts +7 -7
- package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.js +22 -22
- package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/mock-payment-providers.d.ts +21 -21
- package/dist/test/mocks/payment-providers/mock-payment-providers.js +45 -45
- package/dist/test/mocks/payment-providers/mock-payment-providers.js.map +1 -1
- package/dist/test/tests/braintree-manager.test.d.ts +1 -1
- package/dist/test/tests/braintree-manager.test.js +166 -166
- package/dist/test/tests/braintree-manager.test.js.map +1 -1
- package/dist/test/tests/donation-form-controller.test.d.ts +1 -1
- package/dist/test/tests/donation-form-controller.test.js +188 -188
- package/dist/test/tests/donation-form-controller.test.js.map +1 -1
- package/dist/test/tests/donation-form.test.d.ts +1 -1
- package/dist/test/tests/donation-form.test.js +109 -109
- package/dist/test/tests/donation-form.test.js.map +1 -1
- package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.d.ts +1 -1
- package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js +216 -216
- package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js.map +1 -1
- package/dist/test/tests/form-elements/donation-summary.test.d.ts +1 -1
- package/dist/test/tests/form-elements/donation-summary.test.js +36 -36
- package/dist/test/tests/form-elements/donation-summary.test.js.map +1 -1
- package/dist/test/tests/form-elements/payment-selector.test.d.ts +1 -1
- package/dist/test/tests/form-elements/payment-selector.test.js +69 -69
- package/dist/test/tests/form-elements/payment-selector.test.js.map +1 -1
- package/dist/test/tests/modals/error-modal-content.test.d.ts +1 -1
- package/dist/test/tests/modals/error-modal-content.test.js +14 -14
- package/dist/test/tests/modals/error-modal-content.test.js.map +1 -1
- package/dist/test/tests/modals/upsell-modal-content.test.d.ts +1 -1
- package/dist/test/tests/modals/upsell-modal-content.test.js +163 -163
- package/dist/test/tests/modals/upsell-modal-content.test.js.map +1 -1
- package/dist/test/tests/models/donation-payment-info.test.d.ts +1 -1
- package/dist/test/tests/models/donation-payment-info.test.js +74 -74
- package/dist/test/tests/models/donation-payment-info.test.js.map +1 -1
- package/dist/test/tests/payment-clients.test.d.ts +1 -1
- package/dist/test/tests/payment-clients.test.js +130 -130
- package/dist/test/tests/payment-clients.test.js.map +1 -1
- package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js +160 -160
- package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js.map +1 -1
- package/dist/test/tests/payment-providers/applepay-sessionmanager.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/applepay-sessionmanager.test.js +36 -36
- package/dist/test/tests/payment-providers/applepay-sessionmanager.test.js.map +1 -1
- package/dist/test/tests/payment-providers/applepay.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/applepay.test.js +78 -78
- package/dist/test/tests/payment-providers/applepay.test.js.map +1 -1
- package/dist/test/tests/payment-providers/creditcard.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/creditcard.test.js +190 -190
- package/dist/test/tests/payment-providers/creditcard.test.js.map +1 -1
- package/dist/test/tests/payment-providers/googlepay.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/googlepay.test.js +48 -48
- package/dist/test/tests/payment-providers/googlepay.test.js.map +1 -1
- package/dist/test/tests/payment-providers/payment-providers.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/payment-providers.test.js +38 -38
- package/dist/test/tests/payment-providers/payment-providers.test.js.map +1 -1
- package/dist/test/tests/payment-providers/paypal-button-datasource.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/paypal-button-datasource.test.js +162 -162
- package/dist/test/tests/payment-providers/paypal-button-datasource.test.js.map +1 -1
- package/dist/test/tests/payment-providers/paypal.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/paypal.test.js +38 -38
- package/dist/test/tests/payment-providers/paypal.test.js.map +1 -1
- package/dist/test/tests/payment-providers/venmo.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/venmo.test.js +77 -77
- package/dist/test/tests/payment-providers/venmo.test.js.map +1 -1
- package/dist/test/tests/recaptcha-manager.test.d.ts +1 -1
- package/dist/test/tests/recaptcha-manager.test.js +70 -70
- package/dist/test/tests/recaptcha-manager.test.js.map +1 -1
- package/package.json +101 -101
- package/src/@types/analytics-handler/index.d.ts +8 -8
- package/src/@types/braintree-web/LICENSE +21 -21
- package/src/@types/braintree-web/index.d.ts +93 -93
- package/src/@types/braintree-web/modules/american-express.d.ts +50 -50
- package/src/@types/braintree-web/modules/apple-pay.d.ts +213 -213
- package/src/@types/braintree-web/modules/client.d.ts +103 -103
- package/src/@types/braintree-web/modules/core.d.ts +34 -34
- package/src/@types/braintree-web/modules/data-collector.d.ts +13 -13
- package/src/@types/braintree-web/modules/google-payment.d.ts +269 -269
- package/src/@types/braintree-web/modules/hosted-fields.d.ts +366 -366
- package/src/@types/braintree-web/modules/paypal-checkout.d.ts +262 -262
- package/src/@types/braintree-web/modules/paypal.d.ts +177 -177
- package/src/@types/braintree-web/modules/three-d-secure.d.ts +141 -141
- package/src/@types/braintree-web/modules/unionpay.d.ts +224 -224
- package/src/@types/braintree-web/modules/us-bank-account.d.ts +81 -81
- package/src/@types/braintree-web/modules/venmo.d.ts +110 -110
- package/src/@types/braintree-web/package.json +64 -64
- package/src/@types/paypal-checkout-components/LICENSE +21 -21
- package/src/@types/paypal-checkout-components/index.d.ts +67 -67
- package/src/@types/paypal-checkout-components/modules/button.d.ts +50 -50
- package/src/@types/paypal-checkout-components/modules/callback-data.d.ts +244 -244
- package/src/@types/paypal-checkout-components/modules/configuration.d.ts +114 -114
- package/src/@types/paypal-checkout-components/package.json +58 -58
- package/src/braintree-manager/braintree-interfaces.ts +172 -172
- package/src/braintree-manager/braintree-manager.ts +283 -283
- package/src/braintree-manager/payment-clients.ts +148 -148
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.ts +13 -13
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.ts +8 -8
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.ts +10 -10
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.ts +119 -119
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.ts +21 -21
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay.ts +98 -98
- package/src/braintree-manager/payment-providers/credit-card/credit-card-interface.ts +21 -21
- package/src/braintree-manager/payment-providers/credit-card/credit-card.ts +130 -130
- package/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.ts +19 -19
- package/src/braintree-manager/payment-providers/credit-card/hosted-field-container.ts +85 -85
- package/src/braintree-manager/payment-providers/google-pay-interface.ts +8 -8
- package/src/braintree-manager/payment-providers/google-pay.ts +59 -59
- package/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.ts +218 -218
- package/src/braintree-manager/payment-providers/paypal/paypal-interface.ts +13 -13
- package/src/braintree-manager/payment-providers/paypal/paypal.ts +78 -78
- package/src/braintree-manager/payment-providers/venmo-interface.ts +8 -8
- package/src/braintree-manager/payment-providers/venmo.ts +67 -67
- package/src/braintree-manager/payment-providers-interface.ts +25 -25
- package/src/braintree-manager/payment-providers.ts +147 -147
- package/src/donation-form-controller.ts +619 -619
- package/src/donation-form-error.ts +6 -6
- package/src/donation-form.ts +566 -566
- package/src/form-elements/badged-input.ts +113 -113
- package/src/form-elements/contact-form/autocomplete-field-options.ts +63 -63
- package/src/form-elements/contact-form/contact-form.ts +427 -427
- package/src/form-elements/contact-form/countries.ts +252 -252
- package/src/form-elements/header/donation-form-header.ts +100 -100
- package/src/form-elements/header/donation-summary.ts +61 -61
- package/src/form-elements/payment-selector.ts +293 -293
- package/src/form-elements/total-amount.ts +46 -46
- package/src/modals/confirm-donation-modal-content.ts +160 -160
- package/src/modals/error-modal-content.ts +48 -48
- package/src/modals/upsell-modal-content.ts +294 -294
- package/src/payment-flow-handlers/donation-flow-modal-manager.ts +450 -450
- package/src/payment-flow-handlers/handlers/applepay-flow-handler.ts +108 -108
- package/src/payment-flow-handlers/handlers/creditcard-flow-handler.ts +231 -231
- package/src/payment-flow-handlers/handlers/googlepay-flow-handler.ts +113 -113
- package/src/payment-flow-handlers/handlers/paypal-flow-handler.ts +332 -332
- package/src/payment-flow-handlers/handlers/venmo-flow-handler.ts +118 -118
- package/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.ts +127 -127
- package/src/payment-flow-handlers/payment-flow-handlers.ts +218 -218
- package/src/recaptcha-manager/recaptcha-manager.ts +123 -123
- package/src/util/promisedSleep.ts +3 -3
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
-
import { expect } from '@open-wc/testing';
|
|
4
|
-
import { MockApplePaySession } from '../../mocks/payment-clients/mock-applepay-session';
|
|
5
|
-
import { MockApplePaySessionDataSourceDelegate } from '../../mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate';
|
|
6
|
-
import { ApplePaySessionDataSource } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource';
|
|
7
|
-
import { MockBraintreeManager } from '../../mocks/mock-braintree-manager';
|
|
8
|
-
import { MockApplePayClient } from '../../mocks/payment-clients/mock-applepay-client';
|
|
9
|
-
import { MockApplePayValidateMerchantEvent } from '../../mocks/payment-clients/mock-applepay-validatemerchantevent';
|
|
10
|
-
import { MockApplePayPaymentAuthorizedEvent } from '../../mocks/payment-clients/mock-applepay-paymentauthorizedevent';
|
|
11
|
-
import { MockDonationInfo } from '../../mocks/mock-donation-info';
|
|
12
|
-
describe('ApplePaySessionDataSource', () => {
|
|
13
|
-
describe('onvalidatemerchant', () => {
|
|
14
|
-
it('performs validation and calls completeMerchantValidation', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
-
const session = new MockApplePaySession();
|
|
16
|
-
const instance = new MockApplePayClient();
|
|
17
|
-
const braintreeManager = new MockBraintreeManager();
|
|
18
|
-
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
19
|
-
const datasource = new ApplePaySessionDataSource({
|
|
20
|
-
donationInfo: new MockDonationInfo(),
|
|
21
|
-
session: session,
|
|
22
|
-
applePayInstance: instance,
|
|
23
|
-
braintreeManager: braintreeManager,
|
|
24
|
-
});
|
|
25
|
-
datasource.delegate = delegate;
|
|
26
|
-
const event = new MockApplePayValidateMerchantEvent();
|
|
27
|
-
yield datasource.onvalidatemerchant(event);
|
|
28
|
-
expect(session.completeMerchantValidationCalled).to.be.true;
|
|
29
|
-
}));
|
|
30
|
-
it('notifies delegate and aborts session if validation fails', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
|
-
const session = new MockApplePaySession();
|
|
32
|
-
const instance = new MockApplePayClient({ shouldValidateMerchant: false });
|
|
33
|
-
const braintreeManager = new MockBraintreeManager();
|
|
34
|
-
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
35
|
-
const datasource = new ApplePaySessionDataSource({
|
|
36
|
-
donationInfo: new MockDonationInfo(),
|
|
37
|
-
session: session,
|
|
38
|
-
applePayInstance: instance,
|
|
39
|
-
braintreeManager: braintreeManager,
|
|
40
|
-
});
|
|
41
|
-
datasource.delegate = delegate;
|
|
42
|
-
const event = new MockApplePayValidateMerchantEvent();
|
|
43
|
-
try {
|
|
44
|
-
yield datasource.onvalidatemerchant(event);
|
|
45
|
-
expect.fail('should not reach here');
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
expect(error).to.not.be.undefined;
|
|
49
|
-
}
|
|
50
|
-
}));
|
|
51
|
-
});
|
|
52
|
-
describe('oncancel', () => {
|
|
53
|
-
it('notifies the delegate when the payment is cancelled', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
54
|
-
const session = new MockApplePaySession();
|
|
55
|
-
const instance = new MockApplePayClient();
|
|
56
|
-
const braintreeManager = new MockBraintreeManager();
|
|
57
|
-
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
58
|
-
const datasource = new ApplePaySessionDataSource({
|
|
59
|
-
donationInfo: new MockDonationInfo(),
|
|
60
|
-
session: session,
|
|
61
|
-
applePayInstance: instance,
|
|
62
|
-
braintreeManager: braintreeManager,
|
|
63
|
-
});
|
|
64
|
-
datasource.delegate = delegate;
|
|
65
|
-
datasource.oncancel();
|
|
66
|
-
expect(delegate.paymentCancelledCalled).to.be.true;
|
|
67
|
-
}));
|
|
68
|
-
});
|
|
69
|
-
describe('onpaymentauthorized', () => {
|
|
70
|
-
beforeEach(() => {
|
|
71
|
-
window['ApplePaySession'] = MockApplePaySession;
|
|
72
|
-
});
|
|
73
|
-
afterEach(() => {
|
|
74
|
-
delete window['ApplePaySession'];
|
|
75
|
-
});
|
|
76
|
-
it('notifies the delegate on payment completion and completes the session', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
-
const session = new MockApplePaySession();
|
|
78
|
-
const instance = new MockApplePayClient();
|
|
79
|
-
const braintreeManager = new MockBraintreeManager();
|
|
80
|
-
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
81
|
-
const datasource = new ApplePaySessionDataSource({
|
|
82
|
-
donationInfo: new MockDonationInfo(),
|
|
83
|
-
session: session,
|
|
84
|
-
applePayInstance: instance,
|
|
85
|
-
braintreeManager: braintreeManager,
|
|
86
|
-
});
|
|
87
|
-
datasource.delegate = delegate;
|
|
88
|
-
const event = new MockApplePayPaymentAuthorizedEvent();
|
|
89
|
-
yield datasource.onpaymentauthorized(event);
|
|
90
|
-
expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_SUCCESS);
|
|
91
|
-
const response = delegate.paymentCompleteResponse;
|
|
92
|
-
expect(response).to.not.be.undefined;
|
|
93
|
-
expect(response === null || response === void 0 ? void 0 : response.success).to.be.true;
|
|
94
|
-
const value = response === null || response === void 0 ? void 0 : response.value;
|
|
95
|
-
expect(value.amount).to.equal(5);
|
|
96
|
-
expect(value.customer.email).to.equal('foo@bar.com');
|
|
97
|
-
expect(value.billing.streetAddress).to.equal('123 Fake St');
|
|
98
|
-
expect(value.billing.extendedAddress).to.equal('Apt 123');
|
|
99
|
-
}));
|
|
100
|
-
it('on tokenization failure, notifies the delegate and completes the session with a failure', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
101
|
-
const session = new MockApplePaySession();
|
|
102
|
-
const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: false });
|
|
103
|
-
const braintreeManager = new MockBraintreeManager();
|
|
104
|
-
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
105
|
-
const datasource = new ApplePaySessionDataSource({
|
|
106
|
-
donationInfo: new MockDonationInfo(),
|
|
107
|
-
session: session,
|
|
108
|
-
applePayInstance: instance,
|
|
109
|
-
braintreeManager: braintreeManager,
|
|
110
|
-
});
|
|
111
|
-
datasource.delegate = delegate;
|
|
112
|
-
const event = new MockApplePayPaymentAuthorizedEvent();
|
|
113
|
-
yield datasource.onpaymentauthorized(event);
|
|
114
|
-
expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);
|
|
115
|
-
const result = delegate.paymentFailedError;
|
|
116
|
-
expect(result).to.deep.equal({
|
|
117
|
-
code: 'foo',
|
|
118
|
-
details: 'foo bar',
|
|
119
|
-
message: 'bar',
|
|
120
|
-
type: 'CUSTOMER',
|
|
121
|
-
});
|
|
122
|
-
}));
|
|
123
|
-
it('on submission failure, notifies the delegate and completes the session with a failure', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
124
|
-
const session = new MockApplePaySession();
|
|
125
|
-
const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: true });
|
|
126
|
-
const braintreeManager = new MockBraintreeManager({ submitDonationResponse: 'failure' });
|
|
127
|
-
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
128
|
-
const datasource = new ApplePaySessionDataSource({
|
|
129
|
-
donationInfo: new MockDonationInfo(),
|
|
130
|
-
session: session,
|
|
131
|
-
applePayInstance: instance,
|
|
132
|
-
braintreeManager: braintreeManager,
|
|
133
|
-
});
|
|
134
|
-
datasource.delegate = delegate;
|
|
135
|
-
const event = new MockApplePayPaymentAuthorizedEvent();
|
|
136
|
-
yield datasource.onpaymentauthorized(event);
|
|
137
|
-
expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);
|
|
138
|
-
const result = delegate.paymentFailedError;
|
|
139
|
-
expect(result).to.equal('Failure submitting data');
|
|
140
|
-
}));
|
|
141
|
-
it('on submission error, notifies the delegate and completes the session with a failure', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
142
|
-
const session = new MockApplePaySession();
|
|
143
|
-
const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: true });
|
|
144
|
-
const braintreeManager = new MockBraintreeManager({ submitDonationError: true });
|
|
145
|
-
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
146
|
-
const datasource = new ApplePaySessionDataSource({
|
|
147
|
-
donationInfo: new MockDonationInfo(),
|
|
148
|
-
session: session,
|
|
149
|
-
applePayInstance: instance,
|
|
150
|
-
braintreeManager: braintreeManager,
|
|
151
|
-
});
|
|
152
|
-
datasource.delegate = delegate;
|
|
153
|
-
const event = new MockApplePayPaymentAuthorizedEvent();
|
|
154
|
-
yield datasource.onpaymentauthorized(event);
|
|
155
|
-
expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);
|
|
156
|
-
const result = delegate.paymentFailedError;
|
|
157
|
-
expect(result).to.equal('oh no');
|
|
158
|
-
}));
|
|
159
|
-
});
|
|
160
|
-
});
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
import { expect } from '@open-wc/testing';
|
|
4
|
+
import { MockApplePaySession } from '../../mocks/payment-clients/mock-applepay-session';
|
|
5
|
+
import { MockApplePaySessionDataSourceDelegate } from '../../mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate';
|
|
6
|
+
import { ApplePaySessionDataSource } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource';
|
|
7
|
+
import { MockBraintreeManager } from '../../mocks/mock-braintree-manager';
|
|
8
|
+
import { MockApplePayClient } from '../../mocks/payment-clients/mock-applepay-client';
|
|
9
|
+
import { MockApplePayValidateMerchantEvent } from '../../mocks/payment-clients/mock-applepay-validatemerchantevent';
|
|
10
|
+
import { MockApplePayPaymentAuthorizedEvent } from '../../mocks/payment-clients/mock-applepay-paymentauthorizedevent';
|
|
11
|
+
import { MockDonationInfo } from '../../mocks/mock-donation-info';
|
|
12
|
+
describe('ApplePaySessionDataSource', () => {
|
|
13
|
+
describe('onvalidatemerchant', () => {
|
|
14
|
+
it('performs validation and calls completeMerchantValidation', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
const session = new MockApplePaySession();
|
|
16
|
+
const instance = new MockApplePayClient();
|
|
17
|
+
const braintreeManager = new MockBraintreeManager();
|
|
18
|
+
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
19
|
+
const datasource = new ApplePaySessionDataSource({
|
|
20
|
+
donationInfo: new MockDonationInfo(),
|
|
21
|
+
session: session,
|
|
22
|
+
applePayInstance: instance,
|
|
23
|
+
braintreeManager: braintreeManager,
|
|
24
|
+
});
|
|
25
|
+
datasource.delegate = delegate;
|
|
26
|
+
const event = new MockApplePayValidateMerchantEvent();
|
|
27
|
+
yield datasource.onvalidatemerchant(event);
|
|
28
|
+
expect(session.completeMerchantValidationCalled).to.be.true;
|
|
29
|
+
}));
|
|
30
|
+
it('notifies delegate and aborts session if validation fails', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
|
+
const session = new MockApplePaySession();
|
|
32
|
+
const instance = new MockApplePayClient({ shouldValidateMerchant: false });
|
|
33
|
+
const braintreeManager = new MockBraintreeManager();
|
|
34
|
+
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
35
|
+
const datasource = new ApplePaySessionDataSource({
|
|
36
|
+
donationInfo: new MockDonationInfo(),
|
|
37
|
+
session: session,
|
|
38
|
+
applePayInstance: instance,
|
|
39
|
+
braintreeManager: braintreeManager,
|
|
40
|
+
});
|
|
41
|
+
datasource.delegate = delegate;
|
|
42
|
+
const event = new MockApplePayValidateMerchantEvent();
|
|
43
|
+
try {
|
|
44
|
+
yield datasource.onvalidatemerchant(event);
|
|
45
|
+
expect.fail('should not reach here');
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
expect(error).to.not.be.undefined;
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
});
|
|
52
|
+
describe('oncancel', () => {
|
|
53
|
+
it('notifies the delegate when the payment is cancelled', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
54
|
+
const session = new MockApplePaySession();
|
|
55
|
+
const instance = new MockApplePayClient();
|
|
56
|
+
const braintreeManager = new MockBraintreeManager();
|
|
57
|
+
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
58
|
+
const datasource = new ApplePaySessionDataSource({
|
|
59
|
+
donationInfo: new MockDonationInfo(),
|
|
60
|
+
session: session,
|
|
61
|
+
applePayInstance: instance,
|
|
62
|
+
braintreeManager: braintreeManager,
|
|
63
|
+
});
|
|
64
|
+
datasource.delegate = delegate;
|
|
65
|
+
datasource.oncancel();
|
|
66
|
+
expect(delegate.paymentCancelledCalled).to.be.true;
|
|
67
|
+
}));
|
|
68
|
+
});
|
|
69
|
+
describe('onpaymentauthorized', () => {
|
|
70
|
+
beforeEach(() => {
|
|
71
|
+
window['ApplePaySession'] = MockApplePaySession;
|
|
72
|
+
});
|
|
73
|
+
afterEach(() => {
|
|
74
|
+
delete window['ApplePaySession'];
|
|
75
|
+
});
|
|
76
|
+
it('notifies the delegate on payment completion and completes the session', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
+
const session = new MockApplePaySession();
|
|
78
|
+
const instance = new MockApplePayClient();
|
|
79
|
+
const braintreeManager = new MockBraintreeManager();
|
|
80
|
+
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
81
|
+
const datasource = new ApplePaySessionDataSource({
|
|
82
|
+
donationInfo: new MockDonationInfo(),
|
|
83
|
+
session: session,
|
|
84
|
+
applePayInstance: instance,
|
|
85
|
+
braintreeManager: braintreeManager,
|
|
86
|
+
});
|
|
87
|
+
datasource.delegate = delegate;
|
|
88
|
+
const event = new MockApplePayPaymentAuthorizedEvent();
|
|
89
|
+
yield datasource.onpaymentauthorized(event);
|
|
90
|
+
expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_SUCCESS);
|
|
91
|
+
const response = delegate.paymentCompleteResponse;
|
|
92
|
+
expect(response).to.not.be.undefined;
|
|
93
|
+
expect(response === null || response === void 0 ? void 0 : response.success).to.be.true;
|
|
94
|
+
const value = response === null || response === void 0 ? void 0 : response.value;
|
|
95
|
+
expect(value.amount).to.equal(5);
|
|
96
|
+
expect(value.customer.email).to.equal('foo@bar.com');
|
|
97
|
+
expect(value.billing.streetAddress).to.equal('123 Fake St');
|
|
98
|
+
expect(value.billing.extendedAddress).to.equal('Apt 123');
|
|
99
|
+
}));
|
|
100
|
+
it('on tokenization failure, notifies the delegate and completes the session with a failure', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
101
|
+
const session = new MockApplePaySession();
|
|
102
|
+
const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: false });
|
|
103
|
+
const braintreeManager = new MockBraintreeManager();
|
|
104
|
+
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
105
|
+
const datasource = new ApplePaySessionDataSource({
|
|
106
|
+
donationInfo: new MockDonationInfo(),
|
|
107
|
+
session: session,
|
|
108
|
+
applePayInstance: instance,
|
|
109
|
+
braintreeManager: braintreeManager,
|
|
110
|
+
});
|
|
111
|
+
datasource.delegate = delegate;
|
|
112
|
+
const event = new MockApplePayPaymentAuthorizedEvent();
|
|
113
|
+
yield datasource.onpaymentauthorized(event);
|
|
114
|
+
expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);
|
|
115
|
+
const result = delegate.paymentFailedError;
|
|
116
|
+
expect(result).to.deep.equal({
|
|
117
|
+
code: 'foo',
|
|
118
|
+
details: 'foo bar',
|
|
119
|
+
message: 'bar',
|
|
120
|
+
type: 'CUSTOMER',
|
|
121
|
+
});
|
|
122
|
+
}));
|
|
123
|
+
it('on submission failure, notifies the delegate and completes the session with a failure', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
124
|
+
const session = new MockApplePaySession();
|
|
125
|
+
const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: true });
|
|
126
|
+
const braintreeManager = new MockBraintreeManager({ submitDonationResponse: 'failure' });
|
|
127
|
+
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
128
|
+
const datasource = new ApplePaySessionDataSource({
|
|
129
|
+
donationInfo: new MockDonationInfo(),
|
|
130
|
+
session: session,
|
|
131
|
+
applePayInstance: instance,
|
|
132
|
+
braintreeManager: braintreeManager,
|
|
133
|
+
});
|
|
134
|
+
datasource.delegate = delegate;
|
|
135
|
+
const event = new MockApplePayPaymentAuthorizedEvent();
|
|
136
|
+
yield datasource.onpaymentauthorized(event);
|
|
137
|
+
expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);
|
|
138
|
+
const result = delegate.paymentFailedError;
|
|
139
|
+
expect(result).to.equal('Failure submitting data');
|
|
140
|
+
}));
|
|
141
|
+
it('on submission error, notifies the delegate and completes the session with a failure', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
142
|
+
const session = new MockApplePaySession();
|
|
143
|
+
const instance = new MockApplePayClient({ shouldTokenizeSuccessfully: true });
|
|
144
|
+
const braintreeManager = new MockBraintreeManager({ submitDonationError: true });
|
|
145
|
+
const delegate = new MockApplePaySessionDataSourceDelegate();
|
|
146
|
+
const datasource = new ApplePaySessionDataSource({
|
|
147
|
+
donationInfo: new MockDonationInfo(),
|
|
148
|
+
session: session,
|
|
149
|
+
applePayInstance: instance,
|
|
150
|
+
braintreeManager: braintreeManager,
|
|
151
|
+
});
|
|
152
|
+
datasource.delegate = delegate;
|
|
153
|
+
const event = new MockApplePayPaymentAuthorizedEvent();
|
|
154
|
+
yield datasource.onpaymentauthorized(event);
|
|
155
|
+
expect(session.completePaymentResult).to.equal(ApplePaySession.STATUS_FAILURE);
|
|
156
|
+
const result = delegate.paymentFailedError;
|
|
157
|
+
expect(result).to.equal('oh no');
|
|
158
|
+
}));
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
161
|
//# sourceMappingURL=applepay-sessiondatasource.test.js.map
|
|
@@ -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
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
-
import { expect } from '@open-wc/testing';
|
|
4
|
-
import { ApplePaySessionManager } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager';
|
|
5
|
-
import { MockApplePaySession } from '../../mocks/payment-clients/mock-applepay-session';
|
|
6
|
-
describe('ApplePaySessionManager', () => {
|
|
7
|
-
it('properly determines if payments can be made', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
8
|
-
window['ApplePaySession'] = MockApplePaySession;
|
|
9
|
-
const sessionManager = new ApplePaySessionManager();
|
|
10
|
-
expect(sessionManager.canMakePayments()).to.be.true;
|
|
11
|
-
delete window['ApplePaySession'];
|
|
12
|
-
}));
|
|
13
|
-
it('properly determines when payments cannot be made', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
-
const sessionManager = new ApplePaySessionManager();
|
|
15
|
-
expect(sessionManager.canMakePayments()).to.be.false;
|
|
16
|
-
}));
|
|
17
|
-
it('creates a new ApplePaySession', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
window['ApplePaySession'] = MockApplePaySession;
|
|
19
|
-
const sessionManager = new ApplePaySessionManager();
|
|
20
|
-
const request = {
|
|
21
|
-
total: {
|
|
22
|
-
label: 'Foo Donation',
|
|
23
|
-
amount: '3.50',
|
|
24
|
-
},
|
|
25
|
-
countryCode: 'US',
|
|
26
|
-
currencyCode: 'USD',
|
|
27
|
-
supportedNetworks: ['Foo', 'Bar'],
|
|
28
|
-
merchantCapabilities: [],
|
|
29
|
-
requiredBillingContactFields: ['postalAddress'],
|
|
30
|
-
requiredShippingContactFields: ['name', 'email'],
|
|
31
|
-
};
|
|
32
|
-
const session = sessionManager.createNewPaymentSession(request);
|
|
33
|
-
expect(session.versionCheck).to.equal(ApplePaySessionManager.VERSION);
|
|
34
|
-
expect(session.paymentRequestCheck).to.deep.equal(request);
|
|
35
|
-
}));
|
|
36
|
-
});
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
import { expect } from '@open-wc/testing';
|
|
4
|
+
import { ApplePaySessionManager } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager';
|
|
5
|
+
import { MockApplePaySession } from '../../mocks/payment-clients/mock-applepay-session';
|
|
6
|
+
describe('ApplePaySessionManager', () => {
|
|
7
|
+
it('properly determines if payments can be made', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
8
|
+
window['ApplePaySession'] = MockApplePaySession;
|
|
9
|
+
const sessionManager = new ApplePaySessionManager();
|
|
10
|
+
expect(sessionManager.canMakePayments()).to.be.true;
|
|
11
|
+
delete window['ApplePaySession'];
|
|
12
|
+
}));
|
|
13
|
+
it('properly determines when payments cannot be made', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
const sessionManager = new ApplePaySessionManager();
|
|
15
|
+
expect(sessionManager.canMakePayments()).to.be.false;
|
|
16
|
+
}));
|
|
17
|
+
it('creates a new ApplePaySession', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
window['ApplePaySession'] = MockApplePaySession;
|
|
19
|
+
const sessionManager = new ApplePaySessionManager();
|
|
20
|
+
const request = {
|
|
21
|
+
total: {
|
|
22
|
+
label: 'Foo Donation',
|
|
23
|
+
amount: '3.50',
|
|
24
|
+
},
|
|
25
|
+
countryCode: 'US',
|
|
26
|
+
currencyCode: 'USD',
|
|
27
|
+
supportedNetworks: ['Foo', 'Bar'],
|
|
28
|
+
merchantCapabilities: [],
|
|
29
|
+
requiredBillingContactFields: ['postalAddress'],
|
|
30
|
+
requiredShippingContactFields: ['name', 'email'],
|
|
31
|
+
};
|
|
32
|
+
const session = sessionManager.createNewPaymentSession(request);
|
|
33
|
+
expect(session.versionCheck).to.equal(ApplePaySessionManager.VERSION);
|
|
34
|
+
expect(session.paymentRequestCheck).to.deep.equal(request);
|
|
35
|
+
}));
|
|
36
|
+
});
|
|
37
37
|
//# sourceMappingURL=applepay-sessionmanager.test.js.map
|
|
@@ -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 */\
|
|
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
|
-
export {};
|
|
1
|
+
export {};
|