react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
65 lines • 9.82 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('With title 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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvYnV0dG9ucy9Dcm9zc0J1dHRvbi50ZXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQWFBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQWQ3QixrREFBMEI7QUFDMUIsZ0VBQXdDO0FBQ3hDLHdGQUFnRTtBQUNoRSwyREFBNEM7QUFDNUMsOEVBQStDO0FBQy9DLHlDQUFzQztBQUV0QyxTQUFTLEtBQUssQ0FBQyxRQUFnQixFQUFFLEtBQVc7SUFDMUMsT0FBTyw2QkFBWSxDQUFDLE1BQU0sQ0FDeEIsOEJBQUMscUJBQVcsSUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBSSxDQUN0RSxDQUFDO0FBQ0osQ0FBQztBQUtELFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzFCOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7UUFDL0IsUUFBUSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtZQUMvRCxFQUFFLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO2dCQUNsQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO2dCQUN0QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBTSxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyw0REFBNEQsRUFBRSxHQUFHLEVBQUU7Z0JBQ3BFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3RDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQ3pELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyw0REFBNEQsRUFBRSxHQUFHLEVBQUU7Z0JBQ3BFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3RDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQ3pELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLHVEQUF1RCxFQUFFLEdBQUcsRUFBRTtZQUNyRSxFQUFFLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO2dCQUNyQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN4QyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO2dCQUMxRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsZ0VBQWdFLEVBQUUsR0FBRyxFQUFFO2dCQUN4RSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxlQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDckUsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL2J1dHRvbnMvQ3Jvc3NCdXR0b24udGVzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDcm9zc0J1dHRvbiBmcm9tICcuL0Nyb3NzQnV0dG9uJztcbmltcG9ydCBGb250QXdlc29tZSBmcm9tICdyZWFjdC1uYXRpdmUtdmVjdG9yLWljb25zL0ZvbnRBd2Vzb21lJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3JlYWN0LW5hdGl2ZS1wYXBlcic7XG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgQ29sb3JzIH0gZnJvbSAnLi4vLi4vc3R5bGVzJztcblxuZnVuY3Rpb24gc2V0dXAoaWNvbk5hbWU6IHN0cmluZywgdGl0bGU/OiBhbnkpIHtcbiAgcmV0dXJuIFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgPENyb3NzQnV0dG9uIGljb25OYW1lPXtpY29uTmFtZX0gdGl0bGU9e3RpdGxlfSBvblByZXNzPXtqZXN0LmZuKCl9IC8+XG4gICk7XG59XG5cbmplc3QudW5tb2NrKCdyZWFjdC1uYXRpdmUnKTtcbmplc3QudW5tb2NrKCcuL0Nyb3NzQnV0dG9uJyk7XG5cbmRlc2NyaWJlKCdjb21wb25lbnRzJywgKCkgPT4ge1xuICAvKipcbiAgICogVGVzdCBjb21wb25lbnQgcmVuZGVyaW5nLiBQcm9wZXJ0aWVzIG9mIGNoaWxkcmVuIG1pZ2h0IGJlIHRlc3RlZCBieSBpbXBvcnRpbmcgdGhlaXIgdHlwZTpcbiAgICpgYGBcbiAgICAgIGNvbnN0IGJ0biA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKEJ1dHRvbik7XG4gICAgICBleHBlY3QoYnRuLnByb3BzLnRpdGxlKS50b0JlKCdjaGlsZCcpO1xuICAgICAgYGBgXG4gICAqL1xuICBkZXNjcmliZSgnPENyb3NzQnV0dG9uIC8+JywgKCkgPT4ge1xuICAgIGRlc2NyaWJlKCdXaXRoIGB0aXRsZWAgYW5kIGBpY29uTmFtZWAgcHJvcGVydGllcyBwcm92aWRlZCcsICgpID0+IHtcbiAgICAgIGl0KCdXaXRoIHRpdGxlIHNob3VsZCByZW5kZXInLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnaG9tZScsICdob21lJyk7XG4gICAgICAgIGV4cGVjdCh3cmFwcGVyLnRvSlNPTigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnU2hvdWxkIGhhdmUgcGFwZXIgPEJ1dHRvbiAvPicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdob21lJywgJ2hvbWUnKTtcbiAgICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShCdXR0b24pO1xuICAgICAgICBleHBlY3QoY2hpbGQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1dpdGggdGl0bGUgc2hvdWxkIGhhdmUgcGFwZXIgPEJ1dHRvbiAvPiB3aXRoIGBtb2RlYCBcInRleHRcIicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdob21lJywgJ2hvbWUnKTtcbiAgICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoeyBtb2RlOiAndGV4dCcgfSk7XG4gICAgICAgIGV4cGVjdChjaGlsZCkudG9CZURlZmluZWQoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnV2l0aCB0aXRsZSBzaG91bGQgaGF2ZSBwYXBlciA8QnV0dG9uIC8+IHdpdGggYG1vZGVgIFwidGV4dFwiJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gc2V0dXAoJ2hvbWUnLCAnaG9tZScpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlQcm9wcyh7IG1vZGU6ICd0ZXh0JyB9KTtcbiAgICAgICAgZXhwZWN0KGNoaWxkKS50b0JlRGVmaW5lZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ1dpdGggYGljb25OYW1lYCBidXQgd2l0aG91dCBgdGl0bGVgIHByb3BlcnR5IHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgaXQoJ1dpdGhvdXQgdGl0bGUgc2hvdWxkIHJlbmRlcicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdtYXAnLCB1bmRlZmluZWQpO1xuICAgICAgICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1dpdGhvdXQgdGl0bGUgc2hvdWxkIGhhdmUgPEZvbnRBd2Vzb21lLkJ1dHRvbiAvPicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHNldHVwKCdtYXAnLCB1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKEZvbnRBd2Vzb21lLkJ1dHRvbik7XG4gICAgICAgIGV4cGVjdChjaGlsZCkudG9CZURlZmluZWQoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnV2l0aG91dCB0aXRsZSBzaG91bGQgaGF2ZSA8Rm9udEF3ZXNvbWUuQnV0dG9uIC8+IHdpdGggaWNvbk5hbWUnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzZXR1cCgnbWFwJywgdW5kZWZpbmVkKTtcbiAgICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5UHJvcHMoeyBjb2xvcjogQ29sb3JzLkNyb3NzQmxhY2sgfSk7XG4gICAgICAgIGV4cGVjdChjaGlsZC5wcm9wcy5uYW1lKS50b0JlKCdtYXAnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sInZlcnNpb24iOjN9