react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
60 lines • 8.52 kB
JavaScript
;
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 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"', () => {
const { wrapper } = setup();
const child = wrapper.root.findByProps({ testID: 'cancelText' });
console.log('text child', child);
console.log('props', child.props);
expect(child.children.join()).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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQU9BLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBUnBDLGtEQUEwQjtBQUMxQiw4RUFBK0M7QUFDL0MsNkRBQThEO0FBRTlELDhFQUErRTtBQUMvRSwrQ0FBZ0Q7QUFLaEQsU0FBUyxLQUFLLENBQUMsT0FBeUM7SUFDdEQsTUFBTSxLQUFLLG1CQUNULE1BQU0sRUFBRSxJQUFJLEVBQ1oscUJBQXFCLEVBQUUsSUFBSSxFQUMzQixJQUFJLEVBQUUsK0JBQWdCLENBQUMsYUFBYSxFQUNwQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFDckMsT0FBTyxDQUNYLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyw2QkFBWSxDQUFDLE1BQU0sQ0FBQyw4QkFBQyw0QkFBa0Isb0JBQUssS0FBSyxFQUFJLENBQUMsQ0FBQztJQUV2RSxPQUFPO1FBQ0wsS0FBSztRQUNMLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQztBQUVELFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzFCLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLEVBQUU7UUFDdEMsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEdBQUcsRUFBRTtZQUM5QyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtZQUM3RCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixJQUFJLEVBQUUsK0JBQWdCLENBQUMsWUFBWTtnQkFDbkMsTUFBTSxFQUFFLElBQUk7Z0JBQ1oscUJBQXFCLEVBQUUsSUFBSTthQUM1QixDQUFDLENBQUM7WUFDSCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDckMsSUFBSSxFQUFFLCtCQUFnQixDQUFDLFlBQVk7YUFDcEMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtZQUNsRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztZQUNqRSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMseUNBQXlDLEVBQUUsR0FBRyxFQUFFO1lBQ2pELElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNuQixNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksRUFBRSwrQkFBZ0IsQ0FBQyxZQUFZO2dCQUNuQyxNQUFNLEVBQUUsSUFBSTtnQkFDWixxQkFBcUIsRUFBRSxJQUFJO2dCQUMzQixRQUFRLEVBQUUsUUFBUTthQUNuQixDQUFDLENBQUM7WUFFSCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9tb2RhbHMvQ3Jvc3NCdXN5SW5kaWNhdG9yLnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgQ3Jvc3NTcGlubmVyVHlwZSB9IGZyb20gJy4uL2FuaW1hdGlvbnMvQ3Jvc3NTcGlubmVyJztcblxuaW1wb3J0IENyb3NzQnVzeUluZGljYXRvciwgeyBJQnVzeUluZGljYXRvclByb3BzIH0gZnJvbSAnLi9Dcm9zc0J1c3lJbmRpY2F0b3InO1xuaW1wb3J0IHsgVG91Y2hhYmxlT3BhY2l0eSB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmplc3QudW5tb2NrKCdyZWFjdC1uYXRpdmUnKTtcbmplc3QudW5tb2NrKCcuL0Nyb3NzQnVzeUluZGljYXRvcicpO1xuXG5mdW5jdGlvbiBzZXR1cChvcHRpb25zPzogSUJ1c3lJbmRpY2F0b3JQcm9wcyB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBwcm9wczogSUJ1c3lJbmRpY2F0b3JQcm9wcyA9IHtcbiAgICBpc0J1c3k6IHRydWUsXG4gICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuQmFsbEluZGljYXRvcixcbiAgICBvbkNhbmNlbDogKCkgPT4gY29uc29sZS5sb2coJ0NhbmNlbGxlZCcpLFxuICAgIC4uLm9wdGlvbnMsXG4gIH07XG5cbiAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoPENyb3NzQnVzeUluZGljYXRvciB7Li4ucHJvcHN9IC8+KTtcblxuICByZXR1cm4ge1xuICAgIHByb3BzLFxuICAgIHdyYXBwZXIsXG4gIH07XG59XG5cbmRlc2NyaWJlKCdjb21wb25lbnRzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnPENyb3NzQnVzeUluZGljYXRvciAvPicsICgpID0+IHtcbiAgICBpdCgnU2hvdWxkIHJlbmRlciBzZWxmIGFuZCBzdWJjb21wb25lbnRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCgpO1xuICAgICAgZXhwZWN0KHdyYXBwZXIudG9KU09OKCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYXZlIDxDcm9zc1NwaW5uZXIgLz4gb2YgdHlwZSBcIkRvdEluZGljYXRvclwiJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCh7XG4gICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuRG90SW5kaWNhdG9yLFxuICAgICAgICBpc0J1c3k6IHRydWUsXG4gICAgICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoe1xuICAgICAgICB0eXBlOiBDcm9zc1NwaW5uZXJUeXBlLkRvdEluZGljYXRvcixcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGNoaWxkKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYXZlIDxUZXh0IC8+IHdpdGggdmFsdWUgXCJDYW5jZWxcIicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKHsgdGVzdElEOiAnY2FuY2VsVGV4dCcgfSk7XG4gICAgICBjb25zb2xlLmxvZygndGV4dCBjaGlsZCcsIGNoaWxkKTtcbiAgICAgIGNvbnNvbGUubG9nKCdwcm9wcycsIGNoaWxkLnByb3BzKTtcbiAgICAgIGV4cGVjdChjaGlsZC5jaGlsZHJlbi5qb2luKCkpLnRvQmUoJ0NhbmNlbCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ0NhbmNlbCBidXR0b24gb25DYW5jZWwgc2hvdWxkIGJlIGNhbGxlZCcsICgpID0+IHtcbiAgICAgIGxldCBjYWxsZWQgPSBmYWxzZTtcbiAgICAgIGNvbnN0IG9uQ2FsbGVkID0gKCkgPT4gKGNhbGxlZCA9ICFjYWxsZWQpO1xuXG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKHtcbiAgICAgICAgdHlwZTogQ3Jvc3NTcGlubmVyVHlwZS5Eb3RJbmRpY2F0b3IsXG4gICAgICAgIGlzQnVzeTogdHJ1ZSxcbiAgICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgICAgICBvbkNhbmNlbDogb25DYWxsZWQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShUb3VjaGFibGVPcGFjaXR5KTtcbiAgICAgIGNoaWxkLnByb3BzLm9uUHJlc3MoKTtcbiAgICAgIGV4cGVjdChjYWxsZWQpLnRvQmVUcnV0aHkoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ==