rr-table
Version:
Responsive and customizable React Table
66 lines (46 loc) • 7.95 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
require("jest-styled-components");
var _mocks = require("../mocks");
var _index = _interopRequireDefault(require("./index"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
describe('defineComponentAsFunction', function () {
var passedProps = {
text: 'hello',
color: 'papayawhip'
};
it('should return a function that returns component when component isValidElement', function () {
var component = _react.default.createElement(_mocks.ExempleComponent, passedProps);
var definedComponent = (0, _index.default)(component);
var Comp = _reactTestRenderer.default.create(definedComponent());
var tree = Comp.toJSON();
expect(tree).toMatchSnapshot();
});
it('should return component when component is a function', function () {
var component = _mocks.ExempleComponent;
var definedComponent = (0, _index.default)(component);
var Comp = _reactTestRenderer.default.create(definedComponent(_objectSpread({}, passedProps)));
var tree = Comp.toJSON();
expect(tree).toMatchSnapshot();
});
it('should return a function that returns defaultComponent when defaultComponent isValidElement and component is undefined', function () {
var component = undefined;
var defaultComp = _react.default.createElement(_mocks.ExempleDefaultComponent, passedProps);
var definedComponent = (0, _index.default)(component, defaultComp);
var Comp = _reactTestRenderer.default.create(definedComponent());
var tree = Comp.toJSON();
expect(tree).toMatchSnapshot();
});
it('should return defaultComponent when defaultComponent is a function and component is undefined', function () {
var component = undefined;
var defaultComp = _mocks.ExempleDefaultComponent;
var definedComponent = (0, _index.default)(component, defaultComp);
var Comp = _reactTestRenderer.default.create(definedComponent(_objectSpread({}, passedProps)));
var tree = Comp.toJSON();
expect(tree).toMatchSnapshot();
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9kZWZpbmVDb21wb25lbnRBc0Z1bmN0aW9uL2RlZmluZUNvbXBvbmVudEFzRnVuY3Rpb24udGVzdC5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInBhc3NlZFByb3BzIiwidGV4dCIsImNvbG9yIiwiaXQiLCJjb21wb25lbnQiLCJkZWZpbmVkQ29tcG9uZW50IiwiQ29tcCIsInJlbmRlcmVyIiwiY3JlYXRlIiwidHJlZSIsInRvSlNPTiIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIkV4ZW1wbGVDb21wb25lbnQiLCJ1bmRlZmluZWQiLCJkZWZhdWx0Q29tcCIsIkV4ZW1wbGVEZWZhdWx0Q29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOztBQUFBOztBQUVBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7OztBQUVBQSxRQUFRLENBQUMsMkJBQUQsRUFBOEIsWUFBTTtBQUMxQyxNQUFNQyxXQUFXLEdBQUc7QUFBRUMsSUFBQUEsSUFBSSxFQUFFLE9BQVI7QUFBaUJDLElBQUFBLEtBQUssRUFBRTtBQUF4QixHQUFwQjtBQUVBQyxFQUFBQSxFQUFFLENBQUMsK0VBQUQsRUFBa0YsWUFBTTtBQUN4RixRQUFNQyxTQUFTLEdBQUcsNkJBQUMsdUJBQUQsRUFBc0JKLFdBQXRCLENBQWxCOztBQUNBLFFBQU1LLGdCQUFnQixHQUFHLG9CQUEwQkQsU0FBMUIsQ0FBekI7O0FBQ0EsUUFBTUUsSUFBSSxHQUFHQywyQkFBU0MsTUFBVCxDQUFnQkgsZ0JBQWdCLEVBQWhDLENBQWI7O0FBQ0EsUUFBTUksSUFBSSxHQUFHSCxJQUFJLENBQUNJLE1BQUwsRUFBYjtBQUNBQyxJQUFBQSxNQUFNLENBQUNGLElBQUQsQ0FBTixDQUFhRyxlQUFiO0FBQ0QsR0FOQyxDQUFGO0FBUUFULEVBQUFBLEVBQUUsQ0FBQyxzREFBRCxFQUF5RCxZQUFNO0FBQy9ELFFBQU1DLFNBQVMsR0FBR1MsdUJBQWxCO0FBQ0EsUUFBTVIsZ0JBQWdCLEdBQUcsb0JBQTBCRCxTQUExQixDQUF6Qjs7QUFDQSxRQUFNRSxJQUFJLEdBQUdDLDJCQUFTQyxNQUFULENBQWdCSCxnQkFBZ0IsbUJBQU1MLFdBQU4sRUFBaEMsQ0FBYjs7QUFDQSxRQUFNUyxJQUFJLEdBQUdILElBQUksQ0FBQ0ksTUFBTCxFQUFiO0FBQ0FDLElBQUFBLE1BQU0sQ0FBQ0YsSUFBRCxDQUFOLENBQWFHLGVBQWI7QUFDRCxHQU5DLENBQUY7QUFRQVQsRUFBQUEsRUFBRSxDQUFDLHdIQUFELEVBQTJILFlBQU07QUFDakksUUFBTUMsU0FBUyxHQUFHVSxTQUFsQjs7QUFDQSxRQUFNQyxXQUFXLEdBQUcsNkJBQUMsOEJBQUQsRUFBNkJmLFdBQTdCLENBQXBCOztBQUNBLFFBQU1LLGdCQUFnQixHQUFHLG9CQUEwQkQsU0FBMUIsRUFBcUNXLFdBQXJDLENBQXpCOztBQUNBLFFBQU1ULElBQUksR0FBR0MsMkJBQVNDLE1BQVQsQ0FBZ0JILGdCQUFnQixFQUFoQyxDQUFiOztBQUNBLFFBQU1JLElBQUksR0FBR0gsSUFBSSxDQUFDSSxNQUFMLEVBQWI7QUFDQUMsSUFBQUEsTUFBTSxDQUFDRixJQUFELENBQU4sQ0FBYUcsZUFBYjtBQUNELEdBUEMsQ0FBRjtBQVNBVCxFQUFBQSxFQUFFLENBQUMsK0ZBQUQsRUFBa0csWUFBTTtBQUN4RyxRQUFNQyxTQUFTLEdBQUdVLFNBQWxCO0FBQ0EsUUFBTUMsV0FBVyxHQUFHQyw4QkFBcEI7QUFDQSxRQUFNWCxnQkFBZ0IsR0FBRyxvQkFBMEJELFNBQTFCLEVBQXFDVyxXQUFyQyxDQUF6Qjs7QUFDQSxRQUFNVCxJQUFJLEdBQUdDLDJCQUFTQyxNQUFULENBQWdCSCxnQkFBZ0IsbUJBQU1MLFdBQU4sRUFBaEMsQ0FBYjs7QUFDQSxRQUFNUyxJQUFJLEdBQUdILElBQUksQ0FBQ0ksTUFBTCxFQUFiO0FBQ0FDLElBQUFBLE1BQU0sQ0FBQ0YsSUFBRCxDQUFOLENBQWFHLGVBQWI7QUFDRCxHQVBDLENBQUY7QUFRRCxDQXBDTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0Jztcbi8vIGltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgcmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5pbXBvcnQgJ2plc3Qtc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBFeGVtcGxlQ29tcG9uZW50LCBFeGVtcGxlRGVmYXVsdENvbXBvbmVudCB9IGZyb20gJy4uL21vY2tzJztcbmltcG9ydCBkZWZpbmVDb21wb25lbnRBc0Z1bmN0aW9uIGZyb20gJy4vaW5kZXgnO1xuXG5kZXNjcmliZSgnZGVmaW5lQ29tcG9uZW50QXNGdW5jdGlvbicsICgpID0+IHtcbiAgY29uc3QgcGFzc2VkUHJvcHMgPSB7IHRleHQ6ICdoZWxsbycsIGNvbG9yOiAncGFwYXlhd2hpcCcgfTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBjb21wb25lbnQgd2hlbiBjb21wb25lbnQgaXNWYWxpZEVsZW1lbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gPEV4ZW1wbGVDb21wb25lbnQgey4uLnBhc3NlZFByb3BzfSAvPjtcbiAgICBjb25zdCBkZWZpbmVkQ29tcG9uZW50ID0gZGVmaW5lQ29tcG9uZW50QXNGdW5jdGlvbihjb21wb25lbnQpO1xuICAgIGNvbnN0IENvbXAgPSByZW5kZXJlci5jcmVhdGUoZGVmaW5lZENvbXBvbmVudCgpKTtcbiAgICBjb25zdCB0cmVlID0gQ29tcC50b0pTT04oKTtcbiAgICBleHBlY3QodHJlZSkudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIGNvbXBvbmVudCB3aGVuIGNvbXBvbmVudCBpcyBhIGZ1bmN0aW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IEV4ZW1wbGVDb21wb25lbnQ7XG4gICAgY29uc3QgZGVmaW5lZENvbXBvbmVudCA9IGRlZmluZUNvbXBvbmVudEFzRnVuY3Rpb24oY29tcG9uZW50KTtcbiAgICBjb25zdCBDb21wID0gcmVuZGVyZXIuY3JlYXRlKGRlZmluZWRDb21wb25lbnQoeyAuLi5wYXNzZWRQcm9wcyB9KSk7XG4gICAgY29uc3QgdHJlZSA9IENvbXAudG9KU09OKCk7XG4gICAgZXhwZWN0KHRyZWUpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBkZWZhdWx0Q29tcG9uZW50IHdoZW4gZGVmYXVsdENvbXBvbmVudCBpc1ZhbGlkRWxlbWVudCBhbmQgY29tcG9uZW50IGlzIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB1bmRlZmluZWQ7XG4gICAgY29uc3QgZGVmYXVsdENvbXAgPSA8RXhlbXBsZURlZmF1bHRDb21wb25lbnQgey4uLnBhc3NlZFByb3BzfSAvPjtcbiAgICBjb25zdCBkZWZpbmVkQ29tcG9uZW50ID0gZGVmaW5lQ29tcG9uZW50QXNGdW5jdGlvbihjb21wb25lbnQsIGRlZmF1bHRDb21wKTtcbiAgICBjb25zdCBDb21wID0gcmVuZGVyZXIuY3JlYXRlKGRlZmluZWRDb21wb25lbnQoKSk7XG4gICAgY29uc3QgdHJlZSA9IENvbXAudG9KU09OKCk7XG4gICAgZXhwZWN0KHRyZWUpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBkZWZhdWx0Q29tcG9uZW50IHdoZW4gZGVmYXVsdENvbXBvbmVudCBpcyBhIGZ1bmN0aW9uIGFuZCBjb21wb25lbnQgaXMgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IHVuZGVmaW5lZDtcbiAgICBjb25zdCBkZWZhdWx0Q29tcCA9IEV4ZW1wbGVEZWZhdWx0Q29tcG9uZW50O1xuICAgIGNvbnN0IGRlZmluZWRDb21wb25lbnQgPSBkZWZpbmVDb21wb25lbnRBc0Z1bmN0aW9uKGNvbXBvbmVudCwgZGVmYXVsdENvbXApO1xuICAgIGNvbnN0IENvbXAgPSByZW5kZXJlci5jcmVhdGUoZGVmaW5lZENvbXBvbmVudCh7IC4uLnBhc3NlZFByb3BzIH0pKTtcbiAgICBjb25zdCB0cmVlID0gQ29tcC50b0pTT04oKTtcbiAgICBleHBlY3QodHJlZSkudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xufSk7XG4iXX0=