diff --git a/ui/tests/test.widget.listView.js b/ui/tests/test.widget.listView.js index 96f839db1e7..2209c42ddb9 100644 --- a/ui/tests/test.widget.listView.js +++ b/ui/tests/test.widget.listView.js @@ -15,28 +15,75 @@ // specific language governing permissions and limitations // under the License. -module('List view', { - setup: function() { - window.pageSize = 20; - }, - teardown: function() { - delete window.pageSize; - } -}); +(function() { + var listView = function(args) { + var basicArgs = { + listView: { + fields: {}, + dataProvider: function() {} + } + }; -test('Basic', function() { - var $listView = $('
').listView({ - listView: { - fields: {}, - dataProvider: function() {} + return $('
').listView( + $.extend(true, {}, basicArgs, args) + ).find('.list-view'); + }; + + module('List view', { + setup: function() { + window.pageSize = 20; + }, + teardown: function() { + delete window.pageSize; } - }).find('.list-view'); - var $toolbar = $listView.find('> .toolbar'); - var $table = $listView.find('> .data-table'); + }); - equal($listView.size(), 1, 'List view present'); - equal($toolbar.size(), 1, 'Toolbar present'); - equal($table.size(), 1, 'Data table div present'); - equal($table.find('> .fixed-header table thead tr').size(), 1, 'Fixed header present'); - equal($table.find('> table.body tbody').size(), 1, 'Body table present'); -}); + test('Basic', function() { + var $listView = listView(); + var $toolbar = $listView.find('> .toolbar'); + var $table = $listView.find('> .data-table'); + + equal($listView.size(), 1, 'List view present'); + equal($toolbar.size(), 1, 'Toolbar present'); + equal($table.size(), 1, 'Data table div present'); + equal($table.find('> .fixed-header table thead tr').size(), 1, 'Fixed header present'); + equal($table.find('> table.body tbody').size(), 1, 'Body table present'); + }); + + test('Fields: basic', function() { + var $listView = listView({ + listView: { + fields: { + fieldA: { label: 'TestFieldA' } + } + } + }); + var $fields = $listView.find('.fixed-header table thead tr th'); + + equal($fields.size(), 1, 'Column present'); + ok($fields.hasClass('fieldA'), 'Has ID as classname'); + equal($fields.html(), 'TestFieldA', 'Has correct label'); + }); + + test('Fields: n columns', function() { + var testFields = { + fieldA: { label: 'TestFieldA' }, + fieldB: { label: 'TestFieldB' }, + fieldC: { label: 'TestFieldC' } + }; + + var $listView = listView({ + listView: { + fields: testFields + } + }); + var $fields = $listView.find('.fixed-header table thead tr th'); + + $.each(testFields, function(k, v) { + var $field = $fields.filter('.' + k); + + equal($field.size(), 1, k + '-> Column present'); + equal($field.html(), v.label, k + '-> Has correct label'); + }); + }); +}());