UNPKG

react-native-cross-components

Version:
69 lines 9.97 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'); jest.mock('react-native-modal', () => 'View'); const react_1 = __importDefault(require("react")); const react_test_renderer_1 = __importDefault(require("react-test-renderer")); const CrossSpinner_1 = require("../animations/CrossSpinner"); 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 not have <Modal /> when `isBusy` is `false`', () => { const { wrapper, props } = setup({ type: CrossSpinner_1.CrossSpinnerType.DotIndicator, isBusy: false, isCancelButtonVisible: true, }); expect(props.isBusy).toBeFalsy(); const children = wrapper.root.findAllByProps({ visible: false }); expect(children.length).toBe(0); }); 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"', () => { const { wrapper } = setup(); const child = wrapper.root.findAllByType(react_native_1.Text).slice(-1)[0]; expect(child.props.children).toBe('Cancel'); }); 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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQVFBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsR0FBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUE7QUFWNUMsa0RBQTBCO0FBQzFCLDhFQUErQztBQUMvQyw2REFBOEQ7QUFHOUQsOEVBQStFO0FBQy9FLCtDQUFzRDtBQU10RCxTQUFTLEtBQUssQ0FBQyxPQUF5QztJQUN0RCxNQUFNLEtBQUssbUJBQ1QsTUFBTSxFQUFFLElBQUksRUFDWixxQkFBcUIsRUFBRSxJQUFJLEVBQzNCLElBQUksRUFBRSwrQkFBZ0IsQ0FBQyxhQUFhLEVBQ3BDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUNyQyxPQUFPLENBQ1gsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLDZCQUFZLENBQUMsTUFBTSxDQUFDLDhCQUFDLDRCQUFrQixvQkFBSyxLQUFLLEVBQUksQ0FBQyxDQUFDO0lBRXZFLE9BQU87UUFDTCxLQUFLO1FBQ0wsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDO0FBRUQsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDMUIsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUN0QyxFQUFFLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO1lBQzlDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsb0RBQW9ELEVBQUUsR0FBRyxFQUFFO1lBQzVELE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUMvQixJQUFJLEVBQUUsK0JBQWdCLENBQUMsWUFBWTtnQkFDbkMsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IscUJBQXFCLEVBQUUsSUFBSTthQUM1QixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRWpDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7WUFDL0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMscURBQXFELEVBQUUsR0FBRyxFQUFFO1lBQzdELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksRUFBRSwrQkFBZ0IsQ0FBQyxZQUFZO2dCQUNuQyxNQUFNLEVBQUUsSUFBSTtnQkFDWixxQkFBcUIsRUFBRSxJQUFJO2FBQzVCLENBQUMsQ0FBQztZQUNILE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUNyQyxJQUFJLEVBQUUsK0JBQWdCLENBQUMsWUFBWTthQUNwQyxDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsMENBQTBDLEVBQUUsR0FBRyxFQUFFO1lBQ2xELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUM1QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlDQUF5QyxFQUFFLEdBQUcsRUFBRTtZQUNqRCxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDbkIsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUUxQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixJQUFJLEVBQUUsK0JBQWdCLENBQUMsWUFBWTtnQkFDbkMsTUFBTSxFQUFFLElBQUk7Z0JBQ1oscUJBQXFCLEVBQUUsSUFBSTtnQkFDM0IsUUFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsK0JBQWdCLENBQUMsQ0FBQztZQUN4RCxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tICdyZWFjdC10ZXN0LXJlbmRlcmVyJztcbmltcG9ydCB7IENyb3NzU3Bpbm5lclR5cGUgfSBmcm9tICcuLi9hbmltYXRpb25zL0Nyb3NzU3Bpbm5lcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgQ3Jvc3NCdXN5SW5kaWNhdG9yLCB7IElCdXN5SW5kaWNhdG9yUHJvcHMgfSBmcm9tICcuL0Nyb3NzQnVzeUluZGljYXRvcic7XG5pbXBvcnQgeyBUb3VjaGFibGVPcGFjaXR5LCBUZXh0IH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuamVzdC51bm1vY2soJ3JlYWN0LW5hdGl2ZScpO1xuamVzdC51bm1vY2soJy4vQ3Jvc3NCdXN5SW5kaWNhdG9yJyk7XG5qZXN0Lm1vY2soJ3JlYWN0LW5hdGl2ZS1tb2RhbCcsICgpPT4gJ1ZpZXcnKVxuXG5mdW5jdGlvbiBzZXR1cChvcHRpb25zPzogSUJ1c3lJbmRpY2F0b3JQcm9wcyB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBwcm9wczogSUJ1c3lJbmRpY2F0b3JQcm9wcyA9IHtcbiAgICBpc0J1c3k6IHRydWUsXG4gICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuQmFsbEluZGljYXRvcixcbiAgICBvbkNhbmNlbDogKCkgPT4gY29uc29sZS5sb2coJ0NhbmNlbGxlZCcpLFxuICAgIC4uLm9wdGlvbnMsXG4gIH07XG5cbiAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoPENyb3NzQnVzeUluZGljYXRvciB7Li4ucHJvcHN9IC8+KTtcblxuICByZXR1cm4ge1xuICAgIHByb3BzLFxuICAgIHdyYXBwZXIsXG4gIH07XG59XG5cbmRlc2NyaWJlKCdjb21wb25lbnRzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnPENyb3NzQnVzeUluZGljYXRvciAvPicsICgpID0+IHtcbiAgICBpdCgnU2hvdWxkIHJlbmRlciBzZWxmIGFuZCBzdWJjb21wb25lbnRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCgpO1xuICAgICAgZXhwZWN0KHdyYXBwZXIudG9KU09OKCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBub3QgaGF2ZSA8TW9kYWwgLz4gd2hlbiBgaXNCdXN5YCBpcyBgZmFsc2VgJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyLCBwcm9wcyB9ID0gc2V0dXAoe1xuICAgICAgICB0eXBlOiBDcm9zc1NwaW5uZXJUeXBlLkRvdEluZGljYXRvcixcbiAgICAgICAgaXNCdXN5OiBmYWxzZSxcbiAgICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QocHJvcHMuaXNCdXN5KS50b0JlRmFsc3koKTtcblxuICAgICAgY29uc3QgY2hpbGRyZW4gPSB3cmFwcGVyLnJvb3QuZmluZEFsbEJ5UHJvcHMoe3Zpc2libGU6IGZhbHNlfSk7XG4gICAgICBleHBlY3QoY2hpbGRyZW4ubGVuZ3RoKS50b0JlKDApO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYXZlIDxDcm9zc1NwaW5uZXIgLz4gb2YgdHlwZSBcIkRvdEluZGljYXRvclwiJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCh7XG4gICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuRG90SW5kaWNhdG9yLFxuICAgICAgICBpc0J1c3k6IHRydWUsXG4gICAgICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoe1xuICAgICAgICB0eXBlOiBDcm9zc1NwaW5uZXJUeXBlLkRvdEluZGljYXRvcixcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGNoaWxkKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYXZlIDxUZXh0IC8+IHdpdGggdmFsdWUgXCJDYW5jZWxcIicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRBbGxCeVR5cGUoVGV4dCkuc2xpY2UoLTEpWzBdO1xuICAgICAgZXhwZWN0KGNoaWxkLnByb3BzLmNoaWxkcmVuKS50b0JlKCdDYW5jZWwnKTtcbiAgICB9KTtcblxuICAgIGl0KCdDYW5jZWwgYnV0dG9uIG9uQ2FuY2VsIHNob3VsZCBiZSBjYWxsZWQnLCAoKSA9PiB7XG4gICAgICBsZXQgY2FsbGVkID0gZmFsc2U7XG4gICAgICBjb25zdCBvbkNhbGxlZCA9ICgpID0+IChjYWxsZWQgPSAhY2FsbGVkKTtcblxuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCh7XG4gICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuRG90SW5kaWNhdG9yLFxuICAgICAgICBpc0J1c3k6IHRydWUsXG4gICAgICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgb25DYW5jZWw6IG9uQ2FsbGVkLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoVG91Y2hhYmxlT3BhY2l0eSk7XG4gICAgICBjaGlsZC5wcm9wcy5vblByZXNzKCk7XG4gICAgICBleHBlY3QoY2FsbGVkKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30=