summaryrefslogtreecommitdiffstats
path: root/install/static/test/details_tests.js
diff options
context:
space:
mode:
Diffstat (limited to 'install/static/test/details_tests.js')
-rw-r--r--install/static/test/details_tests.js187
1 files changed, 102 insertions, 85 deletions
diff --git a/install/static/test/details_tests.js b/install/static/test/details_tests.js
index 4a60216ef..8482f6df0 100644
--- a/install/static/test/details_tests.js
+++ b/install/static/test/details_tests.js
@@ -19,45 +19,96 @@
*/
-test("Testing ipa_details_create().", function() {
+test("Testing ipa_details_section.setup().", function() {
- var name = 'NAMENAMENAME';
- var identity = 'IDIDID';
+ IPA.ajax_options.async = false;
+
+ IPA.init(
+ "data",
+ true,
+ function(data, text_status, xhr) {
+ ok(true, "ipa_init() succeeded.");
+ },
+ function(xhr, text_status, error_thrown) {
+ ok(false, "ipa_init() failed: "+error_thrown);
+ }
+ );
+
+ var result = {};
- var section = ipa_stanza({name:identity, label:name}).
+ 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 details = section.fields;
- var parent = $("<div/>");
- var container = $("<div title='entity'/>");
- parent.append(container);
- ipa_details_section_setup(parent,container, section);
+ var fields = section.fields;
+ var container = $("<div/>");
+ section.setup(container, result);
- ok(parent.find('hr').length);
+ var dl = container.find('dl');
- var h2= parent.find('h2');
- ok(h2.length);
- ok(h2[0].innerHTML.indexOf(name) > 1,"find name in html");
+ same(
+ dl.length, 1,
+ 'Checking dl tag'
+ );
+
+ same(
+ dl.attr('id'), section.name,
+ 'Checking section name'
+ );
+
+ var dts = $('dt', dl);
+ same(
+ dts.length, fields.length, // each field generates dt & dd
+ 'Checking number of children'
+ );
+
+ for (var i=0; i<fields.length; i++) {
+ var dt = dts.get(i);
+ same(
+ dt.title, fields[i].name,
+ 'Checking field '+i+'\'s title'
+ );
+
+ same(
+ dt.innerHTML, fields[i].label+':',
+ 'Checking field '+i+'\'s label'
+ );
+ }
+});
- var dl = parent.find('dl');
- ok(dl.length);
- same(dl[0].children.length,3,"children tag count");
- same(dl[0].id, identity,"identity");
- same(details[0].name, dl[0].children[0].title,"name");
- var d = dl[0].children[0].innerHTML;
- same(details[0].label+":",d);
- same(details[2].name,dl[0].children[2].title);
- d = dl[0].children[2].innerHTML;
- same(details[2].label+":" ,d);
-});
+test("Testing details lifecycle: create, save ().", function(){
+ IPA.ajax_options.async = false;
-test("Testing details lifecycle:setup, load, save ().", function(){
+ IPA.init(
+ "data",
+ true,
+ function(data, text_status, xhr) {
+ ok(true, "ipa_init() succeeded.");
+ },
+ function(xhr, text_status, error_thrown) {
+ ok(false, "ipa_init() failed: "+error_thrown);
+ }
+ );
+
+ var result = {};
+
+ ipa_cmd(
+ 'user_show',
+ ['kfrog'],
+ {},
+ function(data, text_status, xhr) {
+ result = data.result.result;
+ ok(true, "ipa_cmd() succeeded.");
+ },
+ function(xhr, text_status, error_thrown) {
+ ok(false, "ipa_cmd() failed: "+error_thrown);
+ }
+ );
var setup_status_called = false;
var save_password_called= false;
@@ -82,6 +133,7 @@ test("Testing details lifecycle:setup, load, save ().", function(){
function setup_st(){
}
+
var container = $("<div/>");
var obj_name = 'user';
ipa_entity_set_details_definition(obj_name, [
@@ -116,46 +168,42 @@ test("Testing details lifecycle:setup, load, save ().", function(){
var entity = ipa_get_entity(obj_name);
var facet = entity.get_facet('details');
- var sections = facet.get_sections();
- ipa_details_create(container, sections);
+ facet.create(container, result);
var contact = container.find('dl#contact.entryattrs');
- ok(contact);
- var identity = container.find('dl#identity.entryattrs');
- ok(identity);
- var dts= identity.find('dt');
- ok(dts);
- same(6, dts.length);
- same('initials',dts[5].title);
- //TODO extract into Fixture
- IPA.ajax_options.async = false;
- $.ajaxSetup(IPA.ajax_options);
- IPA.json_url = './data';
- IPA.use_static_files = true;
-
- container.attr('id','user');
-
- ok (setup_status_called , 'setup status called');
+ ok(
+ contact,
+ 'dl tag for contact is created'
+ );
+ var identity = container.find('dl#identity.entryattrs');
- ipa_details_load(container,
- 'kfrog',
- function(){load_success_called = true},
- function(){load_failure_called = true});
+ ok(
+ identity,
+ 'dl tag for identity is created'
+ );
- ok (load_success_called,'load success called');
- ok (!load_failure_called,'load failure not called');
+ var dts= identity.find('dt');
+ same(
+ dts.length, 6,
+ 'Checking dt tags for identity'
+ );
- ok (load_manager_called, 'load manager called');
+ same(
+ dts[5].title, facet.get_sections()[0].get_fields()[5].name,
+ 'Checking dt title'
+ );
+ container.attr('id','user');
- ipa_details_load(container,
- 'kfrog',
- function(){load_success_called = true},
- function(){load_failure_called = true});
+ ok (
+ setup_status_called,
+ 'Setup status called'
+ );
+ ok (load_manager_called, 'load manager called');
ipa_details_update(container,
'kfrog',
@@ -183,34 +231,3 @@ test("Testing _ipa_create_text_input().", function(){
same(text[0].value,value );
same(text[0].type,"text" );
});
-
-
-test("Testing ipa_details_section_setup()",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 fields = section.fields;
- var container = $("<div title='entity'/>");
- var details = $("<div/>");
- container.append(details);
-
- ipa_details_section_setup(container, details, section);
-
- ok(container.find('hr'));
-
- var h2= container.find('h2');
- ok(h2);
- ok(h2[0].innerHTML.indexOf(section.label) > 1,"find name in html");
-
- var dl = container.find('dl');
- ok(dl);
- same(dl[0].children.length,3);
- same(dl[0].id, section.name);
- same(dl[0].children[0].title, fields[0].name);
- same(dl[0].children[0].innerHTML, fields[0].label+":");
- same(dl[0].children[2].title, fields[2].name);
- same(dl[0].children[2].innerHTML, fields[2].label+":");
-
-});