@internetarchive/donation-form 0.6.2 → 0.6.3

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 (109) hide show
  1. package/dist/demo/braintree-endpoint-manager.js.map +1 -1
  2. package/dist/demo/submit-form-with.js.map +1 -1
  3. package/dist/src/braintree-manager/braintree-manager.js.map +1 -1
  4. package/dist/src/braintree-manager/payment-clients.d.ts +0 -2
  5. package/dist/src/braintree-manager/payment-clients.js +0 -1
  6. package/dist/src/braintree-manager/payment-clients.js.map +1 -1
  7. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts +0 -1
  8. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.d.ts +0 -1
  9. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.js +2 -2
  10. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.js.map +1 -1
  11. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.d.ts +0 -1
  12. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.js +0 -1
  13. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.js.map +1 -1
  14. package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.js +2 -2
  15. package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.js.map +1 -1
  16. package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.js.map +1 -1
  17. package/dist/src/braintree-manager/payment-providers/google-pay-interface.d.ts +0 -1
  18. package/dist/src/braintree-manager/payment-providers/google-pay.d.ts +0 -1
  19. package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.js +3 -3
  20. package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.js.map +1 -1
  21. package/dist/src/braintree-manager/payment-providers/paypal/paypal.js.map +1 -1
  22. package/dist/src/braintree-manager/payment-providers/venmo.js +1 -1
  23. package/dist/src/braintree-manager/payment-providers/venmo.js.map +1 -1
  24. package/dist/src/braintree-manager/payment-providers.js.map +1 -1
  25. package/dist/src/donation-form-controller.js +0 -1
  26. package/dist/src/donation-form-controller.js.map +1 -1
  27. package/dist/src/donation-form.js +18 -15
  28. package/dist/src/donation-form.js.map +1 -1
  29. package/dist/src/form-elements/badged-input.js.map +1 -1
  30. package/dist/src/form-elements/contact-form/contact-form.js.map +1 -1
  31. package/dist/src/form-elements/header/donation-form-header.js.map +1 -1
  32. package/dist/src/form-elements/header/donation-summary.js.map +1 -1
  33. package/dist/src/form-elements/payment-selector.js +1 -1
  34. package/dist/src/form-elements/payment-selector.js.map +1 -1
  35. package/dist/src/form-elements/total-amount.js.map +1 -1
  36. package/dist/src/modals/confirm-donation-modal-content.js +0 -2
  37. package/dist/src/modals/confirm-donation-modal-content.js.map +1 -1
  38. package/dist/src/modals/error-modal-content.js.map +1 -1
  39. package/dist/src/modals/upsell-modal-content.js.map +1 -1
  40. package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js +0 -1
  41. package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js.map +1 -1
  42. package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.js +1 -1
  43. package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.js.map +1 -1
  44. package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.js +1 -1
  45. package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.js.map +1 -1
  46. package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js +1 -1
  47. package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js.map +1 -1
  48. package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js +6 -14
  49. package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js.map +1 -1
  50. package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.js.map +1 -1
  51. package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.js +1 -1
  52. package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.js.map +1 -1
  53. package/dist/src/payment-flow-handlers/payment-flow-handlers.js +1 -1
  54. package/dist/src/payment-flow-handlers/payment-flow-handlers.js.map +1 -1
  55. package/dist/src/recaptcha-manager/recaptcha-manager.d.ts +0 -1
  56. package/dist/src/recaptcha-manager/recaptcha-manager.js.map +1 -1
  57. package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.js +0 -1
  58. package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.js.map +1 -1
  59. package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js +1 -1
  60. package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js.map +1 -1
  61. package/dist/test/mocks/mock-braintree-manager.js.map +1 -1
  62. package/dist/test/mocks/mock-lazy-loader.js.map +1 -1
  63. package/dist/test/mocks/mock-modal-manager.js +0 -1
  64. package/dist/test/mocks/mock-modal-manager.js.map +1 -1
  65. package/dist/test/mocks/mock-payment-clients.d.ts +0 -2
  66. package/dist/test/mocks/mock-payment-clients.js +0 -1
  67. package/dist/test/mocks/mock-payment-clients.js.map +1 -1
  68. package/dist/test/mocks/mock-recaptcha-manager.d.ts +0 -1
  69. package/dist/test/mocks/payment-clients/mock-applepay-client.js.map +1 -1
  70. package/dist/test/mocks/payment-clients/mock-applepay-payment.d.ts +0 -1
  71. package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.d.ts +0 -1
  72. package/dist/test/mocks/payment-clients/mock-applepay-session.d.ts +0 -1
  73. package/dist/test/mocks/payment-clients/mock-applepay-session.js +0 -2
  74. package/dist/test/mocks/payment-clients/mock-applepay-session.js.map +1 -1
  75. package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.d.ts +0 -1
  76. package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.d.ts +0 -1
  77. package/dist/test/mocks/payment-clients/mock-data-collector.js.map +1 -1
  78. package/dist/test/mocks/payment-clients/mock-googlepay-client.d.ts +0 -1
  79. package/dist/test/mocks/payment-clients/mock-googlepay-library.d.ts +0 -1
  80. package/dist/test/mocks/payment-clients/mock-grecaptcha.d.ts +0 -1
  81. package/dist/test/mocks/payment-clients/mock-grecaptcha.js +0 -1
  82. package/dist/test/mocks/payment-clients/mock-grecaptcha.js.map +1 -1
  83. package/dist/test/mocks/payment-clients/mock-hostedfields-client.js.map +1 -1
  84. package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.d.ts +1 -1
  85. package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.d.ts +0 -1
  86. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js +2 -2
  87. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js.map +1 -1
  88. package/dist/test/tests/braintree-manager.test.js +12 -13
  89. package/dist/test/tests/braintree-manager.test.js.map +1 -1
  90. package/dist/test/tests/donation-form-controller.test.js +21 -21
  91. package/dist/test/tests/donation-form.test.js +7 -7
  92. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js +8 -8
  93. package/dist/test/tests/form-elements/donation-summary.test.js +2 -2
  94. package/dist/test/tests/form-elements/payment-selector.test.js +8 -8
  95. package/dist/test/tests/modals/upsell-modal-content.test.js +21 -21
  96. package/dist/test/tests/models/donation-payment-info.test.js +7 -7
  97. package/dist/test/tests/models/donation-payment-info.test.js.map +1 -1
  98. package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js.map +1 -1
  99. package/dist/test/tests/payment-providers/creditcard.test.js.map +1 -1
  100. package/dist/test/tests/recaptcha-manager.test.js.map +1 -1
  101. package/package.json +40 -40
  102. package/src/braintree-manager/payment-clients.ts +0 -1
  103. package/src/braintree-manager/payment-providers/apple-pay/apple-pay.ts +0 -1
  104. package/src/donation-form-controller.ts +0 -1
  105. package/src/donation-form.ts +9 -6
  106. package/src/modals/confirm-donation-modal-content.ts +0 -2
  107. package/src/payment-flow-handlers/donation-flow-modal-manager.ts +0 -1
  108. package/src/payment-flow-handlers/handlers/paypal-flow-handler.ts +2 -4
  109. package/src/payment-flow-handlers/payment-flow-handlers.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mock-applepay-session.js","sourceRoot":"","sources":["../../../../test/mocks/payment-clients/mock-applepay-session.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qEAAqE;AACrE,sDAAsD;AACtD,uDAAuD;AACvD,MAAM,OAAO,mBAAmB;IAO9B,YAAY,OAAgB,EAAE,cAAkD;QAJhF,qCAAgC,GAAG,KAAK,CAAC;QACzC,gBAAW,GAAG,KAAK,CAAC;QAgBpB,aAAQ,GAAsC,CAAC,KAAuB,EAAE,EAAE,GAAE,CAAC,CAAC;QAE9E,wBAAmB,GAA+D,CAChF,KAAgD,EAChD,EAAE,GAAE,CAAC,CAAC;QAER,4BAAuB,GAAmE,CACxF,KAAoD,EACpD,EAAE,GAAE,CAAC,CAAC;QAER,8BAAyB,GAAqE,CAC5F,KAAsD,EACtD,EAAE,GAAE,CAAC,CAAC;QAER,6BAAwB,GAAoE,CAC1F,KAAqD,EACrD,EAAE,GAAE,CAAC,CAAC;QAER,uBAAkB,GAA8D,CAC9E,KAA+C,EAC/C,EAAE,GAAE,CAAC,CAAC;QAhCN,IAAI,CAAC,YAAY,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAwBD,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,KAAU,CAAC;IAEhB,0BAA0B,CAAC,eAAoB;QAC7C,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;IAC/C,CAAC;IAED,eAAe,CAAC,MAA8D;QAC5E,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;IACtC,CAAC;IASD,8BAA8B,CAAC,QAAa,EAAE,YAAkB;QAC9D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IASD,gCAAgC,CAC9B,MAAW,EACX,kBAAwB,EACxB,QAAc,EACd,YAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAOD,+BAA+B,CAAC,MAAW,EAAE,QAAc,EAAE,YAAkB;QAC7E,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,gBAAgB,CACd,IAAY,EACZ,QAAoD,EACpD,OAAuD;QAEvD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,aAAa,CAAC,KAAY;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,mBAAmB,CACjB,IAAY,EACZ,QAAoD,EACpD,OAAoD;QAEpD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF","sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class MockApplePaySession implements ApplePaySession {\n versionCheck: number;\n paymentRequestCheck?: ApplePayJS.ApplePayPaymentRequest;\n completeMerchantValidationCalled = false;\n abortCalled = false;\n completePaymentResult?: number | ApplePayJS.ApplePayPaymentAuthorizationResult;\n\n constructor(version?: number, paymentRequest?: ApplePayJS.ApplePayPaymentRequest) {\n this.versionCheck = version ?? 3;\n this.paymentRequestCheck = paymentRequest;\n }\n\n static canMakePayments(): boolean {\n return true;\n }\n\n static supportsVersion(version: number): boolean {\n return true;\n }\n\n oncancel: (event: ApplePayJS.Event) => void = (event: ApplePayJS.Event) => {};\n\n onpaymentauthorized: (event: ApplePayJS.ApplePayPaymentAuthorizedEvent) => void = (\n event: ApplePayJS.ApplePayPaymentAuthorizedEvent,\n ) => {};\n\n onpaymentmethodselected: (event: ApplePayJS.ApplePayPaymentMethodSelectedEvent) => void = (\n event: ApplePayJS.ApplePayPaymentMethodSelectedEvent,\n ) => {};\n\n onshippingcontactselected: (event: ApplePayJS.ApplePayShippingContactSelectedEvent) => void = (\n event: ApplePayJS.ApplePayShippingContactSelectedEvent,\n ) => {};\n\n onshippingmethodselected: (event: ApplePayJS.ApplePayShippingMethodSelectedEvent) => void = (\n event: ApplePayJS.ApplePayShippingMethodSelectedEvent,\n ) => {};\n\n onvalidatemerchant: (event: ApplePayJS.ApplePayValidateMerchantEvent) => void = (\n event: ApplePayJS.ApplePayValidateMerchantEvent,\n ) => {};\n\n abort(): void {\n this.abortCalled = true;\n }\n\n begin(): void {}\n\n completeMerchantValidation(merchantSession: any): void {\n this.completeMerchantValidationCalled = true;\n }\n\n completePayment(result: number | ApplePayJS.ApplePayPaymentAuthorizationResult): void {\n this.completePaymentResult = result;\n }\n\n completePaymentMethodSelection(\n newTotal: ApplePayJS.ApplePayLineItem,\n newLineItems: ApplePayJS.ApplePayLineItem[],\n ): void;\n\n completePaymentMethodSelection(update: ApplePayJS.ApplePayPaymentMethodUpdate): void;\n\n completePaymentMethodSelection(newTotal: any, newLineItems?: any) {\n throw new Error('Method not implemented.');\n }\n\n completeShippingContactSelection(\n status: number,\n newShippingMethods: ApplePayJS.ApplePayShippingMethod[],\n newTotal: ApplePayJS.ApplePayLineItem,\n newLineItems: ApplePayJS.ApplePayLineItem[],\n ): void;\n completeShippingContactSelection(update: ApplePayJS.ApplePayShippingContactUpdate): void;\n completeShippingContactSelection(\n status: any,\n newShippingMethods?: any,\n newTotal?: any,\n newLineItems?: any,\n ) {\n throw new Error('Method not implemented.');\n }\n completeShippingMethodSelection(\n status: number,\n newTotal: ApplePayJS.ApplePayLineItem,\n newLineItems: ApplePayJS.ApplePayLineItem[],\n ): void;\n completeShippingMethodSelection(update: ApplePayJS.ApplePayShippingMethodUpdate): void;\n completeShippingMethodSelection(status: any, newTotal?: any, newLineItems?: any) {\n throw new Error('Method not implemented.');\n }\n addEventListener(\n type: string,\n listener: EventListener | EventListenerObject | null,\n options?: boolean | AddEventListenerOptions | undefined,\n ): void {\n throw new Error('Method not implemented.');\n }\n dispatchEvent(event: Event): boolean {\n throw new Error('Method not implemented.');\n }\n removeEventListener(\n type: string,\n callback: EventListener | EventListenerObject | null,\n options?: boolean | EventListenerOptions | undefined,\n ): void {\n throw new Error('Method not implemented.');\n }\n}\n"]}
