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({ mode: 'text' });
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('<FontAwesome> icon props', child.props);
expect(child.props.color).toBe('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({ name: 'map' });
expect(child.props.style).toBe(styles_1.styles.container);
});
});
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvYnV0dG9ucy9Dcm9zc0J1dHRvbi50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQWVBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQWhCN0Isa0RBQTBCO0FBQzFCLGdFQUF3QztBQUN4Qyw4RUFBK0M7QUFDL0MseUNBQXNDO0FBRXRDLFNBQVMsS0FBSyxDQUFDLFFBQWdCLEVBQUUsS0FBVyxFQUFFLElBQWE7SUFDekQsT0FBTyw2QkFBWSxDQUFDLE1BQU0sQ0FDeEIsOEJBQUMscUJBQVcsSUFBQyxRQUFRLEVBQUUsUUFBUSxFQUMvQixLQUFLLEVBQUUsS0FBSyxFQUNaLEtBQUssRUFBQyxNQUFNLEVBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFDbEIsSUFBSSxFQUFFLElBQUksSUFBRSxFQUFFLEdBQUksQ0FDbkIsQ0FBQztBQUNKLENBQUM7QUFLRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQjs7Ozs7O09BTUc7SUFDSCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLFFBQVEsQ0FBQyxpREFBaUQsRUFBRSxHQUFHLEVBQUU7WUFDL0QsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtnQkFDakMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtnQkFDdEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFB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QUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9idXR0b25zL0Nyb3NzQnV0dG9uLnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ3Jvc3NCdXR0b24gZnJvbSAnLi9Dcm9zc0J1dHRvbic7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgc3R5bGVzIH0gZnJvbSAnLi4vLi4vc3R5bGVzJztcblxuZnVuY3Rpb24gc2V0dXAoaWNvbk5hbWU6IHN0cmluZywgdGl0bGU/OiBhbnksIHNpemU/OiBudW1iZXIpIHtcbiAgcmV0dXJuIFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgPENyb3NzQnV0dG9uIGljb25OYW1lPXtpY29uTmFtZX0gXG4gICAgdGl0bGU9e3RpdGxlfSBcbiAgICBjb2xvcj0nYmx1ZSdcbiAgICBvblByZXNzPXtqZXN0LmZuKCl9IFxuICAgIHNpemU9e3NpemV8fDY0fSAvPlxuICApO1xufVxuXG5qZXN0LnVubW9jaygncmVhY3QtbmF0aXZlJyk7XG5qZXN0LnVubW9jaygnLi9Dcm9zc0J1dHRvbicpO1xuXG5kZXNjcmliZSgnY29tcG9uZW50cycsICgpID0+IHtcbiAgLyoqXG4gICAqIFRlc3QgY29tcG9uZW50IHJlbmRlcmluZy4gUHJvcGVydGllcyBvZiBjaGlsZHJlbiBtaWdodCBiZSB0ZXN0ZWQgYnkgaW1wb3J0aW5nIHRoZWlyIHR5cGU6XG4gICAqYGBgXG4gICAgICBjb25zdCBidG4gPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShCdXR0b24pOyAvLyBvciBmaW5kQnlQcm9wcyh7IG1vZGU6ICd0ZXh0JyB9KTtcbiAgICAgIGV4cGVjdChidG4ucHJvcHMudGl0bGUpLnRvQmUoJ2NoaWxkJyk7XG4gICAgICBgYGBcbiAgICovXG4gIGRlc2NyaWJlKCc8Q3Jvc3NCdXR0b24gLz4nLCAoKSA9PiB7XG4gICAgZGVzY3JpYmUoJ1dpdGggYHRpdGxlYCBhbmQgYGljb25OYW1lYCBwcm9wZXJ0aWVzIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgaXQoJ0NvbXBvbmVudCBzaG91bGQgcmVuZGVyJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gc2V0dXAoJ2hvbWUnLCAnaG9tZScpO1xuICAgICAgICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIHBhcGVyIDxCdXR0b24gLz4nLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnaG9tZScsICdob21lJyk7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKHsgbW9kZTogJ3RleHQnIH0pO1xuICAgICAgICBleHBlY3QoY2hpbGQudHlwZSkudG9FcXVhbCgnVmlldycpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdTaG91bGQgaGF2ZSBwYXBlciBgPEJ1dHRvbiAvPmAgd2l0aCBgbW9kZWAgcHJvcGVydHkgc2V0IHRvIFwidGV4dFwiJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gc2V0dXAoJ2hvbWUnLCAnaG9tZScpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IG1vZGU6ICd0ZXh0JyB9KTtcbiAgICAgICAgZXhwZWN0KGNoaWxkKS50b0JlRGVmaW5lZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdTaG91bGQgaGF2ZSBwYXBlciBgPEZvbnRBd2Vzb21lIC8+YCBpY29uIHdpdGggYHNpemVgIHByb3BlcnR5IHNldCB0byBgOTlgJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gc2V0dXAoJ2hvbWUnLCAnaG9tZScsIDk5KTtcbiAgICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoeyBzaXplOiA5OSB9KTtcbiAgICAgICAgY29uc29sZS5sb2coJzxGb250QXdlc29tZT4gaWNvbiBwcm9wcycsIGNoaWxkLnByb3BzKTtcbiAgICAgICAgZXhwZWN0KGNoaWxkLnByb3BzLmNvbG9yKS50b0JlKCdibHVlJyk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIHBhcGVyIGA8Rm9udEF3ZXNvbWUgLz5gIGljb24gd2l0aCBgc2l6ZWAgcHJvcGVydHkgc2V0IHRvIGA5OWAnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnaG9tZScsICdob21lJywgOTkpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IHNpemU6IDk5IH0pO1xuICAgICAgICBleHBlY3QoY2hpbGQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdXaXRoIGBpY29uTmFtZWAgYnV0IHdpdGhvdXQgYHRpdGxlYCBwcm9wZXJ0eSBwcm92aWRlZCcsICgpID0+IHtcbiAgICAgIGl0KCdDb21wb25lbnQgc2hvdWxkIHJlbmRlcicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdtYXAnLCB1bmRlZmluZWQpO1xuICAgICAgICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIGA8Rm9udEF3ZXNvbWUuQnV0dG9uIC8+YCcsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdtYXAnLCB1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IG5hbWU6ICdtYXAnIH0pO1xuICAgICAgICBleHBlY3QoY2hpbGQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIGA8Rm9udEF3ZXNvbWUuQnV0dG9uIC8+YCB3aXRoIGBpY29uTmFtZWAnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnbWFwJywgdW5kZWZpbmVkKTtcbiAgICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoeyBuYW1lOiAnbWFwJyB9KTtcbiAgICAgICAgZXhwZWN0KGNoaWxkLnByb3BzLnN0eWxlKS50b0JlKHN0eWxlcy5jb250YWluZXIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30=