summaryrefslogtreecommitdiffstats
path: root/install/ui/test/details_tests.js
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2011-02-03 21:42:50 -0600
committerAdam Young <ayoung@redhat.com>2011-02-07 11:31:17 -0500
commit348d734c59432a740b52924ac18ff47b30dad54e (patch)
tree7ed5d13f7a8f16dce89e6889366f9b661ef41cf1 /install/ui/test/details_tests.js
parenta6849ef2ba5611ac44b612b2c0552c685b22aa3a (diff)
downloadfreeipa-348d734c59432a740b52924ac18ff47b30dad54e.tar.gz
freeipa-348d734c59432a740b52924ac18ff47b30dad54e.tar.xz
freeipa-348d734c59432a740b52924ac18ff47b30dad54e.zip
Restructuring details page.
Previously the IPA.details_list_section can only be used with widgets that generates <dd> tag because it uses the following structure: <dl> <dt>Telephone Number:</dt> <span name="teleponenumber"> <dd>111-1111</dd> <dd>222-2222</dd> </span> </dl> The <dd> tag was previously used to handle multi-valued attributes. Since multi-valued attributes are now handled by the recently added IPA.multivalued_text_widget, the structure can be changed as follows: <dl> <dt>Telephone Number:</dt> <dd> <span name="telephonenumber"> <div>111-1111</div> <div>222-2222</div> </span> </dd> </dl> This allows IPA.details_list_section to be used with any widgets without requiring the <dd> tag.
Diffstat (limited to 'install/ui/test/details_tests.js')
-rw-r--r--install/ui/test/details_tests.js93
1 files changed, 41 insertions, 52 deletions
diff --git a/install/ui/test/details_tests.js b/install/ui/test/details_tests.js
index cf4de0825..804958134 100644
--- a/install/ui/test/details_tests.js
+++ b/install/ui/test/details_tests.js
@@ -121,63 +121,52 @@ test("Testing details lifecycle: create, setup, load.", function(){
}
);
- var setup_status_called = false;
- var save_password_called= false;
- var load_manager_called = false;
+ var setup_called = false;
+ var save_called= false;
+ var load_called = false;
+
var load_success_called = false;
var load_failure_called = false;
var update_success_called = false;
var update_failure_called = false;
function setup_status(){
- setup_status_called = true;
+ setup_called = true;
}
function save_password(){
- save_password_called = true;
+ save_called = true;
return [];
}
function load_manager(){
- load_manager_called = true;
- }
-
- function setup_st(){
+ load_called = true;
}
var container = $("<div/>");
var obj_name = 'user';
+ var widget = IPA.widget({name: 'cn'});
+
+ widget.setup = function(container) {
+ setup_called = true;
+ widget.widget_setup(container);
+ };
+
+ widget.load = function(record) {
+ load_called = true;
+ widget.widget_load(record);
+ };
+
+ widget.save = function() {
+ save_called = true;
+ widget.widget_save();
+ };
IPA.entity_set_details_definition(obj_name, [
IPA.stanza({name:'identity', label:'Identity Details'}).
- input({name:'title'}).
- input({name:'givenname'}).
- input({name:'sn'}).
- input({name:'cn'}).
- input({name:'displayname'}).
- input({name:'initials'}),
- IPA.stanza({name:'account', label:'Account Details'}).
- input({name:'status', setup: setup_status}).
- input({name:'uid'}).
- input({name:'userpassword', save: save_password}).
- input({name:'uidnumber'}).
- input({name:'gidnumber'}).
- input({name:'homedirectory'}),
- IPA.stanza({name:'contact', label:'Contact Details'}).
- input({name:'mail'}).
- input({name:'telephonenumber'}),
- IPA.stanza({name:'address'}).
- input({name:'street'}).
- input({name:'location'}).
- input({name:'state', setup: setup_st}).
- input({name:'postalcode'}),
- IPA.stanza({name:'employee', label:'Employee Information'}).
- input({name:'ou'}).
- input({name:'manager', load: load_manager}),
- IPA.stanza({name:'misc', label:'Misc. Information'}).
- input({name:'carlicense'})
+ custom_input(widget)
]);
var entity = IPA.fetch_entity(obj_name);
@@ -203,18 +192,18 @@ test("Testing details lifecycle: create, setup, load.", function(){
var dts = identity.find('dt');
same(
- dts.length, 6,
+ dts.length, 1,
'Checking dt tags for identity'
);
container.attr('id','user');
ok (
- setup_status_called,
+ setup_called,
'Setup status called'
);
- ok (load_manager_called, 'load manager called');
+ ok (load_called, 'load manager called');
facet.update(
function(){update_success_called = true},
@@ -223,7 +212,7 @@ test("Testing details lifecycle: create, setup, load.", function(){
ok (update_success_called,'update success called');
ok (!update_failure_called,'update failure not called');
- ok (save_password_called, 'save password called');
+ ok (save_called, 'save called');
});
@@ -300,31 +289,31 @@ test("Testing IPA.details_section_setup again()",function(){
'dl is created'
);
- var dt = $('dt', dl);
same(
- dt.length, 3,
- '3 dt'
+ dl[0].id, section.name,
+ 'checking section name'
);
- var span = dt.next();
+ var dt = $('dt', dl);
same(
- span.length, 3,
- '3 span'
+ dt.length, 3,
+ '3 dt'
);
same(
- dl[0].id, section.name,
- 'checking section name'
+ dt[0].innerHTML, fields[0].label+":",
+ 'inner HTML matches label'
);
+ var dd = $('dd', dl);
same(
- dt[0].innerHTML, fields[0].label+":",
- 'inner HTML matches label'
+ dd.length, 3,
+ '3 dd'
);
- var dd = $('dd', span[0]);
+ var span = $('span[name="cn"]', dd[0]);
same(
- dd.length, 1,
- '1 dd'
+ span.length, 1,
+ '1 span'
);
});