react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
69 lines • 11.1 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('./CrossButton');
const react_1 = __importDefault(require("react"));
const CrossButton_1 = __importDefault(require("./CrossButton"));
const react_test_renderer_1 = __importDefault(require("react-test-renderer"));
const styles_1 = require("../../styles");
function setup(iconName, title, size) {
return react_test_renderer_1.default.create(react_1.default.createElement(CrossButton_1.default, { iconName: iconName, title: title, color: 'blue', onPress: jest.fn(), size: size || 64 }));
}
describe('components', () => {
/**
* Test component rendering. Properties of children might be tested by importing their type:
*```
const btn = wrapper.root.findByType(Button); // or findByProps({ mode: 'text' });
expect(btn.props.title).toBe('child');
```
*/
describe('<CrossButton />', () => {
describe('With `title` and `iconName` properties provided', () => {
it('Component should render', () => {
const wrapper = setup('home', 'home');
expect(wrapper.toJSON()).toMatchSnapshot();
});
it('Should have paper <Button />', () => {
const wrapper = setup('home', 'home');
const child = wrapper.root.findByProps({ color: styles_1.Colors.NextButton });
expect(child.type).toEqual('View');
});
it('Should have paper `<Button />` with `mode` property set to "text"', () => {
const wrapper = setup('home', 'home');
const child = wrapper.root.findByProps({ mode: 'text' });
expect(child).toBeDefined();
});
it('Should have paper `<FontAwesome />` icon with `size` property set to `99`', () => {
const wrapper = setup('home', 'home', 99);
const child = wrapper.root.findByProps({ size: 99 });
console.log('');
expect(child.props.color).toEqual('blue');
});
it('Should have paper `<FontAwesome />` icon with `size` property set to `99`', () => {
const wrapper = setup('home', 'home', 99);
const child = wrapper.root.findByProps({ size: 99 });
expect(child).toBeDefined();
});
});
describe('With `iconName` but without `title` property provided', () => {
it('Component should render', () => {
const wrapper = setup('map', undefined);
expect(wrapper.toJSON()).toMatchSnapshot();
});
it('Should have `<FontAwesome.Button />`', () => {
const wrapper = setup('map', undefined);
const child = wrapper.root.findByProps({ name: 'map' });
expect(child).toBeDefined();
});
it('Should have `<FontAwesome.Button />` with `iconName`', () => {
const wrapper = setup('map', undefined);
const child = wrapper.root.findByProps({ color: styles_1.Colors.CrossBlack });
expect(child.props.name).toBe('map');
});
});
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvYnV0dG9ucy9Dcm9zc0J1dHRvbi50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQWVBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQWhCN0Isa0RBQTBCO0FBQzFCLGdFQUF3QztBQUN4Qyw4RUFBK0M7QUFDL0MseUNBQXNDO0FBRXRDLFNBQVMsS0FBSyxDQUFDLFFBQWdCLEVBQUUsS0FBVyxFQUFFLElBQWE7SUFDekQsT0FBTyw2QkFBWSxDQUFDLE1BQU0sQ0FDeEIsOEJBQUMscUJBQVcsSUFBQyxRQUFRLEVBQUUsUUFBUSxFQUMvQixLQUFLLEVBQUUsS0FBSyxFQUNaLEtBQUssRUFBQyxNQUFNLEVBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFDbEIsSUFBSSxFQUFFLElBQUksSUFBRSxFQUFFLEdBQUksQ0FDbkIsQ0FBQztBQUNKLENBQUM7QUFLRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQjs7Ozs7O09BTUc7SUFDSCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLFFBQVEsQ0FBQyxpREFBaUQsRUFBRSxHQUFHLEVBQUU7WUFDL0QsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtnQkFDakMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtnQkFDdEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFB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LENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL2J1dHRvbnMvQ3Jvc3NCdXR0b24udGVzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDcm9zc0J1dHRvbiBmcm9tICcuL0Nyb3NzQnV0dG9uJztcbmltcG9ydCBUZXN0UmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5pbXBvcnQgeyBDb2xvcnMgfSBmcm9tICcuLi8uLi9zdHlsZXMnO1xuXG5mdW5jdGlvbiBzZXR1cChpY29uTmFtZTogc3RyaW5nLCB0aXRsZT86IGFueSwgc2l6ZT86IG51bWJlcikge1xuICByZXR1cm4gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbiAgICA8Q3Jvc3NCdXR0b24gaWNvbk5hbWU9e2ljb25OYW1lfSBcbiAgICB0aXRsZT17dGl0bGV9IFxuICAgIGNvbG9yPSdibHVlJ1xuICAgIG9uUHJlc3M9e2plc3QuZm4oKX0gXG4gICAgc2l6ZT17c2l6ZXx8NjR9IC8+XG4gICk7XG59XG5cbmplc3QudW5tb2NrKCdyZWFjdC1uYXRpdmUnKTtcbmplc3QudW5tb2NrKCcuL0Nyb3NzQnV0dG9uJyk7XG5cbmRlc2NyaWJlKCdjb21wb25lbnRzJywgKCkgPT4ge1xuICAvKipcbiAgICogVGVzdCBjb21wb25lbnQgcmVuZGVyaW5nLiBQcm9wZXJ0aWVzIG9mIGNoaWxkcmVuIG1pZ2h0IGJlIHRlc3RlZCBieSBpbXBvcnRpbmcgdGhlaXIgdHlwZTpcbiAgICpgYGBcbiAgICAgIGNvbnN0IGJ0biA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKEJ1dHRvbik7IC8vIG9yIGZpbmRCeVByb3BzKHsgbW9kZTogJ3RleHQnIH0pO1xuICAgICAgZXhwZWN0KGJ0bi5wcm9wcy50aXRsZSkudG9CZSgnY2hpbGQnKTtcbiAgICAgIGBgYFxuICAgKi9cbiAgZGVzY3JpYmUoJzxDcm9zc0J1dHRvbiAvPicsICgpID0+IHtcbiAgICBkZXNjcmliZSgnV2l0aCBgdGl0bGVgIGFuZCBgaWNvbk5hbWVgIHByb3BlcnRpZXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBpdCgnQ29tcG9uZW50IHNob3VsZCByZW5kZXInLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnaG9tZScsICdob21lJyk7XG4gICAgICAgIGV4cGVjdCh3cmFwcGVyLnRvSlNPTigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnU2hvdWxkIGhhdmUgcGFwZXIgPEJ1dHRvbiAvPicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdob21lJywgJ2hvbWUnKTtcbiAgICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoeyBjb2xvcjogQ29sb3JzLk5leHRCdXR0b24gfSk7XG4gICAgICAgIGV4cGVjdChjaGlsZC50eXBlKS50b0VxdWFsKCdWaWV3Jyk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIHBhcGVyIGA8QnV0dG9uIC8+YCB3aXRoIGBtb2RlYCBwcm9wZXJ0eSBzZXQgdG8gXCJ0ZXh0XCInLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnaG9tZScsICdob21lJyk7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKHsgbW9kZTogJ3RleHQnIH0pO1xuICAgICAgICBleHBlY3QoY2hpbGQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIHBhcGVyIGA8Rm9udEF3ZXNvbWUgLz5gIGljb24gd2l0aCBgc2l6ZWAgcHJvcGVydHkgc2V0IHRvIGA5OWAnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnaG9tZScsICdob21lJywgOTkpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IHNpemU6IDk5IH0pO1xuICAgICAgICBjb25zb2xlLmxvZygnJylcbiAgICAgICAgZXhwZWN0KGNoaWxkLnByb3BzLmNvbG9yKS50b0VxdWFsKCdibHVlJyk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIHBhcGVyIGA8Rm9udEF3ZXNvbWUgLz5gIGljb24gd2l0aCBgc2l6ZWAgcHJvcGVydHkgc2V0IHRvIGA5OWAnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnaG9tZScsICdob21lJywgOTkpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IHNpemU6IDk5IH0pO1xuICAgICAgICBleHBlY3QoY2hpbGQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdXaXRoIGBpY29uTmFtZWAgYnV0IHdpdGhvdXQgYHRpdGxlYCBwcm9wZXJ0eSBwcm92aWRlZCcsICgpID0+IHtcbiAgICAgIGl0KCdDb21wb25lbnQgc2hvdWxkIHJlbmRlcicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdtYXAnLCB1bmRlZmluZWQpO1xuICAgICAgICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIGA8Rm9udEF3ZXNvbWUuQnV0dG9uIC8+YCcsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdtYXAnLCB1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IG5hbWU6ICdtYXAnIH0pO1xuICAgICAgICBleHBlY3QoY2hpbGQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIGA8Rm9udEF3ZXNvbWUuQnV0dG9uIC8+YCB3aXRoIGBpY29uTmFtZWAnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnbWFwJywgdW5kZWZpbmVkKTtcbiAgICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoeyBjb2xvcjogQ29sb3JzLkNyb3NzQmxhY2sgfSk7XG4gICAgICAgIGV4cGVjdChjaGlsZC5wcm9wcy5uYW1lKS50b0JlKCdtYXAnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sInZlcnNpb24iOjN9