From 541b18a0f46668bfc0bc1717c70a5231cf52ef25 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Wed, 29 Feb 2012 11:54:04 -0800 Subject: [PATCH] Add tests for navigation and homepage; basic fixes --- ui/scripts/ui/core.js | 16 ++++++++-------- ui/tests/test.core.js | 13 ++++++++++++- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/ui/scripts/ui/core.js b/ui/scripts/ui/core.js index 5a35b1e31f1..3b6d8702337 100644 --- a/ui/scripts/ui/core.js +++ b/ui/scripts/ui/core.js @@ -52,8 +52,7 @@ * @param sectionID Section's ID to show * @param args CloudStack3 configuration */ - var showSection = function(sectionID, args) { - var $browser = $('#browser div.container'); + var showSection = function(sectionID, args, $browser) { var $navItem = $('#navigation').find('li').filter(function() { return $(this).hasClass(sectionID); }); @@ -244,7 +243,7 @@ // User options var $options = $('
').attr({ id: 'user-options' }) - .appendTo($('#header')); + .appendTo($container.find('#header')); $(['label.logout', 'label.help']).each(function() { var $link = $('') .attr({ href: '#' }) @@ -263,8 +262,8 @@ }); // Initialize browser - $('#browser div.container').cloudBrowser(); - $('#navigation li') + $container.find('#browser div.container').cloudBrowser(); + $container.find('#navigation li') .filter(function() { return $(this).hasClass(args.home); }) @@ -317,6 +316,7 @@ var $target = $(event.target); var $container = $target.closest('[cloudStack-container]'); var args = $container.data('cloudStack-args'); + var $browser = $container.find('#browser .container'); if (!$container.size()) return true; @@ -325,14 +325,14 @@ var $navItem = $target.closest('li.navigation-item'); if ($navItem.is('.disabled')) return false; - showSection($navItem.data('cloudStack-section-id'), args); + showSection($navItem.data('cloudStack-section-id'), args, $browser); return false; } // Browser expand if ($target.hasClass('control expand') && $target.closest('div.panel div.toolbar').size()) { - $('#browser div.container').cloudBrowser('toggleMaximizePanel', { + $browser.cloudBrowser('toggleMaximizePanel', { panel: $target.closest('div.panel') }); @@ -341,7 +341,7 @@ // Home breadcrumb if ($target.is('#breadcrumbs div.home')) { - showSection(args.home, args); + showSection(args.home, args, $browser); return false; } diff --git a/ui/tests/test.core.js b/ui/tests/test.core.js index 4829b36a10c..38e385952b5 100644 --- a/ui/tests/test.core.js +++ b/ui/tests/test.core.js @@ -2,7 +2,9 @@ test('Main widget', function() { var cloudStack = { sections: { - home: {}, + home: { + show: function() { return $('
').addClass('test123'); } + }, sectionA: {}, sectionB: {}, sectionC: {} @@ -21,11 +23,20 @@ // Header var $header = $cloudStack.find('#header'); + var $userOptions = $cloudStack.find('#user-options'); equal($header.size(), 1, 'Header present'); + equal($userOptions.size(), 1, 'User options present'); + equal($userOptions.find('a').size(), 2, 'User options has correct # of options'); // Navigation var $navigation = $cloudStack.find('#navigation'); equal($navigation.size(), 1, 'Navigation present'); equal($navigation.find('li').size(), 4, 'Navigation has correct # of nav items'); + + // Browser / page generation + var $browser = $cloudStack.find('#browser .container'); + var $homePage = $browser.find('.panel div.test123'); + equal($browser.size(), 1, 'Browser intialized'); + equal($homePage.size(), 1, 'Home page is visible'); }); }(jQuery));