summaryrefslogtreecommitdiffstats
path: root/install/ui/test/details_tests.js
diff options
context:
space:
mode:
authorAdam Young <ayoung@redhat.com>2011-03-18 16:43:54 -0400
committerAdam Young <ayoung@redhat.com>2011-03-31 17:29:33 -0400
commit4270e26adb56b6d1b7a9e80433581b82519d9eec (patch)
treedcb0982b741d92c0be37e262e70b7cd0969e06d0 /install/ui/test/details_tests.js
parentdb91321fd2c94680361ae8196ba9227615f92c39 (diff)
downloadfreeipa-4270e26adb56b6d1b7a9e80433581b82519d9eec.tar.gz
freeipa-4270e26adb56b6d1b7a9e80433581b82519d9eec.tar.xz
freeipa-4270e26adb56b6d1b7a9e80433581b82519d9eec.zip
define entities using builder and more declarative syntax
merged hbac and sudo in to single files associaton facet and table supports linking
Diffstat (limited to 'install/ui/test/details_tests.js')
-rw-r--r--install/ui/test/details_tests.js99
1 files changed, 67 insertions, 32 deletions
diff --git a/install/ui/test/details_tests.js b/install/ui/test/details_tests.js
index 039be0e61..6cc8fd72d 100644
--- a/install/ui/test/details_tests.js
+++ b/install/ui/test/details_tests.js
@@ -18,6 +18,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+var details_container;
+
module('details', {
setup: function() {
@@ -27,30 +29,39 @@ module('details', {
"data",
true,
function(data, text_status, xhr) {
+ IPA.metadata = data.result.results[0];
+ IPA.messages = data.result.results[1].messages;
+ IPA.whoami = data.result.results[2].result[0];
+ IPA.env = data.result.results[3].result;
+ IPA.dns_enabled = data.result.results[4].result;
},
function(xhr, text_status, error_thrown) {
ok(false, "ipa_init() failed: "+error_thrown);
}
);
+ details_container = $('<div id="details"/>').appendTo(document.body);
+
var obj_name = 'user';
- IPA.entity_factories.user=
+ IPA.entity_factories.user=
function(){
return IPA.entity({name:obj_name});
};
IPA.start_entities();
},
teardown: function() {
+ details_container.remove();
}
});
test("Testing IPA.details_section.create().", function() {
- var section = IPA.stanza({name:'IDIDID', label:'NAMENAMENAME'}).
- input({name:'cn'}).
- input({name:'uid'}).
- input({name:'mail'});
+ var section = IPA.details_list_section({
+ name:'IDIDID', label:'NAMENAMENAME'}).
+ text({name:'cn'}).
+ text({name:'uid'}).
+ text({name:'mail'});
section.entity_name = 'user';
section.init();
@@ -143,34 +154,57 @@ test("Testing details lifecycle: create, setup, load.", function(){
load_called = true;
}
- var container = $("<div/>");
+ var container = details_container;
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();
- };
+ function test_widget(){
+ 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();
+ };
+ return widget;
+ }
- IPA.entity_set_details_definition(obj_name, [
- IPA.stanza({name:'identity', label:'Identity Details'}).
- custom_input(widget)
- ]);
+ var entity = IPA.
+ entity_builder().
+ entity('user').
+ details_facet([
+ {
+ section: 'identity',
+ label: IPA.messages.details.identity,
+ fields:['title','givenname','sn','cn','displayname', 'initials']
+ },
+ {
+ section: 'contact',
+ label:'contact',
+ fields:
+ [ {factory: test_widget,name:'test'},
+ {factory: IPA.multivalued_text_widget, name:'mail'},
+ {factory: IPA.multivalued_text_widget,
+ name:'telephonenumber'},
+ {factory: IPA.multivalued_text_widget, name:'pager'},
+ {factory: IPA.multivalued_text_widget, name:'mobile'},
+ {factory: IPA.multivalued_text_widget,
+ name:'facsimiletelephonenumber'}]
+ },
+ ]).build();
+ entity.init();
- var entity = IPA.fetch_entity(obj_name);
var facet = entity.get_facet('details');
+ facet.init();
facet.create(container);
facet.setup(container);
facet.load(result);
@@ -192,7 +226,7 @@ test("Testing details lifecycle: create, setup, load.", function(){
var dts = identity.find('dt');
same(
- dts.length, 1,
+ dts.length, 6,
'Checking dt tags for identity'
);
@@ -219,10 +253,11 @@ test("Testing details lifecycle: create, setup, load.", function(){
test("Testing IPA.details_section_setup again()",function(){
- var section = IPA.stanza({name: 'IDIDID', label: 'NAMENAMENAME'}).
- input({name:'cn', label:'Entity Name'}).
- input({name:'description', label:'Description'}).
- input({name:'number', label:'Entity ID'});
+ var section = IPA.details_list_section({
+ name: 'IDIDID', label: 'NAMENAMENAME'}).
+ text({name:'cn', label:'Entity Name'}).
+ text({name:'description', label:'Description'}).
+ text({name:'number', label:'Entity ID'});
var fields = section.fields;
var container = $("<div title='entity'/>");
var details = $("<div/>");