react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
65 lines • 9.79 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 FontAwesome_1 = __importDefault(require("react-native-vector-icons/FontAwesome"));
const react_native_paper_1 = require("react-native-paper");
const react_test_renderer_1 = __importDefault(require("react-test-renderer"));
const styles_1 = require("../../styles");
function setup(iconName, title) {
return react_test_renderer_1.default.create(react_1.default.createElement(CrossButton_1.default, { iconName: iconName, title: title, onPress: jest.fn() }));
}
describe('components', () => {
/**
* Test component rendering. Properties of children might be tested by importing their type:
*```
const btn = wrapper.root.findByType(Button);
expect(btn.props.title).toBe('child');
```
*/
describe('<CrossButton />', () => {
describe('With `title` and `iconName` properties provided', () => {
it('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.findByType(react_native_paper_1.Button);
expect(child).toBeDefined();
});
it('With title should have paper <Button /> with `mode` "text"', () => {
const wrapper = setup('home', 'home');
const child = wrapper.root.findByProps({ mode: 'text' });
expect(child).toBeDefined();
});
it('With title should have paper <Button /> with `mode` "text"', () => {
const wrapper = setup('home', 'home');
const child = wrapper.root.findByProps({ mode: 'text' });
expect(child).toBeDefined();
});
});
describe('With `iconName` but without `title` property provided', () => {
it('Without title should render', () => {
const wrapper = setup('map', undefined);
expect(wrapper.toJSON()).toMatchSnapshot();
});
it('Without title should have <FontAwesome.Button />', () => {
const wrapper = setup('map', undefined);
const child = wrapper.root.findByType(FontAwesome_1.default.Button);
expect(child).toBeDefined();
});
it('Without title 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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvYnV0dG9ucy9Dcm9zc0J1dHRvbi50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQWFBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQWQ3QixrREFBMEI7QUFDMUIsZ0VBQXdDO0FBQ3hDLHdGQUFnRTtBQUNoRSwyREFBNEM7QUFDNUMsOEVBQStDO0FBQy9DLHlDQUFzQztBQUV0QyxTQUFTLEtBQUssQ0FBQyxRQUFnQixFQUFFLEtBQVc7SUFDMUMsT0FBTyw2QkFBWSxDQUFDLE1BQU0sQ0FDeEIsOEJBQUMscUJBQVcsSUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBSSxDQUN0RSxDQUFDO0FBQ0osQ0FBQztBQUtELFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzFCOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7UUFDL0IsUUFBUSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtZQUMvRCxFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtnQkFDdkIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtnQkFDdEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQU0sQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsNERBQTRELEVBQUUsR0FBRyxFQUFFO2dCQUNwRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsNERBQTRELEVBQUUsR0FBRyxFQUFFO2dCQUNwRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILFFBQVEsQ0FBQyx1REFBdUQsRUFBRSxHQUFHLEVBQUU7WUFDckUsRUFBRSxDQUFDLDZCQUE2QixFQUFFLEdBQUcsRUFBRTtnQkFDckMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtnQkFDMUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLGdFQUFnRSxFQUFFLEdBQUcsRUFBRTtnQkFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsZUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ3JFLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvVXNlcnMvdGhvbWFzL1NvdXJjZS9yZWFjdC1uYXRpdmUtY29yZS9zb3VyY2UvY29tcG9uZW50cy9idXR0b25zL0Nyb3NzQnV0dG9uLnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ3Jvc3NCdXR0b24gZnJvbSAnLi9Dcm9zc0J1dHRvbic7XG5pbXBvcnQgRm9udEF3ZXNvbWUgZnJvbSAncmVhY3QtbmF0aXZlLXZlY3Rvci1pY29ucy9Gb250QXdlc29tZSc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdyZWFjdC1uYXRpdmUtcGFwZXInO1xuaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tICdyZWFjdC10ZXN0LXJlbmRlcmVyJztcbmltcG9ydCB7IENvbG9ycyB9IGZyb20gJy4uLy4uL3N0eWxlcyc7XG5cbmZ1bmN0aW9uIHNldHVwKGljb25OYW1lOiBzdHJpbmcsIHRpdGxlPzogYW55KSB7XG4gIHJldHVybiBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgIDxDcm9zc0J1dHRvbiBpY29uTmFtZT17aWNvbk5hbWV9IHRpdGxlPXt0aXRsZX0gb25QcmVzcz17amVzdC5mbigpfSAvPlxuICApO1xufVxuXG5qZXN0LnVubW9jaygncmVhY3QtbmF0aXZlJyk7XG5qZXN0LnVubW9jaygnLi9Dcm9zc0J1dHRvbicpO1xuXG5kZXNjcmliZSgnY29tcG9uZW50cycsICgpID0+IHtcbiAgLyoqXG4gICAqIFRlc3QgY29tcG9uZW50IHJlbmRlcmluZy4gUHJvcGVydGllcyBvZiBjaGlsZHJlbiBtaWdodCBiZSB0ZXN0ZWQgYnkgaW1wb3J0aW5nIHRoZWlyIHR5cGU6XG4gICAqYGBgXG4gICAgICBjb25zdCBidG4gPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShCdXR0b24pO1xuICAgICAgZXhwZWN0KGJ0bi5wcm9wcy50aXRsZSkudG9CZSgnY2hpbGQnKTtcbiAgICAgIGBgYFxuICAgKi9cbiAgZGVzY3JpYmUoJzxDcm9zc0J1dHRvbiAvPicsICgpID0+IHtcbiAgICBkZXNjcmliZSgnV2l0aCBgdGl0bGVgIGFuZCBgaWNvbk5hbWVgIHByb3BlcnRpZXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBpdCgnU2hvdWxkIHJlbmRlcicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdob21lJywgJ2hvbWUnKTtcbiAgICAgICAgZXhwZWN0KHdyYXBwZXIudG9KU09OKCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdTaG91bGQgaGF2ZSBwYXBlciA8QnV0dG9uIC8+JywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gc2V0dXAoJ2hvbWUnLCAnaG9tZScpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKEJ1dHRvbik7XG4gICAgICAgIGV4cGVjdChjaGlsZCkudG9CZURlZmluZWQoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnV2l0aCB0aXRsZSBzaG91bGQgaGF2ZSBwYXBlciA8QnV0dG9uIC8+IHdpdGggYG1vZGVgIFwidGV4dFwiJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gc2V0dXAoJ2hvbWUnLCAnaG9tZScpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IG1vZGU6ICd0ZXh0JyB9KTtcbiAgICAgICAgZXhwZWN0KGNoaWxkKS50b0JlRGVmaW5lZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdXaXRoIHRpdGxlIHNob3VsZCBoYXZlIHBhcGVyIDxCdXR0b24gLz4gd2l0aCBgbW9kZWAgXCJ0ZXh0XCInLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnaG9tZScsICdob21lJyk7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVByb3BzKHsgbW9kZTogJ3RleHQnIH0pO1xuICAgICAgICBleHBlY3QoY2hpbGQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnV2l0aCBgaWNvbk5hbWVgIGJ1dCB3aXRob3V0IGB0aXRsZWAgcHJvcGVydHkgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBpdCgnV2l0aG91dCB0aXRsZSBzaG91bGQgcmVuZGVyJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gc2V0dXAoJ21hcCcsIHVuZGVmaW5lZCk7XG4gICAgICAgIGV4cGVjdCh3cmFwcGVyLnRvSlNPTigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnV2l0aG91dCB0aXRsZSBzaG91bGQgaGF2ZSA8Rm9udEF3ZXNvbWUuQnV0dG9uIC8+JywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gc2V0dXAoJ21hcCcsIHVuZGVmaW5lZCk7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoRm9udEF3ZXNvbWUuQnV0dG9uKTtcbiAgICAgICAgZXhwZWN0KGNoaWxkKS50b0JlRGVmaW5lZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdXaXRob3V0IHRpdGxlIHNob3VsZCBoYXZlIDxGb250QXdlc29tZS5CdXR0b24gLz4gd2l0aCBpY29uTmFtZScsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdtYXAnLCB1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IGNvbG9yOiBDb2xvcnMuQ3Jvc3NCbGFjayB9KTtcbiAgICAgICAgZXhwZWN0KGNoaWxkLnByb3BzLm5hbWUpLnRvQmUoJ21hcCcpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30=