UNPKG

react-native-cross-components

Version:
68 lines 9.48 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 CrossBusyIndicator_1 = __importDefault(require("./CrossBusyIndicator")); const react_native_1 = require("react-native"); function setup(options) { const props = Object.assign({ isBusy: true, isCancelButtonVisible: true, type: '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: '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: 'DotIndicator', isBusy: true, isCancelButtonVisible: true, }); const child = wrapper.root.findByProps({ type: '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: '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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQU9BLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7QUFUOUMsa0RBQTBCO0FBQzFCLDhFQUErQztBQUcvQyw4RUFBK0U7QUFDL0UsK0NBQXNEO0FBTXRELFNBQVMsS0FBSyxDQUFDLE9BQXlDO0lBQ3RELE1BQU0sS0FBSyxtQkFDVCxNQUFNLEVBQUUsSUFBSSxFQUNaLHFCQUFxQixFQUFFLElBQUksRUFDM0IsSUFBSSxFQUFFLGVBQWUsRUFDckIsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQ3JDLE9BQU8sQ0FDWCxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsNkJBQVksQ0FBQyxNQUFNLENBQUMsOEJBQUMsNEJBQWtCLG9CQUFLLEtBQUssRUFBSSxDQUFDLENBQUM7SUFFdkUsT0FBTztRQUNMLEtBQUs7UUFDTCxPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUM7QUFFRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQixRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO1FBQ3RDLEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7WUFDOUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxvREFBb0QsRUFBRSxHQUFHLEVBQUU7WUFDNUQsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQy9CLElBQUksRUFBRSxjQUFjO2dCQUNwQixNQUFNLEVBQUUsS0FBSztnQkFDYixxQkFBcUIsRUFBRSxJQUFJO2FBQzVCLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFakMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNqRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7WUFDN0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLE1BQU0sRUFBRSxJQUFJO2dCQUNaLHFCQUFxQixFQUFFLElBQUk7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3JDLElBQUksRUFBRSxjQUFjO2FBQ3JCLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxHQUFHLEVBQUU7WUFDbEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1RCxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMseUNBQXlDLEVBQUUsR0FBRyxFQUFFO1lBQ2pELElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNuQixNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksRUFBRSxjQUFjO2dCQUNwQixNQUFNLEVBQUUsSUFBSTtnQkFDWixxQkFBcUIsRUFBRSxJQUFJO2dCQUMzQixRQUFRLEVBQUUsUUFBUTthQUNuQixDQUFDLENBQUM7WUFFSCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9tb2RhbHMvQ3Jvc3NCdXN5SW5kaWNhdG9yLnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IENyb3NzQnVzeUluZGljYXRvciwgeyBJQnVzeUluZGljYXRvclByb3BzIH0gZnJvbSAnLi9Dcm9zc0J1c3lJbmRpY2F0b3InO1xuaW1wb3J0IHsgVG91Y2hhYmxlT3BhY2l0eSwgVGV4dCB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmplc3QudW5tb2NrKCdyZWFjdC1uYXRpdmUnKTtcbmplc3QudW5tb2NrKCcuL0Nyb3NzQnVzeUluZGljYXRvcicpO1xuamVzdC5tb2NrKCdyZWFjdC1uYXRpdmUtbW9kYWwnLCAoKSA9PiAnVmlldycpO1xuXG5mdW5jdGlvbiBzZXR1cChvcHRpb25zPzogSUJ1c3lJbmRpY2F0b3JQcm9wcyB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBwcm9wczogSUJ1c3lJbmRpY2F0b3JQcm9wcyA9IHtcbiAgICBpc0J1c3k6IHRydWUsXG4gICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgIHR5cGU6ICdCYWxsSW5kaWNhdG9yJyxcbiAgICBvbkNhbmNlbDogKCkgPT4gY29uc29sZS5sb2coJ0NhbmNlbGxlZCcpLFxuICAgIC4uLm9wdGlvbnMsXG4gIH07XG5cbiAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoPENyb3NzQnVzeUluZGljYXRvciB7Li4ucHJvcHN9IC8+KTtcblxuICByZXR1cm4ge1xuICAgIHByb3BzLFxuICAgIHdyYXBwZXIsXG4gIH07XG59XG5cbmRlc2NyaWJlKCdjb21wb25lbnRzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnPENyb3NzQnVzeUluZGljYXRvciAvPicsICgpID0+IHtcbiAgICBpdCgnU2hvdWxkIHJlbmRlciBzZWxmIGFuZCBzdWJjb21wb25lbnRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCgpO1xuICAgICAgZXhwZWN0KHdyYXBwZXIudG9KU09OKCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBub3QgaGF2ZSA8TW9kYWwgLz4gd2hlbiBgaXNCdXN5YCBpcyBgZmFsc2VgJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyLCBwcm9wcyB9ID0gc2V0dXAoe1xuICAgICAgICB0eXBlOiAnRG90SW5kaWNhdG9yJyxcbiAgICAgICAgaXNCdXN5OiBmYWxzZSxcbiAgICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QocHJvcHMuaXNCdXN5KS50b0JlRmFsc3koKTtcblxuICAgICAgY29uc3QgY2hpbGRyZW4gPSB3cmFwcGVyLnJvb3QuZmluZEFsbEJ5UHJvcHMoeyB2aXNpYmxlOiBmYWxzZSB9KTtcbiAgICAgIGV4cGVjdChjaGlsZHJlbi5sZW5ndGgpLnRvQmUoMCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhdmUgPENyb3NzU3Bpbm5lciAvPiBvZiB0eXBlIFwiRG90SW5kaWNhdG9yXCInLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKHtcbiAgICAgICAgdHlwZTogJ0RvdEluZGljYXRvcicsXG4gICAgICAgIGlzQnVzeTogdHJ1ZSxcbiAgICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7XG4gICAgICAgIHR5cGU6ICdEb3RJbmRpY2F0b3InLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QoY2hpbGQpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhdmUgPFRleHQgLz4gd2l0aCB2YWx1ZSBcIkNhbmNlbFwiJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCgpO1xuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEFsbEJ5VHlwZShUZXh0KS5zbGljZSgtMSlbMF07XG4gICAgICBleHBlY3QoY2hpbGQucHJvcHMuY2hpbGRyZW4pLnRvQmUoJ0NhbmNlbCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ0NhbmNlbCBidXR0b24gb25DYW5jZWwgc2hvdWxkIGJlIGNhbGxlZCcsICgpID0+IHtcbiAgICAgIGxldCBjYWxsZWQgPSBmYWxzZTtcbiAgICAgIGNvbnN0IG9uQ2FsbGVkID0gKCkgPT4gKGNhbGxlZCA9ICFjYWxsZWQpO1xuXG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKHtcbiAgICAgICAgdHlwZTogJ0RvdEluZGljYXRvcicsXG4gICAgICAgIGlzQnVzeTogdHJ1ZSxcbiAgICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgICAgICBvbkNhbmNlbDogb25DYWxsZWQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShUb3VjaGFibGVPcGFjaXR5KTtcbiAgICAgIGNoaWxkLnByb3BzLm9uUHJlc3MoKTtcbiAgICAgIGV4cGVjdChjYWxsZWQpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ==