diff options
author | Endi S. Dewata <edewata@redhat.com> | 2011-04-20 19:11:10 -0500 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2011-05-05 12:14:25 -0500 |
commit | 238da3dffd99f3ea91318eb2dd0fe77860aff345 (patch) | |
tree | f34373c69926b52264f6adc8597044a1e6c9f719 /install/ui/test/navigation_tests.js | |
parent | e64c1995d43ae6b42c81ac08e79d6d016344b39c (diff) | |
download | freeipa-238da3dffd99f3ea91318eb2dd0fe77860aff345.tar.gz freeipa-238da3dffd99f3ea91318eb2dd0fe77860aff345.tar.xz freeipa-238da3dffd99f3ea91318eb2dd0fe77860aff345.zip |
Refactored navigation.
The singular object IPA.nav has been converted into an IPA.navigation
class. The admin and self-service navigation tabs have been converted
into subclasses of IPA.navigation and will be instantiated according
to user authorization.
Diffstat (limited to 'install/ui/test/navigation_tests.js')
-rw-r--r-- | install/ui/test/navigation_tests.js | 136 |
1 files changed, 67 insertions, 69 deletions
diff --git a/install/ui/test/navigation_tests.js b/install/ui/test/navigation_tests.js index d87edc64d..d8cf6d467 100644 --- a/install/ui/test/navigation_tests.js +++ b/install/ui/test/navigation_tests.js @@ -34,13 +34,7 @@ module('navigation', { } }); -test("Testing IPA.nav.create().", function() { - - var mock_tabs_lists = [ - { name:'identity', label:'IDENTITY', children: [ - {name:'user', entity:'user'}, - {name:'group', entity:'group'} - ]}]; +test("Testing IPA.navigation.create().", function() { var entity; @@ -68,54 +62,66 @@ test("Testing IPA.nav.create().", function() { IPA.start_entities(); IPA.metadata = {}; - var navigation = $('<div id="navigation"/>').appendTo(document.body); + var container = $('<div id="navigation"/>').appendTo(document.body); var user_mock_called = false; var group_mock_called = false; - IPA.nav.create(mock_tabs_lists, navigation, 'tabs'); - IPA.nav.update_tabs(); + + var navigation = IPA.navigation({ + container: container, + tabs: [ + { name:'identity', label:'IDENTITY', children: [ + {name:'user', entity:'user'}, + {name:'group', entity:'group'} + ]} + ] + }); + + navigation.create(); + navigation.update(); + ok(user_mock_called, "mock user setup was called"); ok(!group_mock_called, "mock group setup was not called because the tab is inactive"); - same( navigation[0].children.length, 2, "Two Child tabs"); - same( navigation[0].children[1].id, 'identity', "Identity Tab"); - same( navigation[0].children[1].children[1].id, 'user', "User Tab"); - same( navigation[0].children[1].children[2].id, 'group', "User Tab"); - navigation.remove(); + same( container[0].children.length, 2, "Two Child tabs"); + same( container[0].children[1].id, 'identity', "Identity Tab"); + same( container[0].children[1].children[1].id, 'user', "User Tab"); + same( container[0].children[1].children[2].id, 'group', "User Tab"); + container.remove(); }); -test("Testing IPA.nav.update_tabs() with valid index.", function() { +test("Testing IPA.navigation.update() with valid index.", function() { + + var container = $('<div id="navigation"/>').appendTo(document.body); - var orig_push_state = IPA.nav.push_state; - var orig_get_state = IPA.nav.get_state; - var orig_remove_state = IPA.nav.remove_state; + var navigation = IPA.navigation({ + container: container, + tabs: [ + { name:'identity', label:'IDENTITY', children: [ + {name:'one', label:'One', setup: function (){}}, + {name:'two', label:'Two', setup: function (){}} + ]} + ] + }); var state = {}; - IPA.nav.push_state = function(params) { + navigation.push_state = function(params) { $.extend(state, params); }; - IPA.nav.get_state = function(key) { + + navigation.get_state = function(key) { return state[key]; }; - IPA.nav.remove_state = function(key) { + + navigation.remove_state = function(key) { delete state[key]; }; - var mock_tabs_lists = - [ - { name:'identity', label:'IDENTITY', children: [ - {name:'one', label:'One', setup: function (){}}, - {name:'two', label:'Two', setup: function (){}} - ]}]; - - var navigation = $('<div id="navigation"/>').appendTo(document.body); - - IPA.nav.create(mock_tabs_lists, navigation, 'tabs'); - - IPA.nav.push_state({"identity":1}); - IPA.nav.update_tabs(); + navigation.create(); + navigation.push_state({"identity":1}); + navigation.update(); same( - navigation.tabs('option', 'selected'), 0, + container.tabs('option', 'selected'), 0, "Active tab at level 1" ); @@ -124,49 +130,45 @@ test("Testing IPA.nav.update_tabs() with valid index.", function() { "Active tab at level 2" ); - IPA.nav.remove_state("identity"); - - navigation.remove(); + navigation.remove_state("identity"); - IPA.nav.push_state = orig_push_state; - IPA.nav.get_state = orig_get_state; - IPA.nav.remove_state = orig_remove_state; + container.remove(); }); -test("Testing IPA.nav.update_tabs() with out-of-range index.", function() { +test("Testing IPA.navigation.update() with out-of-range index.", function() { - var orig_push_state = IPA.nav.push_state; - var orig_get_state = IPA.nav.get_state; - var orig_remove_state = IPA.nav.remove_state; + var container = $('<div id="navigation"/>').appendTo(document.body); + + var navigation = IPA.navigation({ + container: container, + tabs: [ + { name:'identity', label:'IDENTITY', children: [ + {name:'one', label:'One', setup: function (){}}, + {name:'two', label:'Two', setup: function (){}} + ]} + ] + }); var state = {}; - IPA.nav.push_state = function(params) { + navigation.push_state = function(params) { $.extend(state, params); }; - IPA.nav.get_state = function(key) { + + navigation.get_state = function(key) { return state[key]; }; - IPA.nav.remove_state = function(key) { + + navigation.remove_state = function(key) { delete state[key]; }; - var mock_tabs_lists = - [ - { name:'identity', label:'IDENTITY', children: [ - {name:'one', label:'One', setup: function (){}}, - {name:'two', label:'Two', setup: function (){}} - ]}]; - - var navigation = $('<div id="navigation"/>').appendTo(document.body); - - IPA.nav.create(mock_tabs_lists, navigation, 'tabs'); - - IPA.nav.push_state({"identity":2}); - IPA.nav.update_tabs(); + navigation.create(); + navigation.push_state({"identity":2}); + navigation.update(); same( - navigation.tabs('option', 'selected'), 0, + container.tabs('option', 'selected'), 0, "Active tab at level 1" ); @@ -175,11 +177,7 @@ test("Testing IPA.nav.update_tabs() with out-of-range index.", function() { "Active tab at level 2" ); - IPA.nav.remove_state("identity"); - - navigation.remove(); + navigation.remove_state("identity"); - IPA.nav.push_state = orig_push_state; - IPA.nav.get_state = orig_get_state; - IPA.nav.remove_state = orig_remove_state; + container.remove(); }); |