From 31b7f18c9e57718672fcfb735f434f54e3e675d7 Mon Sep 17 00:00:00 2001 From: Max Guglielmi Date: Wed, 18 Feb 2015 16:46:26 +1100 Subject: [PATCH] Added popup filter tests --- test/test-popup-filter.html | 82 +++++++++++++++++++++++++++++++++++++ test/test-popup-filter.js | 51 +++++++++++++++++++++++ 2 files changed, 133 insertions(+) create mode 100644 test/test-popup-filter.html create mode 100644 test/test-popup-filter.js diff --git a/test/test-popup-filter.html b/test/test-popup-filter.html new file mode 100644 index 00000000..6404c3d3 --- /dev/null +++ b/test/test-popup-filter.html @@ -0,0 +1,82 @@ + + + + + TableFilter pop-up filter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FromDestinationRoad Distance (km)By Air (hrs)By Rail (hrs)
SydneyAdelaide14121.425.3
SydneyBrisbane9821.516
SydneyCanberra286.64.3
SydneyMelbourne8721.110.5
AdelaidePerth27813.138
AdelaideAlice Springs1533220.25
AdelaideBrisbane20452.1540
+ + + +
+
+ + \ No newline at end of file diff --git a/test/test-popup-filter.js b/test/test-popup-filter.js new file mode 100644 index 00000000..70cb79d7 --- /dev/null +++ b/test/test-popup-filter.js @@ -0,0 +1,51 @@ +requirejs(['test-config', '../src/core'], function(config, TableFilter){ + + QUnit.start(); + + var PopupFilter = require('modules/popupFilter').PopupFilter, + types = require('types').Types, + dom = require('dom').Dom; + + var tf = new TableFilter('demo', { + col_2: 'multiple', + col_3: 'select', + popup_filters: true + }); + tf.init(); + + var popupFilter = tf.Cpt.popupFilter; + module('Sanity checks'); + test('Pop-up filter component', function() { + deepEqual(popupFilter instanceof PopupFilter, true, 'PopupFilter type'); + notEqual(popupFilter, null, 'PopupFilter instanciated'); + deepEqual(types.isArray(popupFilter.popUpFltElms), true, 'Type of popUpFltElms property'); + }); + + module('UI elements'); + test('Pop-up filter UI elements', function() { + var flt1 = dom.id(tf.fltIds[3]); + var flt2 = dom.id(tf.fltIds[2]); + var fltIcn1 = tf.Cpt.popupFilter.popUpFltImgs[3]; + var fltIcn2 = tf.Cpt.popupFilter.popUpFltImgs[2]; + notEqual(flt1, null, 'Filter element exists'); + notEqual(flt2, null, 'Filter element exists'); + deepEqual(flt2.hasAttribute('multiple'), true, 'Multiple select exists'); + deepEqual(fltIcn1.nodeName, 'IMG', 'Filter icon exists'); + deepEqual(fltIcn2.nodeName, 'IMG', 'Filter icon exists'); + }); + + test('TableFilter removed', function() { + tf.RemoveGrid(); + var fltIcn1 = tf.Cpt.popupFilter.popUpFltImgs[3]; + deepEqual(fltIcn1, undefined, 'Filter icon is removed'); + deepEqual(dom.id(tf.fltIds[3]), null, 'Filter is removed'); + }); + + test('TableFilter re-initialised', function() { + tf.init(); + var fltIcn1 = tf.Cpt.popupFilter.popUpFltImgs[3]; + deepEqual(fltIcn1.nodeName, 'IMG', 'Filter icon exists'); + deepEqual(dom.id(tf.fltIds[3]).nodeName, 'SELECT', 'Filter exists'); + }); + +});