1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-06-01 05:23:02 +02:00
TableFilter/test/test-store.js

63 lines
1.8 KiB
JavaScript

var Store = TableFilter.Store;
var Cookie = TableFilter.Cookie;
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
});
Cookie.remove(tf.fltsValuesCookie);
Cookie.remove(tf.pgNbCookie);
Cookie.remove(tf.pgLenCookie);
tf.init();
tf._clearFilters();
module('Sanity checks');
test('Store module', function() {
deepEqual(tf.Cpt.store instanceof Store, true, 'Store type');
notEqual(tf.Cpt.store, null, 'Store instanciated');
deepEqual(tf.Cpt.store.duration, 100000, 'Store duration');
});
module('Check page number persistence');
test('Page number value', function() {
tf._clearFilters();
tf._filter();
tf.Cpt.paging._changePage(1);
var cookieName = tf.pgNbCookie;
deepEqual(tf.Cpt.store.getPageNb(cookieName), '2', 'Page number value');
tf._clearFilters();
tf._filter();
});
module('Check page length persistence');
test('Page length value', function() {
var paging = tf.Cpt.paging;
paging.resultsPerPageSlc.options[2].selected = true;
paging._changeResultsPerPage();
var cookieName = tf.pgLenCookie;
deepEqual(tf.Cpt.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.Cpt.store.getFilterValues(cookieName)[0], 'Sydney', 'Filter 0 value');
deepEqual(tf.Cpt.store.getFilterValues(cookieName)[3], '1.5', 'Filter 3 value');
tf._clearFilters();
tf._filter();
});