From 7950399ef8f19c8a0fda13567fdbd0b988dcdec0 Mon Sep 17 00:00:00 2001 From: bfederle Date: Thu, 1 Mar 2012 16:08:53 -0800 Subject: [PATCH] Add browser UI widget tests --- ui/tests/index.html | 2 ++ ui/tests/test.cloudBrowser.js | 64 +++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 ui/tests/test.cloudBrowser.js diff --git a/ui/tests/index.html b/ui/tests/index.html index 5b8baebb18f..d0bad669631 100644 --- a/ui/tests/index.html +++ b/ui/tests/index.html @@ -4,6 +4,7 @@ CloudStack UI Tests +

CloudStack UI Tests

@@ -75,5 +76,6 @@ + diff --git a/ui/tests/test.cloudBrowser.js b/ui/tests/test.cloudBrowser.js new file mode 100644 index 00000000000..fc44bb6ae0a --- /dev/null +++ b/ui/tests/test.cloudBrowser.js @@ -0,0 +1,64 @@ +(function($) { + var $browser, $breadcrumbs, $browserContainer; + + module('Browser', { + setup: function() { + $.fx.off = true; + $browser = $('
').addClass('browser-test').appendTo('#qunit-fixture'); + $breadcrumbs = $('
').attr('id', 'breadcrumbs').appendTo($browser); + $browserContainer = $('
').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));