UNPKG

react-native-cross-components

Version:
68 lines 8.9 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'); // 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 = '111333'; 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.props.onChangeText(textVal); expect(gotText).toEqual(textVal); }); }); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudGVzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxrQkFBa0I7QUFDbEIsZ0NBQWdDO0FBQ2hDLGdDQUFnQztBQUNoQywwQ0FBMEM7QUFDMUMsbUNBQW1DO0FBQ25DLE1BQU07QUFDTixnQ0FBZ0M7QUFDaEMsbUJBQW1CO0FBQ25CLGdDQUFnQztBQUNoQyxpREFBaUQ7QUFDakQsOEJBQThCO0FBQzlCLHFDQUFxQztBQUNyQyxTQUFTO0FBQ1QsT0FBTztBQUNQLElBQUk7QUFFSixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUF2QjdCLHVHQUF1RztBQUN2RyxrREFBMEI7QUFDMUIsK0NBQStEO0FBQy9ELDhFQUErQztBQXNCL0M7Ozs7OztLQU1LO0FBQ0wsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDMUIsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtRQUMvQixRQUFRLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO1lBQzdDLE1BQU0sU0FBUyxHQUFzQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN2RCxFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO2dCQUMvQixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsb0RBQW9ELEVBQUUsR0FBRyxFQUFFO2dCQUM1RCxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFO1lBQzlDLHdDQUF3QztZQUN4Qyw2QkFBNkI7WUFDN0IsZ0RBQWdEO1lBQ2hELE1BQU07WUFFTixxRUFBcUU7WUFDckUsNkJBQTZCO1lBQzdCLGtFQUFrRTtZQUNsRSw2Q0FBNkM7WUFDN0MsTUFBTTtZQUVOLEVBQUUsQ0FBQyxpREFBaUQsRUFBRSxHQUFHLEVBQUU7Z0JBQ3pELElBQUksT0FBTyxHQUF1QixTQUFTLENBQUM7Z0JBQzVDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQztnQkFDekIsTUFBTSxTQUFTLEdBQXVCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO2dCQUMzRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBRWxELE1BQU0sT0FBTyxHQUFHLDZCQUFZLENBQUMsTUFBTSxDQUNqQyw4QkFBQyx5QkFBVyxJQUNWLEtBQUssRUFBRSxNQUFNLEVBQ2IsWUFBWSxFQUFFLFFBQVEsRUFDdEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsS0FBSyxFQUFFLGVBQWUsR0FDdEIsQ0FDSCxDQUFDO2dCQUVGLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNsRCxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9pbnB1dC9Dcm9zc0VkaXRvci50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2l0bmV4dC5pby90ZXN0aW5nLXJlYWN0LTE2LTMtY29tcG9uZW50cy13aXRoLXJlYWN0LXRlc3QtcmVuZGVyZXItd2l0aG91dC1lbnp5bWUtZDljNjVkNjg5ZTg4XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUNyb3NzRWRpdG9yUHJvcHMsIENyb3NzRWRpdG9yIH0gZnJvbSAnLi9Dcm9zc0VkaXRvcic7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgVGV4dElucHV0TWFza1Byb3BzIH0gZnJvbSAncmVhY3QtbmF0aXZlLW1hc2tlZC10ZXh0JztcblxuLy8gZnVuY3Rpb24gc2V0dXAoXG4vLyAgIGxhYmVsPzogc3RyaW5nIHwgdW5kZWZpbmVkLFxuLy8gICB2YWx1ZT86IHN0cmluZyB8IHVuZGVmaW5lZCxcbi8vICAgb25DaGFuZ2VUZXh0PzogKHZhbDogc3RyaW5nKSA9PiB2b2lkLFxuLy8gICBtYXNrUHJvcHM/OiBUZXh0SW5wdXRNYXNrUHJvcHNcbi8vICkge1xuLy8gICByZXR1cm4gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbi8vICAgICA8Q3Jvc3NFZGl0b3Jcbi8vICAgICAgIGxhYmVsPXtsYWJlbCB8fCAnVGVzdCd9XG4vLyAgICAgICBvbkNoYW5nZVRleHQ9e29uQ2hhbmdlVGV4dCB8fCBqZXN0LmZuKCl9XG4vLyAgICAgICBtYXNrUHJvcHM9e21hc2tQcm9wc31cbi8vICAgICAgIHZhbHVlPXt2YWx1ZSB8fCAnVGV4dHZhbHVlJ31cbi8vICAgICAvPlxuLy8gICApO1xuLy8gfVxuXG5qZXN0LnVubW9jaygncmVhY3QtbmF0aXZlJyk7XG5qZXN0LnVubW9jaygnLi9Dcm9zc0VkaXRvcicpO1xuXG4vKipcbiAgICogVGVzdCBjb21wb25lbnQgcmVuZGVyaW5nLiBQcm9wZXJ0aWVzIG9mIGNoaWxkcmVuIG1pZ2h0IGJlIHRlc3RlZCBieSBpbXBvcnRpbmcgdGhlaXIgdHlwZTpcbiAgICpgYGBcbiAgICAgIGNvbnN0IGJ0biA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKEJ1dHRvbik7IC8vIG9yIGZpbmRCeVByb3BzKHsgbW9kZTogJ3RleHQnIH0pO1xuICAgICAgZXhwZWN0KGJ0bi5wcm9wcy50aXRsZSkudG9CZSgnY2hpbGQnKTtcbiAgICAgIGBgYFxuICAgKi9cbmRlc2NyaWJlKCdjb21wb25lbnRzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnPENyb3NzRWRpdG9yIC8+JywgKCkgPT4ge1xuICAgIGRlc2NyaWJlKCdgSUNyb3NzRWRpdG9yUHJvcHNgIGludGVyZmFjZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzTW9jazogSUNyb3NzRWRpdG9yUHJvcHMgPSB7IGxhYmVsOiAnVGVzdCcgfTtcbiAgICAgIGl0KCdTaG91bGQgbWF0Y2ggc25hcHNob3QnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChwcm9wc01vY2spLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdTaG91bGQgaGF2ZSBgbWFza1Byb3BzYCBwcm9wZXJ0eSB0aGF0IGlzIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KHByb3BzTW9jay5tYXNrUHJvcHMpLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ1dpdGggYGxhYmVsYCBwcm9wZXJ0eSBwcm92aWRlZCcsICgpID0+IHtcbiAgICAgIC8vIGl0KCdDb21wb25lbnQgc2hvdWxkIHJlbmRlcicsICgpID0+IHtcbiAgICAgIC8vICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCk7XG4gICAgICAvLyAgIGV4cGVjdCh3cmFwcGVyLnRvSlNPTigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIC8vIH0pO1xuXG4gICAgICAvLyBpdCgnU2hvdWxkIGhhdmUgcGFwZXIgPFRleHRJbnB1dCAvPiB3aXRoIG1vZGUgXCJvdXRsaW5lZFwiJywgKCkgPT4ge1xuICAgICAgLy8gICBjb25zdCB3cmFwcGVyID0gc2V0dXAoKTtcbiAgICAgIC8vICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoeyBtb2RlOiAnb3V0bGluZWQnIH0pO1xuICAgICAgLy8gICBleHBlY3QoY2hpbGQudHlwZSkudG9FcXVhbCgnVGV4dElucHV0Jyk7XG4gICAgICAvLyB9KTtcblxuICAgICAgaXQoJzxUZXh0SW5wdXRNYXNrIC8+IG9uQ2hhbmdlVGV4dCBzaG91bGQgYmUgY2FsbGVkJywgKCkgPT4ge1xuICAgICAgICBsZXQgZ290VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB0ZXh0VmFsID0gJzExMTMzMyc7XG4gICAgICAgIGNvbnN0IG1hc2tQcm9wczogVGV4dElucHV0TWFza1Byb3BzID0geyB0eXBlOiAnemlwLWNvZGUnIH07XG4gICAgICAgIGNvbnN0IG9uQ2FsbGVkID0gKHZhbDogc3RyaW5nKSA9PiAoZ290VGV4dCA9IHZhbCk7XG5cbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgICAgICAgPENyb3NzRWRpdG9yXG4gICAgICAgICAgICBsYWJlbD17J1Rlc3QnfVxuICAgICAgICAgICAgb25DaGFuZ2VUZXh0PXtvbkNhbGxlZH1cbiAgICAgICAgICAgIG1hc2tQcm9wcz17bWFza1Byb3BzfVxuICAgICAgICAgICAgdmFsdWU9eydkZWZhdWx0IHZhbHVlJ31cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMobWFza1Byb3BzKTtcbiAgICAgICAgY2hpbGQucHJvcHMub25DaGFuZ2VUZXh0KHRleHRWYWwpO1xuXG4gICAgICAgIGV4cGVjdChnb3RUZXh0KS50b0VxdWFsKHRleHRWYWwpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30=