react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
69 lines • 9.05 kB
JavaScript
;
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-natio');
// 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.instance.props.onChangeText(textVal);
expect(gotText).toEqual(textVal);
});
});
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudGVzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxrQkFBa0I7QUFDbEIsZ0NBQWdDO0FBQ2hDLGdDQUFnQztBQUNoQywwQ0FBMEM7QUFDMUMsbUNBQW1DO0FBQ25DLE1BQU07QUFDTixnQ0FBZ0M7QUFDaEMsbUJBQW1CO0FBQ25CLGdDQUFnQztBQUNoQyxpREFBaUQ7QUFDakQsOEJBQThCO0FBQzlCLHFDQUFxQztBQUNyQyxTQUFTO0FBQ1QsT0FBTztBQUNQLElBQUk7QUFFSixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQXhCeEIsdUdBQXVHO0FBQ3ZHLGtEQUEwQjtBQUMxQiwrQ0FBK0Q7QUFDL0QsOEVBQStDO0FBdUIvQzs7Ozs7O0tBTUs7QUFDTCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQixRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLFFBQVEsQ0FBQywrQkFBK0IsRUFBRSxHQUFHLEVBQUU7WUFDN0MsTUFBTSxTQUFTLEdBQXNCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3ZELEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7Z0JBQy9CLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyxvREFBb0QsRUFBRSxHQUFHLEVBQUU7Z0JBQzVELE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLEVBQUU7WUFDOUMsd0NBQXdDO1lBQ3hDLDZCQUE2QjtZQUM3QixnREFBZ0Q7WUFDaEQsTUFBTTtZQUVOLHFFQUFxRTtZQUNyRSw2QkFBNkI7WUFDN0Isa0VBQWtFO1lBQ2xFLDZDQUE2QztZQUM3QyxNQUFNO1lBRU4sRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtnQkFDekQsSUFBSSxPQUFPLEdBQXVCLFNBQVMsQ0FBQztnQkFDNUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO2dCQUN6QixNQUFNLFNBQVMsR0FBdUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7Z0JBQzNELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFFbEQsTUFBTSxPQUFPLEdBQUcsNkJBQVksQ0FBQyxNQUFNLENBQ2pDLDhCQUFDLHlCQUFXLElBQ1YsS0FBSyxFQUFFLE1BQU0sRUFDYixZQUFZLEVBQUUsUUFBUSxFQUN0QixTQUFTLEVBQUUsU0FBUyxFQUNwQixLQUFLLEVBQUUsZUFBZSxHQUN0QixDQUNILENBQUM7Z0JBRUYsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFM0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9pbnB1dC9Dcm9zc0VkaXRvci50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2l0bmV4dC5pby90ZXN0aW5nLXJlYWN0LTE2LTMtY29tcG9uZW50cy13aXRoLXJlYWN0LXRlc3QtcmVuZGVyZXItd2l0aG91dC1lbnp5bWUtZDljNjVkNjg5ZTg4XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUNyb3NzRWRpdG9yUHJvcHMsIENyb3NzRWRpdG9yIH0gZnJvbSAnLi9Dcm9zc0VkaXRvcic7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgVGV4dElucHV0TWFza1Byb3BzIH0gZnJvbSAncmVhY3QtbmF0aXZlLW1hc2tlZC10ZXh0JztcblxuLy8gZnVuY3Rpb24gc2V0dXAoXG4vLyAgIGxhYmVsPzogc3RyaW5nIHwgdW5kZWZpbmVkLFxuLy8gICB2YWx1ZT86IHN0cmluZyB8IHVuZGVmaW5lZCxcbi8vICAgb25DaGFuZ2VUZXh0PzogKHZhbDogc3RyaW5nKSA9PiB2b2lkLFxuLy8gICBtYXNrUHJvcHM/OiBUZXh0SW5wdXRNYXNrUHJvcHNcbi8vICkge1xuLy8gICByZXR1cm4gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbi8vICAgICA8Q3Jvc3NFZGl0b3Jcbi8vICAgICAgIGxhYmVsPXtsYWJlbCB8fCAnVGVzdCd9XG4vLyAgICAgICBvbkNoYW5nZVRleHQ9e29uQ2hhbmdlVGV4dCB8fCBqZXN0LmZuKCl9XG4vLyAgICAgICBtYXNrUHJvcHM9e21hc2tQcm9wc31cbi8vICAgICAgIHZhbHVlPXt2YWx1ZSB8fCAnVGV4dHZhbHVlJ31cbi8vICAgICAvPlxuLy8gICApO1xuLy8gfVxuXG5qZXN0LnVubW9jaygncmVhY3QtbmF0aXZlJyk7XG5qZXN0LnVubW9jaygnLi9Dcm9zc0VkaXRvcicpO1xuamVzdC5tb2NrKCdyZWFjdC1uYXRpbycpXG5cbi8qKlxuICAgKiBUZXN0IGNvbXBvbmVudCByZW5kZXJpbmcuIFByb3BlcnRpZXMgb2YgY2hpbGRyZW4gbWlnaHQgYmUgdGVzdGVkIGJ5IGltcG9ydGluZyB0aGVpciB0eXBlOlxuICAgKmBgYFxuICAgICAgY29uc3QgYnRuID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoQnV0dG9uKTsgLy8gb3IgZmluZEJ5UHJvcHMoeyBtb2RlOiAndGV4dCcgfSk7XG4gICAgICBleHBlY3QoYnRuLnByb3BzLnRpdGxlKS50b0JlKCdjaGlsZCcpO1xuICAgICAgYGBgXG4gICAqL1xuZGVzY3JpYmUoJ2NvbXBvbmVudHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCc8Q3Jvc3NFZGl0b3IgLz4nLCAoKSA9PiB7XG4gICAgZGVzY3JpYmUoJ2BJQ3Jvc3NFZGl0b3JQcm9wc2AgaW50ZXJmYWNlJywgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHNNb2NrOiBJQ3Jvc3NFZGl0b3JQcm9wcyA9IHsgbGFiZWw6ICdUZXN0JyB9O1xuICAgICAgaXQoJ1Nob3VsZCBtYXRjaCBzbmFwc2hvdCcsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KHByb3BzTW9jaykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIGBtYXNrUHJvcHNgIHByb3BlcnR5IHRoYXQgaXMgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QocHJvcHNNb2NrLm1hc2tQcm9wcykudG9CZVVuZGVmaW5lZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnV2l0aCBgbGFiZWxgIHByb3BlcnR5IHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgLy8gaXQoJ0NvbXBvbmVudCBzaG91bGQgcmVuZGVyJywgKCkgPT4ge1xuICAgICAgLy8gICBjb25zdCB3cmFwcGVyID0gc2V0dXAoKTtcbiAgICAgIC8vICAgZXhwZWN0KHdyYXBwZXIudG9KU09OKCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgICAgLy8gfSk7XG5cbiAgICAgIC8vIGl0KCdTaG91bGQgaGF2ZSBwYXBlciA8VGV4dElucHV0IC8+IHdpdGggbW9kZSBcIm91dGxpbmVkXCInLCAoKSA9PiB7XG4gICAgICAvLyAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgpO1xuICAgICAgLy8gICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IG1vZGU6ICdvdXRsaW5lZCcgfSk7XG4gICAgICAvLyAgIGV4cGVjdChjaGlsZC50eXBlKS50b0VxdWFsKCdUZXh0SW5wdXQnKTtcbiAgICAgIC8vIH0pO1xuXG4gICAgICBpdCgnPFRleHRJbnB1dE1hc2sgLz4gb25DaGFuZ2VUZXh0IHNob3VsZCBiZSBjYWxsZWQnLCAoKSA9PiB7XG4gICAgICAgIGxldCBnb3RUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHRleHRWYWwgPSAnMTExMzMzJztcbiAgICAgICAgY29uc3QgbWFza1Byb3BzOiBUZXh0SW5wdXRNYXNrUHJvcHMgPSB7IHR5cGU6ICd6aXAtY29kZScgfTtcbiAgICAgICAgY29uc3Qgb25DYWxsZWQgPSAodmFsOiBzdHJpbmcpID0+IChnb3RUZXh0ID0gdmFsKTtcblxuICAgICAgICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbiAgICAgICAgICA8Q3Jvc3NFZGl0b3JcbiAgICAgICAgICAgIGxhYmVsPXsnVGVzdCd9XG4gICAgICAgICAgICBvbkNoYW5nZVRleHQ9e29uQ2FsbGVkfVxuICAgICAgICAgICAgbWFza1Byb3BzPXttYXNrUHJvcHN9XG4gICAgICAgICAgICB2YWx1ZT17J2RlZmF1bHQgdmFsdWUnfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyhtYXNrUHJvcHMpO1xuICAgICAgICBjaGlsZC5pbnN0YW5jZS5wcm9wcy5vbkNoYW5nZVRleHQodGV4dFZhbCk7XG5cbiAgICAgICAgZXhwZWN0KGdvdFRleHQpLnRvRXF1YWwodGV4dFZhbCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ==