UNPKG

react-credit-card-primitives

Version:
71 lines (56 loc) 2.32 kB
'use strict'; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } var React = require('react'); var _require = require('enzyme'), mount = _require.mount; var Cvc = require('../cvc'); function setup() { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var _ref$render = _ref.render, render = _ref$render === undefined ? function () { return React.createElement('div', null); } : _ref$render, props = _objectWithoutProperties(_ref, ['render']); var renderArg = void 0; var renderSpy = jest.fn(function (arg) { renderArg = arg; return render(arg); }); var wrapper = mount(React.createElement(Cvc, _extends({}, props, { render: renderSpy }))); return _extends({ renderSpy: renderSpy, wrapper: wrapper }, renderArg); } test('basic value', function () { var _setup = setup(), wrapper = _setup.wrapper, setValue = _setup.setValue, getInputProps = _setup.getInputProps; setValue('222'); expect(getInputProps().value).toEqual('222'); setValue('3333'); expect(getInputProps().value).toEqual('3333'); }); test('props for visa and amex', function () { var data1 = setup({ cardType: 'Visa' }); expect(data1.getInputProps()).toMatchSnapshot('cvc visa'); expect(data1.getInputProps().maxLength).toEqual(3); var data2 = setup({ cardType: 'American Express' }); expect(data2.getInputProps()).toMatchSnapshot('cvc amex'); expect(data2.getInputProps().maxLength).toEqual(4); var data3 = setup(); expect(data3.getInputProps()).toMatchSnapshot('cvc unknown'); }); test('defaultValue', function () { var _setup2 = setup({ defaultValue: '333', cardType: 'American Express' }), wrapper = _setup2.wrapper, getInputProps = _setup2.getInputProps; expect(wrapper.instance().isValid()).toBe(false); expect(getInputProps().value).toBe('333'); });