react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
68 lines • 9.62 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');
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");
const react_native_paper_1 = require("react-native-paper");
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 } = setup({
type: CrossSpinner_1.CrossSpinnerType.DotIndicator,
isBusy: false,
isCancelButtonVisible: true,
});
const child = wrapper.root.findByType(react_native_paper_1.Modal);
expect(child).toBeUndefined();
});
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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQVNBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBVnBDLGtEQUEwQjtBQUMxQiw4RUFBK0M7QUFDL0MsNkRBQThEO0FBRzlELDhFQUErRTtBQUMvRSwrQ0FBc0Q7QUFDdEQsMkRBQTJDO0FBSzNDLFNBQVMsS0FBSyxDQUFDLE9BQXlDO0lBQ3RELE1BQU0sS0FBSyxtQkFDVCxNQUFNLEVBQUUsSUFBSSxFQUNaLHFCQUFxQixFQUFFLElBQUksRUFDM0IsSUFBSSxFQUFFLCtCQUFnQixDQUFDLGFBQWEsRUFDcEMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQ3JDLE9BQU8sQ0FDWCxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsNkJBQVksQ0FBQyxNQUFNLENBQUMsOEJBQUMsNEJBQWtCLG9CQUFLLEtBQUssRUFBSSxDQUFDLENBQUM7SUFFdkUsT0FBTztRQUNMLEtBQUs7UUFDTCxPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUM7QUFFRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQixRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO1FBQ3RDLEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7WUFDOUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxvREFBb0QsRUFBRSxHQUFHLEVBQUU7WUFDNUQsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxFQUFFLCtCQUFnQixDQUFDLFlBQVk7Z0JBQ25DLE1BQU0sRUFBRSxLQUFLO2dCQUNiLHFCQUFxQixFQUFFLElBQUk7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsMEJBQUssQ0FBQyxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7WUFDN0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxFQUFFLCtCQUFnQixDQUFDLFlBQVk7Z0JBQ25DLE1BQU0sRUFBRSxJQUFJO2dCQUNaLHFCQUFxQixFQUFFLElBQUk7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3JDLElBQUksRUFBRSwrQkFBZ0IsQ0FBQyxZQUFZO2FBQ3BDLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxHQUFHLEVBQUU7WUFDbEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1RCxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMseUNBQXlDLEVBQUUsR0FBRyxFQUFFO1lBQ2pELElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNuQixNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksRUFBRSwrQkFBZ0IsQ0FBQyxZQUFZO2dCQUNuQyxNQUFNLEVBQUUsSUFBSTtnQkFDWixxQkFBcUIsRUFBRSxJQUFJO2dCQUMzQixRQUFRLEVBQUUsUUFBUTthQUNuQixDQUFDLENBQUM7WUFFSCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9tb2RhbHMvQ3Jvc3NCdXN5SW5kaWNhdG9yLnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgQ3Jvc3NTcGlubmVyVHlwZSB9IGZyb20gJy4uL2FuaW1hdGlvbnMvQ3Jvc3NTcGlubmVyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCBDcm9zc0J1c3lJbmRpY2F0b3IsIHsgSUJ1c3lJbmRpY2F0b3JQcm9wcyB9IGZyb20gJy4vQ3Jvc3NCdXN5SW5kaWNhdG9yJztcbmltcG9ydCB7IFRvdWNoYWJsZU9wYWNpdHksIFRleHQgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICdyZWFjdC1uYXRpdmUtcGFwZXInO1xuXG5qZXN0LnVubW9jaygncmVhY3QtbmF0aXZlJyk7XG5qZXN0LnVubW9jaygnLi9Dcm9zc0J1c3lJbmRpY2F0b3InKTtcblxuZnVuY3Rpb24gc2V0dXAob3B0aW9ucz86IElCdXN5SW5kaWNhdG9yUHJvcHMgfCB1bmRlZmluZWQpIHtcbiAgY29uc3QgcHJvcHM6IElCdXN5SW5kaWNhdG9yUHJvcHMgPSB7XG4gICAgaXNCdXN5OiB0cnVlLFxuICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICB0eXBlOiBDcm9zc1NwaW5uZXJUeXBlLkJhbGxJbmRpY2F0b3IsXG4gICAgb25DYW5jZWw6ICgpID0+IGNvbnNvbGUubG9nKCdDYW5jZWxsZWQnKSxcbiAgICAuLi5vcHRpb25zLFxuICB9O1xuXG4gIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKDxDcm9zc0J1c3lJbmRpY2F0b3Igey4uLnByb3BzfSAvPik7XG5cbiAgcmV0dXJuIHtcbiAgICBwcm9wcyxcbiAgICB3cmFwcGVyLFxuICB9O1xufVxuXG5kZXNjcmliZSgnY29tcG9uZW50cycsICgpID0+IHtcbiAgZGVzY3JpYmUoJzxDcm9zc0J1c3lJbmRpY2F0b3IgLz4nLCAoKSA9PiB7XG4gICAgaXQoJ1Nob3VsZCByZW5kZXIgc2VsZiBhbmQgc3ViY29tcG9uZW50cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoKTtcbiAgICAgIGV4cGVjdCh3cmFwcGVyLnRvSlNPTigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgbm90IGhhdmUgPE1vZGFsIC8+IHdoZW4gYGlzQnVzeWAgaXMgYGZhbHNlYCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoe1xuICAgICAgICB0eXBlOiBDcm9zc1NwaW5uZXJUeXBlLkRvdEluZGljYXRvcixcbiAgICAgICAgaXNCdXN5OiBmYWxzZSxcbiAgICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKE1vZGFsKTtcbiAgICAgIGV4cGVjdChjaGlsZCkudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYXZlIDxDcm9zc1NwaW5uZXIgLz4gb2YgdHlwZSBcIkRvdEluZGljYXRvclwiJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCh7XG4gICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuRG90SW5kaWNhdG9yLFxuICAgICAgICBpc0J1c3k6IHRydWUsXG4gICAgICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoe1xuICAgICAgICB0eXBlOiBDcm9zc1NwaW5uZXJUeXBlLkRvdEluZGljYXRvcixcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGNoaWxkKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYXZlIDxUZXh0IC8+IHdpdGggdmFsdWUgXCJDYW5jZWxcIicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRBbGxCeVR5cGUoVGV4dCkuc2xpY2UoLTEpWzBdO1xuICAgICAgZXhwZWN0KGNoaWxkLnByb3BzLmNoaWxkcmVuKS50b0JlKCdDYW5jZWwnKTtcbiAgICB9KTtcblxuICAgIGl0KCdDYW5jZWwgYnV0dG9uIG9uQ2FuY2VsIHNob3VsZCBiZSBjYWxsZWQnLCAoKSA9PiB7XG4gICAgICBsZXQgY2FsbGVkID0gZmFsc2U7XG4gICAgICBjb25zdCBvbkNhbGxlZCA9ICgpID0+IChjYWxsZWQgPSAhY2FsbGVkKTtcblxuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCh7XG4gICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuRG90SW5kaWNhdG9yLFxuICAgICAgICBpc0J1c3k6IHRydWUsXG4gICAgICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgb25DYW5jZWw6IG9uQ2FsbGVkLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoVG91Y2hhYmxlT3BhY2l0eSk7XG4gICAgICBjaGlsZC5wcm9wcy5vblByZXNzKCk7XG4gICAgICBleHBlY3QoY2FsbGVkKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30=