summaryrefslogtreecommitdiffstats
path: root/install/ui/test
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2011-04-20 19:11:10 -0500
committerEndi S. Dewata <edewata@redhat.com>2011-05-05 12:14:25 -0500
commit238da3dffd99f3ea91318eb2dd0fe77860aff345 (patch)
treef34373c69926b52264f6adc8597044a1e6c9f719 /install/ui/test
parente64c1995d43ae6b42c81ac08e79d6d016344b39c (diff)
downloadfreeipa-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')
-rw-r--r--install/ui/test/navigation_tests.js136
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();
});