UNPKG

@navinc/base-react-components

Version:
60 lines 3.52 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { jsx as _jsx } from "react/jsx-runtime"; import { describe, expect, it, vi } from 'vitest'; import { renderWithContext } from './tests/with-app-context.js'; import { waitFor } from '@testing-library/react'; import { theme } from './theme.js'; import { CCInput, getStripeDefaults } from './cc-input.js'; const { CLIENT_BILLING_PUBLIC_KEY = '' } = global.process.env; describe('Base Components: cc-input', () => { describe('<Stripe />', () => { // Stripe Mock const mount = vi.fn(); const addEventListener = vi.fn(); const create = vi.fn(() => ({ mount, addEventListener })); const elements = vi.fn(() => ({ create })); const createToken = vi.fn(() => 'mockToken'); const createPaymentMethod = vi.fn(() => 'mockPaymentMethod'); window.Stripe = global.Stripe = vi.fn((_KEY) => ({ elements, createToken, createPaymentMethod, })); describe('Stripe.onStripeReady', () => { it('is a promise that resolves when stripe.js has initialized', () => __awaiter(void 0, void 0, void 0, function* () { renderWithContext(_jsx(CCInput, {})); yield waitFor(() => expect(window.Stripe).toHaveBeenCalledWith(CLIENT_BILLING_PUBLIC_KEY)); })); }); describe('Stripe.componentDidMount()', () => { it('bootstraps Stripe', () => __awaiter(void 0, void 0, void 0, function* () { renderWithContext(_jsx(CCInput, {})); yield waitFor(() => expect(elements).toHaveBeenCalledWith(getStripeDefaults(theme).stripe)); expect(create).toHaveBeenCalledWith('card', getStripeDefaults(theme).elements); expect(mount).toHaveBeenCalledWith('.js-stripe_card'); expect(addEventListener).toHaveBeenCalledWith('change', expect.any(Function)); })); it('calls createTokenRef', () => __awaiter(void 0, void 0, void 0, function* () { const createTokenRef = vi.fn(); renderWithContext(_jsx(CCInput, { createTokenRef: createTokenRef })); yield waitFor(() => expect(createTokenRef).toHaveBeenCalled()); expect(createTokenRef.mock.calls[0][0]({})).toBe('mockToken'); })); it('calls createPaymentMethodRef', () => __awaiter(void 0, void 0, void 0, function* () { const createPaymentMethodRef = vi.fn(); renderWithContext(_jsx(CCInput, { createPaymentMethodRef: createPaymentMethodRef })); yield waitFor(() => expect(createPaymentMethodRef).toHaveBeenCalled()); expect(createPaymentMethodRef.mock.calls[0][0]({})).toBe('mockPaymentMethod'); })); }); }); }); //# sourceMappingURL=cc-input.spec.js.map