From ebcf6a1da88c4d750f9342df45fc409be80c9759 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Tue, 28 Jan 2014 14:54:30 -0800 Subject: [PATCH] List view: tests for field pre-filter --- ui/tests/test.widget.listView.js | 38 +++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/ui/tests/test.widget.listView.js b/ui/tests/test.widget.listView.js index 3640a5a4cca..84f914b8f78 100644 --- a/ui/tests/test.widget.listView.js +++ b/ui/tests/test.widget.listView.js @@ -104,7 +104,7 @@ }, dataProvider: function(args) { args.response.success({ data: [] }); - + ok(true, 'Data provider called'); start(); } @@ -128,7 +128,7 @@ { fieldA: 'FieldDataA', fieldB: 'FieldDataB' } ] }); - + start(); } } @@ -146,7 +146,7 @@ { fieldA: 'FieldDataA2', fieldB: 'FieldDataB2' }, { fieldA: 'FieldDataA3', fieldB: 'FieldDataB3' } ]; - + var $listView = listView({ listView: { fields: { @@ -157,7 +157,7 @@ args.response.success({ data: testData }); - + start(); } } @@ -169,9 +169,37 @@ var $tr = $listView.find('table.body tbody tr').filter(function() { return $(this).index() === index; }); - + equal($tr.find('td.fieldA > span').html(), 'FieldDataA' + (index + 1), 'FieldDataA' + (index + 1) + ' present'); equal($tr.find('td.fieldB > span').html(), 'FieldDataB' + (index + 1), 'FieldDataB' + (index + 1) + ' present'); }); }); + + test('Field pre-filter', function() { + var $listView = listView({ + listView: { + fields: { + fieldA: { label: 'TestFieldA' }, + fieldB: { label: 'TestFieldB' }, + fieldHidden: { label: 'TestFieldHidden' } + }, + preFilter: function(args) { + return ['fieldHidden']; + }, + dataProvider: function(args) { + args.response.success({ + data: [ + { fieldA: 'FieldDataA', fieldB: 'FieldDataB', fieldHidden: 'FieldDataHidden' } + ] + }); + + start(); + } + } + }); + + equal($listView.find('table tr th').size(), 2, 'Correct number of header columns present'); + equal($listView.find('table.body tbody tr td').size(), 2, 'Correct number of data body columns present'); + ok(!$listView.find('table.body tbody td.fieldHidden').size(), 'Hidden field not present'); + }); }());