react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
83 lines • 11.5 kB
JavaScript
"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");
const react_native_modal_1 = __importDefault(require("react-native-modal"));
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();
});
it('Modal should have "swipeDirection" with value "up"', () => {
const { wrapper } = setup({
type: 'DotIndicator',
isBusy: true,
isCancelButtonVisible: true,
modalProps: {
swipeDirection: 'up',
},
});
const child = wrapper.root.findByType(react_native_modal_1.default)
.children[0];
console.log('Modal', child);
expect(child.props.swipeDirection).toBe('up');
});
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQVFBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7QUFWOUMsa0RBQTBCO0FBQzFCLDhFQUFzRTtBQUd0RSw4RUFBK0U7QUFDL0UsK0NBQXNEO0FBQ3RELDRFQUF1QztBQU12QyxTQUFTLEtBQUssQ0FBQyxPQUF5QztJQUN0RCxNQUFNLEtBQUssbUJBQ1QsTUFBTSxFQUFFLElBQUksRUFDWixxQkFBcUIsRUFBRSxJQUFJLEVBQzNCLElBQUksRUFBRSxlQUFlLEVBQ3JCLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUNyQyxPQUFPLENBQ1gsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLDZCQUFZLENBQUMsTUFBTSxDQUFDLDhCQUFDLDRCQUFrQixvQkFBSyxLQUFLLEVBQUksQ0FBQyxDQUFDO0lBRXZFLE9BQU87UUFDTCxLQUFLO1FBQ0wsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDO0FBRUQsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDMUIsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUN0QyxFQUFFLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO1lBQzlDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxF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Q0FBQyxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFRlc3RSZW5kZXJlciwgeyBSZWFjdFRlc3RJbnN0YW5jZSB9IGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IENyb3NzQnVzeUluZGljYXRvciwgeyBJQnVzeUluZGljYXRvclByb3BzIH0gZnJvbSAnLi9Dcm9zc0J1c3lJbmRpY2F0b3InO1xuaW1wb3J0IHsgVG91Y2hhYmxlT3BhY2l0eSwgVGV4dCB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5pbXBvcnQgTW9kYWwgZnJvbSAncmVhY3QtbmF0aXZlLW1vZGFsJztcblxuamVzdC51bm1vY2soJ3JlYWN0LW5hdGl2ZScpO1xuamVzdC51bm1vY2soJy4vQ3Jvc3NCdXN5SW5kaWNhdG9yJyk7XG5qZXN0Lm1vY2soJ3JlYWN0LW5hdGl2ZS1tb2RhbCcsICgpID0+ICdWaWV3Jyk7XG5cbmZ1bmN0aW9uIHNldHVwKG9wdGlvbnM/OiBJQnVzeUluZGljYXRvclByb3BzIHwgdW5kZWZpbmVkKSB7XG4gIGNvbnN0IHByb3BzOiBJQnVzeUluZGljYXRvclByb3BzID0ge1xuICAgIGlzQnVzeTogdHJ1ZSxcbiAgICBpc0NhbmNlbEJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgdHlwZTogJ0JhbGxJbmRpY2F0b3InLFxuICAgIG9uQ2FuY2VsOiAoKSA9PiBjb25zb2xlLmxvZygnQ2FuY2VsbGVkJyksXG4gICAgLi4ub3B0aW9ucyxcbiAgfTtcblxuICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZSg8Q3Jvc3NCdXN5SW5kaWNhdG9yIHsuLi5wcm9wc30gLz4pO1xuXG4gIHJldHVybiB7XG4gICAgcHJvcHMsXG4gICAgd3JhcHBlcixcbiAgfTtcbn1cblxuZGVzY3JpYmUoJ2NvbXBvbmVudHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCc8Q3Jvc3NCdXN5SW5kaWNhdG9yIC8+JywgKCkgPT4ge1xuICAgIGl0KCdTaG91bGQgcmVuZGVyIHNlbGYgYW5kIHN1YmNvbXBvbmVudHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKCk7XG4gICAgICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIG5vdCBoYXZlIDxNb2RhbCAvPiB3aGVuIGBpc0J1c3lgIGlzIGBmYWxzZWAnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHdyYXBwZXIsIHByb3BzIH0gPSBzZXR1cCh7XG4gICAgICAgIHR5cGU6ICdEb3RJbmRpY2F0b3InLFxuICAgICAgICBpc0J1c3k6IGZhbHNlLFxuICAgICAgICBpc0NhbmNlbEJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChwcm9wcy5pc0J1c3kpLnRvQmVGYWxzeSgpO1xuXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IHdyYXBwZXIucm9vdC5maW5kQWxsQnlQcm9wcyh7IHZpc2libGU6IGZhbHNlIH0pO1xuICAgICAgZXhwZWN0KGNoaWxkcmVuLmxlbmd0aCkudG9CZSgwKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGF2ZSA8Q3Jvc3NTcGlubmVyIC8+IG9mIHR5cGUgXCJEb3RJbmRpY2F0b3JcIicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoe1xuICAgICAgICB0eXBlOiAnRG90SW5kaWNhdG9yJyxcbiAgICAgICAgaXNCdXN5OiB0cnVlLFxuICAgICAgICBpc0NhbmNlbEJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKHtcbiAgICAgICAgdHlwZTogJ0RvdEluZGljYXRvcicsXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChjaGlsZCkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGF2ZSA8VGV4dCAvPiB3aXRoIHZhbHVlIFwiQ2FuY2VsXCInLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKCk7XG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQWxsQnlUeXBlKFRleHQpLnNsaWNlKC0xKVswXTtcbiAgICAgIGV4cGVjdChjaGlsZC5wcm9wcy5jaGlsZHJlbikudG9CZSgnQ2FuY2VsJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnQ2FuY2VsIGJ1dHRvbiBvbkNhbmNlbCBzaG91bGQgYmUgY2FsbGVkJywgKCkgPT4ge1xuICAgICAgbGV0IGNhbGxlZCA9IGZhbHNlO1xuICAgICAgY29uc3Qgb25DYWxsZWQgPSAoKSA9PiAoY2FsbGVkID0gIWNhbGxlZCk7XG5cbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoe1xuICAgICAgICB0eXBlOiAnRG90SW5kaWNhdG9yJyxcbiAgICAgICAgaXNCdXN5OiB0cnVlLFxuICAgICAgICBpc0NhbmNlbEJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgICAgIG9uQ2FuY2VsOiBvbkNhbGxlZCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKFRvdWNoYWJsZU9wYWNpdHkpO1xuICAgICAgY2hpbGQucHJvcHMub25QcmVzcygpO1xuICAgICAgZXhwZWN0KGNhbGxlZCkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ01vZGFsIHNob3VsZCBoYXZlIFwic3dpcGVEaXJlY3Rpb25cIiB3aXRoIHZhbHVlIFwidXBcIicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoe1xuICAgICAgICB0eXBlOiAnRG90SW5kaWNhdG9yJyxcbiAgICAgICAgaXNCdXN5OiB0cnVlLFxuICAgICAgICBpc0NhbmNlbEJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgICAgIG1vZGFsUHJvcHM6IHtcbiAgICAgICAgICBzd2lwZURpcmVjdGlvbjogJ3VwJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKE1vZGFsKVxuICAgICAgICAuY2hpbGRyZW5bMF0gYXMgUmVhY3RUZXN0SW5zdGFuY2U7XG4gICAgICBjb25zb2xlLmxvZygnTW9kYWwnLCBjaGlsZCk7XG4gICAgICBleHBlY3QoY2hpbGQucHJvcHMuc3dpcGVEaXJlY3Rpb24pLnRvQmUoJ3VwJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30=