react-virtualized-draggable
Version:
React components for efficiently rendering large, scrollable lists and tabular data
96 lines (87 loc) • 3.1 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var React = _interopRequireWildcard(require("react"));
var _immutable = _interopRequireDefault(require("immutable"));
var _defaultCellDataGetter = _interopRequireDefault(require("./defaultCellDataGetter"));
var _defaultCellRenderer = _interopRequireDefault(require("./defaultCellRenderer"));
var _defaultHeaderRenderer = _interopRequireDefault(require("./defaultHeaderRenderer"));
describe('Column', function () {
var rowData = _immutable["default"].Map({
foo: 'Foo',
bar: 1
});
describe('defaultCellDataGetter', function () {
it('should return a value for specified attributes', function () {
expect((0, _defaultCellDataGetter["default"])({
dataKey: 'foo',
rowData: rowData
})).toEqual('Foo');
expect((0, _defaultCellDataGetter["default"])({
dataKey: 'bar',
rowData: rowData
})).toEqual(1);
});
it('should return undefined for missing attributes', function () {
expect((0, _defaultCellDataGetter["default"])({
dataKey: 'baz',
rowData: rowData
})).toEqual(undefined);
});
});
describe('defaultCellRenderer', function () {
it('should render a value for specified attributes', function () {
expect((0, _defaultCellRenderer["default"])({
cellData: 'Foo',
dataKey: 'foo',
rowData: rowData,
rowIndex: 0
})).toEqual('Foo');
expect((0, _defaultCellRenderer["default"])({
cellData: 1,
dataKey: 'bar',
rowData: rowData,
rowIndex: 0
})).toEqual('1');
});
it('should render empty string for null or missing attributes', function () {
expect((0, _defaultCellRenderer["default"])({
cellData: null,
dataKey: 'baz',
rowData: rowData,
rowIndex: 0
})).toEqual('');
expect((0, _defaultCellRenderer["default"])({
cellData: undefined,
dataKey: 'baz',
rowData: rowData,
rowIndex: 0
})).toEqual('');
});
});
describe('defaultHeaderRenderer', function () {
it('should render a value for specified attributes', function () {
expect((0, _defaultHeaderRenderer["default"])({
dataKey: 'foo',
label: 'squirrel'
})[0].props.children).toEqual('squirrel');
var label = React.createElement("div", {
className: "rabbit"
}, "Rabbit");
expect((0, _defaultHeaderRenderer["default"])({
dataKey: 'bar',
label: label
})[0].props.children).toEqual(label);
});
it('should render empty string for null or missing attributes', function () {
expect((0, _defaultHeaderRenderer["default"])({
dataKey: 'foo',
label: null
})[0].props.children).toBeNull();
expect((0, _defaultHeaderRenderer["default"])({
dataKey: 'bar',
label: undefined
})[0].props.children).toBeUndefined();
});
});
});