Add browser UI widget tests

This commit is contained in:
bfederle 2012-03-01 16:08:53 -08:00 committed by Salvatore Orlando
parent eaaea07473
commit 7950399ef8
2 changed files with 66 additions and 0 deletions

View File

@ -4,6 +4,7 @@
<head>
<title>CloudStack UI Tests</title>
<link rel="stylesheet" href="../lib/qunit/qunit.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../css/cloudStack3.css" type="text/css" media="screen" />
</head>
<body>
<h1 id="qunit-header">CloudStack UI Tests</h1>
@ -75,5 +76,6 @@
<!-- Tests -->
<script src="test.core.js" type="text/javascript"></script>
<script src="test.cloudBrowser.js" type="text/javascript"></script>
</body>
</html>

View File

@ -0,0 +1,64 @@
(function($) {
var $browser, $breadcrumbs, $browserContainer;
module('Browser', {
setup: function() {
$.fx.off = true;
$browser = $('<div>').addClass('browser-test').appendTo('#qunit-fixture');
$breadcrumbs = $('<div>').attr('id', 'breadcrumbs').appendTo($browser);
$browserContainer = $('<div>').addClass('container').appendTo($browser);
ok($browserContainer.cloudBrowser(), 'Browser initialized');
equal($breadcrumbs.find('ul').size(), 1, 'Breadcrumbs initialized');
}
});
// Browser tests
test('Add panel', function() {
ok($browserContainer.cloudBrowser('addPanel', { title: 'testPanel123' }), 'Add panel');
equal($browser.find('.panel').size(), 1, 'Browser has 1 panel');
equal($breadcrumbs.find('ul li').size(), 1, 'Browser has 1 breadcrumb');
equal($breadcrumbs.find('ul li:first span').html(), 'testPanel123', 'Panel has correct title');
});
test('Add a second panel', function() {
ok($browserContainer.cloudBrowser('addPanel', { title: 'testPanel123' }), 'Add first panel');
ok($browserContainer.cloudBrowser('addPanel', { title: 'testPanel456' }), 'Add second panel');
equal($browser.find('.panel').size(), 2, 'Browser has 2 panels');
equal($breadcrumbs.find('ul li').size(), 2, 'Browser has 2 breadcrumbs');
equal($breadcrumbs.find('ul li:last span').html(), 'testPanel456', 'New panel has correct title');
equal($breadcrumbs.find('ul li:first span').html(), 'testPanel123', 'First panel still has correct title');
});
test('Select panel', function() {
ok($browserContainer.cloudBrowser('addPanel', { title: 'testPanel123' }), 'Add first panel');
ok($browserContainer.cloudBrowser('addPanel', { title: 'testPanel456' }), 'Add second panel');
ok($browserContainer.cloudBrowser('addPanel', { title: 'testPanel789' }), 'Add third panel');
stop();
$browserContainer.cloudBrowser('selectPanel', {
panel: $browser.find('.panel:first').next(),
complete: function() {
start();
ok(true, 'Select second panel');
}
});
equal($browser.find('.panel').size(), 2, 'Browser has 2 panels');
equal($breadcrumbs.find('ul li:first span').html(), 'testPanel123', 'First panel still has correct title');
equal($breadcrumbs.find('ul li:last span').html(), 'testPanel456', 'Second panel still has correct title');
equal($breadcrumbs.find('ul li').size(), 2, 'Browser has 2 breadcrumbs');
stop();
$browserContainer.cloudBrowser('selectPanel', {
panel: $browser.find('.panel:first'),
complete: function() {
start();
ok(true, 'Select first panel');
}
});
equal($browser.find('.panel').size(), 1, 'Browser has 1 panel');
equal($breadcrumbs.find('ul li:first span').html(), 'testPanel123', 'First panel still has correct title');
equal($breadcrumbs.find('ul li').size(), 1, 'Browser has 1 breadcrumb');
});
}(jQuery));