| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- describe('Core.getSourceDataAtCol', () => {
- const id = 'testContainer';
- beforeEach(function() {
- this.$container = $(`<div id="${id}"></div>`).appendTo('body');
- });
- afterEach(function() {
- if (this.$container) {
- destroy();
- this.$container.remove();
- }
- });
- it('should return col values when data is provided by dataSchema', () => {
- handsontable({
- data: [
- model({ id: 1, name: 'Ted Right', address: '' }),
- model({ id: 2, name: 'Frank Honest', address: '' }),
- model({ id: 3, name: 'Joan Well', address: '' }),
- model({ id: 4, name: 'Gail Polite', address: '' }),
- model({ id: 5, name: 'Michael Fair', address: '' })
- ],
- dataSchema: model,
- columns: [
- { data: property('id') },
- { data: property('name') },
- { data: property('address') }
- ]
- });
- function model(opts) {
- const _pub = {};
- const _priv = {
- id: undefined,
- name: undefined,
- address: undefined
- };
- Handsontable.helper.objectEach(opts, (value, key) => {
- _priv[key] = value;
- });
- _pub.attr = function(attr, val) {
- if (typeof val === 'undefined') {
- return _priv[attr];
- }
- _priv[attr] = val;
- return _pub;
- };
- return _pub;
- }
- function property(attr) {
- return function(row, value) {
- return row.attr(attr, value);
- };
- }
- expect(getSourceDataAtCol(0)).toEqual([1, 2, 3, 4, 5]);
- });
- });
|