UNPKG

react-native-cross-components

Version:
82 lines 10.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); // function setup( // label?: string | undefined, // value?: string | undefined, // onChangeText?: (val: string) => void, // maskProps?: TextInputMaskProps // ) { // return TestRenderer.create( // <CrossEditor // label={label || 'Test'} // onChangeText={onChangeText || jest.fn()} // maskProps={maskProps} // value={value || 'Textvalue'} // /> // ); // } jest.unmock('react-native'); jest.unmock('./CrossEditor'); jest.mock('react-native-masked-text', () => ({ TextInputMask: { default: 'View', __esModule: true, getRawValue: () => '111222' }, TextInputMaskProps: { type: '', options: {}, checkText: true, onChangeText: jest.fn(), refInput: {} } })); // https://itnext.io/testing-react-16-3-components-with-react-test-renderer-without-enzyme-d9c65d689e88 const react_1 = __importDefault(require("react")); const CrossEditor_1 = require("./CrossEditor"); const react_test_renderer_1 = __importDefault(require("react-test-renderer")); /** * Test component rendering. Properties of children might be tested by importing their type: *``` const btn = wrapper.root.findByType(Button); // or findByProps({ mode: 'text' }); expect(btn.props.title).toBe('child'); ``` */ describe('components', () => { describe('<CrossEditor />', () => { describe('`ICrossEditorProps` interface', () => { const propsMock = { label: 'Test' }; it('Should match snapshot', () => { expect(propsMock).toMatchSnapshot(); }); it('Should have `maskProps` property that is undefined', () => { expect(propsMock.maskProps).toBeUndefined(); }); }); describe('With `label` property provided', () => { // it('Component should render', () => { // const wrapper = setup(); // expect(wrapper.toJSON()).toMatchSnapshot(); // }); // it('Should have paper <TextInput /> with mode "outlined"', () => { // const wrapper = setup(); // const child = wrapper.root.findByProps({ mode: 'outlined' }); // expect(child.type).toEqual('TextInput'); // }); it('<TextInputMask /> onChangeText should be called', () => { let gotText = undefined; const textVal = '111222'; const maskProps = { type: 'zip-code' }; const onCalled = (val) => (gotText = val); const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossEditor_1.CrossEditor, { label: 'Test', onChangeText: onCalled, maskProps: maskProps, value: 'default value' })); const child = wrapper.root.findByProps(maskProps); child.instance.props.onChangeText(textVal); expect(gotText).toEqual(textVal); }); }); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudGVzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxrQkFBa0I7QUFDbEIsZ0NBQWdDO0FBQ2hDLGdDQUFnQztBQUNoQywwQ0FBMEM7QUFDMUMsbUNBQW1DO0FBQ25DLE1BQU07QUFDTixnQ0FBZ0M7QUFDaEMsbUJBQW1CO0FBQ25CLGdDQUFnQztBQUNoQyxpREFBaUQ7QUFDakQsOEJBQThCO0FBQzlCLHFDQUFxQztBQUNyQyxTQUFTO0FBQ1QsT0FBTztBQUNQLElBQUk7QUFFSixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLGFBQWEsRUFBRTtRQUNiLE9BQU8sRUFBRSxNQUFNO1FBQ2YsVUFBVSxFQUFFLElBQUk7UUFDaEIsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVE7S0FDNUI7SUFDRCxrQkFBa0IsRUFBRTtRQUNoQixJQUFJLEVBQUUsRUFBRTtRQUNSLE9BQU8sRUFBRSxFQUFFO1FBQ1gsU0FBUyxFQUFFLElBQUk7UUFDZixZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUN2QixRQUFRLEVBQUUsRUFBRTtLQUNmO0NBQ0YsQ0FBQyxDQUFDLENBQUE7QUFyQ0gsdUdBQXVHO0FBQ3ZHLGtEQUEwQjtBQUMxQiwrQ0FBK0Q7QUFDL0QsOEVBQStDO0FBb0MvQzs7Ozs7O0tBTUs7QUFDTCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQixRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLFFBQVEsQ0FBQywrQkFBK0IsRUFBRSxHQUFHLEVBQUU7WUFDN0MsTUFBTSxTQUFTLEdBQXNCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3ZELEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7Z0JBQy9CLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyxvREFBb0QsRUFBRSxHQUFHLEVBQUU7Z0JBQzVELE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLEVBQUU7WUFDOUMsd0NBQXdDO1lBQ3hDLDZCQUE2QjtZQUM3QixnREFBZ0Q7WUFDaEQsTUFBTTtZQUVOLHFFQUFxRTtZQUNyRSw2QkFBNkI7WUFDN0Isa0VBQWtFO1lBQ2xFLDZDQUE2QztZQUM3QyxNQUFNO1lBRU4sRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtnQkFDekQsSUFBSSxPQUFPLEdBQXVCLFNBQVMsQ0FBQztnQkFDNUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO2dCQUN6QixNQUFNLFNBQVMsR0FBdUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7Z0JBQzNELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFFbEQsTUFBTSxPQUFPLEdBQUcsNkJBQVksQ0FBQyxNQUFNLENBQ2pDLDhCQUFDLHlCQUFXLElBQ1YsS0FBSyxFQUFFLE1BQU0sRUFDYixZQUFZLEVBQUUsUUFBUSxFQUN0QixTQUFTLEVBQUUsU0FBUyxFQUNwQixLQUFLLEVBQUUsZUFBZSxHQUN0QixDQUNILENBQUM7Z0JBRUYsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFM0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9pbnB1dC9Dcm9zc0VkaXRvci50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2l0bmV4dC5pby90ZXN0aW5nLXJlYWN0LTE2LTMtY29tcG9uZW50cy13aXRoLXJlYWN0LXRlc3QtcmVuZGVyZXItd2l0aG91dC1lbnp5bWUtZDljNjVkNjg5ZTg4XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUNyb3NzRWRpdG9yUHJvcHMsIENyb3NzRWRpdG9yIH0gZnJvbSAnLi9Dcm9zc0VkaXRvcic7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgVGV4dElucHV0TWFza1Byb3BzIH0gZnJvbSAncmVhY3QtbmF0aXZlLW1hc2tlZC10ZXh0JztcblxuLy8gZnVuY3Rpb24gc2V0dXAoXG4vLyAgIGxhYmVsPzogc3RyaW5nIHwgdW5kZWZpbmVkLFxuLy8gICB2YWx1ZT86IHN0cmluZyB8IHVuZGVmaW5lZCxcbi8vICAgb25DaGFuZ2VUZXh0PzogKHZhbDogc3RyaW5nKSA9PiB2b2lkLFxuLy8gICBtYXNrUHJvcHM/OiBUZXh0SW5wdXRNYXNrUHJvcHNcbi8vICkge1xuLy8gICByZXR1cm4gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbi8vICAgICA8Q3Jvc3NFZGl0b3Jcbi8vICAgICAgIGxhYmVsPXtsYWJlbCB8fCAnVGVzdCd9XG4vLyAgICAgICBvbkNoYW5nZVRleHQ9e29uQ2hhbmdlVGV4dCB8fCBqZXN0LmZuKCl9XG4vLyAgICAgICBtYXNrUHJvcHM9e21hc2tQcm9wc31cbi8vICAgICAgIHZhbHVlPXt2YWx1ZSB8fCAnVGV4dHZhbHVlJ31cbi8vICAgICAvPlxuLy8gICApO1xuLy8gfVxuXG5qZXN0LnVubW9jaygncmVhY3QtbmF0aXZlJyk7XG5qZXN0LnVubW9jaygnLi9Dcm9zc0VkaXRvcicpO1xuamVzdC5tb2NrKCdyZWFjdC1uYXRpdmUtbWFza2VkLXRleHQnLCAoKSA9PiAoe1xuICBUZXh0SW5wdXRNYXNrOiB7XG4gICAgZGVmYXVsdDogJ1ZpZXcnLFxuICAgIF9fZXNNb2R1bGU6IHRydWUsXG4gICAgZ2V0UmF3VmFsdWU6ICgpID0+ICcxMTEyMjInXG4gIH0sIFxuICBUZXh0SW5wdXRNYXNrUHJvcHM6IHtcbiAgICAgIHR5cGU6ICcnLFxuICAgICAgb3B0aW9uczoge30sXG4gICAgICBjaGVja1RleHQ6IHRydWUsXG4gICAgICBvbkNoYW5nZVRleHQ6IGplc3QuZm4oKSxcbiAgICAgIHJlZklucHV0OiB7fVxuICB9XG59KSlcblxuLyoqXG4gICAqIFRlc3QgY29tcG9uZW50IHJlbmRlcmluZy4gUHJvcGVydGllcyBvZiBjaGlsZHJlbiBtaWdodCBiZSB0ZXN0ZWQgYnkgaW1wb3J0aW5nIHRoZWlyIHR5cGU6XG4gICAqYGBgXG4gICAgICBjb25zdCBidG4gPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShCdXR0b24pOyAvLyBvciBmaW5kQnlQcm9wcyh7IG1vZGU6ICd0ZXh0JyB9KTtcbiAgICAgIGV4cGVjdChidG4ucHJvcHMudGl0bGUpLnRvQmUoJ2NoaWxkJyk7XG4gICAgICBgYGBcbiAgICovXG5kZXNjcmliZSgnY29tcG9uZW50cycsICgpID0+IHtcbiAgZGVzY3JpYmUoJzxDcm9zc0VkaXRvciAvPicsICgpID0+IHtcbiAgICBkZXNjcmliZSgnYElDcm9zc0VkaXRvclByb3BzYCBpbnRlcmZhY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wc01vY2s6IElDcm9zc0VkaXRvclByb3BzID0geyBsYWJlbDogJ1Rlc3QnIH07XG4gICAgICBpdCgnU2hvdWxkIG1hdGNoIHNuYXBzaG90JywgKCkgPT4ge1xuICAgICAgICBleHBlY3QocHJvcHNNb2NrKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnU2hvdWxkIGhhdmUgYG1hc2tQcm9wc2AgcHJvcGVydHkgdGhhdCBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChwcm9wc01vY2subWFza1Byb3BzKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdXaXRoIGBsYWJlbGAgcHJvcGVydHkgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICAvLyBpdCgnQ29tcG9uZW50IHNob3VsZCByZW5kZXInLCAoKSA9PiB7XG4gICAgICAvLyAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgpO1xuICAgICAgLy8gICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICAvLyB9KTtcblxuICAgICAgLy8gaXQoJ1Nob3VsZCBoYXZlIHBhcGVyIDxUZXh0SW5wdXQgLz4gd2l0aCBtb2RlIFwib3V0bGluZWRcIicsICgpID0+IHtcbiAgICAgIC8vICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCk7XG4gICAgICAvLyAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKHsgbW9kZTogJ291dGxpbmVkJyB9KTtcbiAgICAgIC8vICAgZXhwZWN0KGNoaWxkLnR5cGUpLnRvRXF1YWwoJ1RleHRJbnB1dCcpO1xuICAgICAgLy8gfSk7XG5cbiAgICAgIGl0KCc8VGV4dElucHV0TWFzayAvPiBvbkNoYW5nZVRleHQgc2hvdWxkIGJlIGNhbGxlZCcsICgpID0+IHtcbiAgICAgICAgbGV0IGdvdFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgdGV4dFZhbCA9ICcxMTEyMjInO1xuICAgICAgICBjb25zdCBtYXNrUHJvcHM6IFRleHRJbnB1dE1hc2tQcm9wcyA9IHsgdHlwZTogJ3ppcC1jb2RlJyB9O1xuICAgICAgICBjb25zdCBvbkNhbGxlZCA9ICh2YWw6IHN0cmluZykgPT4gKGdvdFRleHQgPSB2YWwpO1xuXG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgICAgICAgIDxDcm9zc0VkaXRvclxuICAgICAgICAgICAgbGFiZWw9eydUZXN0J31cbiAgICAgICAgICAgIG9uQ2hhbmdlVGV4dD17b25DYWxsZWR9XG4gICAgICAgICAgICBtYXNrUHJvcHM9e21hc2tQcm9wc31cbiAgICAgICAgICAgIHZhbHVlPXsnZGVmYXVsdCB2YWx1ZSd9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKG1hc2tQcm9wcyk7XG4gICAgICAgIGNoaWxkLmluc3RhbmNlLnByb3BzLm9uQ2hhbmdlVGV4dCh0ZXh0VmFsKTtcblxuICAgICAgICBleHBlY3QoZ290VGV4dCkudG9FcXVhbCh0ZXh0VmFsKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sInZlcnNpb24iOjN9