react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
67 lines • 9.6 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 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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQVFBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBVHBDLGtEQUEwQjtBQUMxQiw4RUFBK0M7QUFDL0MsNkRBQThEO0FBQzlELG9EQUF1QjtBQUV2Qiw4RUFBK0U7QUFDL0UsK0NBQXNEO0FBS3RELFNBQVMsS0FBSyxDQUFDLE9BQXlDO0lBQ3RELE1BQU0sS0FBSyxtQkFDVCxNQUFNLEVBQUUsSUFBSSxFQUNaLHFCQUFxQixFQUFFLElBQUksRUFDM0IsSUFBSSxFQUFFLCtCQUFnQixDQUFDLGFBQWEsRUFDcEMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQ3JDLE9BQU8sQ0FDWCxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsNkJBQVksQ0FBQyxNQUFNLENBQUMsOEJBQUMsNEJBQWtCLG9CQUFLLEtBQUssRUFBSSxDQUFDLENBQUM7SUFFdkUsT0FBTztRQUNMLEtBQUs7UUFDTCxPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUM7QUFFRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQixRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO1FBQ3RDLEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7WUFDOUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7WUFDN0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxFQUFFLCtCQUFnQixDQUFDLFlBQVk7Z0JBQ25DLE1BQU0sRUFBRSxJQUFJO2dCQUNaLHFCQUFxQixFQUFFLElBQUk7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3JDLElBQUksRUFBRSwrQkFBZ0IsQ0FBQyxZQUFZO2FBQ3BDLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNwRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdELDhDQUE4QztZQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0RCxJQUFJLGdCQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRTtnQkFDL0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3pEO2lCQUFLO2dCQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQTthQUN4QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlDQUF5QyxFQUFFLEdBQUcsRUFBRTtZQUNqRCxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDbkIsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUUxQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixJQUFJLEVBQUUsK0JBQWdCLENBQUMsWUFBWTtnQkFDbkMsTUFBTSxFQUFFLElBQUk7Z0JBQ1oscUJBQXFCLEVBQUUsSUFBSTtnQkFDM0IsUUFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsK0JBQWdCLENBQUMsQ0FBQztZQUN4RCxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tICdyZWFjdC10ZXN0LXJlbmRlcmVyJztcbmltcG9ydCB7IENyb3NzU3Bpbm5lclR5cGUgfSBmcm9tICcuLi9hbmltYXRpb25zL0Nyb3NzU3Bpbm5lcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgQ3Jvc3NCdXN5SW5kaWNhdG9yLCB7IElCdXN5SW5kaWNhdG9yUHJvcHMgfSBmcm9tICcuL0Nyb3NzQnVzeUluZGljYXRvcic7XG5pbXBvcnQgeyBUb3VjaGFibGVPcGFjaXR5LCBUZXh0IH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuamVzdC51bm1vY2soJ3JlYWN0LW5hdGl2ZScpO1xuamVzdC51bm1vY2soJy4vQ3Jvc3NCdXN5SW5kaWNhdG9yJyk7XG5cbmZ1bmN0aW9uIHNldHVwKG9wdGlvbnM/OiBJQnVzeUluZGljYXRvclByb3BzIHwgdW5kZWZpbmVkKSB7XG4gIGNvbnN0IHByb3BzOiBJQnVzeUluZGljYXRvclByb3BzID0ge1xuICAgIGlzQnVzeTogdHJ1ZSxcbiAgICBpc0NhbmNlbEJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgdHlwZTogQ3Jvc3NTcGlubmVyVHlwZS5CYWxsSW5kaWNhdG9yLFxuICAgIG9uQ2FuY2VsOiAoKSA9PiBjb25zb2xlLmxvZygnQ2FuY2VsbGVkJyksXG4gICAgLi4ub3B0aW9ucyxcbiAgfTtcblxuICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZSg8Q3Jvc3NCdXN5SW5kaWNhdG9yIHsuLi5wcm9wc30gLz4pO1xuXG4gIHJldHVybiB7XG4gICAgcHJvcHMsXG4gICAgd3JhcHBlcixcbiAgfTtcbn1cblxuZGVzY3JpYmUoJ2NvbXBvbmVudHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCc8Q3Jvc3NCdXN5SW5kaWNhdG9yIC8+JywgKCkgPT4ge1xuICAgIGl0KCdTaG91bGQgcmVuZGVyIHNlbGYgYW5kIHN1YmNvbXBvbmVudHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKCk7XG4gICAgICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhdmUgPENyb3NzU3Bpbm5lciAvPiBvZiB0eXBlIFwiRG90SW5kaWNhdG9yXCInLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKHtcbiAgICAgICAgdHlwZTogQ3Jvc3NTcGlubmVyVHlwZS5Eb3RJbmRpY2F0b3IsXG4gICAgICAgIGlzQnVzeTogdHJ1ZSxcbiAgICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7XG4gICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuRG90SW5kaWNhdG9yLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QoY2hpbGQpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhdmUgPFRleHQgLz4gd2l0aCB2YWx1ZSBcIkNhbmNlbFwiJywgZG9uZSA9PiB7XG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKCk7XG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQWxsQnlUeXBlKFRleHQpLnNsaWNlKC0xKVswXTtcbiAgICAgLy8gY29uc29sZS5sb2coJ3RleHQgY2hpbGQnLCBjaGlsZCB8fCAnbnVsbCcpO1xuICAgICAgY29uc29sZS5sb2coJ3Byb3BzJywgY2hpbGQgPyBjaGlsZC5wcm9wcyA6ICdub25lJyk7XG4gICAgICBjb25zb2xlLmxvZygnY2hpbGRyZW4gb2YgdGV4dCcsIGNoaWxkLnByb3BzLmNoaWxkcmVuKTtcbiAgICAgIGlmIChfLmdldChjaGlsZCwgWydwcm9wcycsICdjaGlsZHJlbicsICdqb2luJ10pKSB7XG4gICAgICAgIGV4cGVjdChjaGlsZC5wcm9wcy5jaGlsZHJlbi5qb2luKCkpLnRvQ29udGFpbignQ2FuY2VsJyk7XG4gICAgICB9IGVsc2V7XG4gICAgICAgZG9uZS5mYWlsKCdDb3VsZCBub3QgZmluZCBUZXh0IGVsZW1lbnQnKSBcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGl0KCdDYW5jZWwgYnV0dG9uIG9uQ2FuY2VsIHNob3VsZCBiZSBjYWxsZWQnLCAoKSA9PiB7XG4gICAgICBsZXQgY2FsbGVkID0gZmFsc2U7XG4gICAgICBjb25zdCBvbkNhbGxlZCA9ICgpID0+IChjYWxsZWQgPSAhY2FsbGVkKTtcblxuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCh7XG4gICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuRG90SW5kaWNhdG9yLFxuICAgICAgICBpc0J1c3k6IHRydWUsXG4gICAgICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgb25DYW5jZWw6IG9uQ2FsbGVkLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoVG91Y2hhYmxlT3BhY2l0eSk7XG4gICAgICBjaGlsZC5wcm9wcy5vblByZXNzKCk7XG4gICAgICBleHBlY3QoY2FsbGVkKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30=