UNPKG

react-native-cross-components

Version:
67 lines 9.55 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'); console.log('children of text', child.props.children); 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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQVFBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBVHBDLGtEQUEwQjtBQUMxQiw4RUFBK0M7QUFDL0MsNkRBQThEO0FBQzlELG9EQUF1QjtBQUV2Qiw4RUFBK0U7QUFDL0UsK0NBQXNEO0FBS3RELFNBQVMsS0FBSyxDQUFDLE9BQXlDO0lBQ3RELE1BQU0sS0FBSyxtQkFDVCxNQUFNLEVBQUUsSUFBSSxFQUNaLHFCQUFxQixFQUFFLElBQUksRUFDM0IsSUFBSSxFQUFFLCtCQUFnQixDQUFDLGFBQWEsRUFDcEMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQ3JDLE9BQU8sQ0FDWCxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsNkJBQVksQ0FBQyxNQUFNLENBQUMsOEJBQUMsNEJBQWtCLG9CQUFLLEtBQUssRUFBSSxDQUFDLENBQUM7SUFFdkUsT0FBTztRQUNMLEtBQUs7UUFDTCxPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUM7QUFFRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQixRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO1FBQ3RDLEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7WUFDOUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7WUFDN0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxFQUFFLCtCQUFnQixDQUFDLFlBQVk7Z0JBQ25DLE1BQU0sRUFBRSxJQUFJO2dCQUNaLHFCQUFxQixFQUFFLElBQUk7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3JDLElBQUksRUFBRSwrQkFBZ0IsQ0FBQyxZQUFZO2FBQ3BDLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNwRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQztZQUNqRCwyREFBMkQ7WUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RELElBQUksZ0JBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFO2dCQUMvQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDekQ7aUJBQUs7Z0JBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO2FBQ3hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMseUNBQXlDLEVBQUUsR0FBRyxFQUFFO1lBQ2pELElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNuQixNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksRUFBRSwrQkFBZ0IsQ0FBQyxZQUFZO2dCQUNuQyxNQUFNLEVBQUUsSUFBSTtnQkFDWixxQkFBcUIsRUFBRSxJQUFJO2dCQUMzQixRQUFRLEVBQUUsUUFBUTthQUNuQixDQUFDLENBQUM7WUFFSCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9tb2RhbHMvQ3Jvc3NCdXN5SW5kaWNhdG9yLnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgQ3Jvc3NTcGlubmVyVHlwZSB9IGZyb20gJy4uL2FuaW1hdGlvbnMvQ3Jvc3NTcGlubmVyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCBDcm9zc0J1c3lJbmRpY2F0b3IsIHsgSUJ1c3lJbmRpY2F0b3JQcm9wcyB9IGZyb20gJy4vQ3Jvc3NCdXN5SW5kaWNhdG9yJztcbmltcG9ydCB7IFRvdWNoYWJsZU9wYWNpdHksIFRleHQgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuXG5qZXN0LnVubW9jaygncmVhY3QtbmF0aXZlJyk7XG5qZXN0LnVubW9jaygnLi9Dcm9zc0J1c3lJbmRpY2F0b3InKTtcblxuZnVuY3Rpb24gc2V0dXAob3B0aW9ucz86IElCdXN5SW5kaWNhdG9yUHJvcHMgfCB1bmRlZmluZWQpIHtcbiAgY29uc3QgcHJvcHM6IElCdXN5SW5kaWNhdG9yUHJvcHMgPSB7XG4gICAgaXNCdXN5OiB0cnVlLFxuICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICB0eXBlOiBDcm9zc1NwaW5uZXJUeXBlLkJhbGxJbmRpY2F0b3IsXG4gICAgb25DYW5jZWw6ICgpID0+IGNvbnNvbGUubG9nKCdDYW5jZWxsZWQnKSxcbiAgICAuLi5vcHRpb25zLFxuICB9O1xuXG4gIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKDxDcm9zc0J1c3lJbmRpY2F0b3Igey4uLnByb3BzfSAvPik7XG5cbiAgcmV0dXJuIHtcbiAgICBwcm9wcyxcbiAgICB3cmFwcGVyLFxuICB9O1xufVxuXG5kZXNjcmliZSgnY29tcG9uZW50cycsICgpID0+IHtcbiAgZGVzY3JpYmUoJzxDcm9zc0J1c3lJbmRpY2F0b3IgLz4nLCAoKSA9PiB7XG4gICAgaXQoJ1Nob3VsZCByZW5kZXIgc2VsZiBhbmQgc3ViY29tcG9uZW50cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoKTtcbiAgICAgIGV4cGVjdCh3cmFwcGVyLnRvSlNPTigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGF2ZSA8Q3Jvc3NTcGlubmVyIC8+IG9mIHR5cGUgXCJEb3RJbmRpY2F0b3JcIicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoe1xuICAgICAgICB0eXBlOiBDcm9zc1NwaW5uZXJUeXBlLkRvdEluZGljYXRvcixcbiAgICAgICAgaXNCdXN5OiB0cnVlLFxuICAgICAgICBpc0NhbmNlbEJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKHtcbiAgICAgICAgdHlwZTogQ3Jvc3NTcGlubmVyVHlwZS5Eb3RJbmRpY2F0b3IsXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChjaGlsZCkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGF2ZSA8VGV4dCAvPiB3aXRoIHZhbHVlIFwiQ2FuY2VsXCInLCBkb25lID0+IHtcbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRBbGxCeVR5cGUoVGV4dCkuc2xpY2UoLTEpWzBdO1xuICAgICAgY29uc29sZS5sb2coJ3RleHQgY2hpbGQnLCBjaGlsZCB8fCAnbnVsbCcpO1xuLy8gICAgICBjb25zb2xlLmxvZygncHJvcHMnLCBjaGlsZCA/IGNoaWxkLnByb3BzIDogJ25vbmUnKTtcbiAgICAgIGNvbnNvbGUubG9nKCdjaGlsZHJlbiBvZiB0ZXh0JywgY2hpbGQucHJvcHMuY2hpbGRyZW4pO1xuICAgICAgaWYgKF8uZ2V0KGNoaWxkLCBbJ3Byb3BzJywgJ2NoaWxkcmVuJywgJ2pvaW4nXSkpIHtcbiAgICAgICAgZXhwZWN0KGNoaWxkLnByb3BzLmNoaWxkcmVuLmpvaW4oKSkudG9Db250YWluKCdDYW5jZWwnKTtcbiAgICAgIH0gZWxzZXtcbiAgICAgICBkb25lLmZhaWwoJ0NvdWxkIG5vdCBmaW5kIFRleHQgZWxlbWVudCcpIFxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ0NhbmNlbCBidXR0b24gb25DYW5jZWwgc2hvdWxkIGJlIGNhbGxlZCcsICgpID0+IHtcbiAgICAgIGxldCBjYWxsZWQgPSBmYWxzZTtcbiAgICAgIGNvbnN0IG9uQ2FsbGVkID0gKCkgPT4gKGNhbGxlZCA9ICFjYWxsZWQpO1xuXG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKHtcbiAgICAgICAgdHlwZTogQ3Jvc3NTcGlubmVyVHlwZS5Eb3RJbmRpY2F0b3IsXG4gICAgICAgIGlzQnVzeTogdHJ1ZSxcbiAgICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgICAgICBvbkNhbmNlbDogb25DYWxsZWQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShUb3VjaGFibGVPcGFjaXR5KTtcbiAgICAgIGNoaWxkLnByb3BzLm9uUHJlc3MoKTtcbiAgICAgIGV4cGVjdChjYWxsZWQpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ==