react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
70 lines • 11.9 kB
JavaScript
"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"));
/**
* 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 = react_test_renderer_1.default.create(react_1.default.createElement(CrossEditor_1.CrossEditor, { label: 'Test', onChangeText: jest.fn(), value: 'Textvalue' }));
expect(wrapper.toJSON()).toMatchSnapshot();
});
it('Should have paper <TextInput /> with mode "outlined"', () => {
const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossEditor_1.CrossEditor, { label: 'Test', onChangeText: jest.fn(), value: 'Textvalue' }));
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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudGVzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFQN0IsdUdBQXVHO0FBQ3ZHLGtEQUEwQjtBQUMxQiwrQ0FBK0Q7QUFDL0QsOEVBQStDO0FBTS9DOzs7Ozs7S0FNSztBQUNMLFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzFCLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7UUFDL0IsUUFBUSxDQUFDLCtCQUErQixFQUFFLEdBQUcsRUFBRTtZQUM3QyxNQUFNLFNBQVMsR0FBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDdkQsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtnQkFDL0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEdBQUcsRUFBRTtnQkFDNUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsRUFBRTtZQUM5QyxFQUFFLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxNQUFNLE9BQU8sR0FBRyw2QkFBWSxDQUFDLE1BQU0sQ0FDakMsOEJBQUMseUJBQVcsSUFDVixLQUFLLEVBQUUsTUFBTSxFQUNiLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQ3ZCLEtBQUssRUFBRSxXQUFXLEdBQ2xCLENBQ0gsQ0FBQztnQkFDRixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsc0RBQXNELEVBQUUsR0FBRyxFQUFFO2dCQUM5RCxNQUFNLE9BQU8sR0FBRyw2QkFBWSxDQUFDLE1BQU0sQ0FDakMsOEJBQUMseUJBQVcsSUFDVixLQUFLLEVBQUUsTUFBTSxFQUNiLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQ3ZCLEtBQUssRUFBRSxXQUFXLEdBQ2xCLENBQ0gsQ0FBQztnQkFDRixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7Z0JBQ3RELElBQUksT0FBTyxHQUF1QixTQUFTLENBQUM7Z0JBQzVDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFFbEQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO2dCQUN6QixNQUFNLFNBQVMsR0FBdUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7Z0JBRTNELE1BQU0sT0FBTyxHQUFHLDZCQUFZLENBQUMsTUFBTSxDQUNqQyw4QkFBQyx5QkFBVyxJQUNWLFlBQVksRUFBRSxRQUFRLEVBQ3RCLEtBQUssRUFBRSxNQUFNLEVBQ2IsU0FBUyxFQUFFLFNBQVMsRUFDcEIsS0FBSyxFQUFFLGVBQWUsR0FDdEIsQ0FDSCxDQUFDO2dCQUVGLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNsRCxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRTNDLHNDQUFzQztnQkFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7Z0JBQ2pELElBQUksT0FBTyxHQUF1QixTQUFTLENBQUM7Z0JBQzVDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFFbEQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO2dCQUN6QixNQUFNLFNBQVMsR0FBdUI7b0JBQ3BDLElBQUksRUFBRSxVQUFVO29CQUNoQixZQUFZLEVBQUUsUUFBUTtpQkFDdkIsQ0FBQztnQkFFRixNQUFNLE9BQU8sR0FBRyw2QkFBWSxDQUFDLE1BQU0sQ0FDakMsOEJBQUMseUJBQVcsSUFDVixLQUFLLEVBQUUsTUFBTSxFQUNiLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLEtBQUssRUFBRSxlQUFlLEdBQ3RCLENBQ0gsQ0FBQztnQkFFRixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztvQkFDckMsSUFBSSxFQUFFLFVBQVU7aUJBQ2pCLENBQUMsQ0FBQztnQkFDSCxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRTNDLHNDQUFzQztnQkFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9pbnB1dC9Dcm9zc0VkaXRvci50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2l0bmV4dC5pby90ZXN0aW5nLXJlYWN0LTE2LTMtY29tcG9uZW50cy13aXRoLXJlYWN0LXRlc3QtcmVuZGVyZXItd2l0aG91dC1lbnp5bWUtZDljNjVkNjg5ZTg4XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUNyb3NzRWRpdG9yUHJvcHMsIENyb3NzRWRpdG9yIH0gZnJvbSAnLi9Dcm9zc0VkaXRvcic7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgVGV4dElucHV0TWFza1Byb3BzIH0gZnJvbSAncmVhY3QtbmF0aXZlLW1hc2tlZC10ZXh0JztcblxuamVzdC51bm1vY2soJ3JlYWN0LW5hdGl2ZScpO1xuamVzdC51bm1vY2soJy4vQ3Jvc3NFZGl0b3InKTtcblxuLyoqXG4gICAqIFRlc3QgY29tcG9uZW50IHJlbmRlcmluZy4gUHJvcGVydGllcyBvZiBjaGlsZHJlbiBtaWdodCBiZSB0ZXN0ZWQgYnkgaW1wb3J0aW5nIHRoZWlyIHR5cGU6XG4gICAqYGBgXG4gICAgICBjb25zdCBidG4gPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShCdXR0b24pOyAvLyBvciBmaW5kQnlQcm9wcyh7IG1vZGU6ICd0ZXh0JyB9KTtcbiAgICAgIGV4cGVjdChidG4ucHJvcHMudGl0bGUpLnRvQmUoJ2NoaWxkJyk7XG4gICAgICBgYGBcbiAgICovXG5kZXNjcmliZSgnY29tcG9uZW50cycsICgpID0+IHtcbiAgZGVzY3JpYmUoJzxDcm9zc0VkaXRvciAvPicsICgpID0+IHtcbiAgICBkZXNjcmliZSgnYElDcm9zc0VkaXRvclByb3BzYCBpbnRlcmZhY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wc01vY2s6IElDcm9zc0VkaXRvclByb3BzID0geyBsYWJlbDogJ1Rlc3QnIH07XG4gICAgICBpdCgnU2hvdWxkIG1hdGNoIHNuYXBzaG90JywgKCkgPT4ge1xuICAgICAgICBleHBlY3QocHJvcHNNb2NrKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnU2hvdWxkIGhhdmUgYG1hc2tQcm9wc2AgcHJvcGVydHkgdGhhdCBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChwcm9wc01vY2subWFza1Byb3BzKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdXaXRoIGBsYWJlbGAgcHJvcGVydHkgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBpdCgnQ29tcG9uZW50IHNob3VsZCByZW5kZXInLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgICAgICAgIDxDcm9zc0VkaXRvclxuICAgICAgICAgICAgbGFiZWw9eydUZXN0J31cbiAgICAgICAgICAgIG9uQ2hhbmdlVGV4dD17amVzdC5mbigpfVxuICAgICAgICAgICAgdmFsdWU9eydUZXh0dmFsdWUnfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICAgIGV4cGVjdCh3cmFwcGVyLnRvSlNPTigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnU2hvdWxkIGhhdmUgcGFwZXIgPFRleHRJbnB1dCAvPiB3aXRoIG1vZGUgXCJvdXRsaW5lZFwiJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbiAgICAgICAgICA8Q3Jvc3NFZGl0b3JcbiAgICAgICAgICAgIGxhYmVsPXsnVGVzdCd9XG4gICAgICAgICAgICBvbkNoYW5nZVRleHQ9e2plc3QuZm4oKX1cbiAgICAgICAgICAgIHZhbHVlPXsnVGV4dHZhbHVlJ31cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IG1vZGU6ICdvdXRsaW5lZCcgfSk7XG4gICAgICAgIGV4cGVjdChjaGlsZC50eXBlKS50b0VxdWFsKCdUZXh0SW5wdXQnKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnVGV4dElucHV0UHJvcHMgb25DaGFuZ2VUZXh0IHNob3VsZCBiZSBjYWxsZWQnLCAoKSA9PiB7XG4gICAgICAgIGxldCBnb3RUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IG9uQ2FsbGVkID0gKHZhbDogc3RyaW5nKSA9PiAoZ290VGV4dCA9IHZhbCk7XG5cbiAgICAgICAgY29uc3QgdGV4dFZhbCA9ICcxMTEyMjInO1xuICAgICAgICBjb25zdCBtYXNrUHJvcHM6IFRleHRJbnB1dE1hc2tQcm9wcyA9IHsgdHlwZTogJ3ppcC1jb2RlJyB9O1xuXG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgICAgICAgIDxDcm9zc0VkaXRvclxuICAgICAgICAgICAgb25DaGFuZ2VUZXh0PXtvbkNhbGxlZH1cbiAgICAgICAgICAgIGxhYmVsPXsnVGVzdCd9XG4gICAgICAgICAgICBtYXNrUHJvcHM9e21hc2tQcm9wc31cbiAgICAgICAgICAgIHZhbHVlPXsnZGVmYXVsdCB2YWx1ZSd9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyhtYXNrUHJvcHMpO1xuICAgICAgICBjaGlsZC5pbnN0YW5jZS5wcm9wcy5vbkNoYW5nZVRleHQodGV4dFZhbCk7XG5cbiAgICAgICAgLy8gVGhlcmUgd2lsbCBub3QgYmUgYSB2YWx1ZSB0ZXN0IHRpbWVcbiAgICAgICAgZXhwZWN0KGdvdFRleHQpLnRvRXF1YWwoJycpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdtYXNrUHJvcHMgb25DaGFuZ2VUZXh0IHNob3VsZCBiZSBjYWxsZWQnLCAoKSA9PiB7XG4gICAgICAgIGxldCBnb3RUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IG9uQ2FsbGVkID0gKHZhbDogc3RyaW5nKSA9PiAoZ290VGV4dCA9IHZhbCk7XG5cbiAgICAgICAgY29uc3QgdGV4dFZhbCA9ICcxMTEyMjInO1xuICAgICAgICBjb25zdCBtYXNrUHJvcHM6IFRleHRJbnB1dE1hc2tQcm9wcyA9IHtcbiAgICAgICAgICB0eXBlOiAnemlwLWNvZGUnLFxuICAgICAgICAgIG9uQ2hhbmdlVGV4dDogb25DYWxsZWQsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgICAgICAgPENyb3NzRWRpdG9yXG4gICAgICAgICAgICBsYWJlbD17J1Rlc3QnfVxuICAgICAgICAgICAgbWFza1Byb3BzPXttYXNrUHJvcHN9XG4gICAgICAgICAgICB2YWx1ZT17J2RlZmF1bHQgdmFsdWUnfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoe1xuICAgICAgICAgIHR5cGU6ICd6aXAtY29kZScsXG4gICAgICAgIH0pO1xuICAgICAgICBjaGlsZC5pbnN0YW5jZS5wcm9wcy5vbkNoYW5nZVRleHQodGV4dFZhbCk7XG5cbiAgICAgICAgLy8gVGhlcmUgd2lsbCBub3QgYmUgYSB2YWx1ZSB0ZXN0IHRpbWVcbiAgICAgICAgZXhwZWN0KGdvdFRleHQpLnRvRXF1YWwoJycpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30=