UNPKG

react-native-cross-components

Version:
66 lines 9.24 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('./CrossBusyIndicator'); const react_1 = __importDefault(require("react")); const react_test_renderer_1 = __importDefault(require("react-test-renderer")); const CrossSpinner_1 = require("../animations/CrossSpinner"); const lodash_1 = __importDefault(require("lodash")); const CrossBusyIndicator_1 = __importDefault(require("./CrossBusyIndicator")); const react_native_1 = require("react-native"); function setup(options) { const props = Object.assign({ isBusy: true, isCancelButtonVisible: true, type: CrossSpinner_1.CrossSpinnerType.BallIndicator, onCancel: () => console.log('Cancelled') }, options); const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossBusyIndicator_1.default, Object.assign({}, props))); return { props, wrapper, }; } describe('components', () => { describe('<CrossBusyIndicator />', () => { it('Should render self and subcomponents', () => { const { wrapper } = setup(); expect(wrapper.toJSON()).toMatchSnapshot(); }); it('Should have <CrossSpinner /> of type "DotIndicator"', () => { const { wrapper } = setup({ type: CrossSpinner_1.CrossSpinnerType.DotIndicator, isBusy: true, isCancelButtonVisible: true, }); const child = wrapper.root.findByProps({ type: CrossSpinner_1.CrossSpinnerType.DotIndicator, }); expect(child).toBeDefined(); }); it('Should have <Text /> with value "Cancel"', done => { const { wrapper } = setup(); const child = wrapper.root.findAllByType(react_native_1.Text).slice(-1)[0]; // console.log('text child', child || 'null'); // console.log('props', child ? child.props : 'none'); if (lodash_1.default.get(child, ['props', 'children', 'join'])) { expect(child.props.children.join()).toContain('Cancel'); } else { done.fail('Could not find Text element'); } }); it('Cancel button onCancel should be called', () => { let called = false; const onCalled = () => (called = !called); const { wrapper } = setup({ type: CrossSpinner_1.CrossSpinnerType.DotIndicator, isBusy: true, isCancelButtonVisible: true, onCancel: onCalled, }); const child = wrapper.root.findByType(react_native_1.TouchableOpacity); child.props.onPress(); expect(called).toBeTruthy(); }); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQVFBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBVHBDLGtEQUEwQjtBQUMxQiw4RUFBK0M7QUFDL0MsNkRBQThEO0FBQzlELG9EQUF1QjtBQUV2Qiw4RUFBK0U7QUFDL0UsK0NBQXNEO0FBS3RELFNBQVMsS0FBSyxDQUFDLE9BQXlDO0lBQ3RELE1BQU0sS0FBSyxtQkFDVCxNQUFNLEVBQUUsSUFBSSxFQUNaLHFCQUFxQixFQUFFLElBQUksRUFDM0IsSUFBSSxFQUFFLCtCQUFnQixDQUFDLGFBQWEsRUFDcEMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQ3JDLE9BQU8sQ0FDWCxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsNkJBQVksQ0FBQyxNQUFNLENBQUMsOEJBQUMsNEJBQWtCLG9CQUFLLEtBQUssRUFBSSxDQUFDLENBQUM7SUFFdkUsT0FBTztRQUNMLEtBQUs7UUFDTCxPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUM7QUFFRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQixRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO1FBQ3RDLEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7WUFDOUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7WUFDN0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxFQUFFLCtCQUFnQixDQUFDLFlBQVk7Z0JBQ25DLE1BQU0sRUFBRSxJQUFJO2dCQUNaLHFCQUFxQixFQUFFLElBQUk7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3JDLElBQUksRUFBRSwrQkFBZ0IsQ0FBQyxZQUFZO2FBQ3BDLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNwRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVELDhDQUE4QztZQUM5QyxzREFBc0Q7WUFDdEQsSUFBSSxnQkFBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUU7Z0JBQy9DLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6RDtpQkFBSztnQkFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUE7YUFDeEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7WUFDakQsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ25CLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFMUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxFQUFFLCtCQUFnQixDQUFDLFlBQVk7Z0JBQ25DLE1BQU0sRUFBRSxJQUFJO2dCQUNaLHFCQUFxQixFQUFFLElBQUk7Z0JBQzNCLFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUMsQ0FBQztZQUVILE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLCtCQUFnQixDQUFDLENBQUM7WUFDeEQsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL21vZGFscy9Dcm9zc0J1c3lJbmRpY2F0b3IudGVzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUZXN0UmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5pbXBvcnQgeyBDcm9zc1NwaW5uZXJUeXBlIH0gZnJvbSAnLi4vYW5pbWF0aW9ucy9Dcm9zc1NwaW5uZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IENyb3NzQnVzeUluZGljYXRvciwgeyBJQnVzeUluZGljYXRvclByb3BzIH0gZnJvbSAnLi9Dcm9zc0J1c3lJbmRpY2F0b3InO1xuaW1wb3J0IHsgVG91Y2hhYmxlT3BhY2l0eSwgVGV4dCB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmplc3QudW5tb2NrKCdyZWFjdC1uYXRpdmUnKTtcbmplc3QudW5tb2NrKCcuL0Nyb3NzQnVzeUluZGljYXRvcicpO1xuXG5mdW5jdGlvbiBzZXR1cChvcHRpb25zPzogSUJ1c3lJbmRpY2F0b3JQcm9wcyB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBwcm9wczogSUJ1c3lJbmRpY2F0b3JQcm9wcyA9IHtcbiAgICBpc0J1c3k6IHRydWUsXG4gICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuQmFsbEluZGljYXRvcixcbiAgICBvbkNhbmNlbDogKCkgPT4gY29uc29sZS5sb2coJ0NhbmNlbGxlZCcpLFxuICAgIC4uLm9wdGlvbnMsXG4gIH07XG5cbiAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoPENyb3NzQnVzeUluZGljYXRvciB7Li4ucHJvcHN9IC8+KTtcblxuICByZXR1cm4ge1xuICAgIHByb3BzLFxuICAgIHdyYXBwZXIsXG4gIH07XG59XG5cbmRlc2NyaWJlKCdjb21wb25lbnRzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnPENyb3NzQnVzeUluZGljYXRvciAvPicsICgpID0+IHtcbiAgICBpdCgnU2hvdWxkIHJlbmRlciBzZWxmIGFuZCBzdWJjb21wb25lbnRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCgpO1xuICAgICAgZXhwZWN0KHdyYXBwZXIudG9KU09OKCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYXZlIDxDcm9zc1NwaW5uZXIgLz4gb2YgdHlwZSBcIkRvdEluZGljYXRvclwiJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCh7XG4gICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuRG90SW5kaWNhdG9yLFxuICAgICAgICBpc0J1c3k6IHRydWUsXG4gICAgICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoe1xuICAgICAgICB0eXBlOiBDcm9zc1NwaW5uZXJUeXBlLkRvdEluZGljYXRvcixcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGNoaWxkKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYXZlIDxUZXh0IC8+IHdpdGggdmFsdWUgXCJDYW5jZWxcIicsIGRvbmUgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCgpO1xuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEFsbEJ5VHlwZShUZXh0KS5zbGljZSgtMSlbMF07XG4gICAgICAvLyBjb25zb2xlLmxvZygndGV4dCBjaGlsZCcsIGNoaWxkIHx8ICdudWxsJyk7XG4gICAgICAvLyBjb25zb2xlLmxvZygncHJvcHMnLCBjaGlsZCA/IGNoaWxkLnByb3BzIDogJ25vbmUnKTtcbiAgICAgIGlmIChfLmdldChjaGlsZCwgWydwcm9wcycsICdjaGlsZHJlbicsICdqb2luJ10pKSB7XG4gICAgICAgIGV4cGVjdChjaGlsZC5wcm9wcy5jaGlsZHJlbi5qb2luKCkpLnRvQ29udGFpbignQ2FuY2VsJyk7XG4gICAgICB9IGVsc2V7XG4gICAgICAgZG9uZS5mYWlsKCdDb3VsZCBub3QgZmluZCBUZXh0IGVsZW1lbnQnKSBcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGl0KCdDYW5jZWwgYnV0dG9uIG9uQ2FuY2VsIHNob3VsZCBiZSBjYWxsZWQnLCAoKSA9PiB7XG4gICAgICBsZXQgY2FsbGVkID0gZmFsc2U7XG4gICAgICBjb25zdCBvbkNhbGxlZCA9ICgpID0+IChjYWxsZWQgPSAhY2FsbGVkKTtcblxuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCh7XG4gICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuRG90SW5kaWNhdG9yLFxuICAgICAgICBpc0J1c3k6IHRydWUsXG4gICAgICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgb25DYW5jZWw6IG9uQ2FsbGVkLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoVG91Y2hhYmxlT3BhY2l0eSk7XG4gICAgICBjaGlsZC5wcm9wcy5vblByZXNzKCk7XG4gICAgICBleHBlY3QoY2FsbGVkKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30=