1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-23 16:52:26 +02:00
TableFilter/test/test-store.js
2015-03-06 19:49:30 +11:00

66 lines
2.1 KiB
JavaScript

requirejs(['test-config', '../src/tablefilter'], function(config, TableFilter){
QUnit.start();
var Store = require('modules/store').Store;
var Cookie = require('cookie').Cookie;
var tf = new TableFilter('demo', {
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();
});
});