react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
78 lines • 9.79 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-native-masked-inpiut', () => ({
TextInputMask: 'TextInput',
TextInputMaskProps: {
type: '',
options: {},
checkText: true,
onChangeText: jest.fn(),
refInput: {}
}
}));
// 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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvaW5wdXQvQ3Jvc3NFZGl0b3IudGVzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxrQkFBa0I7QUFDbEIsZ0NBQWdDO0FBQ2hDLGdDQUFnQztBQUNoQywwQ0FBMEM7QUFDMUMsbUNBQW1DO0FBQ25DLE1BQU07QUFDTixnQ0FBZ0M7QUFDaEMsbUJBQW1CO0FBQ25CLGdDQUFnQztBQUNoQyxpREFBaUQ7QUFDakQsOEJBQThCO0FBQzlCLHFDQUFxQztBQUNyQyxTQUFTO0FBQ1QsT0FBTztBQUNQLElBQUk7QUFFSixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLGFBQWEsRUFBRSxXQUFXO0lBQzFCLGtCQUFrQixFQUFFO1FBQ2hCLElBQUksRUFBRSxFQUFFO1FBQ1IsT0FBTyxFQUFFLEVBQUU7UUFDWCxTQUFTLEVBQUUsSUFBSTtRQUNmLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxFQUFFO0tBQ2Y7Q0FDRixDQUFDLENBQUMsQ0FBQTtBQWpDSCx1R0FBdUc7QUFDdkcsa0RBQTBCO0FBQzFCLCtDQUErRDtBQUMvRCw4RUFBK0M7QUFnQy9DOzs7Ozs7S0FNSztBQUNMLFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzFCLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7UUFDL0IsUUFBUSxDQUFDLCtCQUErQixFQUFFLEdBQUcsRUFBRTtZQUM3QyxNQUFNLFNBQVMsR0FBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDdkQsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtnQkFDL0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEdBQUcsRUFBRTtnQkFDNUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsRUFBRTtZQUM5Qyx3Q0FBd0M7WUFDeEMsNkJBQTZCO1lBQzdCLGdEQUFnRDtZQUNoRCxNQUFNO1lBRU4scUVBQXFFO1lBQ3JFLDZCQUE2QjtZQUM3QixrRUFBa0U7WUFDbEUsNkNBQTZDO1lBQzdDLE1BQU07WUFFTixFQUFFLENBQUMsaURBQWlELEVBQUUsR0FBRyxFQUFFO2dCQUN6RCxJQUFJLE9BQU8sR0FBdUIsU0FBUyxDQUFDO2dCQUM1QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUM7Z0JBQ3pCLE1BQU0sU0FBUyxHQUF1QixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztnQkFDM0QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO2dCQUVsRCxNQUFNLE9BQU8sR0FBRyw2QkFBWSxDQUFDLE1BQU0sQ0FDakMsOEJBQUMseUJBQVcsSUFDVixLQUFLLEVBQUUsTUFBTSxFQUNiLFlBQVksRUFBRSxRQUFRLEVBQ3RCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLEtBQUssRUFBRSxlQUFlLEdBQ3RCLENBQ0gsQ0FBQztnQkFFRixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDbEQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUUzQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL2lucHV0L0Nyb3NzRWRpdG9yLnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vaXRuZXh0LmlvL3Rlc3RpbmctcmVhY3QtMTYtMy1jb21wb25lbnRzLXdpdGgtcmVhY3QtdGVzdC1yZW5kZXJlci13aXRob3V0LWVuenltZS1kOWM2NWQ2ODllODhcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJQ3Jvc3NFZGl0b3JQcm9wcywgQ3Jvc3NFZGl0b3IgfSBmcm9tICcuL0Nyb3NzRWRpdG9yJztcbmltcG9ydCBUZXN0UmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5pbXBvcnQgeyBUZXh0SW5wdXRNYXNrUHJvcHMgfSBmcm9tICdyZWFjdC1uYXRpdmUtbWFza2VkLXRleHQnO1xuXG4vLyBmdW5jdGlvbiBzZXR1cChcbi8vICAgbGFiZWw/OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4vLyAgIHZhbHVlPzogc3RyaW5nIHwgdW5kZWZpbmVkLFxuLy8gICBvbkNoYW5nZVRleHQ/OiAodmFsOiBzdHJpbmcpID0+IHZvaWQsXG4vLyAgIG1hc2tQcm9wcz86IFRleHRJbnB1dE1hc2tQcm9wc1xuLy8gKSB7XG4vLyAgIHJldHVybiBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuLy8gICAgIDxDcm9zc0VkaXRvclxuLy8gICAgICAgbGFiZWw9e2xhYmVsIHx8ICdUZXN0J31cbi8vICAgICAgIG9uQ2hhbmdlVGV4dD17b25DaGFuZ2VUZXh0IHx8IGplc3QuZm4oKX1cbi8vICAgICAgIG1hc2tQcm9wcz17bWFza1Byb3BzfVxuLy8gICAgICAgdmFsdWU9e3ZhbHVlIHx8ICdUZXh0dmFsdWUnfVxuLy8gICAgIC8+XG4vLyAgICk7XG4vLyB9XG5cbmplc3QudW5tb2NrKCdyZWFjdC1uYXRpdmUnKTtcbmplc3QudW5tb2NrKCcuL0Nyb3NzRWRpdG9yJyk7XG5qZXN0Lm1vY2soJ3JlYWN0LW5hdGl2ZS1tYXNrZWQtaW5waXV0JywgKCkgPT4gKHtcbiAgVGV4dElucHV0TWFzazogJ1RleHRJbnB1dCcsIFxuICBUZXh0SW5wdXRNYXNrUHJvcHM6IHtcbiAgICAgIHR5cGU6ICcnLFxuICAgICAgb3B0aW9uczoge30sXG4gICAgICBjaGVja1RleHQ6IHRydWUsXG4gICAgICBvbkNoYW5nZVRleHQ6IGplc3QuZm4oKSxcbiAgICAgIHJlZklucHV0OiB7fVxuICB9XG59KSlcblxuLyoqXG4gICAqIFRlc3QgY29tcG9uZW50IHJlbmRlcmluZy4gUHJvcGVydGllcyBvZiBjaGlsZHJlbiBtaWdodCBiZSB0ZXN0ZWQgYnkgaW1wb3J0aW5nIHRoZWlyIHR5cGU6XG4gICAqYGBgXG4gICAgICBjb25zdCBidG4gPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShCdXR0b24pOyAvLyBvciBmaW5kQnlQcm9wcyh7IG1vZGU6ICd0ZXh0JyB9KTtcbiAgICAgIGV4cGVjdChidG4ucHJvcHMudGl0bGUpLnRvQmUoJ2NoaWxkJyk7XG4gICAgICBgYGBcbiAgICovXG5kZXNjcmliZSgnY29tcG9uZW50cycsICgpID0+IHtcbiAgZGVzY3JpYmUoJzxDcm9zc0VkaXRvciAvPicsICgpID0+IHtcbiAgICBkZXNjcmliZSgnYElDcm9zc0VkaXRvclByb3BzYCBpbnRlcmZhY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wc01vY2s6IElDcm9zc0VkaXRvclByb3BzID0geyBsYWJlbDogJ1Rlc3QnIH07XG4gICAgICBpdCgnU2hvdWxkIG1hdGNoIHNuYXBzaG90JywgKCkgPT4ge1xuICAgICAgICBleHBlY3QocHJvcHNNb2NrKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnU2hvdWxkIGhhdmUgYG1hc2tQcm9wc2AgcHJvcGVydHkgdGhhdCBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChwcm9wc01vY2subWFza1Byb3BzKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdXaXRoIGBsYWJlbGAgcHJvcGVydHkgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICAvLyBpdCgnQ29tcG9uZW50IHNob3VsZCByZW5kZXInLCAoKSA9PiB7XG4gICAgICAvLyAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgpO1xuICAgICAgLy8gICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICAvLyB9KTtcblxuICAgICAgLy8gaXQoJ1Nob3VsZCBoYXZlIHBhcGVyIDxUZXh0SW5wdXQgLz4gd2l0aCBtb2RlIFwib3V0bGluZWRcIicsICgpID0+IHtcbiAgICAgIC8vICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCk7XG4gICAgICAvLyAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKHsgbW9kZTogJ291dGxpbmVkJyB9KTtcbiAgICAgIC8vICAgZXhwZWN0KGNoaWxkLnR5cGUpLnRvRXF1YWwoJ1RleHRJbnB1dCcpO1xuICAgICAgLy8gfSk7XG5cbiAgICAgIGl0KCc8VGV4dElucHV0TWFzayAvPiBvbkNoYW5nZVRleHQgc2hvdWxkIGJlIGNhbGxlZCcsICgpID0+IHtcbiAgICAgICAgbGV0IGdvdFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgdGV4dFZhbCA9ICcxMTEzMzMnO1xuICAgICAgICBjb25zdCBtYXNrUHJvcHM6IFRleHRJbnB1dE1hc2tQcm9wcyA9IHsgdHlwZTogJ3ppcC1jb2RlJyB9O1xuICAgICAgICBjb25zdCBvbkNhbGxlZCA9ICh2YWw6IHN0cmluZykgPT4gKGdvdFRleHQgPSB2YWwpO1xuXG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgICAgICAgIDxDcm9zc0VkaXRvclxuICAgICAgICAgICAgbGFiZWw9eydUZXN0J31cbiAgICAgICAgICAgIG9uQ2hhbmdlVGV4dD17b25DYWxsZWR9XG4gICAgICAgICAgICBtYXNrUHJvcHM9e21hc2tQcm9wc31cbiAgICAgICAgICAgIHZhbHVlPXsnZGVmYXVsdCB2YWx1ZSd9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKG1hc2tQcm9wcyk7XG4gICAgICAgIGNoaWxkLmluc3RhbmNlLnByb3BzLm9uQ2hhbmdlVGV4dCh0ZXh0VmFsKTtcblxuICAgICAgICBleHBlY3QoZ290VGV4dCkudG9FcXVhbCh0ZXh0VmFsKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sInZlcnNpb24iOjN9