1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-12 03:16:48 +02:00

More API tests

This commit is contained in:
Max Guglielmi 2015-07-30 17:22:06 +10:00
parent 93c0f867e3
commit c5104a51d6
3 changed files with 162 additions and 3 deletions

View file

@ -1,6 +1,6 @@
/**
* TableFilter v0.0.0 by Max Guglielmi
* build date: 2015-07-27T09:31:23.290Z
* build date: 2015-07-30T07:19:59.670Z
* MIT License
*/

View file

@ -1,6 +1,6 @@
/**
* TableFilter v0.0.0 by Max Guglielmi
* build date: 2015-07-27T09:31:23.290Z
* build date: 2015-07-30T07:19:59.670Z
* MIT License
*/

View file

@ -108,7 +108,8 @@
tf = null;
});
test('Re-instantiate TableFilter with different filter types', function() {
module('TableFilter instance with different filter types');
test('Test filter types', function() {
tf = null;
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
@ -132,4 +133,162 @@
'Get input filter(s)');
});
test('Get filters values', function() {
tf.setFilterValue(0, 'Sydney');
tf.setFilterValue(1, 'Adelaide');
deepEqual(tf.getFilterValue(0), 'Sydney', 'Column 0 filter value');
deepEqual(tf.getFiltersValue(), ['sydney', 'adelaide', '', '', '']);
});
test('Filter table', function() {
tf.clearFilters();
tf.setFilterValue(1, 'Adelaide');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Filtered rows number');
});
module('TableFilter with pop-up filtes');
test('Sanity checks', function() {
tf.destroy();
tf = null;
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
popup_filters: true
});
tf.init();
deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
deepEqual(tf.getHeadersRowIndex(), 1, 'Headers row index');
deepEqual(tf.getFilterElement(1).nodeName, 'INPUT',
'Filter\'s DOM element');
deepEqual(tf.getHeaderElement(2).nodeName, 'TH',
'Header\'s DOM element');
});
test('Get filters values', function() {
tf.setFilterValue(0, 'Sydney');
tf.setFilterValue(1, 'Adelaide');
deepEqual(tf.getFilterValue(0), 'Sydney', 'Column 0 filter value');
deepEqual(tf.getFiltersValue(), ['sydney', 'adelaide', '', '', '']);
});
test('Filter table', function() {
tf.clearFilters();
tf.setFilterValue(1, 'Adelaide');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Filtered rows number');
});
module('TableFilter with grid-layout');
test('Sanity checks', function() {
tf.destroy();
tf = null;
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
grid_layout: true,
col_0: 'select',
col_1: 'multiple',
col_2: 'checklist'
});
tf.init();
deepEqual(tf.getFilterType(0), 'select', 'Colmun 0 filter type');
deepEqual(tf.getFilterType(1), 'multiple', 'Colmun 1 filter type');
deepEqual(tf.getFilterType(2), 'checklist', 'Colmun 2 filter type');
deepEqual(tf.getFilterType(3), 'input', 'Colmun 3 filter type');
deepEqual(tf.getFiltersByType('select'), ['flt0_demo'],
'Get select filter(s)');
deepEqual(tf.getFiltersByType('multiple'), ['flt1_demo'],
'Get multiple filter(s)');
deepEqual(tf.getFiltersByType('checklist'), ['flt2_demo'],
'Get checklist filter(s)');
deepEqual(tf.getFiltersByType('input'), ['flt3_demo','flt4_demo'],
'Get input filter(s)');
deepEqual(tf.getFiltersRowIndex(), 1, 'Filters row index');
deepEqual(tf.getHeadersRowIndex(), 0, 'Headers row index');
deepEqual(tf.getFilterElement(1).nodeName, 'SELECT',
'Filter\'s DOM element');
deepEqual(tf.getHeaderElement(2).nodeName, 'TH',
'Header\'s DOM element');
});
test('Get filters values', function() {
tf.setFilterValue(0, 'Sydney');
tf.setFilterValue(1, 'Adelaide');
deepEqual(tf.getFilterValue(0), 'Sydney', 'Column 0 filter value');
deepEqual(tf.getFiltersValue(), ['sydney', 'adelaide', '', '', '']);
});
test('Filter table', function() {
tf.clearFilters();
tf.setFilterValue(1, 'Adelaide');
tf.filter();
deepEqual(tf.getValidRows().length, 1, 'Filtered rows number');
});
test('Clear filters', function() {
tf.clearFilters();
deepEqual(tf.nbVisibleRows, 7, 'Filtered rows number');
deepEqual(tf.getFiltersValue(), ['', '', '', '', '']);
});
test('Get table data', function() {
deepEqual(tf.getColValues(0),
[
'sydney','sydney','sydney',
'sydney','adelaide','adelaide','adelaide'
],
'Get specified column values'
);
// deepEqual(
// tf.getTableData(),
// [
// [0, ['Sydney','Adelaide','1412','1.4','25.3']],
// [1, ['Sydney','Brisbane','982','1.5','16']],
// [2, ['Sydney','Canberra','286','.6','4.3']],
// [3, ['Sydney','Melbourne','872','1.1','10.5']],
// [4, ['Adelaide','Perth','2781','3.1','38']],
// [5, ['Adelaide','Alice Springs','1533','2','20.25']],
// [6, ['Adelaide','Brisbane','2045','2.15','40']]
// ],
// 'Get table data'
// );
// tf.setFilterValue(0, 'Adelaide');
// tf.filter();
// deepEqual(
// tf.getFilteredData(),
// [
// [6, ['Adelaide','Perth','2781','3.1','38']],
// [7, ['Adelaide','Alice Springs','1533','2','20.25']],
// [8, ['Adelaide','Brisbane','2045','2.15','40']]
// ],
// 'Get filtered table data'
// );
// deepEqual(
// tf.getFilteredData(true),
// [
// [1, ['From','Destination','Road Distance (km)',
// 'By Air (hrs)','By Rail (hrs)']],
// [6, ['Adelaide','Perth','2781','3.1','38']],
// [7, ['Adelaide','Alice Springs','1533','2','20.25']],
// [8, ['Adelaide','Brisbane','2045','2.15','40']]
// ],
// 'Get filtered table data including columns headers'
// );
// deepEqual(
// tf.getFilteredDataCol(0),
// ['Adelaide','Adelaide','Adelaide'],
// 'Get specified column filtered values'
// );
// tf.clearFilters();
// tf.filter();
});
test('Destroy', function() {
tf.destroy();
deepEqual(tf.hasGrid(), false, 'Filters removed');
tf = null;
});
})(window, TableFilter);