1
+ {"version":3,"file":"mock-applepay-session.js","sourceRoot":"","sources":["../../../../test/mocks/payment-clients/mock-applepay-session.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,uDAAuD;AACvD,MAAM,OAAO,mBAAmB;IAO9B,YAAY,OAAgB,EAAE,cAAkD;QAJhF,qCAAgC,GAAG,KAAK,CAAC;QACzC,gBAAW,GAAG,KAAK,CAAC;QAgBpB,aAAQ,GAAsC,CAAC,KAAuB,EAAE,EAAE,GAAE,CAAC,CAAC;QAE9E,wBAAmB,GAA+D,CAChF,KAAgD,EAChD,EAAE,GAAE,CAAC,CAAC;QAER,4BAAuB,GAAmE,CACxF,KAAoD,EACpD,EAAE,GAAE,CAAC,CAAC;QAER,8BAAyB,GAAqE,CAC5F,KAAsD,EACtD,EAAE,GAAE,CAAC,CAAC;QAER,6BAAwB,GAAoE,CAC1F,KAAqD,EACrD,EAAE,GAAE,CAAC,CAAC;QAER,uBAAkB,GAA8D,CAC9E,KAA+C,EAC/C,EAAE,GAAE,CAAC,CAAC;QAhCN,IAAI,CAAC,YAAY,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAwBD,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,KAAU,CAAC;IAEhB,0BAA0B,CAAC,eAAoB;QAC7C,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;IAC/C,CAAC;IAED,eAAe,CAAC,MAA8D;QAC5E,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;IACtC,CAAC;IASD,8BAA8B,CAAC,QAAa,EAAE,YAAkB;QAC9D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IASD,gCAAgC,CAC9B,MAAW,EACX,kBAAwB,EACxB,QAAc,EACd,YAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAOD,+BAA+B,CAAC,MAAW,EAAE,QAAc,EAAE,YAAkB;QAC7E,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,gBAAgB,CACd,IAAY,EACZ,QAAoD,EACpD,OAAuD;QAEvD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,aAAa,CAAC,KAAY;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,mBAAmB,CACjB,IAAY,EACZ,QAAoD,EACpD,OAAoD;QAEpD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class MockApplePaySession implements ApplePaySession {\n versionCheck: number;\n paymentRequestCheck?: ApplePayJS.ApplePayPaymentRequest;\n completeMerchantValidationCalled = false;\n abortCalled = false;\n completePaymentResult?: number | ApplePayJS.ApplePayPaymentAuthorizationResult;\n\n constructor(version?: number, paymentRequest?: ApplePayJS.ApplePayPaymentRequest) {\n this.versionCheck = version ?? 3;\n this.paymentRequestCheck = paymentRequest;\n }\n\n static canMakePayments(): boolean {\n return true;\n }\n\n static supportsVersion(version: number): boolean {\n return true;\n }\n\n oncancel: (event: ApplePayJS.Event) => void = (event: ApplePayJS.Event) => {};\n\n onpaymentauthorized: (event: ApplePayJS.ApplePayPaymentAuthorizedEvent) => void = (\n event: ApplePayJS.ApplePayPaymentAuthorizedEvent,\n ) => {};\n\n onpaymentmethodselected: (event: ApplePayJS.ApplePayPaymentMethodSelectedEvent) => void = (\n event: ApplePayJS.ApplePayPaymentMethodSelectedEvent,\n ) => {};\n\n onshippingcontactselected: (event: ApplePayJS.ApplePayShippingContactSelectedEvent) => void = (\n event: ApplePayJS.ApplePayShippingContactSelectedEvent,\n ) => {};\n\n onshippingmethodselected: (event: ApplePayJS.ApplePayShippingMethodSelectedEvent) => void = (\n event: ApplePayJS.ApplePayShippingMethodSelectedEvent,\n ) => {};\n\n onvalidatemerchant: (event: ApplePayJS.ApplePayValidateMerchantEvent) => void = (\n event: ApplePayJS.ApplePayValidateMerchantEvent,\n ) => {};\n\n abort(): void {\n this.abortCalled = true;\n }\n\n begin(): void {}\n\n completeMerchantValidation(merchantSession: any): void {\n this.completeMerchantValidationCalled = true;\n }\n\n completePayment(result: number | ApplePayJS.ApplePayPaymentAuthorizationResult): void {\n this.completePaymentResult = result;\n }\n\n completePaymentMethodSelection(\n newTotal: ApplePayJS.ApplePayLineItem,\n newLineItems: ApplePayJS.ApplePayLineItem[],\n ): void;\n\n completePaymentMethodSelection(update: ApplePayJS.ApplePayPaymentMethodUpdate): void;\n\n completePaymentMethodSelection(newTotal: any, newLineItems?: any) {\n throw new Error('Method not implemented.');\n }\n\n completeShippingContactSelection(\n status: number,\n newShippingMethods: ApplePayJS.ApplePayShippingMethod[],\n newTotal: ApplePayJS.ApplePayLineItem,\n newLineItems: ApplePayJS.ApplePayLineItem[],\n ): void;\n completeShippingContactSelection(update: ApplePayJS.ApplePayShippingContactUpdate): void;\n completeShippingContactSelection(\n status: any,\n newShippingMethods?: any,\n newTotal?: any,\n newLineItems?: any,\n ) {\n throw new Error('Method not implemented.');\n }\n completeShippingMethodSelection(\n status: number,\n newTotal: ApplePayJS.ApplePayLineItem,\n newLineItems: ApplePayJS.ApplePayLineItem[],\n ): void;\n completeShippingMethodSelection(update: ApplePayJS.ApplePayShippingMethodUpdate): void;\n completeShippingMethodSelection(status: any, newTotal?: any, newLineItems?: any) {\n throw new Error('Method not implemented.');\n }\n addEventListener(\n type: string,\n listener: EventListener | EventListenerObject | null,\n options?: boolean | AddEventListenerOptions | undefined,\n ): void {\n throw new Error('Method not implemented.');\n }\n dispatchEvent(event: Event): boolean {\n throw new Error('Method not implemented.');\n }\n removeEventListener(\n type: string,\n callback: EventListener | EventListenerObject | null,\n options?: boolean | EventListenerOptions | undefined,\n ): void {\n throw new Error('Method not implemented.');\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="applepayjs" />
2
1
  import { ApplePaySessionManagerInterface } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager';
3
2
  export declare class MockApplePaySessionManager implements ApplePaySessionManagerInterface {
4
3
  canMakePayments(): boolean;
@@ -1,4 +1,3 @@
1
- /// <reference types="applepayjs" />
2
1
  export declare class MockApplePayValidateMerchantEvent implements ApplePayJS.ApplePayValidateMerchantEvent {
3
2
  validationURL: string;
4
3
  bubbles: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"mock-data-collector.js","sourceRoot":"","sources":["../../../../test/mocks/payment-clients/mock-data-collector.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,MAAM,OAAO,uBAAuB;IAApC;QAWE,YAAO,GAAG,KAAK,CAAC;QAEhB,eAAU,GAAG,uBAAuB,CAAC,cAAc,CAAC;IAKtD,CAAC;IAfO,MAAM,CAAC,OAIZ;;YACC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAMD,QAAQ,CAAC,QAAyC;QAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;;AAhBM,sCAAc,GAAG,sBAAsB,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nexport class MockDeviceDataCollector implements braintree.DataCollector {\n static mockDeviceData = 'foo-mock-device-data';\n\n async create(options: {\n client: braintree.Client;\n kount: boolean;\n paypal: boolean;\n }): Promise<braintree.DataCollector> {\n return this;\n }\n\n VERSION = 'foo';\n\n deviceData = MockDeviceDataCollector.mockDeviceData;\n\n teardown(callback?: braintree.callback | undefined): void {\n throw new Error('Method not implemented.');\n }\n}\n"]}
1
+ {"version":3,"file":"mock-data-collector.js","sourceRoot":"","sources":["../../../../test/mocks/payment-clients/mock-data-collector.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,MAAM,OAAO,uBAAuB;IAApC;QAWE,YAAO,GAAG,KAAK,CAAC;QAEhB,eAAU,GAAG,uBAAuB,CAAC,cAAc,CAAC;IAKtD,CAAC;IAfO,MAAM,CAAC,OAIZ;;YACC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAMD,QAAQ,CAAC,QAAyC;QAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;;AAhBM,sCAAc,GAAG,sBAAsB,AAAzB,CAA0B","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nexport class MockDeviceDataCollector implements braintree.DataCollector {\n static mockDeviceData = 'foo-mock-device-data';\n\n async create(options: {\n client: braintree.Client;\n kount: boolean;\n paypal: boolean;\n }): Promise<braintree.DataCollector> {\n return this;\n }\n\n VERSION = 'foo';\n\n deviceData = MockDeviceDataCollector.mockDeviceData;\n\n teardown(callback?: braintree.callback | undefined): void {\n throw new Error('Method not implemented.');\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="googlepay" />
2
1
  export declare class MockGooglePaymentClient implements braintree.GooglePayment {
3
2
  create(options: {
4
3
  client?: braintree.Client | undefined;
@@ -1,4 +1,3 @@
1
- /// <reference types="googlepay" />
2
1
  export declare class MockGooglePayLibrary implements google.payments.api.PaymentsClient {
3
2
  readyToPay: boolean;
4
3
  isReadyToPay(request: google.payments.api.IsReadyToPayRequest): Promise<google.payments.api.IsReadyToPayResponse>;
@@ -1,4 +1,3 @@
1
- /// <reference types="grecaptcha" />
2
1
  export declare enum MockGrecaptchaMode {
3
2
  Success = 0,
4
3
  Expired = 1,
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
3
2
  export var MockGrecaptchaMode;
4
3
  (function (MockGrecaptchaMode) {
@@ -1 +1 @@
1
- {"version":3,"file":"mock-grecaptcha.js","sourceRoot":"","sources":["../../../../test/mocks/payment-clients/mock-grecaptcha.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,sDAAsD;AAEtD,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,iEAAO,CAAA;IACP,iEAAO,CAAA;IACP,6DAAK,CAAA;AACP,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAED,MAAM,OAAO,cAAc;IAazB,MAAM,CACJ,SAA+B,EAC/B,UAA+C,EAC/C,OAA6B;;QAE7B,IAAI,CAAC,QAAQ,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,CAAC,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,gBAAgB,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,kBAAkB,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,aAAkC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,WAAW,CAAC,aAAkC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,aAAkC;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAEO,YAAY;QAClB,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,kBAAkB,CAAC,OAAO;gBAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBACtB;gBACD,MAAM;YACR,KAAK,kBAAkB,CAAC,KAAK;gBAC3B,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE;oBAC1B,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;iBAC1B;gBACD,MAAM;YACR,KAAK,kBAAkB,CAAC,OAAO;gBAC7B,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE;oBAC5B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;iBAC5B;gBACD,MAAM;SACT;IACH,CAAC;IAED,YAAY,IAAwB,EAAE,QAAQ,GAAG,KAAK;QA5DtD,iBAAY,GAAG,KAAK,CAAC;QACrB,kBAAa,GAAG,KAAK,CAAC;QACtB,gBAAW,GAAG,KAAK,CAAC;QACpB,sBAAiB,GAAG,KAAK,CAAC;QA0DxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\nexport enum MockGrecaptchaMode {\n Success,\n Expired,\n Error,\n}\n\nexport class MockGrecaptcha implements ReCaptchaV2.ReCaptcha {\n renderCalled = false;\n executeCalled = false;\n resetCalled = false;\n getResponseCalled = false;\n\n mode: MockGrecaptchaMode;\n addDelay: boolean;\n\n callback?: (response: string) => void;\n 'expired-callback'?: () => void;\n 'error-callback'?: () => void;\n\n render(\n container: string | HTMLElement,\n parameters?: ReCaptchaV2.Parameters | undefined,\n inherit?: boolean | undefined,\n ): number {\n this.callback = parameters?.callback?.bind(this);\n this['error-callback'] = parameters?.['error-callback']?.bind(this);\n this['expired-callback'] = parameters?.['expired-callback']?.bind(this);\n this.renderCalled = true;\n return 1;\n }\n reset(opt_widget_id?: number | undefined): void {\n this.resetCalled = true;\n }\n getResponse(opt_widget_id?: number | undefined): string {\n this.getResponseCalled = true;\n return 'foo';\n }\n execute(opt_widget_id?: number | undefined): void {\n this.executeCalled = true;\n\n if (this.addDelay) {\n setTimeout(this.callCallback, 100);\n } else {\n this.callCallback();\n }\n }\n\n private callCallback(): void {\n switch (this.mode) {\n case MockGrecaptchaMode.Success:\n if (this.callback) {\n this.callback('foo');\n }\n break;\n case MockGrecaptchaMode.Error:\n if (this['error-callback']) {\n this['error-callback']();\n }\n break;\n case MockGrecaptchaMode.Expired:\n if (this['expired-callback']) {\n this['expired-callback']();\n }\n break;\n }\n }\n\n constructor(mode: MockGrecaptchaMode, addDelay = false) {\n this.mode = mode;\n this.addDelay = addDelay;\n }\n}\n"]}
1
+ {"version":3,"file":"mock-grecaptcha.js","sourceRoot":"","sources":["../../../../test/mocks/payment-clients/mock-grecaptcha.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,iEAAO,CAAA;IACP,iEAAO,CAAA;IACP,6DAAK,CAAA;AACP,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAED,MAAM,OAAO,cAAc;IAazB,MAAM,CACJ,SAA+B,EAC/B,UAA+C,EAC/C,OAA6B;;QAE7B,IAAI,CAAC,QAAQ,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,CAAC,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,gBAAgB,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,kBAAkB,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,aAAkC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,WAAW,CAAC,aAAkC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,aAAkC;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,kBAAkB,CAAC,OAAO;gBAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;gBACD,MAAM;YACR,KAAK,kBAAkB,CAAC,KAAK;gBAC3B,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3B,CAAC;gBACD,MAAM;YACR,KAAK,kBAAkB,CAAC,OAAO;gBAC7B,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC7B,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAED,YAAY,IAAwB,EAAE,QAAQ,GAAG,KAAK;QA5DtD,iBAAY,GAAG,KAAK,CAAC;QACrB,kBAAa,GAAG,KAAK,CAAC;QACtB,gBAAW,GAAG,KAAK,CAAC;QACpB,sBAAiB,GAAG,KAAK,CAAC;QA0DxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nexport enum MockGrecaptchaMode {\n Success,\n Expired,\n Error,\n}\n\nexport class MockGrecaptcha implements ReCaptchaV2.ReCaptcha {\n renderCalled = false;\n executeCalled = false;\n resetCalled = false;\n getResponseCalled = false;\n\n mode: MockGrecaptchaMode;\n addDelay: boolean;\n\n callback?: (response: string) => void;\n 'expired-callback'?: () => void;\n 'error-callback'?: () => void;\n\n render(\n container: string | HTMLElement,\n parameters?: ReCaptchaV2.Parameters | undefined,\n inherit?: boolean | undefined,\n ): number {\n this.callback = parameters?.callback?.bind(this);\n this['error-callback'] = parameters?.['error-callback']?.bind(this);\n this['expired-callback'] = parameters?.['expired-callback']?.bind(this);\n this.renderCalled = true;\n return 1;\n }\n reset(opt_widget_id?: number | undefined): void {\n this.resetCalled = true;\n }\n getResponse(opt_widget_id?: number | undefined): string {\n this.getResponseCalled = true;\n return 'foo';\n }\n execute(opt_widget_id?: number | undefined): void {\n this.executeCalled = true;\n\n if (this.addDelay) {\n setTimeout(this.callCallback, 100);\n } else {\n this.callCallback();\n }\n }\n\n private callCallback(): void {\n switch (this.mode) {\n case MockGrecaptchaMode.Success:\n if (this.callback) {\n this.callback('foo');\n }\n break;\n case MockGrecaptchaMode.Error:\n if (this['error-callback']) {\n this['error-callback']();\n }\n break;\n case MockGrecaptchaMode.Expired:\n if (this['expired-callback']) {\n this['expired-callback']();\n }\n break;\n }\n }\n\n constructor(mode: MockGrecaptchaMode, addDelay = false) {\n this.mode = mode;\n this.addDelay = addDelay;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mock-hostedfields-client.js","sourceRoot":"","sources":["../../../../test/mocks/payment-clients/mock-hostedfields-client.ts"],"names":[],"mappings":"AAAA,uDAAuD;;AAEvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAQ7E,sDAAsD;AACtD,MAAM,OAAO,sBAAsB;IACjC,wBAAwB,CAAC,KAAc;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;IAEK,MAAM,CAAC,OAKZ;;YACC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAUD,EAAE,CACA,KAAqC,EACrC,OAA2D;QAE3D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAEK,QAAQ;;YACZ,OAAO;QACT,CAAC;KAAA;IAEK,QAAQ,CAAC,OAId;;YACC,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;KAAA;IAED,QAAQ,CAAC,KAAa,EAAE,SAAiB,EAAE,QAAyC;QAClF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,SAAiB,EAAE,QAAyC;QACrF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,cAAc,CACZ,KAAa,EACb,WAAmB,EACnB,QAAyC;QAEzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,QAAyC;QAC5D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,OAAmF;;QAjD/F,YAAO,GAAG,KAAK,CAAC;QAER,mBAAc,GAElB,EAAE,CAAC;QA8CL,IAAI,CAAC,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,8BAA8B,mCAAI,8BAA8B,CAAC;IAC/F,CAAC;CAGF","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { mockHostedFieldTokenizePayload } from './mock-hostedfieldtokenizepayload';\nimport { getMockStateObject } from './mock-hostedfieldstateobject-generator';\n\nexport interface MockHostedFieldsClientEvents {\n validityChanged: (event: braintree.HostedFieldsStateObject) => void;\n focus: (event: braintree.HostedFieldsStateObject) => void;\n blur: (event: braintree.HostedFieldsStateObject) => void;\n}\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport class MockHostedFieldsClient implements braintree.HostedFields {\n emitValidityChangedEvent(valid: boolean): void {\n const handler = this.changeHandlers['validityChange'];\n if (!handler) {\n return;\n }\n const stateObject = getMockStateObject(valid);\n handler(stateObject);\n }\n\n async create(options: {\n client?: braintree.Client | undefined;\n authorization?: string | undefined;\n fields: braintree.HostedFieldFieldOptions;\n styles?: any;\n }): Promise<braintree.HostedFields> {\n return this;\n }\n\n styleOptions: any;\n\n VERSION = 'foo';\n\n private changeHandlers: {\n [key: string]: (event: braintree.HostedFieldsStateObject) => void;\n } = {};\n\n on(\n event: braintree.HostedFieldEventType,\n handler: (event: braintree.HostedFieldsStateObject) => void,\n ): void {\n this.changeHandlers[event] = handler.bind(this);\n }\n\n async teardown(): Promise<void> {\n return;\n }\n\n async tokenize(options?: {\n vault?: boolean;\n cardholderName?: string;\n billingAddress?: any;\n }): Promise<braintree.HostedFieldsTokenizePayload> {\n return this.mockPayload;\n }\n\n addClass(field: string, classname: string, callback?: braintree.callback | undefined): void {\n throw new Error('Method not implemented.');\n }\n\n removeClass(field: string, classname: string, callback?: braintree.callback | undefined): void {\n throw new Error('Method not implemented.');\n }\n\n setPlaceholder(\n field: string,\n placeholder: string,\n callback?: braintree.callback | undefined,\n ): void {\n throw new Error('Method not implemented.');\n }\n\n clear(field: string, callback?: braintree.callback | undefined): void {\n throw new Error('Method not implemented.');\n }\n\n getState(): any {\n throw new Error('Method not implemented.');\n }\n\n constructor(options?: { mockHostedFieldTokenizePayload: braintree.HostedFieldsTokenizePayload }) {\n this.mockPayload = options?.mockHostedFieldTokenizePayload ?? mockHostedFieldTokenizePayload;\n }\n\n private mockPayload: braintree.HostedFieldsTokenizePayload;\n}\n"]}
1
+ {"version":3,"file":"mock-hostedfields-client.js","sourceRoot":"","sources":["../../../../test/mocks/payment-clients/mock-hostedfields-client.ts"],"names":[],"mappings":"AAAA,uDAAuD;;AAEvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAQ7E,sDAAsD;AACtD,MAAM,OAAO,sBAAsB;IACjC,wBAAwB,CAAC,KAAc;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;IAEK,MAAM,CAAC,OAKZ;;YACC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAUD,EAAE,CACA,KAAqC,EACrC,OAA2D;QAE3D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAEK,QAAQ;;YACZ,OAAO;QACT,CAAC;KAAA;IAEK,QAAQ,CAAC,OAId;;YACC,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;KAAA;IAED,QAAQ,CAAC,KAAa,EAAE,SAAiB,EAAE,QAAyC;QAClF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,SAAiB,EAAE,QAAyC;QACrF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,cAAc,CACZ,KAAa,EACb,WAAmB,EACnB,QAAyC;QAEzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,QAAyC;QAC5D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,OAAmF;;QAjD/F,YAAO,GAAG,KAAK,CAAC;QAER,mBAAc,GAElB,EAAE,CAAC;QA8CL,IAAI,CAAC,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,8BAA8B,mCAAI,8BAA8B,CAAC;IAC/F,CAAC;CAGF","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { mockHostedFieldTokenizePayload } from './mock-hostedfieldtokenizepayload';\nimport { getMockStateObject } from './mock-hostedfieldstateobject-generator';\n\nexport interface MockHostedFieldsClientEvents {\n validityChanged: (event: braintree.HostedFieldsStateObject) => void;\n focus: (event: braintree.HostedFieldsStateObject) => void;\n blur: (event: braintree.HostedFieldsStateObject) => void;\n}\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport class MockHostedFieldsClient implements braintree.HostedFields {\n emitValidityChangedEvent(valid: boolean): void {\n const handler = this.changeHandlers['validityChange'];\n if (!handler) {\n return;\n }\n const stateObject = getMockStateObject(valid);\n handler(stateObject);\n }\n\n async create(options: {\n client?: braintree.Client | undefined;\n authorization?: string | undefined;\n fields: braintree.HostedFieldFieldOptions;\n styles?: any;\n }): Promise<braintree.HostedFields> {\n return this;\n }\n\n styleOptions: any;\n\n VERSION = 'foo';\n\n private changeHandlers: {\n [key: string]: (event: braintree.HostedFieldsStateObject) => void;\n } = {};\n\n on(\n event: braintree.HostedFieldEventType,\n handler: (event: braintree.HostedFieldsStateObject) => void,\n ): void {\n this.changeHandlers[event] = handler.bind(this);\n }\n\n async teardown(): Promise<void> {\n return;\n }\n\n async tokenize(options?: {\n vault?: boolean;\n cardholderName?: string;\n billingAddress?: any;\n }): Promise<braintree.HostedFieldsTokenizePayload> {\n return this.mockPayload;\n }\n\n addClass(field: string, classname: string, callback?: braintree.callback | undefined): void {\n throw new Error('Method not implemented.');\n }\n\n removeClass(field: string, classname: string, callback?: braintree.callback | undefined): void {\n throw new Error('Method not implemented.');\n }\n\n setPlaceholder(\n field: string,\n placeholder: string,\n callback?: braintree.callback | undefined,\n ): void {\n throw new Error('Method not implemented.');\n }\n\n clear(field: string, callback?: braintree.callback | undefined): void {\n throw new Error('Method not implemented.');\n }\n\n getState(): any {\n throw new Error('Method not implemented.');\n }\n\n constructor(options?: { mockHostedFieldTokenizePayload: braintree.HostedFieldsTokenizePayload }) {\n this.mockPayload = options?.mockHostedFieldTokenizePayload ?? mockHostedFieldTokenizePayload;\n }\n\n private mockPayload: braintree.HostedFieldsTokenizePayload;\n}\n"]}
@@ -1 +1 @@
1
- export declare const mockHostedFieldTokenizePayload: import("../../../src/@types/braintree-web").HostedFieldsTokenizePayload;
1
+ export declare const mockHostedFieldTokenizePayload: braintree.HostedFieldsTokenizePayload;
@@ -1,4 +1,3 @@
1
- /// <reference types="googlepay" />
2
1
  import { PromisedSingleton } from '@internetarchive/promised-singleton';
3
2
  import { GooglePayHandlerInterface } from '../../../../src/braintree-manager/payment-providers/google-pay-interface';
4
3
  export declare class MockGooglePayHandler implements GooglePayHandlerInterface {
@@ -9,15 +9,15 @@ export class MockPayPalButtonDataSource {
9
9
  });
10
10
  }
11
11
  payment() {
12
- var _a;
13
12
  return __awaiter(this, void 0, void 0, function* () {
13
+ var _a;
14
14
  (_a = this.delegate) === null || _a === void 0 ? void 0 : _a.payPalPaymentStarted(this, {});
15
15
  return 'foo';
16
16
  });
17
17
  }
18
18
  onAuthorize() {
19
- var _a;
20
19
  return __awaiter(this, void 0, void 0, function* () {
20
+ var _a;
21
21
  (_a = this.delegate) === null || _a === void 0 ? void 0 : _a.payPalPaymentAuthorized(this, {
22
22
  nonce: 'foo',
23
23
  type: 'bar',
@@ -1 +1 @@
1
- {"version":3,"file":"mock-paypal-button-datasource.js","sourceRoot":"","sources":["../../../../../test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAU/F,MAAM,OAAO,0BAA0B;IAAvC;QAEE,iBAAY,GAAwB,IAAI,mBAAmB,CAAC;YAC1D,YAAY,EAAE,YAAY,CAAC,OAAO;YAClC,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IAmBL,CAAC;IAlBO,OAAO;;;YACX,MAAA,IAAI,CAAC,QAAQ,0CAAE,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;;KACd;IACK,WAAW;;;YACf,MAAA,IAAI,CAAC,QAAQ,0CAAE,uBAAuB,CAAC,IAAI,EAAE;gBAC3C,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE;aACvF,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;;KAClB;IACD,QAAQ,CAAC,IAAsB;;QAC7B,MAAA,IAAI,CAAC,QAAQ,0CAAE,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,KAAa;;QACnB,MAAA,IAAI,CAAC,QAAQ,0CAAE,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;CACF","sourcesContent":["import { DonationPaymentInfo, DonationType } from '@internetarchive/donation-form-data-models';\nimport {\n TokenizePayload,\n CancellationData,\n} from '../../../../src/@types/paypal-checkout-components';\nimport {\n PayPalButtonDataSourceDelegate,\n PayPalButtonDataSourceInterface,\n} from '../../../../src/braintree-manager/payment-providers/paypal/paypal-button-datasource';\n\nexport class MockPayPalButtonDataSource implements PayPalButtonDataSourceInterface {\n delegate?: PayPalButtonDataSourceDelegate | undefined;\n donationInfo: DonationPaymentInfo = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 5,\n coverFees: false,\n });\n async payment(): Promise<string> {\n this.delegate?.payPalPaymentStarted(this, {});\n return 'foo';\n }\n async onAuthorize(): Promise<TokenizePayload | undefined> {\n this.delegate?.payPalPaymentAuthorized(this, {\n nonce: 'foo',\n type: 'bar',\n details: { email: 'foo@bar.com', payerId: '1234', firstName: 'Joe', lastName: 'Boop' },\n });\n return undefined;\n }\n onCancel(data: CancellationData): void {\n this.delegate?.payPalPaymentCancelled(this, data);\n }\n onError(error: string): void {\n this.delegate?.payPalPaymentError(this, error);\n }\n}\n"]}
1
+ {"version":3,"file":"mock-paypal-button-datasource.js","sourceRoot":"","sources":["../../../../../test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAU/F,MAAM,OAAO,0BAA0B;IAAvC;QAEE,iBAAY,GAAwB,IAAI,mBAAmB,CAAC;YAC1D,YAAY,EAAE,YAAY,CAAC,OAAO;YAClC,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IAmBL,CAAC;IAlBO,OAAO;;;YACX,MAAA,IAAI,CAAC,QAAQ,0CAAE,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IACK,WAAW;;;YACf,MAAA,IAAI,CAAC,QAAQ,0CAAE,uBAAuB,CAAC,IAAI,EAAE;gBAC3C,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE;aACvF,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IACD,QAAQ,CAAC,IAAsB;;QAC7B,MAAA,IAAI,CAAC,QAAQ,0CAAE,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,KAAa;;QACnB,MAAA,IAAI,CAAC,QAAQ,0CAAE,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;CACF","sourcesContent":["import { DonationPaymentInfo, DonationType } from '@internetarchive/donation-form-data-models';\nimport {\n TokenizePayload,\n CancellationData,\n} from '../../../../src/@types/paypal-checkout-components';\nimport {\n PayPalButtonDataSourceDelegate,\n PayPalButtonDataSourceInterface,\n} from '../../../../src/braintree-manager/payment-providers/paypal/paypal-button-datasource';\n\nexport class MockPayPalButtonDataSource implements PayPalButtonDataSourceInterface {\n delegate?: PayPalButtonDataSourceDelegate | undefined;\n donationInfo: DonationPaymentInfo = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 5,\n coverFees: false,\n });\n async payment(): Promise<string> {\n this.delegate?.payPalPaymentStarted(this, {});\n return 'foo';\n }\n async onAuthorize(): Promise<TokenizePayload | undefined> {\n this.delegate?.payPalPaymentAuthorized(this, {\n nonce: 'foo',\n type: 'bar',\n details: { email: 'foo@bar.com', payerId: '1234', firstName: 'Joe', lastName: 'Boop' },\n });\n return undefined;\n }\n onCancel(data: CancellationData): void {\n this.delegate?.payPalPaymentCancelled(this, data);\n }\n onError(error: string): void {\n this.delegate?.payPalPaymentError(this, error);\n }\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  import { __awaiter } from "tslib";
2
- /* eslint-disable @typescript-eslint/no-unused-vars */
3
2
  import { expect } from '@open-wc/testing';
4
3
  import { BraintreeManager } from '../../src/braintree-manager/braintree-manager';
5
4
  import { HostingEnvironment } from '../../src/braintree-manager/braintree-interfaces';
@@ -47,7 +46,7 @@ describe('Braintree Manager', () => {
47
46
  expect((_a = endpointManager.requestSubmitted) === null || _a === void 0 ? void 0 : _a.deviceData).to.equal(MockDeviceDataCollector.mockDeviceData);
48
47
  }));
49
48
  it('does not collect device data if startup not called', () => __awaiter(void 0, void 0, void 0, function* () {
50
- var _b;
49
+ var _a;
51
50
  const paymentClients = new MockPaymentClients();
52
51
  const endpointManager = new MockEndpointManager();
53
52
  const braintreeManager = new BraintreeManager({
@@ -64,10 +63,10 @@ describe('Braintree Manager', () => {
64
63
  billingInfo: mockBillingInfo,
65
64
  customerInfo: mockCustomerInfo,
66
65
  });
67
- expect((_b = endpointManager.requestSubmitted) === null || _b === void 0 ? void 0 : _b.deviceData).to.equal(undefined);
66
+ expect((_a = endpointManager.requestSubmitted) === null || _a === void 0 ? void 0 : _a.deviceData).to.equal(undefined);
68
67
  }));
69
68
  it('can properly set referrer, origin, and logged in user and submits them to the endpoint', () => __awaiter(void 0, void 0, void 0, function* () {
70
- var _c, _d, _e, _f, _g;
69
+ var _a, _b, _c, _d, _e;
71
70
  const paymentClients = new MockPaymentClients();
72
71
  const endpointManager = new MockEndpointManager();
73
72
  const braintreeManager = new BraintreeManager({
@@ -85,8 +84,8 @@ describe('Braintree Manager', () => {
85
84
  customerInfo: mockCustomerInfo,
86
85
  });
87
86
  // verify they're empty
88
- expect((_c = endpointManager.requestSubmitted) === null || _c === void 0 ? void 0 : _c.customFields.referrer).to.equal(undefined);
89
- expect((_d = endpointManager.requestSubmitted) === null || _d === void 0 ? void 0 : _d.customFields.logged_in_user).to.equal(undefined);
87
+ expect((_a = endpointManager.requestSubmitted) === null || _a === void 0 ? void 0 : _a.customFields.referrer).to.equal(undefined);
88
+ expect((_b = endpointManager.requestSubmitted) === null || _b === void 0 ? void 0 : _b.customFields.logged_in_user).to.equal(undefined);
90
89
  braintreeManager.setLoggedInUser('foo-user');
91
90
  braintreeManager.setReferrer('foo-referrer');
92
91
  braintreeManager.setOrigin('foo-origin');
@@ -97,12 +96,12 @@ describe('Braintree Manager', () => {
97
96
  billingInfo: mockBillingInfo,
98
97
  customerInfo: mockCustomerInfo,
99
98
  });
100
- expect((_e = endpointManager.requestSubmitted) === null || _e === void 0 ? void 0 : _e.customFields.referrer).to.equal('foo-referrer');
101
- expect((_f = endpointManager.requestSubmitted) === null || _f === void 0 ? void 0 : _f.customFields.logged_in_user).to.equal('foo-user');
102
- expect((_g = endpointManager.requestSubmitted) === null || _g === void 0 ? void 0 : _g.customFields.origin).to.equal('foo-origin');
99
+ expect((_c = endpointManager.requestSubmitted) === null || _c === void 0 ? void 0 : _c.customFields.referrer).to.equal('foo-referrer');
100
+ expect((_d = endpointManager.requestSubmitted) === null || _d === void 0 ? void 0 : _d.customFields.logged_in_user).to.equal('foo-user');
101
+ expect((_e = endpointManager.requestSubmitted) === null || _e === void 0 ? void 0 : _e.customFields.origin).to.equal('foo-origin');
103
102
  }));
104
103
  it('can be initialized with referrer, origin, and logged in user and submits them to the endpoint', () => __awaiter(void 0, void 0, void 0, function* () {
105
- var _h, _j, _k;
104
+ var _a, _b, _c;
106
105
  const paymentClients = new MockPaymentClients();
107
106
  const endpointManager = new MockEndpointManager();
108
107
  const braintreeManager = new BraintreeManager({
@@ -122,9 +121,9 @@ describe('Braintree Manager', () => {
122
121
  billingInfo: mockBillingInfo,
123
122
  customerInfo: mockCustomerInfo,
124
123
  });
125
- expect((_h = endpointManager.requestSubmitted) === null || _h === void 0 ? void 0 : _h.customFields.referrer).to.equal('foo-referrer');
126
- expect((_j = endpointManager.requestSubmitted) === null || _j === void 0 ? void 0 : _j.customFields.logged_in_user).to.equal('foo-user');
127
- expect((_k = endpointManager.requestSubmitted) === null || _k === void 0 ? void 0 : _k.customFields.origin).to.equal('foo-origin');
124
+ expect((_a = endpointManager.requestSubmitted) === null || _a === void 0 ? void 0 : _a.customFields.referrer).to.equal('foo-referrer');
125
+ expect((_b = endpointManager.requestSubmitted) === null || _b === void 0 ? void 0 : _b.customFields.logged_in_user).to.equal('foo-user');
126
+ expect((_c = endpointManager.requestSubmitted) === null || _c === void 0 ? void 0 : _c.customFields.origin).to.equal('foo-origin');
128
127
  }));
129
128
  it('properly submits an upsell donation', () => __awaiter(void 0, void 0, void 0, function* () {
130
129
  const paymentClients = new MockPaymentClients();
@@ -1 +1 @@
1
- {"version":3,"file":"braintree-manager.test.js","sourceRoot":"","sources":["../../../test/tests/braintree-manager.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { expect } from '@open-wc/testing';\n\nimport { BraintreeManager } from '../../src/braintree-manager/braintree-manager';\nimport { HostingEnvironment } from '../../src/braintree-manager/braintree-interfaces';\nimport { MockPaymentClients } from '../mocks/mock-payment-clients';\nimport { MockEndpointManager } from '../mocks/mock-endpoint-manager';\nimport { mockHostedFieldConfig } from '../mocks/mock-hosted-fields-config';\nimport { PaymentProvider, DonationType } from '@internetarchive/donation-form-data-models';\nimport { mockBillingInfo } from '../mocks/models/mock-billing-info';\nimport { mockCustomerInfo } from '../mocks/models/mock-customer-info';\nimport { MockDeviceDataCollector } from '../mocks/payment-clients/mock-data-collector';\nimport { mockSuccessResponse } from '../mocks/models/mock-success-response';\nimport { MockDonationInfo } from '../mocks/mock-donation-info';\n\ndescribe('Braintree Manager', () => {\n it('can be initialized', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n expect(braintreeManager).to.not.equal(undefined);\n });\n\n it('collects device data on startup and submits it', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n await braintreeManager.startup();\n\n await braintreeManager.submitDonation({\n nonce: 'boop',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new MockDonationInfo(),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n expect(endpointManager.requestSubmitted?.deviceData).to.equal(\n MockDeviceDataCollector.mockDeviceData,\n );\n });\n\n it('does not collect device data if startup not called', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n await braintreeManager.submitDonation({\n nonce: 'boop',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new MockDonationInfo(),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n expect(endpointManager.requestSubmitted?.deviceData).to.equal(undefined);\n });\n\n it('can properly set referrer, origin, and logged in user and submits them to the endpoint', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n await braintreeManager.submitDonation({\n nonce: 'boop',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new MockDonationInfo(),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n // verify they're empty\n expect(endpointManager.requestSubmitted?.customFields.referrer).to.equal(undefined);\n expect(endpointManager.requestSubmitted?.customFields.logged_in_user).to.equal(undefined);\n\n braintreeManager.setLoggedInUser('foo-user');\n braintreeManager.setReferrer('foo-referrer');\n braintreeManager.setOrigin('foo-origin');\n\n await braintreeManager.submitDonation({\n nonce: 'boop',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new MockDonationInfo(),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n expect(endpointManager.requestSubmitted?.customFields.referrer).to.equal('foo-referrer');\n expect(endpointManager.requestSubmitted?.customFields.logged_in_user).to.equal('foo-user');\n expect(endpointManager.requestSubmitted?.customFields.origin).to.equal('foo-origin');\n });\n\n it('can be initialized with referrer, origin, and logged in user and submits them to the endpoint', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n loggedInUser: 'foo-user',\n referrer: 'foo-referrer',\n origin: 'foo-origin',\n });\n\n await braintreeManager.submitDonation({\n nonce: 'boop',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new MockDonationInfo(),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n expect(endpointManager.requestSubmitted?.customFields.referrer).to.equal('foo-referrer');\n expect(endpointManager.requestSubmitted?.customFields.logged_in_user).to.equal('foo-user');\n expect(endpointManager.requestSubmitted?.customFields.origin).to.equal('foo-origin');\n });\n\n it('properly submits an upsell donation', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n await braintreeManager.submitUpsellDonation({\n oneTimeDonationResponse: mockSuccessResponse,\n amount: 3.5,\n });\n\n const requestSubmitted = endpointManager.requestSubmitted;\n\n expect(requestSubmitted?.donationType).to.equal(DonationType.Upsell);\n expect(requestSubmitted?.amount).to.equal(3.5);\n expect(requestSubmitted?.customFields.fee_amount_covered).to.equal(0);\n });\n\n it('handles successful donation', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n await braintreeManager.donationSuccessful({\n successResponse: mockSuccessResponse,\n });\n\n const successResponseSubmitted = endpointManager.successResponseSubmitted;\n\n expect(successResponseSubmitted?.donationType).to.equal(DonationType.OneTime);\n expect(successResponseSubmitted?.amount).to.equal(5);\n });\n});\n"]}
1
+ {"version":3,"file":"braintree-manager.test.js","sourceRoot":"","sources":["../../../test/tests/braintree-manager.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\n\nimport { BraintreeManager } from '../../src/braintree-manager/braintree-manager';\nimport { HostingEnvironment } from '../../src/braintree-manager/braintree-interfaces';\nimport { MockPaymentClients } from '../mocks/mock-payment-clients';\nimport { MockEndpointManager } from '../mocks/mock-endpoint-manager';\nimport { mockHostedFieldConfig } from '../mocks/mock-hosted-fields-config';\nimport { PaymentProvider, DonationType } from '@internetarchive/donation-form-data-models';\nimport { mockBillingInfo } from '../mocks/models/mock-billing-info';\nimport { mockCustomerInfo } from '../mocks/models/mock-customer-info';\nimport { MockDeviceDataCollector } from '../mocks/payment-clients/mock-data-collector';\nimport { mockSuccessResponse } from '../mocks/models/mock-success-response';\nimport { MockDonationInfo } from '../mocks/mock-donation-info';\n\ndescribe('Braintree Manager', () => {\n it('can be initialized', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n expect(braintreeManager).to.not.equal(undefined);\n });\n\n it('collects device data on startup and submits it', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n await braintreeManager.startup();\n\n await braintreeManager.submitDonation({\n nonce: 'boop',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new MockDonationInfo(),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n expect(endpointManager.requestSubmitted?.deviceData).to.equal(\n MockDeviceDataCollector.mockDeviceData,\n );\n });\n\n it('does not collect device data if startup not called', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n await braintreeManager.submitDonation({\n nonce: 'boop',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new MockDonationInfo(),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n expect(endpointManager.requestSubmitted?.deviceData).to.equal(undefined);\n });\n\n it('can properly set referrer, origin, and logged in user and submits them to the endpoint', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n await braintreeManager.submitDonation({\n nonce: 'boop',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new MockDonationInfo(),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n // verify they're empty\n expect(endpointManager.requestSubmitted?.customFields.referrer).to.equal(undefined);\n expect(endpointManager.requestSubmitted?.customFields.logged_in_user).to.equal(undefined);\n\n braintreeManager.setLoggedInUser('foo-user');\n braintreeManager.setReferrer('foo-referrer');\n braintreeManager.setOrigin('foo-origin');\n\n await braintreeManager.submitDonation({\n nonce: 'boop',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new MockDonationInfo(),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n expect(endpointManager.requestSubmitted?.customFields.referrer).to.equal('foo-referrer');\n expect(endpointManager.requestSubmitted?.customFields.logged_in_user).to.equal('foo-user');\n expect(endpointManager.requestSubmitted?.customFields.origin).to.equal('foo-origin');\n });\n\n it('can be initialized with referrer, origin, and logged in user and submits them to the endpoint', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n loggedInUser: 'foo-user',\n referrer: 'foo-referrer',\n origin: 'foo-origin',\n });\n\n await braintreeManager.submitDonation({\n nonce: 'boop',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new MockDonationInfo(),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n expect(endpointManager.requestSubmitted?.customFields.referrer).to.equal('foo-referrer');\n expect(endpointManager.requestSubmitted?.customFields.logged_in_user).to.equal('foo-user');\n expect(endpointManager.requestSubmitted?.customFields.origin).to.equal('foo-origin');\n });\n\n it('properly submits an upsell donation', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n await braintreeManager.submitUpsellDonation({\n oneTimeDonationResponse: mockSuccessResponse,\n amount: 3.5,\n });\n\n const requestSubmitted = endpointManager.requestSubmitted;\n\n expect(requestSubmitted?.donationType).to.equal(DonationType.Upsell);\n expect(requestSubmitted?.amount).to.equal(3.5);\n expect(requestSubmitted?.customFields.fee_amount_covered).to.equal(0);\n });\n\n it('handles successful donation', async () => {\n const paymentClients = new MockPaymentClients();\n const endpointManager = new MockEndpointManager();\n\n const braintreeManager = new BraintreeManager({\n authorizationToken: 'foo',\n paymentClients,\n endpointManager,\n hostedFieldConfig: mockHostedFieldConfig,\n hostingEnvironment: HostingEnvironment.Development,\n });\n\n await braintreeManager.donationSuccessful({\n successResponse: mockSuccessResponse,\n });\n\n const successResponseSubmitted = endpointManager.successResponseSubmitted;\n\n expect(successResponseSubmitted?.donationType).to.equal(DonationType.OneTime);\n expect(successResponseSubmitted?.amount).to.equal(5);\n });\n});\n"]}
@@ -75,7 +75,7 @@ describe('Donation Form Controller', () => {
75
75
  expect(endpointManager.requestSubmitted).to.not.equal(undefined);
76
76
  }));
77
77
  it('sends Viewed analytics when it first updates', () => __awaiter(void 0, void 0, void 0, function* () {
78
- var _e, _f;
78
+ var _a, _b;
79
79
  const mockAnalytics = new MockAnalyticsManager();
80
80
  const analyticsCategory = 'FooCategory';
81
81
  (yield fixture(html `
@@ -86,11 +86,11 @@ describe('Donation Form Controller', () => {
86
86
  >
87
87
  </donation-form-controller>
88
88
  `));
89
- expect((_e = mockAnalytics.sendEventOptions) === null || _e === void 0 ? void 0 : _e.category).to.equal(analyticsCategory);
90
- expect((_f = mockAnalytics.sendEventOptions) === null || _f === void 0 ? void 0 : _f.action).to.equal('Viewed');
89
+ expect((_a = mockAnalytics.sendEventOptions) === null || _a === void 0 ? void 0 : _a.category).to.equal(analyticsCategory);
90
+ expect((_b = mockAnalytics.sendEventOptions) === null || _b === void 0 ? void 0 : _b.action).to.equal('Viewed');
91
91
  }));
92
92
  it('sends DonationInfoChanged analytics when donation info changes', () => __awaiter(void 0, void 0, void 0, function* () {
93
- var _g, _h, _j, _k, _l;
93
+ var _a, _b, _c, _d, _e;
94
94
  const mockAnalytics = new MockAnalyticsManager();
95
95
  const analyticsCategory = 'FooCategory';
96
96
  const controller = (yield fixture(html `
@@ -102,16 +102,16 @@ describe('Donation Form Controller', () => {
102
102
  </donation-form-controller>
103
103
  `));
104
104
  const donationForm = controller.querySelector('donation-form');
105
- const donationHeader = (_g = donationForm.shadowRoot) === null || _g === void 0 ? void 0 : _g.querySelector('donation-form-header');
106
- const editDonation = (_h = donationHeader === null || donationHeader === void 0 ? void 0 : donationHeader.shadowRoot) === null || _h === void 0 ? void 0 : _h.querySelector('donation-form-edit-donation');
107
- const monthlyOption = (_j = editDonation === null || editDonation === void 0 ? void 0 : editDonation.shadowRoot) === null || _j === void 0 ? void 0 : _j.querySelector('#donationType-monthly-option');
105
+ const donationHeader = (_a = donationForm.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('donation-form-header');
106
+ const editDonation = (_b = donationHeader === null || donationHeader === void 0 ? void 0 : donationHeader.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('donation-form-edit-donation');
107
+ const monthlyOption = (_c = editDonation === null || editDonation === void 0 ? void 0 : editDonation.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#donationType-monthly-option');
108
108
  const clickEvent = new MouseEvent('click');
109
109
  monthlyOption === null || monthlyOption === void 0 ? void 0 : monthlyOption.dispatchEvent(clickEvent);
110
- expect((_k = mockAnalytics.sendEventOptions) === null || _k === void 0 ? void 0 : _k.category).to.equal(analyticsCategory);
111
- expect((_l = mockAnalytics.sendEventOptions) === null || _l === void 0 ? void 0 : _l.action).to.equal('DonationInfoChanged');
110
+ expect((_d = mockAnalytics.sendEventOptions) === null || _d === void 0 ? void 0 : _d.category).to.equal(analyticsCategory);
111
+ expect((_e = mockAnalytics.sendEventOptions) === null || _e === void 0 ? void 0 : _e.action).to.equal('DonationInfoChanged');
112
112
  }));
113
113
  it('sends ProviderSelected analytics', () => __awaiter(void 0, void 0, void 0, function* () {
114
- var _m, _o, _p, _q, _r;
114
+ var _a, _b, _c, _d, _e;
115
115
  const mockAnalytics = new MockAnalyticsManager();
116
116
  const analyticsCategory = 'FooCategory';
117
117
  const controller = (yield fixture(html `
@@ -123,26 +123,26 @@ describe('Donation Form Controller', () => {
123
123
  </donation-form-controller>
124
124
  `));
125
125
  const donationForm = controller.querySelector('donation-form');
126
- const paymentSelector = (_m = donationForm.shadowRoot) === null || _m === void 0 ? void 0 : _m.querySelector('payment-selector');
126
+ const paymentSelector = (_a = donationForm.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('payment-selector');
127
127
  // on the first payment provider chosen, the previousPaymentProvider is undefined
128
- const creditCardButton = (_o = paymentSelector.shadowRoot) === null || _o === void 0 ? void 0 : _o.querySelector('.credit-card-button');
128
+ const creditCardButton = (_b = paymentSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.credit-card-button');
129
129
  setTimeout(() => {
130
130
  const ccClickEvent = new MouseEvent('click');
131
131
  creditCardButton.dispatchEvent(ccClickEvent);
132
132
  });
133
133
  yield oneEvent(donationForm, 'paymentProviderSelected');
134
- expect((_p = mockAnalytics.sendEventOptions) === null || _p === void 0 ? void 0 : _p.action).to.equal('ProviderFirstSelected-CreditCard');
134
+ expect((_c = mockAnalytics.sendEventOptions) === null || _c === void 0 ? void 0 : _c.action).to.equal('ProviderFirstSelected-CreditCard');
135
135
  // on subsequent payment provider choices, the previousPaymentProvider is populated
136
- const venmoButton = (_q = paymentSelector.shadowRoot) === null || _q === void 0 ? void 0 : _q.querySelector('.venmo');
136
+ const venmoButton = (_d = paymentSelector.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.venmo');
137
137
  setTimeout(() => {
138
138
  const venmoClickEvent = new MouseEvent('click');
139
139
  venmoButton.dispatchEvent(venmoClickEvent);
140
140
  });
141
141
  yield oneEvent(donationForm, 'paymentProviderSelected');
142
- expect((_r = mockAnalytics.sendEventOptions) === null || _r === void 0 ? void 0 : _r.action).to.equal('ProviderChangedTo-Venmo');
142
+ expect((_e = mockAnalytics.sendEventOptions) === null || _e === void 0 ? void 0 : _e.action).to.equal('ProviderChangedTo-Venmo');
143
143
  }));
144
144
  it('sends PaymentFlowCancelled analytics', () => __awaiter(void 0, void 0, void 0, function* () {
145
- var _s, _t;
145
+ var _a, _b;
146
146
  const mockAnalytics = new MockAnalyticsManager();
147
147
  const analyticsCategory = 'FooCategory';
148
148
  const controller = (yield fixture(html `
@@ -159,11 +159,11 @@ describe('Donation Form Controller', () => {
159
159
  yield elementUpdated(donationForm);
160
160
  yield promisedSleep(250);
161
161
  flowHandlers.paypalHandler.emitPaymentCancelledEvent();
162
- expect((_s = mockAnalytics.sendEventOptions) === null || _s === void 0 ? void 0 : _s.action).to.equal('PaymentFlowCancelled');
163
- expect((_t = mockAnalytics.sendEventOptions) === null || _t === void 0 ? void 0 : _t.label).to.equal('PayPal');
162
+ expect((_a = mockAnalytics.sendEventOptions) === null || _a === void 0 ? void 0 : _a.action).to.equal('PaymentFlowCancelled');
163
+ expect((_b = mockAnalytics.sendEventOptions) === null || _b === void 0 ? void 0 : _b.label).to.equal('PayPal');
164
164
  }));
165
165
  it('sends PaymentFlowError analytics', () => __awaiter(void 0, void 0, void 0, function* () {
166
- var _u, _v;
166
+ var _a, _b;
167
167
  const mockAnalytics = new MockAnalyticsManager();
168
168
  const analyticsCategory = 'FooCategory';
169
169
  const controller = (yield fixture(html `
@@ -180,8 +180,8 @@ describe('Donation Form Controller', () => {
180
180
  yield elementUpdated(donationForm);
181
181
  yield promisedSleep(250);
182
182
  flowHandlers.paypalHandler.emitPaymentErrorEvent();
183
- expect((_u = mockAnalytics.sendEventOptions) === null || _u === void 0 ? void 0 : _u.action).to.equal('PaymentFlowError');
184
- expect((_v = mockAnalytics.sendEventOptions) === null || _v === void 0 ? void 0 : _v.label).to.equal('PayPal-foo-error');
183
+ expect((_a = mockAnalytics.sendEventOptions) === null || _a === void 0 ? void 0 : _a.action).to.equal('PaymentFlowError');
184
+ expect((_b = mockAnalytics.sendEventOptions) === null || _b === void 0 ? void 0 : _b.label).to.equal('PayPal-foo-error');
185
185
  }));
186
186
  });
187
187
  //# sourceMappingURL=donation-form-controller.test.js.map
@@ -40,14 +40,14 @@ describe('Donation Form', () => {
40
40
  expect(contactFormSection === null || contactFormSection === void 0 ? void 0 : contactFormSection.classList.contains('hidden')).to.be.false;
41
41
  }));
42
42
  it('shows the contact form when Venmo is selected', () => __awaiter(void 0, void 0, void 0, function* () {
43
- var _d, _e, _f;
43
+ var _a, _b, _c;
44
44
  const el = (yield fixture(html ` <donation-form></donation-form> `));
45
45
  const braintreeManager = new MockBraintreeManager();
46
46
  el.braintreeManager = braintreeManager;
47
47
  yield elementUpdated(el);
48
- const contactFormSection = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.contact-form-section');
49
- const paymentSelector = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('payment-selector');
50
- const venmoButton = (_f = paymentSelector.shadowRoot) === null || _f === void 0 ? void 0 : _f.querySelector('.venmo');
48
+ const contactFormSection = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.contact-form-section');
49
+ const paymentSelector = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('payment-selector');
50
+ const venmoButton = (_c = paymentSelector.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.venmo');
51
51
  expect(contactFormSection === null || contactFormSection === void 0 ? void 0 : contactFormSection.classList.contains('hidden')).to.be.true;
52
52
  const clickEvent = new MouseEvent('click');
53
53
  venmoButton.dispatchEvent(clickEvent);
@@ -70,13 +70,13 @@ describe('Donation Form', () => {
70
70
  expect(flowHandlers.paypalHandler.donationInfo).to.equal(donationInfo);
71
71
  }));
72
72
  it('emits paymentProviderSelected when the selected provider changes', () => __awaiter(void 0, void 0, void 0, function* () {
73
- var _g, _h;
73
+ var _a, _b;
74
74
  const el = (yield fixture(html ` <donation-form></donation-form> `));
75
75
  const braintreeManager = new MockBraintreeManager();
76
76
  el.braintreeManager = braintreeManager;
77
77
  yield elementUpdated(el);
78
- const paymentSelector = (_g = el.shadowRoot) === null || _g === void 0 ? void 0 : _g.querySelector('payment-selector');
79
- const creditCardButton = (_h = paymentSelector.shadowRoot) === null || _h === void 0 ? void 0 : _h.querySelector('.credit-card-button');
78
+ const paymentSelector = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('payment-selector');
79
+ const creditCardButton = (_b = paymentSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.credit-card-button');
80
80
  // on the first payment provider chosen, the previousPaymentProvider is undefined
81
81
  setTimeout(() => {
82
82
  const ccClickEvent = new MouseEvent('click');
@@ -70,7 +70,7 @@ describe('Donation Flow Modal Manager', () => {
70
70
  expect((_a = modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.title) === null || _a === void 0 ? void 0 : _a.strings[0]).to.contain('Processing...');
71
71
  }));
72
72
  it('can show the error modal', () => __awaiter(void 0, void 0, void 0, function* () {
73
- var _b, _c;
73
+ var _a, _b;
74
74
  const mockModalManager = (yield fixture(html `
75
75
  <mock-modal-manager></mock-modal-manager>
76
76
  `));
@@ -86,11 +86,11 @@ describe('Donation Flow Modal Manager', () => {
86
86
  expect(modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.showProcessingIndicator).to.be.false;
87
87
  expect(modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.closeOnBackdropClick).to.be.true;
88
88
  expect(modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.showCloseButton).to.be.true;
89
- expect((_b = modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.headline) === null || _b === void 0 ? void 0 : _b.strings[0]).to.contain("There's been a problem completing your donation.");
90
- expect((_c = modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.message) === null || _c === void 0 ? void 0 : _c.values[0]).to.equal('foo-error');
89
+ expect((_a = modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.headline) === null || _a === void 0 ? void 0 : _a.strings[0]).to.contain("There's been a problem completing your donation.");
90
+ expect((_b = modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.message) === null || _b === void 0 ? void 0 : _b.values[0]).to.equal('foo-error');
91
91
  }));
92
92
  it('shows the thank you modal and calls `donationSuccessful` to take user to thank you page', () => __awaiter(void 0, void 0, void 0, function* () {
93
- var _d, _e;
93
+ var _a, _b;
94
94
  const mockModalManager = (yield fixture(html `
95
95
  <mock-modal-manager></mock-modal-manager>
96
96
  `));
@@ -114,8 +114,8 @@ describe('Donation Flow Modal Manager', () => {
114
114
  expect(modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.showProcessingIndicator).to.be.true;
115
115
  expect(modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.closeOnBackdropClick).to.be.true;
116
116
  expect(modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.showCloseButton).to.be.true;
117
- expect((_d = modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.title) === null || _d === void 0 ? void 0 : _d.strings[0]).to.contain('Thank You!');
118
- const response = (_e = mockBraintreeManager.donationSuccessfulOptions) === null || _e === void 0 ? void 0 : _e.successResponse;
117
+ expect((_a = modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.title) === null || _a === void 0 ? void 0 : _a.strings[0]).to.contain('Thank You!');
118
+ const response = (_b = mockBraintreeManager.donationSuccessfulOptions) === null || _b === void 0 ? void 0 : _b.successResponse;
119
119
  expect(response).to.deep.equal(mockSuccessResponse);
120
120
  }));
121
121
  it('donation submitted analytics gets sent when drawing thank you modal', () => __awaiter(void 0, void 0, void 0, function* () {
@@ -144,7 +144,7 @@ describe('Donation Flow Modal Manager', () => {
144
144
  expect(logDonationFlowEvent.args[0][1]).to.equal(DonationType.OneTime);
145
145
  }));
146
146
  it('can show the confirmation modal', () => __awaiter(void 0, void 0, void 0, function* () {
147
- var _f, _g;
147
+ var _a, _b;
148
148
  const mockModalManager = (yield fixture(html `
149
149
  <mock-modal-manager></mock-modal-manager>
150
150
  `));
@@ -165,7 +165,7 @@ describe('Donation Flow Modal Manager', () => {
165
165
  expect(modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.headerColor).to.equal('#55A183');
166
166
  expect(modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.closeOnBackdropClick).to.be.false;
167
167
  expect(modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config.showCloseButton).to.be.true;
168
- expect((_g = (_f = modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config) === null || _f === void 0 ? void 0 : _f.title) === null || _g === void 0 ? void 0 : _g.values).to.contain('Confirm monthly donation');
168
+ expect((_b = (_a = modalOptions === null || modalOptions === void 0 ? void 0 : modalOptions.config) === null || _a === void 0 ? void 0 : _a.title) === null || _b === void 0 ? void 0 : _b.values).to.contain('Confirm monthly donation');
169
169
  }));
170
170
  it('can start the donation submission flow', () => __awaiter(void 0, void 0, void 0, function* () {
171
171
  const mockModalManager = (yield fixture(html `
@@ -17,7 +17,7 @@ describe('DonationSummary', () => {
17
17
  expect(titleElement === null || titleElement === void 0 ? void 0 : titleElement.innerText).to.equal('$3.50 Donation');
18
18
  }));
19
19
  it('shows the proper title for monthly donations', () => __awaiter(void 0, void 0, void 0, function* () {
20
- var _b;
20
+ var _a;
21
21
  const el = (yield fixture(html ` <donation-summary></donation-summary>> `));
22
22
  const donationInfo = new DonationPaymentInfo({
23
23
  amount: 7.5,
@@ -26,7 +26,7 @@ describe('DonationSummary', () => {
26
26
  });
27
27
  el.donationInfo = donationInfo;
28
28
  yield elementUpdated(el);
29
- const titleElement = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('h1');
29
+ const titleElement = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('h1');
30
30
  expect(titleElement === null || titleElement === void 0 ? void 0 : titleElement.innerText).to.equal('$7.50 Monthly Donation');
31
31
  }));
32
32
  });
@@ -15,17 +15,17 @@ describe('Payment Selector', () => {
15
15
  expect(venmoButton === null || venmoButton === void 0 ? void 0 : venmoButton.classList.contains('available')).to.be.true;
16
16
  }));
17
17
  it('can show PayPal when called', () => __awaiter(void 0, void 0, void 0, function* () {
18
- var _b;
18
+ var _a;
19
19
  const el = (yield fixture(html ` <payment-selector></payment-selector> `));
20
20
  el.showPaypalButton();
21
21
  yield elementUpdated(el);
22
- const paypalButton = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.paypal-container.provider-button');
22
+ const paypalButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.paypal-container.provider-button');
23
23
  expect(paypalButton === null || paypalButton === void 0 ? void 0 : paypalButton.classList.contains('available')).to.be.true;
24
24
  }));
25
25
  it('emits paypalBlockerSelected event when paypal is selected in an error state', () => __awaiter(void 0, void 0, void 0, function* () {
26
- var _c;
26
+ var _a;
27
27
  const el = (yield fixture(html ` <payment-selector></payment-selector> `));
28
- const paypalBlocker = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.paypal-local-button');
28
+ const paypalBlocker = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.paypal-local-button');
29
29
  const clickEvent = new MouseEvent('click');
30
30
  setTimeout(() => {
31
31
  paypalBlocker === null || paypalBlocker === void 0 ? void 0 : paypalBlocker.dispatchEvent(clickEvent);
@@ -34,9 +34,9 @@ describe('Payment Selector', () => {
34
34
  expect(response).to.exist;
35
35
  }));
36
36
  it('emits applePaySelected event with original click event when ApplePay is selected', () => __awaiter(void 0, void 0, void 0, function* () {
37
- var _d;
37
+ var _a;
38
38
  const el = (yield fixture(html ` <payment-selector></payment-selector> `));
39
- const paypalBlocker = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.applepay.provider-button');
39
+ const paypalBlocker = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.applepay.provider-button');
40
40
  const clickEvent = new MouseEvent('click');
41
41
  setTimeout(() => {
42
42
  paypalBlocker === null || paypalBlocker === void 0 ? void 0 : paypalBlocker.dispatchEvent(clickEvent);
@@ -46,9 +46,9 @@ describe('Payment Selector', () => {
46
46
  expect(event).to.equal(clickEvent);
47
47
  }));
48
48
  it('emits googlePaySelected when GooglePay is selected', () => __awaiter(void 0, void 0, void 0, function* () {
49
- var _e;
49
+ var _a;
50
50
  const el = (yield fixture(html ` <payment-selector></payment-selector> `));
51
- const paypalBlocker = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.googlepay.provider-button');
51
+ const paypalBlocker = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.googlepay.provider-button');
52
52
  const clickEvent = new MouseEvent('click');
53
53
  setTimeout(() => {
54
54
  paypalBlocker === null || paypalBlocker === void 0 ? void 0 : paypalBlocker.dispatchEvent(clickEvent);