@internetarchive/donation-form 0.5.19 → 0.5.21-a1
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/dist/demo/braintree-endpoint-manager.js +0 -1
- package/dist/demo/braintree-endpoint-manager.js.map +1 -1
- package/dist/demo/demo-analytics-handler.js.map +1 -1
- package/dist/demo/submit-form-with.js.map +1 -1
- package/dist/src/braintree-manager/braintree-manager.js +33 -35
- package/dist/src/braintree-manager/braintree-manager.js.map +1 -1
- package/dist/src/braintree-manager/payment-clients.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.js +1 -0
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.js +1 -0
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.js +1 -0
- 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.js +15 -14
- 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.js +1 -0
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.js +3 -3
- 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-container.js +6 -6
- 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.js +1 -0
- package/dist/src/braintree-manager/payment-providers/google-pay.js +15 -15
- package/dist/src/braintree-manager/payment-providers/google-pay.js.map +1 -1
- 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.js +1 -0
- package/dist/src/braintree-manager/payment-providers/paypal/paypal.js +1 -3
- package/dist/src/braintree-manager/payment-providers/paypal/paypal.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/venmo-interface.js +1 -0
- package/dist/src/braintree-manager/payment-providers/venmo.js +9 -8
- package/dist/src/braintree-manager/payment-providers/venmo.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers-interface.d.ts +1 -1
- package/dist/src/braintree-manager/payment-providers-interface.js +1 -0
- package/dist/src/braintree-manager/payment-providers.js +3 -3
- package/dist/src/braintree-manager/payment-providers.js.map +1 -1
- package/dist/src/donation-form-controller.js +6 -5
- package/dist/src/donation-form-controller.js.map +1 -1
- package/dist/src/donation-form.js +9 -9
- package/dist/src/donation-form.js.map +1 -1
- package/dist/src/form-elements/badged-input.js +1 -5
- 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 +1 -0
- package/dist/src/form-elements/contact-form/contact-form.js +12 -10
- package/dist/src/form-elements/contact-form/contact-form.js.map +1 -1
- package/dist/src/form-elements/header/donation-form-header.js +1 -3
- package/dist/src/form-elements/header/donation-form-header.js.map +1 -1
- package/dist/src/form-elements/header/donation-summary.js.map +1 -1
- package/dist/src/form-elements/payment-selector.js +4 -4
- package/dist/src/form-elements/payment-selector.js.map +1 -1
- package/dist/src/form-elements/total-amount.js.map +1 -1
- package/dist/src/modals/confirm-donation-modal-content.js +13 -3
- package/dist/src/modals/confirm-donation-modal-content.js.map +1 -1
- package/dist/src/modals/error-modal-content.js +1 -1
- package/dist/src/modals/error-modal-content.js.map +1 -1
- package/dist/src/modals/upsell-modal-content.js +5 -15
- package/dist/src/modals/upsell-modal-content.js.map +1 -1
- package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js +8 -19
- package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js +6 -6
- package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.js +2 -1
- 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.js.map +1 -1
- package/dist/src/payment-flow-handlers/payment-flow-handlers.js +11 -11
- package/dist/src/payment-flow-handlers/payment-flow-handlers.js.map +1 -1
- 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.js.map +1 -1
- package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js.map +1 -1
- package/dist/test/mocks/mock-braintree-manager.js.map +1 -1
- package/dist/test/mocks/mock-modal-manager.js.map +1 -1
- package/dist/test/mocks/mock-payment-clients.js +68 -58
- package/dist/test/mocks/mock-payment-clients.js.map +1 -1
- package/dist/test/mocks/models/mock-custom-fields.js +0 -1
- package/dist/test/mocks/models/mock-custom-fields.js.map +1 -1
- package/dist/test/mocks/models/mock-success-response.js +0 -1
- package/dist/test/mocks/models/mock-success-response.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js +3 -3
- package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-googlepay-library.js +4 -4
- package/dist/test/mocks/payment-clients/mock-googlepay-library.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-grecaptcha.js +8 -9
- package/dist/test/mocks/payment-clients/mock-grecaptcha.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfields-client.js +6 -6
- package/dist/test/mocks/payment-clients/mock-hostedfields-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-venmo-client.js +5 -5
- package/dist/test/mocks/payment-clients/mock-venmo-client.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js +13 -13
- package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js.map +1 -1
- package/dist/test/mocks/payment-providers/mock-payment-providers.js +2 -1
- package/dist/test/mocks/payment-providers/mock-payment-providers.js.map +1 -1
- package/dist/test/tests/braintree-manager.test.js +0 -1
- package/dist/test/tests/braintree-manager.test.js.map +1 -1
- package/dist/test/tests/donation-form-controller.test.js +1 -3
- package/dist/test/tests/donation-form-controller.test.js.map +1 -1
- package/dist/test/tests/donation-form.test.js +4 -12
- package/dist/test/tests/donation-form.test.js.map +1 -1
- package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js +7 -8
- package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js.map +1 -1
- package/dist/test/tests/form-elements/donation-summary.test.js +2 -6
- package/dist/test/tests/form-elements/donation-summary.test.js.map +1 -1
- package/dist/test/tests/form-elements/payment-selector.test.js +5 -15
- package/dist/test/tests/form-elements/payment-selector.test.js.map +1 -1
- package/dist/test/tests/modals/error-modal-content.test.js.map +1 -1
- package/dist/test/tests/modals/upsell-modal-content.test.js.map +1 -1
- package/dist/test/tests/payment-clients.test.js.map +1 -1
- package/dist/test/tests/payment-providers/applepay.test.js +1 -1
- package/dist/test/tests/payment-providers/applepay.test.js.map +1 -1
- package/dist/test/tests/payment-providers/paypal-button-datasource.test.js.map +1 -1
- package/dist/test/tests/payment-providers/venmo.test.js +1 -1
- package/dist/test/tests/payment-providers/venmo.test.js.map +1 -1
- package/dist/test/tests/recaptcha-manager.test.js +4 -12
- package/dist/test/tests/recaptcha-manager.test.js.map +1 -1
- package/package.json +31 -25
- package/src/braintree-manager/braintree-manager.ts +0 -2
- package/src/braintree-manager/payment-clients.ts +1 -2
- package/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.ts +1 -1
- package/src/braintree-manager/payment-providers/paypal/paypal.ts +3 -3
- package/src/donation-form-controller.ts +10 -9
- package/src/donation-form.ts +12 -15
- package/src/form-elements/badged-input.ts +1 -5
- package/src/form-elements/contact-form/contact-form.ts +25 -23
- package/src/form-elements/header/donation-form-header.ts +1 -3
- package/src/form-elements/payment-selector.ts +4 -4
- package/src/modals/confirm-donation-modal-content.ts +16 -6
- package/src/modals/error-modal-content.ts +1 -1
- package/src/modals/upsell-modal-content.ts +5 -15
- package/src/payment-flow-handlers/donation-flow-modal-manager.ts +12 -22
- package/src/payment-flow-handlers/handlers/applepay-flow-handler.ts +2 -1
- package/src/payment-flow-handlers/handlers/creditcard-flow-handler.ts +2 -1
- package/src/payment-flow-handlers/handlers/googlepay-flow-handler.ts +4 -6
- package/src/payment-flow-handlers/handlers/paypal-flow-handler.ts +7 -6
- package/src/payment-flow-handlers/handlers/venmo-flow-handler.ts +2 -1
- package/src/payment-flow-handlers/payment-flow-handlers.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"donation-flow-modal-manager.test.js","sourceRoot":"","sources":["../../../../test/tests/flow-handlers/donation-flow-modal-manager.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/camelcase */\nimport { html, fixture, expect } from '@open-wc/testing';\nimport { DonationFlowModalManager } from '../../../src/payment-flow-handlers/donation-flow-modal-manager';\nimport { MockModalManager } from '../../mocks/mock-modal-manager';\nimport '../../mocks/mock-modal-manager';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { mockSuccessResponse } from '../../mocks/models/mock-success-response';\nimport {\n PaymentProvider,\n DonationPaymentInfo,\n DonationType,\n} from '@internetarchive/donation-form-data-models';\nimport { mockBillingInfo } from '../../mocks/models/mock-billing-info';\nimport { mockCustomerInfo } from '../../mocks/models/mock-customer-info';\nimport { DonationControllerEventLoggerInterface } from '../../../src/@types/analytics-handler';\nimport sinon from 'sinon';\n\nlet analytics: DonationControllerEventLoggerInterface;\n\ndescribe('Donation Flow Modal Manager', () => {\n beforeEach(() => {\n analytics = {\n logEvent: sinon.fake(),\n logDonationFlowEvent: sinon.fake(),\n };\n });\n afterEach(() => {\n sinon.restore();\n });\n it('can close the modal', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics\n });\n manager.closeModal();\n expect(mockModalManager.closeCalled).to.be.true;\n });\n\n it('can calculate the proper default upsell amount', async () => {\n let amount = DonationFlowModalManager.getDefaultUpsellAmount(1);\n expect(amount).to.equal(5);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(10);\n expect(amount).to.equal(5);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(10.01);\n expect(amount).to.equal(10);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(25);\n expect(amount).to.equal(10);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(25.01);\n expect(amount).to.equal(25);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(100);\n expect(amount).to.equal(25);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(100.01);\n expect(amount).to.equal(50);\n });\n\n it('can show the processing modal', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics\n });\n manager.showProcessingModal();\n const modalOptions = mockModalManager.showModalOptions;\n expect(modalOptions?.config.headerColor).to.equal('#497fbf');\n expect(modalOptions?.config.showProcessingIndicator).to.be.true;\n expect(modalOptions?.config.processingImageMode).to.equal('processing');\n expect(modalOptions?.config.closeOnBackdropClick).to.be.false;\n expect(modalOptions?.config.showCloseButton).to.be.false;\n expect(modalOptions?.config.title?.strings[0]).to.contain('Processing...');\n });\n\n it('can show the error modal', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics\n });\n manager.showErrorModal({ message: 'foo-error' });\n const modalOptions = mockModalManager.showModalOptions;\n expect(modalOptions?.config.headerColor).to.equal('#691916');\n expect(modalOptions?.config.showProcessingIndicator).to.be.false;\n expect(modalOptions?.config.closeOnBackdropClick).to.be.true;\n expect(modalOptions?.config.showCloseButton).to.be.true;\n expect(modalOptions?.config.headline?.strings[0]).to.contain(\n \"There's been a problem completing your donation.\",\n );\n expect(modalOptions?.config.message?.values[0]).to.equal('foo-error');\n });\n\n it('shows the thank you modal and calls `donationSuccessful` to take user to thank you page', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const logEvent = sinon.fake();\n const logDonationFlowEvent = sinon.fake();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics: {\n logEvent,\n logDonationFlowEvent,\n }\n });\n manager.showThankYouModal({\n successResponse: mockSuccessResponse,\n });\n const modalOptions = mockModalManager.showModalOptions;\n expect(modalOptions?.config.headerColor).to.equal('#55A183');\n expect(modalOptions?.config.processingImageMode).to.equal('complete');\n expect(modalOptions?.config.showProcessingIndicator).to.be.true;\n expect(modalOptions?.config.closeOnBackdropClick).to.be.true;\n expect(modalOptions?.config.showCloseButton).to.be.true;\n expect(modalOptions?.config.title?.strings[0]).to.contain('Thank You!');\n const response = mockBraintreeManager.donationSuccessfulOptions?.successResponse;\n expect(response).to.deep.equal(mockSuccessResponse);\n });\n\n it('donation submitted analytics gets sent when drawing thank you modal', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const logEvent = sinon.fake();\n const logDonationFlowEvent = sinon.fake();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics: {\n logEvent,\n logDonationFlowEvent,\n }\n });\n const successResponse = mockSuccessResponse;\n successResponse.paymentProvider = PaymentProvider.GooglePay;\n manager.showThankYouModal({\n successResponse: mockSuccessResponse,\n });\n\n // fires analytics\n expect(logDonationFlowEvent.callCount).to.equal(1);\n expect(logDonationFlowEvent.args[0][0]).to.equal(`Donated-GooglePay`);\n expect(logDonationFlowEvent.args[0][1]).to.equal(DonationType.OneTime);\n });\n\n it('can show the confirmation modal', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics\n });\n manager.showConfirmationStepModal({\n donationType: DonationType.Upsell,\n amount: 8,\n currencyType: 'USD',\n cancelDonationCB: () => console.log('donation cancelled'),\n confirmDonationCB: () => console.log('donation confirmed'),\n });\n\n const modalOptions = mockModalManager.showModalOptions;\n expect(modalOptions?.config.headerColor).to.equal('#55A183');\n expect(modalOptions?.config.closeOnBackdropClick).to.be.false;\n expect(modalOptions?.config.showCloseButton).to.be.true;\n expect(modalOptions?.config?.title?.values).to.contain('Confirm monthly donation');\n });\n\n it('can start the donation submission flow', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics\n });\n const result = await manager.startDonationSubmissionFlow({\n nonce: 'foo',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 5,\n coverFees: false,\n }),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n expect(result).to.deep.equal({\n success: true,\n value: {\n amount: 5,\n billing: {\n countryCodeAlpha2: 'US',\n extendedAddress: 'Apt 123',\n locality: 'San Francisco',\n postalCode: '12345',\n region: 'CA',\n streetAddress: '123 Fake St',\n },\n customer: {\n email: 'foo@bar.com',\n firstName: 'Fooey',\n lastName: 'McBarrison',\n },\n customer_id: 'bar',\n donationType: 'one-time',\n paymentMethodNonce: 'foo',\n paymentProvider: 'Credit Card',\n transaction_id: 'foo',\n },\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"donation-flow-modal-manager.test.js","sourceRoot":"","sources":["../../../../test/tests/flow-handlers/donation-flow-modal-manager.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, fixture, expect } from '@open-wc/testing';\nimport { DonationFlowModalManager } from '../../../src/payment-flow-handlers/donation-flow-modal-manager';\nimport { MockModalManager } from '../../mocks/mock-modal-manager';\nimport '../../mocks/mock-modal-manager';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { mockSuccessResponse } from '../../mocks/models/mock-success-response';\nimport {\n PaymentProvider,\n DonationPaymentInfo,\n DonationType,\n} from '@internetarchive/donation-form-data-models';\nimport { mockBillingInfo } from '../../mocks/models/mock-billing-info';\nimport { mockCustomerInfo } from '../../mocks/models/mock-customer-info';\nimport { DonationControllerEventLoggerInterface } from '../../../src/@types/analytics-handler';\nimport sinon from 'sinon';\n\nlet analytics: DonationControllerEventLoggerInterface;\n\ndescribe('Donation Flow Modal Manager', () => {\n beforeEach(() => {\n analytics = {\n logEvent: sinon.fake(),\n logDonationFlowEvent: sinon.fake(),\n };\n });\n afterEach(() => {\n sinon.restore();\n });\n it('can close the modal', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics,\n });\n manager.closeModal();\n expect(mockModalManager.closeCalled).to.be.true;\n });\n\n it('can calculate the proper default upsell amount', async () => {\n let amount = DonationFlowModalManager.getDefaultUpsellAmount(1);\n expect(amount).to.equal(5);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(10);\n expect(amount).to.equal(5);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(10.01);\n expect(amount).to.equal(10);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(25);\n expect(amount).to.equal(10);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(25.01);\n expect(amount).to.equal(25);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(100);\n expect(amount).to.equal(25);\n amount = DonationFlowModalManager.getDefaultUpsellAmount(100.01);\n expect(amount).to.equal(50);\n });\n\n it('can show the processing modal', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics,\n });\n manager.showProcessingModal();\n const modalOptions = mockModalManager.showModalOptions;\n expect(modalOptions?.config.headerColor).to.equal('#497fbf');\n expect(modalOptions?.config.showProcessingIndicator).to.be.true;\n expect(modalOptions?.config.processingImageMode).to.equal('processing');\n expect(modalOptions?.config.closeOnBackdropClick).to.be.false;\n expect(modalOptions?.config.showCloseButton).to.be.false;\n expect(modalOptions?.config.title?.strings[0]).to.contain('Processing...');\n });\n\n it('can show the error modal', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics,\n });\n manager.showErrorModal({ message: 'foo-error' });\n const modalOptions = mockModalManager.showModalOptions;\n expect(modalOptions?.config.headerColor).to.equal('#691916');\n expect(modalOptions?.config.showProcessingIndicator).to.be.false;\n expect(modalOptions?.config.closeOnBackdropClick).to.be.true;\n expect(modalOptions?.config.showCloseButton).to.be.true;\n expect(modalOptions?.config.headline?.strings[0]).to.contain(\n \"There's been a problem completing your donation.\",\n );\n expect(modalOptions?.config.message?.values[0]).to.equal('foo-error');\n });\n\n it('shows the thank you modal and calls `donationSuccessful` to take user to thank you page', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const logEvent = sinon.fake();\n const logDonationFlowEvent = sinon.fake();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics: {\n logEvent,\n logDonationFlowEvent,\n },\n });\n manager.showThankYouModal({\n successResponse: mockSuccessResponse,\n });\n const modalOptions = mockModalManager.showModalOptions;\n expect(modalOptions?.config.headerColor).to.equal('#55A183');\n expect(modalOptions?.config.processingImageMode).to.equal('complete');\n expect(modalOptions?.config.showProcessingIndicator).to.be.true;\n expect(modalOptions?.config.closeOnBackdropClick).to.be.true;\n expect(modalOptions?.config.showCloseButton).to.be.true;\n expect(modalOptions?.config.title?.strings[0]).to.contain('Thank You!');\n const response = mockBraintreeManager.donationSuccessfulOptions?.successResponse;\n expect(response).to.deep.equal(mockSuccessResponse);\n });\n\n it('donation submitted analytics gets sent when drawing thank you modal', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const logEvent = sinon.fake();\n const logDonationFlowEvent = sinon.fake();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics: {\n logEvent,\n logDonationFlowEvent,\n },\n });\n const successResponse = mockSuccessResponse;\n successResponse.paymentProvider = PaymentProvider.GooglePay;\n manager.showThankYouModal({\n successResponse: mockSuccessResponse,\n });\n\n // fires analytics\n expect(logDonationFlowEvent.callCount).to.equal(1);\n expect(logDonationFlowEvent.args[0][0]).to.equal(`Donated-GooglePay`);\n expect(logDonationFlowEvent.args[0][1]).to.equal(DonationType.OneTime);\n });\n\n it('can show the confirmation modal', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics,\n });\n manager.showConfirmationStepModal({\n donationType: DonationType.Upsell,\n amount: 8,\n currencyType: 'USD',\n cancelDonationCB: () => console.log('donation cancelled'),\n confirmDonationCB: () => console.log('donation confirmed'),\n });\n\n const modalOptions = mockModalManager.showModalOptions;\n expect(modalOptions?.config.headerColor).to.equal('#55A183');\n expect(modalOptions?.config.closeOnBackdropClick).to.be.false;\n expect(modalOptions?.config.showCloseButton).to.be.true;\n expect(modalOptions?.config?.title?.values).to.contain('Confirm monthly donation');\n });\n\n it('can start the donation submission flow', async () => {\n const mockModalManager = (await fixture(html`\n <mock-modal-manager></mock-modal-manager>\n `)) as MockModalManager;\n const mockBraintreeManager = new MockBraintreeManager();\n const manager = new DonationFlowModalManager({\n braintreeManager: mockBraintreeManager,\n modalManager: mockModalManager,\n analytics,\n });\n const result = await manager.startDonationSubmissionFlow({\n nonce: 'foo',\n paymentProvider: PaymentProvider.CreditCard,\n donationInfo: new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 5,\n coverFees: false,\n }),\n billingInfo: mockBillingInfo,\n customerInfo: mockCustomerInfo,\n });\n\n expect(result).to.deep.equal({\n success: true,\n value: {\n amount: 5,\n billing: {\n countryCodeAlpha2: 'US',\n extendedAddress: 'Apt 123',\n locality: 'San Francisco',\n postalCode: '12345',\n region: 'CA',\n streetAddress: '123 Fake St',\n },\n customer: {\n email: 'foo@bar.com',\n firstName: 'Fooey',\n lastName: 'McBarrison',\n },\n customer_id: 'bar',\n donationType: 'one-time',\n paymentMethodNonce: 'foo',\n paymentProvider: 'Credit Card',\n transaction_id: 'foo',\n },\n });\n });\n});\n"]}
|
|
@@ -5,9 +5,7 @@ import { DonationPaymentInfo, DonationType } from '@internetarchive/donation-for
|
|
|
5
5
|
describe('DonationSummary', () => {
|
|
6
6
|
it('shows the proper title for one-time donations', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
7
7
|
var _a;
|
|
8
|
-
const el = (yield fixture(html `
|
|
9
|
-
<donation-summary></donation-summary>>
|
|
10
|
-
`));
|
|
8
|
+
const el = (yield fixture(html ` <donation-summary></donation-summary>> `));
|
|
11
9
|
const donationInfo = new DonationPaymentInfo({
|
|
12
10
|
amount: 3.5,
|
|
13
11
|
donationType: DonationType.OneTime,
|
|
@@ -20,9 +18,7 @@ describe('DonationSummary', () => {
|
|
|
20
18
|
}));
|
|
21
19
|
it('shows the proper title for monthly donations', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
20
|
var _b;
|
|
23
|
-
const el = (yield fixture(html `
|
|
24
|
-
<donation-summary></donation-summary>>
|
|
25
|
-
`));
|
|
21
|
+
const el = (yield fixture(html ` <donation-summary></donation-summary>> `));
|
|
26
22
|
const donationInfo = new DonationPaymentInfo({
|
|
27
23
|
amount: 7.5,
|
|
28
24
|
donationType: DonationType.Monthly,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"donation-summary.test.js","sourceRoot":"","sources":["../../../../test/tests/form-elements/donation-summary.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,oDAAoD,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE/F,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;;QAC7D,MAAM,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAA
|
|
1
|
+
{"version":3,"file":"donation-summary.test.js","sourceRoot":"","sources":["../../../../test/tests/form-elements/donation-summary.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,oDAAoD,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE/F,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;;QAC7D,MAAM,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAA,0CAA0C,CAAC,CAAoB,CAAC;QAE9F,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC;YAC3C,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,YAAY,CAAC,OAAO;YAClC,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,GAAG,YAAY,CAAC;QAE/B,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;QAEzB,MAAM,YAAY,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAExD,MAAM,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;;QAC5D,MAAM,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAA,0CAA0C,CAAC,CAAoB,CAAC;QAE9F,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC;YAC3C,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,YAAY,CAAC,OAAO;YAClC,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,GAAG,YAAY,CAAC;QAE/B,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;QAEzB,MAAM,YAAY,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAExD,MAAM,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACrE,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { html, fixture, expect, elementUpdated } from '@open-wc/testing';\nimport { DonationSummary } from '../../../src/form-elements/header/donation-summary';\nimport '../../../src/form-elements/header/donation-summary';\nimport { DonationPaymentInfo, DonationType } from '@internetarchive/donation-form-data-models';\n\ndescribe('DonationSummary', () => {\n it('shows the proper title for one-time donations', async () => {\n const el = (await fixture(html` <donation-summary></donation-summary>> `)) as DonationSummary;\n\n const donationInfo = new DonationPaymentInfo({\n amount: 3.5,\n donationType: DonationType.OneTime,\n coverFees: false,\n });\n\n el.donationInfo = donationInfo;\n\n await elementUpdated(el);\n\n const titleElement = el.shadowRoot?.querySelector('h1');\n\n expect(titleElement?.innerText).to.equal('$3.50 Donation');\n });\n\n it('shows the proper title for monthly donations', async () => {\n const el = (await fixture(html` <donation-summary></donation-summary>> `)) as DonationSummary;\n\n const donationInfo = new DonationPaymentInfo({\n amount: 7.5,\n donationType: DonationType.Monthly,\n coverFees: false,\n });\n\n el.donationInfo = donationInfo;\n\n await elementUpdated(el);\n\n const titleElement = el.shadowRoot?.querySelector('h1');\n\n expect(titleElement?.innerText).to.equal('$7.50 Monthly Donation');\n });\n});\n"]}
|
|
@@ -6,9 +6,7 @@ import { promisedSleep } from '../../../src/util/promisedSleep';
|
|
|
6
6
|
describe('Payment Selector', () => {
|
|
7
7
|
it('shows Venmo if it is available', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
8
8
|
var _a;
|
|
9
|
-
const el = (yield fixture(html `
|
|
10
|
-
<payment-selector></payment-selector>
|
|
11
|
-
`));
|
|
9
|
+
const el = (yield fixture(html ` <payment-selector></payment-selector> `));
|
|
12
10
|
const paymentProviders = new MockPaymentProviders();
|
|
13
11
|
el.paymentProviders = paymentProviders;
|
|
14
12
|
yield elementUpdated(el);
|
|
@@ -18,9 +16,7 @@ describe('Payment Selector', () => {
|
|
|
18
16
|
}));
|
|
19
17
|
it('can show PayPal when called', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
18
|
var _b;
|
|
21
|
-
const el = (yield fixture(html `
|
|
22
|
-
<payment-selector></payment-selector>
|
|
23
|
-
`));
|
|
19
|
+
const el = (yield fixture(html ` <payment-selector></payment-selector> `));
|
|
24
20
|
el.showPaypalButton();
|
|
25
21
|
yield elementUpdated(el);
|
|
26
22
|
const paypalButton = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.paypal-container.provider-button');
|
|
@@ -28,9 +24,7 @@ describe('Payment Selector', () => {
|
|
|
28
24
|
}));
|
|
29
25
|
it('emits paypalBlockerSelected event when paypal is selected in an error state', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
26
|
var _c;
|
|
31
|
-
const el = (yield fixture(html `
|
|
32
|
-
<payment-selector></payment-selector>
|
|
33
|
-
`));
|
|
27
|
+
const el = (yield fixture(html ` <payment-selector></payment-selector> `));
|
|
34
28
|
const paypalBlocker = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.paypal-local-button');
|
|
35
29
|
const clickEvent = new MouseEvent('click');
|
|
36
30
|
setTimeout(() => {
|
|
@@ -41,9 +35,7 @@ describe('Payment Selector', () => {
|
|
|
41
35
|
}));
|
|
42
36
|
it('emits applePaySelected event with original click event when ApplePay is selected', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
37
|
var _d;
|
|
44
|
-
const el = (yield fixture(html `
|
|
45
|
-
<payment-selector></payment-selector>
|
|
46
|
-
`));
|
|
38
|
+
const el = (yield fixture(html ` <payment-selector></payment-selector> `));
|
|
47
39
|
const paypalBlocker = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.applepay.provider-button');
|
|
48
40
|
const clickEvent = new MouseEvent('click');
|
|
49
41
|
setTimeout(() => {
|
|
@@ -55,9 +47,7 @@ describe('Payment Selector', () => {
|
|
|
55
47
|
}));
|
|
56
48
|
it('emits googlePaySelected when GooglePay is selected', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
49
|
var _e;
|
|
58
|
-
const el = (yield fixture(html `
|
|
59
|
-
<payment-selector></payment-selector>
|
|
60
|
-
`));
|
|
50
|
+
const el = (yield fixture(html ` <payment-selector></payment-selector> `));
|
|
61
51
|
const paypalBlocker = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.googlepay.provider-button');
|
|
62
52
|
const clickEvent = new MouseEvent('click');
|
|
63
53
|
setTimeout(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-selector.test.js","sourceRoot":"","sources":["../../../../test/tests/form-elements/payment-selector.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEnF,OAAO,6CAA6C,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,gCAAgC,EAAE,GAAS,EAAE;;QAC9C,MAAM,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAA
|
|
1
|
+
{"version":3,"file":"payment-selector.test.js","sourceRoot":"","sources":["../../../../test/tests/form-elements/payment-selector.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, fixture, expect, elementUpdated, oneEvent } from '@open-wc/testing';\nimport { PaymentSelector } from '../../../src/form-elements/payment-selector';\nimport '../../../src/form-elements/payment-selector';\nimport { MockPaymentProviders } from '../../mocks/payment-providers/mock-payment-providers';\nimport { promisedSleep } from '../../../src/util/promisedSleep';\n\ndescribe('Payment Selector', () => {\n it('shows Venmo if it is available', async () => {\n const el = (await fixture(html` <payment-selector></payment-selector> `)) as PaymentSelector;\n\n const paymentProviders = new MockPaymentProviders();\n el.paymentProviders = paymentProviders;\n await elementUpdated(el);\n await promisedSleep(250);\n\n const venmoButton = el.shadowRoot?.querySelector('.venmo.provider-button');\n expect(venmoButton?.classList.contains('available')).to.be.true;\n });\n\n it('can show PayPal when called', async () => {\n const el = (await fixture(html` <payment-selector></payment-selector> `)) as PaymentSelector;\n el.showPaypalButton();\n await elementUpdated(el);\n const paypalButton = el.shadowRoot?.querySelector('.paypal-container.provider-button');\n expect(paypalButton?.classList.contains('available')).to.be.true;\n });\n\n it('emits paypalBlockerSelected event when paypal is selected in an error state', async () => {\n const el = (await fixture(html` <payment-selector></payment-selector> `)) as PaymentSelector;\n const paypalBlocker = el.shadowRoot?.querySelector('.paypal-local-button');\n const clickEvent = new MouseEvent('click');\n setTimeout(() => {\n paypalBlocker?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'paypalBlockerSelected');\n expect(response).to.exist;\n });\n\n it('emits applePaySelected event with original click event when ApplePay is selected', async () => {\n const el = (await fixture(html` <payment-selector></payment-selector> `)) as PaymentSelector;\n const paypalBlocker = el.shadowRoot?.querySelector('.applepay.provider-button');\n const clickEvent = new MouseEvent('click');\n setTimeout(() => {\n paypalBlocker?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'applePaySelected');\n const event = response.detail.originalEvent;\n expect(event).to.equal(clickEvent);\n });\n\n it('emits googlePaySelected when GooglePay is selected', async () => {\n const el = (await fixture(html` <payment-selector></payment-selector> `)) as PaymentSelector;\n const paypalBlocker = el.shadowRoot?.querySelector('.googlepay.provider-button');\n const clickEvent = new MouseEvent('click');\n setTimeout(() => {\n paypalBlocker?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'googlePaySelected');\n expect(response).to.exist;\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-modal-content.test.js","sourceRoot":"","sources":["../../../../test/tests/modals/error-modal-content.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,yCAAyC,CAAC;AAEjD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;;QAC1C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;;KAE5B,CAAC,CAAC;QAEH,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"error-modal-content.test.js","sourceRoot":"","sources":["../../../../test/tests/modals/error-modal-content.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,yCAAyC,CAAC;AAEjD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;;QAC1C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;;KAE5B,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QACnE,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC/B,MAAM,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { html, fixture, expect } from '@open-wc/testing';\nimport '../../../src/modals/error-modal-content';\n\ndescribe('Error Modal Content', () => {\n it('renders a \"Questions\" link', async () => {\n const el = await fixture(html`\n <donation-form-error-modal-content></donation-form-error-modal-content>\n `);\n\n const questionsLink = el.shadowRoot?.querySelector('.container a');\n expect(questionsLink).to.exist;\n expect(questionsLink?.innerHTML).to.contain('Questions?');\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsell-modal-content.test.js","sourceRoot":"","sources":["../../../../test/tests/modals/upsell-modal-content.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, fixture, expect, oneEvent } from '@open-wc/testing';\nimport { UpsellModalContent, UpsellModalCTAMode } from '../../../src/modals/upsell-modal-content';\nimport '../../../src/modals/upsell-modal-content';\nimport { html as lit2html } from 'lit';\n\ndescribe('Upsell Modal Content', () => {\n describe('UI Actions', () => {\n it('shows a no button', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const noButton = el.shadowRoot?.querySelector('#no-button');\n expect(noButton).to.exist;\n });\n\n it('shows the proper yes button for non-paypal types', async () => {\n const el = (await fixture(html`\n <upsell-modal-content .yesButtonMode=${UpsellModalCTAMode.YesButton}></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const yesButton = el.shadowRoot?.querySelector('#yes-button');\n expect(yesButton).to.exist;\n const payPalSlot = el.shadowRoot?.querySelector('.paypal-upsell-slot-container');\n expect(payPalSlot).to.not.exist;\n });\n\n it('shows the paypal upsell slot for paypal upsells', async () => {\n const el = (await fixture(html`\n <upsell-modal-content\n .yesButtonMode=${UpsellModalCTAMode.PayPalUpsellSlot}\n ></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const payPalSlot = el.shadowRoot?.querySelector('.paypal-upsell-slot-container');\n expect(payPalSlot).to.exist;\n const yesButton = el.shadowRoot?.querySelector('#yes-button');\n expect(yesButton).to.not.exist;\n });\n });\n\n describe('Events Emitted', () => {\n it('emits a `yesSelected` event with the amount when yes is selected', async () => {\n const el = (await fixture(html`\n <upsell-modal-content\n .amount=${7.5}\n .yesButtonMode=${UpsellModalCTAMode.YesButton}\n ></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const yesButton = el.shadowRoot?.querySelector('#yes-button');\n const clickEvent = new MouseEvent('click');\n setTimeout(() => {\n yesButton?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'yesSelected');\n expect(response).to.exist;\n expect(response.detail.amount).to.equal(7.5);\n });\n\n it('emits a `noThanksSelected` event when no thanks is selected', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const noButton = el.shadowRoot?.querySelector('#no-button');\n const clickEvent = new MouseEvent('click');\n setTimeout(() => {\n noButton?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'noThanksSelected');\n expect(response).to.exist;\n });\n });\n\n describe('Amount Changer', () => {\n it('emits an `amountChanged` event with the amount if change successful', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const amountInput = el.shadowRoot?.querySelector('#amount-input') as HTMLInputElement;\n amountInput.value = '3.50';\n const inputEvent = new Event('input');\n setTimeout(() => {\n amountInput.dispatchEvent(inputEvent);\n });\n const response = await oneEvent(el, 'amountChanged');\n expect(response).to.exist;\n expect(response.detail.amount).to.equal(3.5);\n });\n\n it('nothing happens if the input is empty', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const amountInput = el.shadowRoot?.querySelector('#amount-input') as HTMLInputElement;\n amountInput.value = '';\n const inputEvent = new Event('input');\n expect(el.error).to.be.undefined;\n amountInput.dispatchEvent(inputEvent);\n await el.updateComplete;\n expect(el.error).to.be.undefined;\n });\n\n it('shows an error if the amount isNaN', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const amountInput = el.shadowRoot?.querySelector('#amount-input') as HTMLInputElement;\n amountInput.value = 'a';\n const inputEvent = new Event('input');\n const errorDiv = el.shadowRoot?.querySelector('.error');\n expect(el.error).to.be.undefined;\n amountInput.dispatchEvent(inputEvent);\n await el.updateComplete;\n expect(el.error).to.not.be.undefined;\n expect(errorDiv?.innerHTML).to.contain('Please enter a valid amount.');\n });\n\n it('shows an error if the amount is too low', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const amountInput = el.shadowRoot?.querySelector('#amount-input') as HTMLInputElement;\n amountInput.value = '0.99';\n const inputEvent = new Event('input');\n const errorDiv = el.shadowRoot?.querySelector('.error');\n expect(el.error).to.be.undefined;\n amountInput.dispatchEvent(inputEvent);\n await el.updateComplete;\n expect(el.error).to.not.be.undefined;\n expect(errorDiv?.innerHTML).to.contain('The minimum donation amount is $1');\n });\n\n it('shows an error if the amount is too high', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const amountInput = el.shadowRoot?.querySelector('#amount-input') as HTMLInputElement;\n amountInput.value = '10000';\n const inputEvent = new Event('input');\n const errorDiv = el.shadowRoot?.querySelector('.error');\n expect(el.error).to.be.undefined;\n amountInput.dispatchEvent(inputEvent);\n await el.updateComplete;\n expect(el.error).to.not.be.undefined;\n expect(errorDiv?.innerHTML).to.contain('To make a donation of $10,000 or more');\n });\n\n it('shows the paypal blocker if there is an error', async () => {\n const el = (await fixture(html`\n <upsell-modal-content\n .yesButtonMode=${UpsellModalCTAMode.PayPalUpsellSlot}\n ></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const paypalBlocker = el.shadowRoot?.querySelector(\n '.paypal-upsell-slot-blocker',\n ) as HTMLDivElement;\n expect(el.error).to.be.undefined;\n expect(paypalBlocker.classList.contains('hidden')).to.be.true;\n el.error = lit2html`\n Some error\n `;\n await el.updateComplete;\n expect(el.error).to.not.be.undefined;\n expect(paypalBlocker.classList.contains('hidden')).to.be.false;\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"upsell-modal-content.test.js","sourceRoot":"","sources":["../../../../test/tests/modals/upsell-modal-content.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, fixture, expect, oneEvent } from '@open-wc/testing';\nimport { UpsellModalContent, UpsellModalCTAMode } from '../../../src/modals/upsell-modal-content';\nimport '../../../src/modals/upsell-modal-content';\nimport { html as lit2html } from 'lit';\n\ndescribe('Upsell Modal Content', () => {\n describe('UI Actions', () => {\n it('shows a no button', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const noButton = el.shadowRoot?.querySelector('#no-button');\n expect(noButton).to.exist;\n });\n\n it('shows the proper yes button for non-paypal types', async () => {\n const el = (await fixture(html`\n <upsell-modal-content .yesButtonMode=${UpsellModalCTAMode.YesButton}></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const yesButton = el.shadowRoot?.querySelector('#yes-button');\n expect(yesButton).to.exist;\n const payPalSlot = el.shadowRoot?.querySelector('.paypal-upsell-slot-container');\n expect(payPalSlot).to.not.exist;\n });\n\n it('shows the paypal upsell slot for paypal upsells', async () => {\n const el = (await fixture(html`\n <upsell-modal-content\n .yesButtonMode=${UpsellModalCTAMode.PayPalUpsellSlot}\n ></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const payPalSlot = el.shadowRoot?.querySelector('.paypal-upsell-slot-container');\n expect(payPalSlot).to.exist;\n const yesButton = el.shadowRoot?.querySelector('#yes-button');\n expect(yesButton).to.not.exist;\n });\n });\n\n describe('Events Emitted', () => {\n it('emits a `yesSelected` event with the amount when yes is selected', async () => {\n const el = (await fixture(html`\n <upsell-modal-content\n .amount=${7.5}\n .yesButtonMode=${UpsellModalCTAMode.YesButton}\n ></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const yesButton = el.shadowRoot?.querySelector('#yes-button');\n const clickEvent = new MouseEvent('click');\n setTimeout(() => {\n yesButton?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'yesSelected');\n expect(response).to.exist;\n expect(response.detail.amount).to.equal(7.5);\n });\n\n it('emits a `noThanksSelected` event when no thanks is selected', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const noButton = el.shadowRoot?.querySelector('#no-button');\n const clickEvent = new MouseEvent('click');\n setTimeout(() => {\n noButton?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'noThanksSelected');\n expect(response).to.exist;\n });\n });\n\n describe('Amount Changer', () => {\n it('emits an `amountChanged` event with the amount if change successful', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const amountInput = el.shadowRoot?.querySelector('#amount-input') as HTMLInputElement;\n amountInput.value = '3.50';\n const inputEvent = new Event('input');\n setTimeout(() => {\n amountInput.dispatchEvent(inputEvent);\n });\n const response = await oneEvent(el, 'amountChanged');\n expect(response).to.exist;\n expect(response.detail.amount).to.equal(3.5);\n });\n\n it('nothing happens if the input is empty', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const amountInput = el.shadowRoot?.querySelector('#amount-input') as HTMLInputElement;\n amountInput.value = '';\n const inputEvent = new Event('input');\n expect(el.error).to.be.undefined;\n amountInput.dispatchEvent(inputEvent);\n await el.updateComplete;\n expect(el.error).to.be.undefined;\n });\n\n it('shows an error if the amount isNaN', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const amountInput = el.shadowRoot?.querySelector('#amount-input') as HTMLInputElement;\n amountInput.value = 'a';\n const inputEvent = new Event('input');\n const errorDiv = el.shadowRoot?.querySelector('.error');\n expect(el.error).to.be.undefined;\n amountInput.dispatchEvent(inputEvent);\n await el.updateComplete;\n expect(el.error).to.not.be.undefined;\n expect(errorDiv?.innerHTML).to.contain('Please enter a valid amount.');\n });\n\n it('shows an error if the amount is too low', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const amountInput = el.shadowRoot?.querySelector('#amount-input') as HTMLInputElement;\n amountInput.value = '0.99';\n const inputEvent = new Event('input');\n const errorDiv = el.shadowRoot?.querySelector('.error');\n expect(el.error).to.be.undefined;\n amountInput.dispatchEvent(inputEvent);\n await el.updateComplete;\n expect(el.error).to.not.be.undefined;\n expect(errorDiv?.innerHTML).to.contain('The minimum donation amount is $1');\n });\n\n it('shows an error if the amount is too high', async () => {\n const el = (await fixture(html`\n <upsell-modal-content></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const amountInput = el.shadowRoot?.querySelector('#amount-input') as HTMLInputElement;\n amountInput.value = '10000';\n const inputEvent = new Event('input');\n const errorDiv = el.shadowRoot?.querySelector('.error');\n expect(el.error).to.be.undefined;\n amountInput.dispatchEvent(inputEvent);\n await el.updateComplete;\n expect(el.error).to.not.be.undefined;\n expect(errorDiv?.innerHTML).to.contain('To make a donation of $10,000 or more');\n });\n\n it('shows the paypal blocker if there is an error', async () => {\n const el = (await fixture(html`\n <upsell-modal-content\n .yesButtonMode=${UpsellModalCTAMode.PayPalUpsellSlot}\n ></upsell-modal-content>\n `)) as UpsellModalContent;\n\n const paypalBlocker = el.shadowRoot?.querySelector(\n '.paypal-upsell-slot-blocker',\n ) as HTMLDivElement;\n expect(el.error).to.be.undefined;\n expect(paypalBlocker.classList.contains('hidden')).to.be.true;\n el.error = lit2html`\n Some error\n `;\n await el.updateComplete;\n expect(el.error).to.not.be.undefined;\n expect(paypalBlocker.classList.contains('hidden')).to.be.false;\n });\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-clients.test.js","sourceRoot":"","sources":["../../../test/tests/payment-clients.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { expect } from '@open-wc/testing';\nimport { HostingEnvironment } from '../../src/braintree-manager/braintree-interfaces';\nimport { PaymentClients } from '../../src/braintree-manager/payment-clients';\nimport { MockLazyLoader } from '../mocks/mock-lazy-loader';\nimport { MockApplePayClient } from '../mocks/payment-clients/mock-applepay-client';\nimport { MockBraintreeClient } from '../mocks/payment-clients/mock-braintree-client';\nimport { MockDeviceDataCollector } from '../mocks/payment-clients/mock-data-collector';\nimport { MockGooglePaymentClient } from '../mocks/payment-clients/mock-googlepay-client';\nimport { MockHostedFieldsClient } from '../mocks/payment-clients/mock-hostedfields-client';\nimport { MockVenmoClient } from '../mocks/payment-clients/mock-venmo-client';\nimport { MockGooglePayLibrary } from '../mocks/payment-clients/mock-googlepay-library';\nimport { MockRecaptchaManager } from '../mocks/mock-recaptcha-manager';\nimport { MockGrecaptcha, MockGrecaptchaMode } from '../mocks/payment-clients/mock-grecaptcha';\nimport { MockPayPalClient } from '../mocks/payment-clients/mock-paypal-client';\nimport { MockPaypalLibrary } from '../mocks/payment-clients/mock-paypal-library';\n\ndescribe('PaymentClients', () => {\n it('returns the braintree client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockBraintreeClient = new MockBraintreeClient();\n (window.braintree as any) = {\n client: mockBraintreeClient,\n };\n const braintreeClient = await paymentClients.braintreeClient.get();\n expect(braintreeClient).to.equal(mockBraintreeClient);\n (window.braintree as any) = undefined;\n });\n\n it('returns the dataCollector client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockDataCollector = new MockDeviceDataCollector();\n (window.braintree as any) = {\n dataCollector: mockDataCollector,\n };\n const dataCollector = await paymentClients.dataCollector.get();\n expect(dataCollector).to.equal(dataCollector);\n (window.braintree as any) = undefined;\n });\n\n it('returns the hostedFields client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockHostedFields = new MockHostedFieldsClient();\n (window.braintree as any) = {\n hostedFields: mockHostedFields,\n };\n const hostedFields = await paymentClients.hostedFields.get();\n expect(hostedFields).to.equal(mockHostedFields);\n (window.braintree as any) = undefined;\n });\n\n it('returns the venmo client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockVenmo = new MockVenmoClient({ isBrowserSupported: true });\n (window.braintree as any) = {\n venmo: mockVenmo,\n };\n const venmo = await paymentClients.venmo.get();\n expect(venmo).to.equal(mockVenmo);\n (window.braintree as any) = undefined;\n });\n\n it('returns the PayPal client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockPaypal = new MockVenmoClient({ isBrowserSupported: true });\n (window.braintree as any) = {\n paypalCheckout: mockPaypal,\n };\n const paypal = await paymentClients.payPal.get();\n expect(paypal).to.equal(mockPaypal);\n (window.braintree as any) = undefined;\n });\n\n it('returns the ApplePay client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockApplePay = new MockApplePayClient();\n (window.braintree as any) = {\n applePay: mockApplePay,\n };\n const applePay = await paymentClients.applePay.get();\n expect(applePay).to.equal(mockApplePay);\n (window.braintree as any) = undefined;\n });\n\n it('returns the GooglePayBraintreeClient client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockGooglePay = new MockGooglePaymentClient();\n (window.braintree as any) = {\n googlePayment: mockGooglePay,\n };\n const googlePayment = await paymentClients.googlePayBraintreeClient.get();\n expect(googlePayment).to.equal(mockGooglePay);\n (window.braintree as any) = undefined;\n });\n\n it('returns the GooglePaymentsClient client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n window.google = {\n payments: {\n api: {\n PaymentsClient: MockGooglePayLibrary,\n },\n },\n };\n const googlePayment = await paymentClients.googlePaymentsClient.get();\n expect(googlePayment instanceof MockGooglePayLibrary).to.be.true;\n (window.google as any) = undefined;\n });\n\n it('returns the recaptcha client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Success);\n window.grecaptcha = mockGrecaptcha;\n setTimeout(() => {\n // this callback needs to happen because the load happens asynchronously\n (window as any).donationFormGrecaptchaLoadedCallback();\n }, 10);\n const recaptchaLibrary = await paymentClients.recaptchaLibrary.get();\n expect(recaptchaLibrary).to.equal(mockGrecaptcha);\n (window.grecaptcha as any) = undefined;\n });\n\n it('returns the paypal library', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockPaypal = new MockPaypalLibrary();\n (window as any).paypal = mockPaypal;\n const paypalLibrary = await paymentClients.paypalLibrary.get();\n expect(paypalLibrary).to.equal(mockPaypal);\n (window as any).paypal = undefined;\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"payment-clients.test.js","sourceRoot":"","sources":["../../../test/tests/payment-clients.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { expect } from '@open-wc/testing';\nimport { HostingEnvironment } from '../../src/braintree-manager/braintree-interfaces';\nimport { PaymentClients } from '../../src/braintree-manager/payment-clients';\nimport { MockLazyLoader } from '../mocks/mock-lazy-loader';\nimport { MockApplePayClient } from '../mocks/payment-clients/mock-applepay-client';\nimport { MockBraintreeClient } from '../mocks/payment-clients/mock-braintree-client';\nimport { MockDeviceDataCollector } from '../mocks/payment-clients/mock-data-collector';\nimport { MockGooglePaymentClient } from '../mocks/payment-clients/mock-googlepay-client';\nimport { MockHostedFieldsClient } from '../mocks/payment-clients/mock-hostedfields-client';\nimport { MockVenmoClient } from '../mocks/payment-clients/mock-venmo-client';\nimport { MockGooglePayLibrary } from '../mocks/payment-clients/mock-googlepay-library';\nimport { MockGrecaptcha, MockGrecaptchaMode } from '../mocks/payment-clients/mock-grecaptcha';\nimport { MockPaypalLibrary } from '../mocks/payment-clients/mock-paypal-library';\n\ndescribe('PaymentClients', () => {\n it('returns the braintree client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockBraintreeClient = new MockBraintreeClient();\n (window.braintree as any) = {\n client: mockBraintreeClient,\n };\n const braintreeClient = await paymentClients.braintreeClient.get();\n expect(braintreeClient).to.equal(mockBraintreeClient);\n (window.braintree as any) = undefined;\n });\n\n it('returns the dataCollector client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockDataCollector = new MockDeviceDataCollector();\n (window.braintree as any) = {\n dataCollector: mockDataCollector,\n };\n const dataCollector = await paymentClients.dataCollector.get();\n expect(dataCollector).to.equal(dataCollector);\n (window.braintree as any) = undefined;\n });\n\n it('returns the hostedFields client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockHostedFields = new MockHostedFieldsClient();\n (window.braintree as any) = {\n hostedFields: mockHostedFields,\n };\n const hostedFields = await paymentClients.hostedFields.get();\n expect(hostedFields).to.equal(mockHostedFields);\n (window.braintree as any) = undefined;\n });\n\n it('returns the venmo client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockVenmo = new MockVenmoClient({ isBrowserSupported: true });\n (window.braintree as any) = {\n venmo: mockVenmo,\n };\n const venmo = await paymentClients.venmo.get();\n expect(venmo).to.equal(mockVenmo);\n (window.braintree as any) = undefined;\n });\n\n it('returns the PayPal client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockPaypal = new MockVenmoClient({ isBrowserSupported: true });\n (window.braintree as any) = {\n paypalCheckout: mockPaypal,\n };\n const paypal = await paymentClients.payPal.get();\n expect(paypal).to.equal(mockPaypal);\n (window.braintree as any) = undefined;\n });\n\n it('returns the ApplePay client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockApplePay = new MockApplePayClient();\n (window.braintree as any) = {\n applePay: mockApplePay,\n };\n const applePay = await paymentClients.applePay.get();\n expect(applePay).to.equal(mockApplePay);\n (window.braintree as any) = undefined;\n });\n\n it('returns the GooglePayBraintreeClient client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockGooglePay = new MockGooglePaymentClient();\n (window.braintree as any) = {\n googlePayment: mockGooglePay,\n };\n const googlePayment = await paymentClients.googlePayBraintreeClient.get();\n expect(googlePayment).to.equal(mockGooglePay);\n (window.braintree as any) = undefined;\n });\n\n it('returns the GooglePaymentsClient client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n window.google = {\n payments: {\n api: {\n PaymentsClient: MockGooglePayLibrary,\n },\n },\n };\n const googlePayment = await paymentClients.googlePaymentsClient.get();\n expect(googlePayment instanceof MockGooglePayLibrary).to.be.true;\n (window.google as any) = undefined;\n });\n\n it('returns the recaptcha client', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Success);\n window.grecaptcha = mockGrecaptcha;\n setTimeout(() => {\n // this callback needs to happen because the load happens asynchronously\n (window as any).donationFormGrecaptchaLoadedCallback();\n }, 10);\n const recaptchaLibrary = await paymentClients.recaptchaLibrary.get();\n expect(recaptchaLibrary).to.equal(mockGrecaptcha);\n (window.grecaptcha as any) = undefined;\n });\n\n it('returns the paypal library', async () => {\n const lazyLoader = new MockLazyLoader();\n const paymentClients = new PaymentClients(lazyLoader, HostingEnvironment.Development);\n const mockPaypal = new MockPaypalLibrary();\n (window as any).paypal = mockPaypal;\n const paypalLibrary = await paymentClients.paypalLibrary.get();\n expect(paypalLibrary).to.equal(mockPaypal);\n (window as any).paypal = undefined;\n });\n});\n"]}
|
|
@@ -41,7 +41,7 @@ describe('ApplePayHandler', () => {
|
|
|
41
41
|
const braintreeManager = new MockBraintreeManager();
|
|
42
42
|
const applePayClient = new MockApplePayClient();
|
|
43
43
|
const sessionManager = new MockApplePaySessionManager({
|
|
44
|
-
canMakePayments: true,
|
|
44
|
+
canMakePayments: true, // should be true, but will be short circuited by the rejection
|
|
45
45
|
});
|
|
46
46
|
const instancePromisedSingleton = new PromisedSingleton({
|
|
47
47
|
generator: () => new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applepay.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/applepay.test.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,sEAAsE,CAAC;AACvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,0BAA0B,CAAC;gBACpD,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;gBAClC,gBAAgB,EAAE,gBAAgB;gBAClC,cAAc,EAAE,cAAc;gBAC9B,sBAAsB,EAAE,cAAc;aACvC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC7D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,0BAA0B,CAAC;gBACpD,eAAe,EAAE,KAAK;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;gBAClC,gBAAgB,EAAE,gBAAgB;gBAClC,cAAc,EAAE,cAAc;gBAC9B,sBAAsB,EAAE,cAAc;aACvC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAChC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACnD,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,0BAA0B,CAAC;gBACpD,eAAe,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"applepay.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/applepay.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { expect } from '@open-wc/testing';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { ApplePayHandler } from '../../../src/braintree-manager/payment-providers/apple-pay/apple-pay';\nimport { MockApplePayClient } from '../../mocks/payment-clients/mock-applepay-client';\nimport { MockApplePaySessionManager } from '../../mocks/payment-clients/mock-applepay-sessionmanager';\nimport { PromisedSingleton } from '@internetarchive/promised-singleton';\nimport { MockDonationInfo } from '../../mocks/mock-donation-info';\n\ndescribe('ApplePayHandler', () => {\n describe('isAvailable', () => {\n it('returns true if the browser is supported', async () => {\n const braintreeManager = new MockBraintreeManager();\n const applePayClient = new MockApplePayClient();\n const sessionManager = new MockApplePaySessionManager({\n canMakePayments: true,\n });\n const handler = new ApplePayHandler({\n braintreeManager: braintreeManager,\n applePayClient: applePayClient,\n applePaySessionManager: sessionManager,\n });\n const supported = await handler.isAvailable();\n expect(supported).to.be.true;\n });\n\n it('returns false if the browser is not supported', async () => {\n const braintreeManager = new MockBraintreeManager();\n const applePayClient = new MockApplePayClient();\n const sessionManager = new MockApplePaySessionManager({\n canMakePayments: false,\n });\n const handler = new ApplePayHandler({\n braintreeManager: braintreeManager,\n applePayClient: applePayClient,\n applePaySessionManager: sessionManager,\n });\n const supported = await handler.isAvailable();\n expect(supported).to.be.false;\n });\n\n it('returns false if there was an error', async () => {\n const braintreeManager = new MockBraintreeManager();\n const applePayClient = new MockApplePayClient();\n const sessionManager = new MockApplePaySessionManager({\n canMakePayments: true, // should be true, but will be short circuited by the rejection\n });\n const instancePromisedSingleton = new PromisedSingleton<any>({\n generator: (): Promise<any> =>\n new Promise((resolve, reject) => {\n reject();\n }),\n });\n const handler = new ApplePayHandler({\n braintreeManager: braintreeManager,\n applePayClient: applePayClient,\n applePaySessionManager: sessionManager,\n instancePromisedSingleton: instancePromisedSingleton,\n });\n const supported = await handler.isAvailable();\n expect(supported).to.be.false;\n });\n });\n\n describe('createPaymentRequest', () => {\n it('creates a datasource properly', async () => {\n const braintreeManager = new MockBraintreeManager();\n const applePayClient = new MockApplePayClient();\n const sessionManager = new MockApplePaySessionManager({\n canMakePayments: true,\n });\n const handler = new ApplePayHandler({\n braintreeManager: braintreeManager,\n applePayClient: applePayClient,\n applePaySessionManager: sessionManager,\n });\n const event = new Event('boop');\n const datasource = await handler.createPaymentRequest(event, new MockDonationInfo());\n expect(datasource.donationInfo.amount).to.equal(new MockDonationInfo().amount);\n });\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paypal-button-datasource.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/paypal-button-datasource.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { MockPayPalClient } from '../../mocks/payment-clients/mock-paypal-client';\nimport { DonationPaymentInfo, DonationType } from '@internetarchive/donation-form-data-models';\nimport { PayPalButtonDataSource } from '../../../src/braintree-manager/payment-providers/paypal/paypal-button-datasource';\nimport { MockPayPalButtonDataSourceDelegate } from '../../mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate';\n\ndescribe('PayPalButtonDataSource', () => {\n describe('Payment start', () => {\n it('notifies the delegate and creates the payment when the `payment()` callback is triggered from a button press', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.Monthly,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n datasource.delegate = delegate;\n\n const result = await datasource.payment();\n\n expect(delegate.paymentStartedResults.called).to.be.true;\n expect(result).to.equal('createPaymentCalled');\n });\n\n it('sends the proper one-time donation request', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n datasource.delegate = delegate;\n await datasource.payment();\n expect(delegate.paymentStartedResults.options).to.deep.equal({\n flow: 'checkout',\n enableShippingAddress: true,\n amount: 3.5,\n currency: 'USD',\n intent: 'capture',\n });\n });\n\n it('sends the proper one-time donation request with fees covered', async () => {\n const baseAmount = 3.5;\n const expectedTotal = DonationPaymentInfo.calculateTotal(baseAmount, true);\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: baseAmount,\n coverFees: true,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n datasource.delegate = delegate;\n await datasource.payment();\n expect(delegate.paymentStartedResults.options).to.deep.equal({\n flow: 'checkout',\n enableShippingAddress: true,\n amount: expectedTotal,\n currency: 'USD',\n intent: 'capture',\n });\n });\n\n it('sends the proper monthly donation request', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.Monthly,\n amount: 1.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n datasource.delegate = delegate;\n await datasource.payment();\n expect(delegate.paymentStartedResults.options).to.deep.equal({\n flow: 'vault',\n enableShippingAddress: true,\n billingAgreementDescription: 'Subscribe to donate $1.50 monthly',\n intent: 'capture',\n });\n });\n });\n\n describe('Payment authorized', () => {\n it('it tokenizes the payment and notifies the delegate when the payment is authorized', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n const authData: paypal.AuthorizationData = {\n payerId: 'foo',\n paymentId: '1234',\n };\n\n datasource.delegate = delegate;\n\n const result = await datasource.onAuthorize(authData);\n\n expect(delegate.paymentAuthorizedResults.called).to.be.true;\n expect(delegate.paymentAuthorizedResults.payload?.nonce).to.equal('foo-nonce');\n\n expect(result.nonce).to.equal('foo-nonce');\n expect(result.type).to.equal('foo-type');\n });\n });\n\n describe('Payment cancelled', () => {\n it('it notifies the delegate when the payment is cancelled', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n const cancelData = {\n foo: 'bar',\n };\n\n datasource.delegate = delegate;\n\n datasource.onCancel(cancelData);\n\n expect(delegate.paymentCancelledResults.called).to.be.true;\n expect(delegate.paymentCancelledResults.data).to.deep.equal(cancelData);\n });\n });\n\n describe('Payment error', () => {\n it('it notifies the delegate when there has been a payment error', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n const error = 'foo-error';\n\n datasource.delegate = delegate;\n\n datasource.onError(error);\n\n expect(delegate.paymentErrorResults.called).to.be.true;\n expect(delegate.paymentErrorResults.error).to.equal(error);\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"paypal-button-datasource.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/paypal-button-datasource.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { MockPayPalClient } from '../../mocks/payment-clients/mock-paypal-client';\nimport { DonationPaymentInfo, DonationType } from '@internetarchive/donation-form-data-models';\nimport { PayPalButtonDataSource } from '../../../src/braintree-manager/payment-providers/paypal/paypal-button-datasource';\nimport { MockPayPalButtonDataSourceDelegate } from '../../mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate';\n\ndescribe('PayPalButtonDataSource', () => {\n describe('Payment start', () => {\n it('notifies the delegate and creates the payment when the `payment()` callback is triggered from a button press', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.Monthly,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n datasource.delegate = delegate;\n\n const result = await datasource.payment();\n\n expect(delegate.paymentStartedResults.called).to.be.true;\n expect(result).to.equal('createPaymentCalled');\n });\n\n it('sends the proper one-time donation request', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n datasource.delegate = delegate;\n await datasource.payment();\n expect(delegate.paymentStartedResults.options).to.deep.equal({\n flow: 'checkout',\n enableShippingAddress: true,\n amount: 3.5,\n currency: 'USD',\n intent: 'capture',\n });\n });\n\n it('sends the proper one-time donation request with fees covered', async () => {\n const baseAmount = 3.5;\n const expectedTotal = DonationPaymentInfo.calculateTotal(baseAmount, true);\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: baseAmount,\n coverFees: true,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n datasource.delegate = delegate;\n await datasource.payment();\n expect(delegate.paymentStartedResults.options).to.deep.equal({\n flow: 'checkout',\n enableShippingAddress: true,\n amount: expectedTotal,\n currency: 'USD',\n intent: 'capture',\n });\n });\n\n it('sends the proper monthly donation request', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.Monthly,\n amount: 1.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n datasource.delegate = delegate;\n await datasource.payment();\n expect(delegate.paymentStartedResults.options).to.deep.equal({\n flow: 'vault',\n enableShippingAddress: true,\n billingAgreementDescription: 'Subscribe to donate $1.50 monthly',\n intent: 'capture',\n });\n });\n });\n\n describe('Payment authorized', () => {\n it('it tokenizes the payment and notifies the delegate when the payment is authorized', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n const authData: paypal.AuthorizationData = {\n payerId: 'foo',\n paymentId: '1234',\n };\n\n datasource.delegate = delegate;\n\n const result = await datasource.onAuthorize(authData);\n\n expect(delegate.paymentAuthorizedResults.called).to.be.true;\n expect(delegate.paymentAuthorizedResults.payload?.nonce).to.equal('foo-nonce');\n\n expect(result.nonce).to.equal('foo-nonce');\n expect(result.type).to.equal('foo-type');\n });\n });\n\n describe('Payment cancelled', () => {\n it('it notifies the delegate when the payment is cancelled', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n const cancelData = {\n foo: 'bar',\n };\n\n datasource.delegate = delegate;\n\n datasource.onCancel(cancelData);\n\n expect(delegate.paymentCancelledResults.called).to.be.true;\n expect(delegate.paymentCancelledResults.data).to.deep.equal(cancelData);\n });\n });\n\n describe('Payment error', () => {\n it('it notifies the delegate when there has been a payment error', async () => {\n const delegate = new MockPayPalButtonDataSourceDelegate();\n const paypalInstance = new MockPayPalClient();\n const donation = new DonationPaymentInfo({\n donationType: DonationType.OneTime,\n amount: 3.5,\n coverFees: false,\n });\n const datasource = new PayPalButtonDataSource({\n donationInfo: donation,\n paypalInstance: paypalInstance,\n });\n\n const error = 'foo-error';\n\n datasource.delegate = delegate;\n\n datasource.onError(error);\n\n expect(delegate.paymentErrorResults.called).to.be.true;\n expect(delegate.paymentErrorResults.error).to.equal(error);\n });\n });\n});\n"]}
|
|
@@ -59,7 +59,7 @@ describe('VenmoHandler', () => {
|
|
|
59
59
|
});
|
|
60
60
|
const braintreeManager = new MockBraintreeManager();
|
|
61
61
|
const venmoClient = new MockVenmoClient({
|
|
62
|
-
isBrowserSupported: true,
|
|
62
|
+
isBrowserSupported: true, // should be true but will be short-circuited by FireFox
|
|
63
63
|
});
|
|
64
64
|
const handler = new VenmoHandler({
|
|
65
65
|
braintreeManager: braintreeManager,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venmo.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/venmo.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"venmo.test.js","sourceRoot":"","sources":["../../../../test/tests/payment-providers/venmo.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { MockBraintreeManager } from '../../mocks/mock-braintree-manager';\nimport { VenmoHandler } from '../../../src/braintree-manager/payment-providers/venmo';\nimport { MockVenmoClient } from '../../mocks/payment-clients/mock-venmo-client';\nimport { PromisedSingleton } from '@internetarchive/promised-singleton';\n\ndescribe('VenmoHandler', () => {\n it('calls tokenize on the client when startPayment() is called', async () => {\n const braintreeManager = new MockBraintreeManager();\n const venmoClient = new MockVenmoClient({\n isBrowserSupported: true,\n });\n\n const instancePromisedSingleton = new PromisedSingleton<braintree.Venmo>({\n generator: (): Promise<braintree.Venmo> =>\n new Promise(resolve => {\n resolve(venmoClient);\n }),\n });\n\n const handler = new VenmoHandler({\n braintreeManager: braintreeManager,\n venmoClient: venmoClient,\n venmoProfileId: 'foo',\n instancePromisedSingleton: instancePromisedSingleton,\n });\n await handler.startPayment();\n expect(venmoClient.tokenizeCalled).to.be.true;\n });\n\n describe('isBrowserSupported', () => {\n it('returns true if the browser is supported', async () => {\n const braintreeManager = new MockBraintreeManager();\n const venmoClient = new MockVenmoClient({\n isBrowserSupported: true,\n });\n const handler = new VenmoHandler({\n braintreeManager: braintreeManager,\n venmoClient: venmoClient,\n venmoProfileId: 'foo',\n });\n const supported = await handler.isBrowserSupported();\n expect(supported).to.be.true;\n });\n\n it('returns false if the browser is not supported', async () => {\n const braintreeManager = new MockBraintreeManager();\n const venmoClient = new MockVenmoClient({\n isBrowserSupported: false,\n });\n const handler = new VenmoHandler({\n braintreeManager: braintreeManager,\n venmoClient: venmoClient,\n venmoProfileId: 'foo',\n });\n const supported = await handler.isBrowserSupported();\n expect(supported).to.be.false;\n });\n\n it('returns false if the browser is mobile firefox', async () => {\n const originalUserAgent = navigator.userAgent;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (navigator as any)['__defineGetter__']('userAgent', function () {\n return 'FxiOS Mobile';\n });\n\n const braintreeManager = new MockBraintreeManager();\n const venmoClient = new MockVenmoClient({\n isBrowserSupported: true, // should be true but will be short-circuited by FireFox\n });\n const handler = new VenmoHandler({\n braintreeManager: braintreeManager,\n venmoClient: venmoClient,\n venmoProfileId: 'foo',\n });\n const supported = await handler.isBrowserSupported();\n expect(supported).to.be.false;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (navigator as any)['__defineGetter__']('userAgent', function () {\n return originalUserAgent;\n });\n });\n });\n});\n"]}
|
|
@@ -4,9 +4,7 @@ import { MockGrecaptcha, MockGrecaptchaMode } from '../mocks/payment-clients/moc
|
|
|
4
4
|
import { RecaptchaManager } from '../../src/recaptcha-manager/recaptcha-manager';
|
|
5
5
|
describe('ReCaptcha Manager', () => {
|
|
6
6
|
it('can execute the recaptcha like a Promise', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
7
|
-
const recaptchaElement = (yield fixture(html `
|
|
8
|
-
<div></div>
|
|
9
|
-
`));
|
|
7
|
+
const recaptchaElement = (yield fixture(html ` <div></div> `));
|
|
10
8
|
const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Success);
|
|
11
9
|
const recaptchaManager = new RecaptchaManager({
|
|
12
10
|
grecaptchaLibrary: mockGrecaptcha,
|
|
@@ -17,9 +15,7 @@ describe('ReCaptcha Manager', () => {
|
|
|
17
15
|
expect(result).to.equal('foo');
|
|
18
16
|
}));
|
|
19
17
|
it('can error properly like a Promise', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
-
const recaptchaElement = (yield fixture(html `
|
|
21
|
-
<div></div>
|
|
22
|
-
`));
|
|
18
|
+
const recaptchaElement = (yield fixture(html ` <div></div> `));
|
|
23
19
|
const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Error);
|
|
24
20
|
const recaptchaManager = new RecaptchaManager({
|
|
25
21
|
grecaptchaLibrary: mockGrecaptcha,
|
|
@@ -35,9 +31,7 @@ describe('ReCaptcha Manager', () => {
|
|
|
35
31
|
}
|
|
36
32
|
}));
|
|
37
33
|
it('can expire properly like a Promise', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
-
const recaptchaElement = (yield fixture(html `
|
|
39
|
-
<div></div>
|
|
40
|
-
`));
|
|
34
|
+
const recaptchaElement = (yield fixture(html ` <div></div> `));
|
|
41
35
|
const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Expired);
|
|
42
36
|
const recaptchaManager = new RecaptchaManager({
|
|
43
37
|
grecaptchaLibrary: mockGrecaptcha,
|
|
@@ -53,9 +47,7 @@ describe('ReCaptcha Manager', () => {
|
|
|
53
47
|
}
|
|
54
48
|
}));
|
|
55
49
|
it('resets the captcha if execute() gets called more than once', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
-
const recaptchaElement = (yield fixture(html `
|
|
57
|
-
<div></div>
|
|
58
|
-
`));
|
|
50
|
+
const recaptchaElement = (yield fixture(html ` <div></div> `));
|
|
59
51
|
const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Success, true);
|
|
60
52
|
const recaptchaManager = new RecaptchaManager({
|
|
61
53
|
grecaptchaLibrary: mockGrecaptcha,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recaptcha-manager.test.js","sourceRoot":"","sources":["../../../test/tests/recaptcha-manager.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAEjF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;QACxD,MAAM,gBAAgB,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAA
|
|
1
|
+
{"version":3,"file":"recaptcha-manager.test.js","sourceRoot":"","sources":["../../../test/tests/recaptcha-manager.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, fixture, expect } from '@open-wc/testing';\nimport { MockGrecaptcha, MockGrecaptchaMode } from '../mocks/payment-clients/mock-grecaptcha';\nimport { RecaptchaManager } from '../../src/recaptcha-manager/recaptcha-manager';\n\ndescribe('ReCaptcha Manager', () => {\n it('can execute the recaptcha like a Promise', async () => {\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Success);\n const recaptchaManager = new RecaptchaManager({\n grecaptchaLibrary: mockGrecaptcha,\n siteKey: '123',\n });\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\n const result = await recaptchaManager.execute();\n expect(result).to.equal('foo');\n });\n\n it('can error properly like a Promise', async () => {\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Error);\n const recaptchaManager = new RecaptchaManager({\n grecaptchaLibrary: mockGrecaptcha,\n siteKey: '123',\n });\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\n try {\n await recaptchaManager.execute();\n expect.fail('should not get here');\n } catch (error) {\n expect(error).to.equal('error');\n }\n });\n\n it('can expire properly like a Promise', async () => {\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Expired);\n const recaptchaManager = new RecaptchaManager({\n grecaptchaLibrary: mockGrecaptcha,\n siteKey: '123',\n });\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\n try {\n await recaptchaManager.execute();\n expect.fail('should not get here');\n } catch (error) {\n expect(error).to.equal('expired');\n }\n });\n\n it('resets the captcha if execute() gets called more than once', async () => {\n const recaptchaElement = (await fixture(html` <div></div> `)) as HTMLElement;\n const mockGrecaptcha = new MockGrecaptcha(MockGrecaptchaMode.Success, true);\n const recaptchaManager = new RecaptchaManager({\n grecaptchaLibrary: mockGrecaptcha,\n siteKey: '123',\n });\n recaptchaManager.setup(recaptchaElement, 1, 'dark', 'image');\n recaptchaManager.execute();\n expect(mockGrecaptcha.resetCalled).to.be.false;\n recaptchaManager.execute();\n expect(mockGrecaptcha.resetCalled).to.be.true;\n });\n});\n"]}
|