1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-03 23:23:17 +02:00
TableFilter/test/test-no-filters.js

173 lines
4.6 KiB
JavaScript
Raw Normal View History

2015-06-04 15:04:38 +02:00
(function(win, TableFilter){
var tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
grid: false
});
tf.init();
module('Sanity checks');
test('No filters', function() {
deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
2017-01-23 03:55:09 +01:00
deepEqual(tf.fltGrid, false, 'fltGrid property set false');
2015-06-04 15:04:38 +02:00
deepEqual(tf.getFilterElement(0), null,
'No filter element for column 0');
2016-01-04 07:59:30 +01:00
deepEqual(tf.refRow, 1, 'Reference row index');
2015-06-04 15:04:38 +02:00
});
2017-01-23 03:55:09 +01:00
test('cannot filter table', function() {
// setup
var ct = 0;
tf.emitter.on(['before-filtering'], function() {
ct++;
});
// act
tf.filter();
// assert
deepEqual(ct, 0, 'Table not filtered');
});
test('cannot getFilterVlue', function() {
// act
var filterValue = tf.getFilterValue(1);
// assert
deepEqual(filterValue, undefined, 'Returned filter value: undefined');
});
test('cannot getFiltersValue', function() {
// act
var filtersValue = tf.getFiltersValue();
// assert
deepEqual(filtersValue, undefined, 'Returned filter values: undefined');
});
test('cannot getFilterId', function() {
// act
var filterId = tf.getFilterId(0);
// assert
deepEqual(filterId, undefined, 'Returned filter ID: undefined');
});
test('cannot getFiltersByType', function() {
// act
var filters = tf.getFiltersByType('input');
// assert
deepEqual(filters, undefined, 'Returned filters ID: undefined');
});
test('cannot setFilterValue', function() {
// setup
var getFilterElement = tf.getFilterElement;
var ct = 0;
tf.getFilterElement = function(){
ct++;
};
// act
tf.setFilterValue(1, 'hello');
// assert
deepEqual(ct, 0, 'getFilterElement method not called');
2015-06-04 15:04:38 +02:00
2017-01-23 03:55:09 +01:00
tf.getFilterElement = getFilterElement;
});
test('cannot clearFilters', function() {
// setup
var ct = 0;
tf.emitter.on(['before-clearing-filters'], function() {
ct++;
});
// act
tf.clearFilters();
// assert
deepEqual(ct, 0, 'Filters not cleared');
});
2017-01-24 04:06:29 +01:00
test('cannot _initNoFilters if there are filters', function() {
// setup
tf.fltGrid = true;
var getRowsNb = this.getRowsNb;
var ct = 0;
tf.getRowsNb = function(){
ct++;
};
// act
tf._initNoFilters();
// assert
deepEqual(ct, 0, '_initNoFilters not executed');
tf.getRowsNb = getRowsNb;
});
2017-01-23 03:55:09 +01:00
module('Paging on');
2015-06-04 15:04:38 +02:00
test('Paging with no filters', function() {
2017-01-23 03:55:09 +01:00
// setup
2015-06-04 15:04:38 +02:00
tf.destroy();
tf = null;
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
grid: false,
paging: true,
paging_length: 3
});
2017-01-23 03:55:09 +01:00
var ct = 0;
tf.emitter.on(['row-validated'], function() {
ct++;
});
// act
2015-06-04 15:04:38 +02:00
tf.init();
deepEqual(tf.getFilterElement(4), null,
'No filter element for column 4');
2017-01-23 03:55:09 +01:00
// assert
deepEqual(tf.fltGrid, false, 'fltGrid property set false');
2016-01-04 07:59:30 +01:00
deepEqual(tf.refRow, 1, 'Reference row index');
2017-01-23 03:55:09 +01:00
deepEqual(ct, 0, 'tf.validateAllRows not called on Paging init');
2015-06-04 15:04:38 +02:00
});
2017-01-23 03:55:09 +01:00
module('Grid-layout on');
2015-06-04 15:04:38 +02:00
test('Grid layout with no filters', function() {
2017-01-23 03:55:09 +01:00
// setup
2015-06-04 15:04:38 +02:00
tf.destroy();
tf = null;
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
col_width: ['100px','100px','100px','100px','100px'],
2017-06-03 11:45:20 +02:00
grid_layout: {
2017-06-04 10:22:20 +02:00
filters: false
2017-06-03 11:45:20 +02:00
}
2015-06-04 15:04:38 +02:00
});
2017-01-23 03:55:09 +01:00
// act
2015-06-04 15:04:38 +02:00
tf.init();
2017-01-23 03:55:09 +01:00
// assert
deepEqual(tf.fltGrid, false, 'fltGrid property set false');
2015-06-04 15:04:38 +02:00
deepEqual(tf.getFilterElement(2), null,
'No filter element for column 2');
2016-01-04 07:59:30 +01:00
deepEqual(tf.refRow, 0, 'Reference row index');
tf.setFilterValue(1, 'Bris');
2016-02-22 08:14:58 +01:00
deepEqual(tf.getValidRows().length, 0,
'does not fail on setFilterValue');
2017-01-23 03:55:09 +01:00
// act
var filtersRow = tf.feature('gridLayout').createFiltersRow();
// assert
deepEqual(filtersRow.cells.length, 0, 'Filters row is empty');
2016-01-04 07:59:30 +01:00
});
module('Tear-down');
test('TableFilter removed', function() {
tf.destroy();
deepEqual(tf.isInitialized(), false, 'Filters removed');
2015-06-04 15:04:38 +02:00
});
})(window, TableFilter);