UNPKG

react-native-cross-components

Version:
73 lines 12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); jest.unmock('react-native'); jest.unmock('./CrossEditor'); // 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")); function setup(label, value, onChangeText, maskProps) { return react_test_renderer_1.default.create(react_1.default.createElement(CrossEditor_1.CrossEditor, { label: label || 'Test', onChangeText: onChangeText || jest.fn(), maskProps: maskProps, value: value || 'Textvalue' })); } /** * 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('TextInputProps onChangeText should be called', () => { let gotText = undefined; const onCalled = (val) => (gotText = val); const textVal = '111222'; const maskProps = { type: 'zip-code' }; const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossEditor_1.CrossEditor, { onChangeText: onCalled, label: 'Test', maskProps: maskProps, value: 'default value' })); const child = wrapper.root.findByProps(maskProps); child.instance.props.onChangeText(textVal); // There will not be a value test time expect(gotText).toEqual(''); }); it('maskProps onChangeText should be called', () => { let gotText = undefined; const onCalled = (val) => (gotText = val); const textVal = '111222'; const maskProps = { type: 'zip-code', onChangeText: onCalled, }; const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossEditor_1.CrossEditor, { label: 'Test', maskProps: maskProps, value: 'default value' })); const child = wrapper.root.findByProps({ type: 'zip-code' }); child.instance.props.onChangeText(textVal); // There will not be a value test time expect(gotText).toEqual(''); }); }); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudGVzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFzQkEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBdkI3Qix1R0FBdUc7QUFDdkcsa0RBQTBCO0FBQzFCLCtDQUErRDtBQUMvRCw4RUFBK0M7QUFHL0MsU0FBUyxLQUFLLENBQ1osS0FBMEIsRUFDMUIsS0FBMEIsRUFDMUIsWUFBb0MsRUFDcEMsU0FBOEI7SUFFOUIsT0FBTyw2QkFBWSxDQUFDLE1BQU0sQ0FDeEIsOEJBQUMseUJBQVcsSUFDVixLQUFLLEVBQUUsS0FBSyxJQUFJLE1BQU0sRUFDdEIsWUFBWSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQ3ZDLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLEtBQUssRUFBRSxLQUFLLElBQUksV0FBVyxHQUMzQixDQUNILENBQUM7QUFDSixDQUFDO0FBS0Q7Ozs7OztLQU1LO0FBQ0wsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDMUIsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtRQUMvQixRQUFRLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO1lBQzdDLE1BQU0sU0FBUyxHQUFzQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN2RCxFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO2dCQUMvQixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsb0RBQW9ELEVBQUUsR0FBRyxFQUFFO2dCQUM1RCxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlDLENBQUMsQ0FB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L3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudGVzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9pdG5leHQuaW8vdGVzdGluZy1yZWFjdC0xNi0zLWNvbXBvbmVudHMtd2l0aC1yZWFjdC10ZXN0LXJlbmRlcmVyLXdpdGhvdXQtZW56eW1lLWQ5YzY1ZDY4OWU4OFxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElDcm9zc0VkaXRvclByb3BzLCBDcm9zc0VkaXRvciB9IGZyb20gJy4vQ3Jvc3NFZGl0b3InO1xuaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tICdyZWFjdC10ZXN0LXJlbmRlcmVyJztcbmltcG9ydCB7IFRleHRJbnB1dE1hc2tQcm9wcyB9IGZyb20gJ3JlYWN0LW5hdGl2ZS1tYXNrZWQtdGV4dCc7XG5cbmZ1bmN0aW9uIHNldHVwKFxuICBsYWJlbD86IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgdmFsdWU/OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9uQ2hhbmdlVGV4dD86ICh2YWw6IHN0cmluZykgPT4gdm9pZCxcbiAgbWFza1Byb3BzPzogVGV4dElucHV0TWFza1Byb3BzXG4pIHtcbiAgcmV0dXJuIFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgPENyb3NzRWRpdG9yXG4gICAgICBsYWJlbD17bGFiZWwgfHwgJ1Rlc3QnfVxuICAgICAgb25DaGFuZ2VUZXh0PXtvbkNoYW5nZVRleHQgfHwgamVzdC5mbigpfVxuICAgICAgbWFza1Byb3BzPXttYXNrUHJvcHN9XG4gICAgICB2YWx1ZT17dmFsdWUgfHwgJ1RleHR2YWx1ZSd9XG4gICAgLz5cbiAgKTtcbn1cblxuamVzdC51bm1vY2soJ3JlYWN0LW5hdGl2ZScpO1xuamVzdC51bm1vY2soJy4vQ3Jvc3NFZGl0b3InKTtcblxuLyoqXG4gICAqIFRlc3QgY29tcG9uZW50IHJlbmRlcmluZy4gUHJvcGVydGllcyBvZiBjaGlsZHJlbiBtaWdodCBiZSB0ZXN0ZWQgYnkgaW1wb3J0aW5nIHRoZWlyIHR5cGU6XG4gICAqYGBgXG4gICAgICBjb25zdCBidG4gPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShCdXR0b24pOyAvLyBvciBmaW5kQnlQcm9wcyh7IG1vZGU6ICd0ZXh0JyB9KTtcbiAgICAgIGV4cGVjdChidG4ucHJvcHMudGl0bGUpLnRvQmUoJ2NoaWxkJyk7XG4gICAgICBgYGBcbiAgICovXG5kZXNjcmliZSgnY29tcG9uZW50cycsICgpID0+IHtcbiAgZGVzY3JpYmUoJzxDcm9zc0VkaXRvciAvPicsICgpID0+IHtcbiAgICBkZXNjcmliZSgnYElDcm9zc0VkaXRvclByb3BzYCBpbnRlcmZhY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wc01vY2s6IElDcm9zc0VkaXRvclByb3BzID0geyBsYWJlbDogJ1Rlc3QnIH07XG4gICAgICBpdCgnU2hvdWxkIG1hdGNoIHNuYXBzaG90JywgKCkgPT4ge1xuICAgICAgICBleHBlY3QocHJvcHNNb2NrKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnU2hvdWxkIGhhdmUgYG1hc2tQcm9wc2AgcHJvcGVydHkgdGhhdCBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChwcm9wc01vY2subWFza1Byb3BzKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdXaXRoIGBsYWJlbGAgcHJvcGVydHkgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBpdCgnQ29tcG9uZW50IHNob3VsZCByZW5kZXInLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgpO1xuICAgICAgICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIHBhcGVyIDxUZXh0SW5wdXQgLz4gd2l0aCBtb2RlIFwib3V0bGluZWRcIicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCk7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKHsgbW9kZTogJ291dGxpbmVkJyB9KTtcbiAgICAgICAgZXhwZWN0KGNoaWxkLnR5cGUpLnRvRXF1YWwoJ1RleHRJbnB1dCcpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdUZXh0SW5wdXRQcm9wcyBvbkNoYW5nZVRleHQgc2hvdWxkIGJlIGNhbGxlZCcsICgpID0+IHtcbiAgICAgICAgbGV0IGdvdFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgb25DYWxsZWQgPSAodmFsOiBzdHJpbmcpID0+IChnb3RUZXh0ID0gdmFsKTtcblxuICAgICAgICBjb25zdCB0ZXh0VmFsID0gJzExMTIyMic7XG4gICAgICAgIGNvbnN0IG1hc2tQcm9wczogVGV4dElucHV0TWFza1Byb3BzID0geyB0eXBlOiAnemlwLWNvZGUnIH07XG5cbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgICAgICAgPENyb3NzRWRpdG9yXG4gICAgICAgICAgICBvbkNoYW5nZVRleHQ9e29uQ2FsbGVkfVxuICAgICAgICAgICAgbGFiZWw9eydUZXN0J31cbiAgICAgICAgICAgIG1hc2tQcm9wcz17bWFza1Byb3BzfVxuICAgICAgICAgICAgdmFsdWU9eydkZWZhdWx0IHZhbHVlJ31cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKG1hc2tQcm9wcyk7XG4gICAgICAgIGNoaWxkLmluc3RhbmNlLnByb3BzLm9uQ2hhbmdlVGV4dCh0ZXh0VmFsKTtcblxuICAgICAgICAvLyBUaGVyZSB3aWxsIG5vdCBiZSBhIHZhbHVlIHRlc3QgdGltZVxuICAgICAgICBleHBlY3QoZ290VGV4dCkudG9FcXVhbCgnJyk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ21hc2tQcm9wcyBvbkNoYW5nZVRleHQgc2hvdWxkIGJlIGNhbGxlZCcsICgpID0+IHtcbiAgICAgICAgbGV0IGdvdFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgb25DYWxsZWQgPSAodmFsOiBzdHJpbmcpID0+IChnb3RUZXh0ID0gdmFsKTtcblxuICAgICAgICBjb25zdCB0ZXh0VmFsID0gJzExMTIyMic7XG4gICAgICAgIGNvbnN0IG1hc2tQcm9wczogVGV4dElucHV0TWFza1Byb3BzID0ge1xuICAgICAgICAgIHR5cGU6ICd6aXAtY29kZScsXG4gICAgICAgICAgb25DaGFuZ2VUZXh0OiBvbkNhbGxlZCxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbiAgICAgICAgICA8Q3Jvc3NFZGl0b3JcbiAgICAgICAgICAgIGxhYmVsPXsnVGVzdCd9XG4gICAgICAgICAgICBtYXNrUHJvcHM9e21hc2tQcm9wc31cbiAgICAgICAgICAgIHZhbHVlPXsnZGVmYXVsdCB2YWx1ZSd9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7XG4gICAgICAgICAgdHlwZTogJ3ppcC1jb2RlJ1xuICAgICAgICB9KTtcbiAgICAgICAgY2hpbGQuaW5zdGFuY2UucHJvcHMub25DaGFuZ2VUZXh0KHRleHRWYWwpO1xuXG4gICAgICAgIC8vIFRoZXJlIHdpbGwgbm90IGJlIGEgdmFsdWUgdGVzdCB0aW1lXG4gICAgICAgIGV4cGVjdChnb3RUZXh0KS50b0VxdWFsKCcnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sInZlcnNpb24iOjN9