1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-07 00:46:39 +02:00
TableFilter/test/test-store.js
2015-07-02 18:15:37 +10:00

74 lines
2.1 KiB
JavaScript

function removeCookie(name){
var expire = '';
var hours = -1;
if(hours){
expire = new Date((new Date()).getTime() + hours * 3600000);
expire = '; expires=' + expire.toGMTString();
}
document.cookie = name + '=' + expire;
}
var tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
paging: true,
paging_length: 2,
results_per_page: ['Results per page', [2,4,6]],
remember_grid_values: true,
remember_page_number: true,
remember_page_length: true
});
removeCookie(tf.fltsValuesCookie);
removeCookie(tf.pgNbCookie);
removeCookie(tf.pgLenCookie);
tf.init();
tf.clearFilters();
module('Sanity checks');
test('Store module', function() {
var store = tf.feature('store');
deepEqual(typeof store, 'object', 'Store type');
notEqual(store, null, 'Store instanciated');
deepEqual(store.duration, 100000, 'Store duration');
});
module('Check page number persistence');
test('Page number value', function() {
tf.clearFilters();
tf.filter();
tf.feature('paging').changePage(1);
var cookieName = tf.pgNbCookie;
deepEqual(tf.feature('store').getPageNb(cookieName), '2', 'Page number value');
tf.clearFilters();
tf.filter();
});
module('Check page length persistence');
test('Page length value', function() {
var paging = tf.feature('paging');
paging.resultsPerPageSlc.options[2].selected = true;
paging.changeResultsPerPage();
var cookieName = tf.pgLenCookie;
deepEqual(tf.feature('store').getPageLength(cookieName), '2', 'Page length value');
tf.clearFilters();
tf.filter();
});
module('Check filters persistence');
test('Filters value', function() {
tf.setFilterValue(0, 'Sydney');
tf.setFilterValue(3, '1.5');
tf.filter();
var cookieName = tf.fltsValuesCookie;
deepEqual(tf.feature('store').getFilterValues(cookieName)[0], 'Sydney', 'Filter 0 value');
deepEqual(tf.feature('store').getFilterValues(cookieName)[3], '1.5', 'Filter 3 value');
tf.destroy();
removeCookie(tf.fltsValuesCookie);
removeCookie(tf.pgNbCookie);
removeCookie(tf.pgLenCookie);
});