/* Authors: * Adam Young * * Copyright (C) 2010 Red Hat * see file 'COPYING' for use and warranty information * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; version 2 only * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ test("Testing ipa_details_section.create().", function() { 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 section = ipa_details_list_section({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 = $("
"); section.create(container); var dl = $('dl', container); 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"); var obj_name = 'user'; ipa_entity_set_details_definition(obj_name, [ ipa_stanza({name:'identity', label:'Identity Details'}). input({name:'title', label: 'Title'}). input({name:'givenname', label:'First Name'}). input({name:'sn', label:'Last Name'}). input({name:'cn', label:'Full Name'}). input({name:'displayname', label:'Dispaly Name'}). input({name:'initials', label:'Initials'}), ipa_stanza({name:'account', label:'Account Details'}). input({name:'status', label:'Account Status', setup: setup_status}). input({name:'uid', label:'Login'}). input({name:'userpassword', label:'Password', save: save_password}). input({name:'uidnumber', label:'UID'}). input({name:'gidnumber', label:'GID'}). input({name:'homedirectory', label:'homedirectory'}), ipa_stanza({name:'contact', label:'Contact Details'}). input({name:'mail', label:'E-mail Address'}). input({name:'telephonenumber', label:'Numbers'}), ipa_stanza({name:'address', label:'Mailing Address'}). input({name:'street', label:'Address'}). input({name:'location', label:'City'}). input({name:'state', label:'State', setup: setup_st}). input({name:'postalcode', label:'ZIP'}), ipa_stanza({name:'employee', label:'Employee Information'}). input({name:'ou', label:'Org. Unit'}). input({name:'manager', label:'Manager', load: load_manager}), ipa_stanza({name:'misc', label:'Misc. Information'}). input({name:'carlicense', label:'Car License'}) ]); var entity = ipa_get_entity(obj_name); var facet = entity.get_facet('details'); facet.create(container); facet.setup(container); facet.display(result); var contact = container.find('dl#contact.entryattrs'); ok( contact, 'dl tag for contact is created' ); var identity = container.find('dl#identity.entryattrs'); ok( identity, 'dl tag for identity is created' ); var dts = identity.find('dt'); same( dts.length, 6, 'Checking dt tags for identity' ); container.attr('id','user'); ok ( setup_status_called, 'Setup status called' ); ok (load_manager_called, 'load manager called'); facet.update(container, 'kfrog', function(){update_success_called = true}, function(){update_failure_called = true}); ok (update_success_called,'update success called'); ok (!update_failure_called,'update failure not called'); ok (save_password_called, 'save password called'); }); test("Testing _ipa_create_text_input().", function(){ var field = ipa_details_field({ 'name': "name" }); var name = "name"; var value="value"; var rights = 'rscwo' var input = _ipa_create_text_input.call(field, value, null,rights); ok(input,"input not null"); var text = input.find('input'); ok(text); same(text[0].name,name ); same(text[0].value,value ); same(text[0].type,"text" ); }); test("Testing _ipa_create_text_input() read only .", function(){ var field = ipa_details_field({ 'name': "name" }); var name = "name"; var value="value"; var rights = 'rsc' var input = _ipa_create_text_input.call(field, value, null,rights); ok(input,"input not null"); var text = input.find('input'); ok(text); same(text[0].name,name ); same(text[0].value,value ); same(text[0].type,"text" ); ok(text[0].disabled); }); test("Testing ipa_details_section_setup again()",function(){ var section = ipa_details_list_section({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 = $("
"); var details = $("
"); container.append(details); var result = {}; section.create(container); section.setup(container); section.load(result); //var h2= container.find('h2'); //ok(h2); //ok(h2[0].innerHTML.indexOf(section.label) > 1,"find name in html"); var dl = $('dl', container); ok( dl.length, 'dl is created' ); var dt = $('dt', dl); same( dt.length, 3, '3 dt' ); var span = dt.next(); same( span.length, 3, '3 span' ); same( dl[0].id, section.name, 'checking section name' ); same( dt[0].innerHTML, fields[0].label+":", 'inner HTML matches label' ); var dd = $('dd', span[0]); same( dd.length, 1, '1 dd' ); });