@navinc/base-react-components
Version:
Nav's Pattern Library
60 lines • 3.52 kB
JavaScript
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