mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Fixed entity definition in test cases.
The test cases have been updated to use the new extensible mechanism for defining and registering entities. Ticket #2043
This commit is contained in:
parent
a9e4316d5a
commit
e84bd27af2
@ -217,6 +217,7 @@ IPA.entity = function(spec) {
|
||||
return [that.name + '-pkey'];
|
||||
};
|
||||
|
||||
that.entity_init = that.init;
|
||||
|
||||
return that;
|
||||
};
|
||||
|
@ -167,20 +167,13 @@ var IPA = function() {
|
||||
};
|
||||
|
||||
that.register = function(name, factory) {
|
||||
that.remove_entity(name);
|
||||
that.entity_factories[name] = factory;
|
||||
};
|
||||
|
||||
that.get_entities = function() {
|
||||
return that.entities.values;
|
||||
};
|
||||
|
||||
that.get_entity = function(name) {
|
||||
var entity = that.entities.get(name);
|
||||
if (!entity) {
|
||||
that.create_entity = function(name) {
|
||||
var factory = that.entity_factories[name];
|
||||
if (!factory) {
|
||||
return null;
|
||||
}
|
||||
if (!factory) return null;
|
||||
|
||||
try {
|
||||
var builder = that.entity_builder();
|
||||
@ -190,12 +183,13 @@ var IPA = function() {
|
||||
name: name
|
||||
});
|
||||
|
||||
entity = builder.build();
|
||||
var entity = builder.build();
|
||||
|
||||
entity.init({
|
||||
builder: builder
|
||||
});
|
||||
|
||||
that.add_entity(entity);
|
||||
return entity;
|
||||
|
||||
} catch (e) {
|
||||
if (e.expected) {
|
||||
@ -203,13 +197,26 @@ var IPA = function() {
|
||||
entities are not to be registered. */
|
||||
return null;
|
||||
}
|
||||
|
||||
if (e.message) {
|
||||
alert(e.message);
|
||||
} else {
|
||||
alert(e);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
that.get_entities = function() {
|
||||
return that.entities.values;
|
||||
};
|
||||
|
||||
that.get_entity = function(name) {
|
||||
var entity = that.entities.get(name);
|
||||
if (!entity) {
|
||||
entity = that.create_entity(name);
|
||||
if (entity) that.add_entity(entity);
|
||||
}
|
||||
return entity;
|
||||
};
|
||||
|
@ -156,30 +156,58 @@ test("Testing details lifecycle: create, load.", function(){
|
||||
return widget;
|
||||
}
|
||||
|
||||
var entity = IPA.
|
||||
entity_builder().
|
||||
entity('user').
|
||||
details_facet({sections:[
|
||||
IPA.register('user', function(spec) {
|
||||
|
||||
var that = IPA.entity(spec);
|
||||
|
||||
that.init = function(params) {
|
||||
that.entity_init(params);
|
||||
|
||||
params.builder.details_facet({
|
||||
sections: [
|
||||
{
|
||||
name: 'identity',
|
||||
label: IPA.messages.details.identity,
|
||||
fields:['title','givenname','sn','cn','displayname', 'initials']
|
||||
fields: [ 'title', 'givenname', 'sn', 'cn', 'displayname', 'initials' ]
|
||||
},
|
||||
{
|
||||
name: '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'}]
|
||||
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();
|
||||
]
|
||||
}
|
||||
]
|
||||
});
|
||||
};
|
||||
|
||||
return that;
|
||||
});
|
||||
|
||||
var entity = IPA.get_entity('user');
|
||||
|
||||
var entity_container = $('<div/>', {
|
||||
name: 'user',
|
||||
|
@ -31,14 +31,20 @@ module('entity',{
|
||||
url: 'data',
|
||||
on_success: function(data, text_status, xhr) {
|
||||
|
||||
IPA.entity_factories.user = function(){
|
||||
return IPA.
|
||||
entity_builder().
|
||||
entity('user').
|
||||
search_facet({
|
||||
columns:['uid']}).
|
||||
build();
|
||||
IPA.register('user', function(spec) {
|
||||
|
||||
var that = IPA.entity(spec);
|
||||
|
||||
that.init = function(params) {
|
||||
that.entity_init(params);
|
||||
|
||||
params.builder.search_facet({
|
||||
columns: [ 'uid' ]
|
||||
});
|
||||
};
|
||||
|
||||
return that;
|
||||
});
|
||||
},
|
||||
on_error: function(xhr, text_status, error_thrown) {
|
||||
ok(false, "ipa_init() failed: "+error_thrown);
|
||||
@ -60,12 +66,7 @@ test('Testing IPA.entity_set_search_definition().', function() {
|
||||
return true;
|
||||
};
|
||||
|
||||
var entity = IPA.
|
||||
entity_builder().
|
||||
entity('user').
|
||||
search_facet({
|
||||
columns:['uid']}).
|
||||
build();
|
||||
var entity = IPA.get_entity('user');
|
||||
|
||||
var entity_container = $('<div/>', {
|
||||
name: 'user',
|
||||
|
Loading…
Reference in New Issue
Block a user