1 | (function(win, TableFilter){
|
2 |
|
3 | var tf = new TableFilter('demo', {
|
4 | base_path: '../dist/tablefilter/',
|
5 | grid: false
|
6 | });
|
7 | tf.init();
|
8 |
|
9 | module('Sanity checks');
|
10 | test('No filters', function() {
|
11 | deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
|
12 | deepEqual(tf.fltGrid, false, 'fltGrid property set false');
|
13 | deepEqual(tf.getFilterElement(0), null,
|
14 | 'No filter element for column 0');
|
15 | deepEqual(tf.refRow, 1, 'Reference row index');
|
16 | });
|
17 | test('cannot filter table', function() {
|
18 |
|
19 | var ct = 0;
|
20 | tf.emitter.on(['before-filtering'], function() {
|
21 | ct++;
|
22 | });
|
23 |
|
24 |
|
25 | tf.filter();
|
26 |
|
27 |
|
28 | deepEqual(ct, 0, 'Table not filtered');
|
29 | });
|
30 | test('cannot getFilterVlue', function() {
|
31 |
|
32 | var filterValue = tf.getFilterValue(1);
|
33 |
|
34 |
|
35 | deepEqual(filterValue, undefined, 'Returned filter value: undefined');
|
36 | });
|
37 | test('cannot getFiltersValue', function() {
|
38 |
|
39 | var filtersValue = tf.getFiltersValue();
|
40 |
|
41 |
|
42 | deepEqual(filtersValue, undefined, 'Returned filter values: undefined');
|
43 | });
|
44 | test('cannot getFilterId', function() {
|
45 |
|
46 | var filterId = tf.getFilterId(0);
|
47 |
|
48 |
|
49 | deepEqual(filterId, undefined, 'Returned filter ID: undefined');
|
50 | });
|
51 | test('cannot getFiltersByType', function() {
|
52 |
|
53 | var filters = tf.getFiltersByType('input');
|
54 |
|
55 |
|
56 | deepEqual(filters, undefined, 'Returned filters ID: undefined');
|
57 | });
|
58 | test('cannot setFilterValue', function() {
|
59 |
|
60 | var getFilterElement = tf.getFilterElement;
|
61 | var ct = 0;
|
62 | tf.getFilterElement = function(){
|
63 | ct++;
|
64 | };
|
65 |
|
66 |
|
67 | tf.setFilterValue(1, 'hello');
|
68 |
|
69 |
|
70 | deepEqual(ct, 0, 'getFilterElement method not called');
|
71 |
|
72 | tf.getFilterElement = getFilterElement;
|
73 | });
|
74 | test('cannot clearFilters', function() {
|
75 |
|
76 | var ct = 0;
|
77 | tf.emitter.on(['before-clearing-filters'], function() {
|
78 | ct++;
|
79 | });
|
80 |
|
81 |
|
82 | tf.clearFilters();
|
83 |
|
84 |
|
85 | deepEqual(ct, 0, 'Filters not cleared');
|
86 | });
|
87 |
|
88 | test('cannot _initNoFilters if there are filters', function() {
|
89 |
|
90 | tf.fltGrid = true;
|
91 | var getRowsNb = this.getRowsNb;
|
92 | var ct = 0;
|
93 | tf.getRowsNb = function(){
|
94 | ct++;
|
95 | };
|
96 |
|
97 |
|
98 | tf._initNoFilters();
|
99 |
|
100 |
|
101 | deepEqual(ct, 0, '_initNoFilters not executed');
|
102 |
|
103 | tf.getRowsNb = getRowsNb;
|
104 | });
|
105 |
|
106 | module('Paging on');
|
107 | test('Paging with no filters', function() {
|
108 |
|
109 | tf.destroy();
|
110 | tf = null;
|
111 | tf = new TableFilter('demo', {
|
112 | base_path: '../dist/tablefilter/',
|
113 | grid: false,
|
114 | paging: true,
|
115 | paging_length: 3
|
116 | });
|
117 | var ct = 0;
|
118 | tf.emitter.on(['row-validated'], function() {
|
119 | ct++;
|
120 | });
|
121 |
|
122 |
|
123 | tf.init();
|
124 | deepEqual(tf.getFilterElement(4), null,
|
125 | 'No filter element for column 4');
|
126 |
|
127 |
|
128 | deepEqual(tf.fltGrid, false, 'fltGrid property set false');
|
129 | deepEqual(tf.refRow, 1, 'Reference row index');
|
130 | deepEqual(ct, 0, 'tf.validateAllRows not called on Paging init');
|
131 | });
|
132 |
|
133 | module('Grid-layout on');
|
134 | test('Grid layout with no filters', function() {
|
135 |
|
136 | tf.destroy();
|
137 | tf = null;
|
138 | tf = new TableFilter('demo', {
|
139 | base_path: '../dist/tablefilter/',
|
140 | col_width: ['100px','100px','100px','100px','100px'],
|
141 | grid_layout: {
|
142 | filters: false
|
143 | }
|
144 | });
|
145 |
|
146 |
|
147 | tf.init();
|
148 |
|
149 |
|
150 | deepEqual(tf.fltGrid, false, 'fltGrid property set false');
|
151 | deepEqual(tf.getFilterElement(2), null,
|
152 | 'No filter element for column 2');
|
153 | deepEqual(tf.refRow, 0, 'Reference row index');
|
154 |
|
155 | tf.setFilterValue(1, 'Bris');
|
156 | deepEqual(tf.getValidRows().length, 0,
|
157 | 'does not fail on setFilterValue');
|
158 |
|
159 |
|
160 | var filtersRow = tf.feature('gridLayout').createFiltersRow();
|
161 |
|
162 |
|
163 | deepEqual(filtersRow.cells.length, 0, 'Filters row is empty');
|
164 | });
|
165 |
|
166 | module('Tear-down');
|
167 | test('TableFilter removed', function() {
|
168 | tf.destroy();
|
169 | deepEqual(tf.isInitialized(), false, 'Filters removed');
|
170 | });
|
171 |
|
172 | })(window, TableFilter);
|