diff options
author | Endi S. Dewata <edewata@redhat.com> | 2011-02-03 21:42:50 -0600 |
---|---|---|
committer | Adam Young <ayoung@redhat.com> | 2011-02-07 11:31:17 -0500 |
commit | 348d734c59432a740b52924ac18ff47b30dad54e (patch) | |
tree | 7ed5d13f7a8f16dce89e6889366f9b661ef41cf1 /install/ui/test | |
parent | a6849ef2ba5611ac44b612b2c0552c685b22aa3a (diff) | |
download | freeipa-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')
-rw-r--r-- | install/ui/test/data/sudorule_show.json | 3 | ||||
-rw-r--r-- | install/ui/test/details_tests.js | 93 |
2 files changed, 44 insertions, 52 deletions
diff --git a/install/ui/test/data/sudorule_show.json b/install/ui/test/data/sudorule_show.json index 51f83af70..44d3cfd83 100644 --- a/install/ui/test/data/sudorule_show.json +++ b/install/ui/test/data/sudorule_show.json @@ -38,6 +38,9 @@ "externaluser": [ "external" ], + "ipaenabledflag": [ + "TRUE" + ], "ipasudorunas_user": [ "admin" ], 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' ); }); |