[refactor][s]: standardize naming of files to use '.' rather than '-' as separator.
This commit is contained in:
91
test/view.slickgrid.test.js
Normal file
91
test/view.slickgrid.test.js
Normal file
@@ -0,0 +1,91 @@
|
||||
(function ($) {
|
||||
|
||||
module("View - SlickGrid");
|
||||
|
||||
test('basic', function () {
|
||||
var dataset = Fixture.getDataset();
|
||||
var view = new recline.View.SlickGrid({
|
||||
model: dataset
|
||||
});
|
||||
$('.fixtures .test-datatable').append(view.el);
|
||||
view.render();
|
||||
|
||||
// Render the grid manually
|
||||
view.grid.init();
|
||||
|
||||
assertPresent('.slick-header-column[title="x"]');
|
||||
equal($('.slick-header-column').length,dataset.fields.length);
|
||||
|
||||
equal(dataset.currentRecords.length,view.grid.getDataLength());
|
||||
|
||||
view.remove();
|
||||
});
|
||||
|
||||
|
||||
test('state', function () {
|
||||
var dataset = Fixture.getDataset();
|
||||
var view = new recline.View.SlickGrid({
|
||||
model: dataset,
|
||||
state: {
|
||||
hiddenColumns:['x','lat','label'],
|
||||
columnsOrder:['lon','id','z','date', 'y', 'country'],
|
||||
columnsSort:{column:'country',direction:'desc'},
|
||||
columnsWidth:[
|
||||
{column:'id',width: 250}
|
||||
]
|
||||
}
|
||||
});
|
||||
$('.fixtures .test-datatable').append(view.el);
|
||||
view.render();
|
||||
view.grid.init();
|
||||
|
||||
var visibleColumns = _.filter(_.pluck(dataset.fields.toArray(),'id'),function(f){
|
||||
return (_.indexOf(view.state.get('hiddenColumns'),f) == -1)
|
||||
});
|
||||
|
||||
// Hidden columns
|
||||
assertPresent('.slick-header-column[title="y"]');
|
||||
assertNotPresent('.slick-header-column[title="x"]');
|
||||
var headers = $('.slick-header-column');
|
||||
equal(headers.length,visibleColumns.length);
|
||||
|
||||
// Column order
|
||||
deepEqual(_.pluck(headers,'title'),view.state.get('columnsOrder'));
|
||||
|
||||
// Column sorting
|
||||
equal($(view.grid.getCellNode(0,view.grid.getColumnIndex('country'))).text(),'US');
|
||||
|
||||
// Column width
|
||||
equal($('.slick-header-column[title="id"]').width(),250);
|
||||
|
||||
view.remove();
|
||||
});
|
||||
|
||||
test('renderers', function () {
|
||||
var dataset = Fixture.getDataset();
|
||||
|
||||
dataset.fields.get('country').renderer = function(val, field, doc){
|
||||
return '<a href="abc">Country: ' + val + '</a>';
|
||||
};
|
||||
|
||||
var deriver = function(val, field, doc){
|
||||
return doc.get('x') * 10;
|
||||
}
|
||||
dataset.fields.add(new recline.Model.Field({id:'computed'},{deriver:deriver}));
|
||||
|
||||
var view = new recline.View.SlickGrid({
|
||||
model: dataset
|
||||
});
|
||||
$('.fixtures .test-datatable').append(view.el);
|
||||
view.render();
|
||||
|
||||
// Render the grid manually
|
||||
view.grid.init();
|
||||
|
||||
equal($(view.grid.getCellNode(0,view.grid.getColumnIndex('country'))).text(),'Country: DE');
|
||||
equal($(view.grid.getCellNode(0,view.grid.getColumnIndex('country'))).html(),'<a href="abc">Country: DE</a>');
|
||||
equal($(view.grid.getCellNode(0,view.grid.getColumnIndex('computed'))).text(),'10');
|
||||
view.remove();
|
||||
});
|
||||
|
||||
})(this.jQuery);
|
||||
Reference in New Issue
Block a user