');
$detailView.detailView(detailView).appendTo('#qunit-fixture');
equal($detailView.find('.detail-actions .action').size(), 1, 'Correct action count');
equal($detailView.find('.detail-actions .action.actionA').size(), 1, 'actionA present');
notEqual($detailView.find('.detail-actions .action.actionB').size(), 1, 'actionB not present');
});
test('Refresh', function() {
var dataA = ['dataLoad1A', 'dataLoad2A'];
var dataB = ['dataLoad1B', 'dataLoad2B'];
var index = 0;
var detailView = {
tabs: {
tabA: {
title: 'tabA',
fields: {
fieldA: { label: 'fieldA' }
},
dataProvider: function(args) {
args.response.success({ data: { fieldA: dataA[index] }});
start();
equal($detailView.find('tr td:last').html(), dataA[index], 'Tab A data correct for load ' + (index + 1));
index++;
}
},
tabB: {
title: 'tabB',
fields: {
fieldB: { label: 'fieldB' }
},
dataProvider: function(args) {
args.response.success({ data: { fieldB: dataB[index] }});
start();
equal($detailView.find('tr td:last').html(), dataB[index], 'Tab B data correct for load ' + (index + 1));
index++;
}
}
}
};
var $detailView = $('
');
stop();
$detailView.detailView(detailView).appendTo('#qunit-fixture');
stop();
$detailView.find('.button.refresh').click();
stop();
index = 0;
$detailView.find('.ui-tabs-nav li.last a').click();
stop();
$detailView.find('.button.refresh').click();
});
test('View all, 1 section', function() {
var $browser = $('
').appendTo('#qunit-fixture');
var detailView = {
$browser: $browser,
context: {},
viewAll: { label: 'testListView', path: 'testListView' },
tabs: {
tabA: {
title: 'tabA',
fields: [{ fieldA: { label: 'fieldA' }}],
dataProvider: function(args) { args.response.success({ data: { fieldA: 'fieldAContent' } }); start(); }
}
}
};
var testListView = {};
var $detailView = $('
').appendTo('#qunit-fixture');
$('
').attr('cloudStack-container', true).data('cloudStack-args', {
sections: {
testListView: testListView
}
}).appendTo('#qunit-fixture');
stop();
$.fn.cloudBrowser = function(cmd, args) {};
$browser.cloudBrowser();
$detailView.detailView(detailView);
equal($detailView.find('.detail-group.actions td.view-all').size(), 1, 'Detail view has view all button');
stop();
$.fn.listView = function(args, options) {
start();
ok(true, 'List view called');
equal(args, testListView, 'Correct list view passed');
ok(args.$browser.size(), 'Browser passed in args');
ok($.isPlainObject(args.ref), 'Ref passed in args');
equal(args.id, 'testListView', 'Correct section ID');
return this;
};
$.fn.cloudBrowser = function(cmd, args) {
start();
equal(cmd, 'addPanel', 'Browser add panel called');
stop();
args.complete($('
'));
};
$detailView.find('.view-all a').click();
});
test('View all, subsections', function() {
var $browser = $('
').appendTo('#qunit-fixture');
var detailView = {
$browser: $browser,
context: {},
viewAll: { label: 'testListView', path: 'testSection.listViewB' },
tabs: {
tabA: {
title: 'tabA',
fields: [{ fieldA: { label: 'fieldA' }}],
dataProvider: function(args) { args.response.success({ data: { fieldA: 'fieldAContent' } }); start(); }
}
}
};
var listViewA = {};
var listViewB = {};
var $detailView = $('
').appendTo('#qunit-fixture');
$('
').attr('cloudStack-container', true).data('cloudStack-args', {
sections: {
testSection: {
sections: {
listViewA: { listView: listViewA },
listViewB: { listView: listViewB }
}
}
}
}).appendTo('#qunit-fixture');
stop();
$.fn.cloudBrowser = function(cmd, args) {};
$browser.cloudBrowser();
$detailView.detailView(detailView);
equal($detailView.find('.detail-group.actions td.view-all').size(), 1, 'Detail view has view all button');
stop();
$.fn.listView = function(args, options) {
start();
ok(true, 'List view called');
equal(args.listView, listViewB, 'Correct list view passed');
ok(args.$browser.size(), 'Browser passed in args');
ok($.isPlainObject(args.ref), 'Ref passed in args');
equal(args.id, 'testSection', 'Correct section ID');
return this;
};
$.fn.cloudBrowser = function(cmd, args) {
start();
equal(cmd, 'addPanel', 'Browser add panel called');
stop();
args.complete($('
'));
};
$detailView.find('.view-all a').click();
});
}(jQuery));