react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
59 lines • 8.28 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(child.props);
expect(child.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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQU9BLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBUnBDLGtEQUEwQjtBQUMxQiw4RUFBK0M7QUFDL0MsNkRBQThEO0FBRTlELDhFQUErRTtBQUMvRSwrQ0FBZ0Q7QUFLaEQsU0FBUyxLQUFLLENBQUMsT0FBeUM7SUFDdEQsTUFBTSxLQUFLLG1CQUNULE1BQU0sRUFBRSxJQUFJLEVBQ1oscUJBQXFCLEVBQUUsSUFBSSxFQUMzQixJQUFJLEVBQUUsK0JBQWdCLENBQUMsYUFBYSxFQUNwQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFDckMsT0FBTyxDQUNYLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyw2QkFBWSxDQUFDLE1BQU0sQ0FBQyw4QkFBQyw0QkFBa0Isb0JBQUssS0FBSyxFQUFJLENBQUMsQ0FBQztJQUV2RSxPQUFPO1FBQ0wsS0FBSztRQUNMLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQztBQUVELFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzFCLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLEVBQUU7UUFDdEMsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEdBQUcsRUFBRTtZQUM5QyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtZQUM3RCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixJQUFJLEVBQUUsK0JBQWdCLENBQUMsWUFBWTtnQkFDbkMsTUFBTSxFQUFFLElBQUk7Z0JBQ1oscUJBQXFCLEVBQUUsSUFBSTthQUM1QixDQUFDLENBQUM7WUFDSCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDckMsSUFBSSxFQUFFLCtCQUFnQixDQUFDLFlBQVk7YUFDcEMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtZQUNsRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztZQUNqRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7WUFDakQsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ25CLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFMUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxFQUFFLCtCQUFnQixDQUFDLFlBQVk7Z0JBQ25DLE1BQU0sRUFBRSxJQUFJO2dCQUNaLHFCQUFxQixFQUFFLElBQUk7Z0JBQzNCLFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUMsQ0FBQztZQUVILE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLCtCQUFnQixDQUFDLENBQUM7WUFDeEQsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL21vZGFscy9Dcm9zc0J1c3lJbmRpY2F0b3IudGVzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUZXN0UmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5pbXBvcnQgeyBDcm9zc1NwaW5uZXJUeXBlIH0gZnJvbSAnLi4vYW5pbWF0aW9ucy9Dcm9zc1NwaW5uZXInO1xuXG5pbXBvcnQgQ3Jvc3NCdXN5SW5kaWNhdG9yLCB7IElCdXN5SW5kaWNhdG9yUHJvcHMgfSBmcm9tICcuL0Nyb3NzQnVzeUluZGljYXRvcic7XG5pbXBvcnQgeyBUb3VjaGFibGVPcGFjaXR5IH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuamVzdC51bm1vY2soJ3JlYWN0LW5hdGl2ZScpO1xuamVzdC51bm1vY2soJy4vQ3Jvc3NCdXN5SW5kaWNhdG9yJyk7XG5cbmZ1bmN0aW9uIHNldHVwKG9wdGlvbnM/OiBJQnVzeUluZGljYXRvclByb3BzIHwgdW5kZWZpbmVkKSB7XG4gIGNvbnN0IHByb3BzOiBJQnVzeUluZGljYXRvclByb3BzID0ge1xuICAgIGlzQnVzeTogdHJ1ZSxcbiAgICBpc0NhbmNlbEJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgdHlwZTogQ3Jvc3NTcGlubmVyVHlwZS5CYWxsSW5kaWNhdG9yLFxuICAgIG9uQ2FuY2VsOiAoKSA9PiBjb25zb2xlLmxvZygnQ2FuY2VsbGVkJyksXG4gICAgLi4ub3B0aW9ucyxcbiAgfTtcblxuICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZSg8Q3Jvc3NCdXN5SW5kaWNhdG9yIHsuLi5wcm9wc30gLz4pO1xuXG4gIHJldHVybiB7XG4gICAgcHJvcHMsXG4gICAgd3JhcHBlcixcbiAgfTtcbn1cblxuZGVzY3JpYmUoJ2NvbXBvbmVudHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCc8Q3Jvc3NCdXN5SW5kaWNhdG9yIC8+JywgKCkgPT4ge1xuICAgIGl0KCdTaG91bGQgcmVuZGVyIHNlbGYgYW5kIHN1YmNvbXBvbmVudHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKCk7XG4gICAgICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhdmUgPENyb3NzU3Bpbm5lciAvPiBvZiB0eXBlIFwiRG90SW5kaWNhdG9yXCInLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHdyYXBwZXIgfSA9IHNldHVwKHtcbiAgICAgICAgdHlwZTogQ3Jvc3NTcGlubmVyVHlwZS5Eb3RJbmRpY2F0b3IsXG4gICAgICAgIGlzQnVzeTogdHJ1ZSxcbiAgICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7XG4gICAgICAgIHR5cGU6IENyb3NzU3Bpbm5lclR5cGUuRG90SW5kaWNhdG9yLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QoY2hpbGQpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhhdmUgPFRleHQgLz4gd2l0aCB2YWx1ZSBcIkNhbmNlbFwiJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyB3cmFwcGVyIH0gPSBzZXR1cCgpO1xuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoeyB0ZXN0SUQ6ICdjYW5jZWxUZXh0JyB9KTtcbiAgICAgIGNvbnNvbGUubG9nKGNoaWxkLnByb3BzKTtcbiAgICAgIGV4cGVjdChjaGlsZC5jaGlsZHJlbikudG9CZSgnQ2FuY2VsJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnQ2FuY2VsIGJ1dHRvbiBvbkNhbmNlbCBzaG91bGQgYmUgY2FsbGVkJywgKCkgPT4ge1xuICAgICAgbGV0IGNhbGxlZCA9IGZhbHNlO1xuICAgICAgY29uc3Qgb25DYWxsZWQgPSAoKSA9PiAoY2FsbGVkID0gIWNhbGxlZCk7XG5cbiAgICAgIGNvbnN0IHsgd3JhcHBlciB9ID0gc2V0dXAoe1xuICAgICAgICB0eXBlOiBDcm9zc1NwaW5uZXJUeXBlLkRvdEluZGljYXRvcixcbiAgICAgICAgaXNCdXN5OiB0cnVlLFxuICAgICAgICBpc0NhbmNlbEJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgICAgIG9uQ2FuY2VsOiBvbkNhbGxlZCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKFRvdWNoYWJsZU9wYWNpdHkpO1xuICAgICAgY2hpbGQucHJvcHMub25QcmVzcygpO1xuICAgICAgZXhwZWN0KGNhbGxlZCkudG9CZVRydXRoeSgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sInZlcnNpb24iOjN9