UNPKG

react-native-cross-components

Version:
55 lines 8.19 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, 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: '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('<TextInputMask /> onChangeText should be called', () => { let called = false; const onCalled = () => (called = !called); const wrapper = setup('Click test', onCalled, { type: 'zip-code' }); const child = wrapper.root.findByProps({ type: 'zip-code' }); //child.props.onChangeText(); child.props. expect(called).toBeTruthy(); }); }); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudGVzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFZQSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFiN0IsdUdBQXVHO0FBQ3ZHLGtEQUEwQjtBQUMxQiwrQ0FBK0Q7QUFDL0QsOEVBQStDO0FBRy9DLFNBQVMsS0FBSyxDQUFDLEtBQTBCLEVBQUUsWUFBeUIsRUFBRSxTQUE4QjtJQUNsRyxPQUFPLDZCQUFZLENBQUMsTUFBTSxDQUN4Qiw4QkFBQyx5QkFBVyxJQUFDLEtBQUssRUFBRSxLQUFLLElBQUksTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLFdBQVcsR0FBRyxDQUN6SCxDQUFDO0FBQ0osQ0FBQztBQUtEOzs7Ozs7S0FNSztBQUNMLFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzFCLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7UUFDL0IsUUFBUSxDQUFDLCtCQUErQixFQUFFLEdBQUcsRUFBRTtZQUM3QyxNQUFNLFNBQVMsR0FBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDdkQsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtnQkFDL0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEdBQUcsRUFBRTtnQkFDNUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsRUFBRTtZQUM5QyxFQUFFLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLHNEQUFzRCxFQUFFLEdBQUcsRUFBRTtnQkFDOUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQzdELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtnQkFDekQsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUUxQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO2dCQUNsRSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RCw2QkFBNkI7Z0JBQzdCLEtBQUssQ0FBQyxLQUFLO29CQUNYLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9pbnB1dC9Dcm9zc0VkaXRvci50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2l0bmV4dC5pby90ZXN0aW5nLXJlYWN0LTE2LTMtY29tcG9uZW50cy13aXRoLXJlYWN0LXRlc3QtcmVuZGVyZXItd2l0aG91dC1lbnp5bWUtZDljNjVkNjg5ZTg4XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUNyb3NzRWRpdG9yUHJvcHMsIENyb3NzRWRpdG9yIH0gZnJvbSAnLi9Dcm9zc0VkaXRvcic7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgVGV4dElucHV0TWFza1Byb3BzIH0gZnJvbSAncmVhY3QtbmF0aXZlLW1hc2tlZC10ZXh0JztcblxuZnVuY3Rpb24gc2V0dXAobGFiZWw/OiBzdHJpbmcgfCB1bmRlZmluZWQsIG9uQ2hhbmdlVGV4dD86ICgpID0+IHZvaWQsIG1hc2tQcm9wcz86IFRleHRJbnB1dE1hc2tQcm9wcykge1xuICByZXR1cm4gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbiAgICA8Q3Jvc3NFZGl0b3IgbGFiZWw9e2xhYmVsIHx8ICdUZXN0J30gb25DaGFuZ2VUZXh0PXtvbkNoYW5nZVRleHQgfHwgamVzdC5mbigpfSBtYXNrUHJvcHM9e21hc2tQcm9wc30gdmFsdWU9J1RleHR2YWx1ZScgLz5cbiAgKTtcbn1cblxuamVzdC51bm1vY2soJ3JlYWN0LW5hdGl2ZScpO1xuamVzdC51bm1vY2soJy4vQ3Jvc3NFZGl0b3InKTtcblxuLyoqXG4gICAqIFRlc3QgY29tcG9uZW50IHJlbmRlcmluZy4gUHJvcGVydGllcyBvZiBjaGlsZHJlbiBtaWdodCBiZSB0ZXN0ZWQgYnkgaW1wb3J0aW5nIHRoZWlyIHR5cGU6XG4gICAqYGBgXG4gICAgICBjb25zdCBidG4gPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShCdXR0b24pOyAvLyBvciBmaW5kQnlQcm9wcyh7IG1vZGU6ICd0ZXh0JyB9KTtcbiAgICAgIGV4cGVjdChidG4ucHJvcHMudGl0bGUpLnRvQmUoJ2NoaWxkJyk7XG4gICAgICBgYGBcbiAgICovXG5kZXNjcmliZSgnY29tcG9uZW50cycsICgpID0+IHtcbiAgZGVzY3JpYmUoJzxDcm9zc0VkaXRvciAvPicsICgpID0+IHtcbiAgICBkZXNjcmliZSgnYElDcm9zc0VkaXRvclByb3BzYCBpbnRlcmZhY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wc01vY2s6IElDcm9zc0VkaXRvclByb3BzID0geyBsYWJlbDogJ1Rlc3QnIH07XG4gICAgICBpdCgnU2hvdWxkIG1hdGNoIHNuYXBzaG90JywgKCkgPT4ge1xuICAgICAgICBleHBlY3QocHJvcHNNb2NrKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnU2hvdWxkIGhhdmUgYG1hc2tQcm9wc2AgcHJvcGVydHkgdGhhdCBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChwcm9wc01vY2subWFza1Byb3BzKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdXaXRoIGBsYWJlbGAgcHJvcGVydHkgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBpdCgnQ29tcG9uZW50IHNob3VsZCByZW5kZXInLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgpO1xuICAgICAgICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIHBhcGVyIDxUZXh0SW5wdXQgLz4gd2l0aCBtb2RlIFwib3V0bGluZWRcIicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCk7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKHsgbW9kZTogJ291dGxpbmVkJyB9KTtcbiAgICAgICAgZXhwZWN0KGNoaWxkLnR5cGUpLnRvRXF1YWwoJ1RleHRJbnB1dCcpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCc8VGV4dElucHV0TWFzayAvPiBvbkNoYW5nZVRleHQgc2hvdWxkIGJlIGNhbGxlZCcsICgpID0+IHtcbiAgICAgICAgbGV0IGNhbGxlZCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBvbkNhbGxlZCA9ICgpID0+IChjYWxsZWQgPSAhY2FsbGVkKTtcblxuICAgICAgICBjb25zdCB3cmFwcGVyID0gc2V0dXAoJ0NsaWNrIHRlc3QnLCBvbkNhbGxlZCwge3R5cGU6ICd6aXAtY29kZSd9KTtcbiAgICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoeyB0eXBlOiAnemlwLWNvZGUnIH0pO1xuICAgICAgICAvL2NoaWxkLnByb3BzLm9uQ2hhbmdlVGV4dCgpO1xuICAgICAgICBjaGlsZC5wcm9wcy5cbiAgICAgICAgZXhwZWN0KGNhbGxlZCkudG9CZVRydXRoeSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30=