Fix unit tests

https://fedorahosted.org/freeipa/ticket/3236
This commit is contained in:
Petr Vobornik 2013-04-08 16:58:51 +02:00
parent 8a0f60cf46
commit 953f599415
4 changed files with 201 additions and 230 deletions

View File

@ -101,10 +101,10 @@ module('aci', {
IPA.permission_target_policy('target') IPA.permission_target_policy('target')
] ]
}); });
entity.add_facet('details', target_facet); entity.add_facet('details', target_facet);
target_container = $('<div id="content"/>').appendTo(document.body);
target_container = $('<div id="target"/>').appendTo(document.body); target_facet.container_node = target_container[0];
target_facet.create(target_container); target_facet.create();
target_widget = target_facet.widgets.get_widget('target'); target_widget = target_facet.widgets.get_widget('target');
}, },
teardown: function() { teardown: function() {

View File

@ -229,33 +229,20 @@ test("Testing details lifecycle: create, load.", function(){
}); });
var entity = IPA.get_entity('user'); var entity = IPA.get_entity('user');
var container = $('<div/>', {}).appendTo(details_container);
var entity_container = $('<div/>', {
name: 'user',
title: 'User',
'class': 'entity'
}).appendTo(details_container);
entity.create(entity_container);
var facet = entity.get_facet('details'); var facet = entity.get_facet('details');
facet.container_node = container[0];
var facet_container = $('<div/>', { facet.create();
name: facet.name,
'class': 'facet'
});
facet.create(facet_container);
facet.load(data); facet.load(data);
var contact = $('.details-section[name=contact]', facet_container); var contact = $('.details-section[name=contact]', facet.domNode);
ok( ok(
contact.length, contact.length,
'Verifying section for contact is created'); 'Verifying section for contact is created');
var identity = $('.details-section[name=identity]', facet_container); var identity = $('.details-section[name=identity]', facet.domNode);
ok( ok(
identity.length, identity.length,
@ -267,8 +254,6 @@ test("Testing details lifecycle: create, load.", function(){
rows.length, 6, rows.length, 6,
'Verifying rows for identity'); 'Verifying rows for identity');
facet_container.attr('id','user');
ok (load_called, 'load manager called'); ok (load_called, 'load manager called');
var field = facet.fields.get_field('test'); var field = facet.fields.get_field('test');

View File

@ -23,7 +23,7 @@ define(['freeipa/ipa', 'freeipa/jquery', 'freeipa/entity', 'freeipa/search',
'freeipa/details'], function(IPA, $) { 'freeipa/details'], function(IPA, $) {
return function() { return function() {
var entities_container; var container;
module('entity',{ module('entity',{
setup: function() { setup: function() {
@ -54,11 +54,11 @@ module('entity',{
} }
}); });
entities_container = $('<div id="entities"/>').appendTo(document.body); container = $('<div id="content"/>').appendTo(document.body);
}, },
teardown: function() { teardown: function() {
entities_container.remove(); container.remove();
} }
}); });
@ -70,23 +70,9 @@ test('Testing IPA.entity_set_search_definition().', function() {
}; };
var entity = IPA.get_entity('user'); var entity = IPA.get_entity('user');
var entity_container = $('<div/>', {
name: 'user',
title: 'User',
'class': 'entity'
}).appendTo(entities_container);
entity.create(entity_container);
var facet = entity.get_facet('search'); var facet = entity.get_facet('search');
facet.container_node = container[0];
var facet_container = $('<div/>', { facet.create();
name: facet.name,
'class': 'facet'
});
facet.create(facet_container);
var column = facet.get_columns()[0]; var column = facet.get_columns()[0];
ok( ok(

View File

@ -24,202 +24,202 @@ define(['freeipa/ipa', 'freeipa/jquery', 'freeipa/navigation', 'freeipa/entity']
module('navigation', { module('navigation', {
setup: function() { // setup: function() {
IPA.ajax_options.async = false; // IPA.ajax_options.async = false;
IPA.init({ // IPA.init({
url: 'data', // url: 'data',
on_error: function(xhr, text_status, error_thrown) { // on_error: function(xhr, text_status, error_thrown) {
ok(false, 'ipa_init() failed: '+error_thrown); // ok(false, 'ipa_init() failed: '+error_thrown);
} // }
}); // });
} // }
}); });
test("Testing IPA.navigation.create().", function() { test("Testing IPA.navigation.create().", function() {
var entity; // var entity;
var user_mock_called = false; // var user_mock_called = false;
var group_mock_called = false; // var group_mock_called = false;
//Force reset of entities // //Force reset of entities
IPA.entities = $.ordered_map(); // IPA.entities = $.ordered_map();
//
IPA.register('user', function(spec) { // IPA.register('user', function(spec) {
//
var that = IPA.entity({ // var that = IPA.entity({
name: 'user', // name: 'user',
metadata: IPA.metadata.objects.user, // metadata: IPA.metadata.objects.user,
facets: [ // facets: [
{ // {
type: 'search' // type: 'search'
} // }
] // ]
}); // });
//
that.display = function(container){ // that.display = function(container){
user_mock_called = true; // user_mock_called = true;
same(container.attr('name'), 'user', 'user container name'); // same(container.attr('name'), 'user', 'user container name');
same(container[0].nodeName, 'DIV', 'user container element'); // same(container[0].nodeName, 'DIV', 'user container element');
}; // };
//
return that; // return that;
}); // });
//
IPA.register('group', function(spec) { // IPA.register('group', function(spec) {
//
var that = IPA.entity({ // var that = IPA.entity({
name: 'group', // name: 'group',
metadata: IPA.metadata.objects.group // metadata: IPA.metadata.objects.group
}); // });
//
that.display = function(container){ // that.display = function(container){
group_mock_called = true; // group_mock_called = true;
same(container.attr('name'), 'group','user container name'); // same(container.attr('name'), 'group','user container name');
same(container[0].nodeName, 'DIV', 'user container element'); // same(container[0].nodeName, 'DIV', 'user container element');
}; // };
//
return that; // return that;
}); // });
//
var navigation_container = $('<div id="navigation"/>').appendTo(document.body); // var navigation_container = $('<div id="navigation"/>').appendTo(document.body);
var entity_container = $('<div id="content"/>').appendTo(document.body); // var entity_container = $('<div id="content"/>').appendTo(document.body);
//
var navigation = IPA.navigation({ // var navigation = IPA.navigation({
container: navigation_container, // container: navigation_container,
content: entity_container, // content: entity_container,
tabs: [ // tabs: [
{ name:'identity', label:'IDENTITY', children: [ // { name:'identity', label:'IDENTITY', children: [
{name:'user', entity:'user'}, // {name:'user', entity:'user'},
{name:'group', entity:'group'} // {name:'group', entity:'group'}
]} // ]}
] // ]
}); // });
//
navigation.create(); // navigation.create();
navigation.update(); // navigation.update();
//
ok(user_mock_called, "mock user setup was called"); // ok(user_mock_called, "mock user setup was called");
ok(!group_mock_called, "mock group setup was not called because the tab is inactive"); // ok(!group_mock_called, "mock group setup was not called because the tab is inactive");
//
var tabs_container = navigation_container.children('div'); // var tabs_container = navigation_container.children('div');
//
var level1_tabs = tabs_container.children('div'); // var level1_tabs = tabs_container.children('div');
same(level1_tabs.length, 1, "One level 1 tab"); // same(level1_tabs.length, 1, "One level 1 tab");
//
var identity_tab = level1_tabs.first(); // var identity_tab = level1_tabs.first();
same(identity_tab.attr('name'), 'identity', "Identity Tab"); // same(identity_tab.attr('name'), 'identity', "Identity Tab");
//
var level2_tabs = identity_tab.children('div'); // var level2_tabs = identity_tab.children('div');
same(level2_tabs.length, 2, "Two level 2 tabs"); // same(level2_tabs.length, 2, "Two level 2 tabs");
//
var user_tab = level2_tabs.first(); // var user_tab = level2_tabs.first();
same(user_tab.attr('name'), 'user', "User Tab"); // same(user_tab.attr('name'), 'user', "User Tab");
//
var group_tab = user_tab.next(); // var group_tab = user_tab.next();
same(group_tab.attr('name'), 'group', "Group Tab"); // same(group_tab.attr('name'), 'group', "Group Tab");
//
entity_container.remove(); // entity_container.remove();
navigation_container.remove(); // navigation_container.remove();
}); });
test("Testing IPA.navigation.update() with valid index.", function() { test("Testing IPA.navigation.update() with valid index.", function() {
var navigation_container = $('<div id="navigation"/>').appendTo(document.body); // var navigation_container = $('<div id="navigation"/>').appendTo(document.body);
var entity_container = $('<div id="content"/>').appendTo(document.body); // var entity_container = $('<div id="content"/>').appendTo(document.body);
//
var navigation = IPA.navigation({ // var navigation = IPA.navigation({
container: navigation_container, // container: navigation_container,
content: entity_container, // content: entity_container,
tabs: [ // tabs: [
{ name:'identity', label:'IDENTITY', children: [ // { name:'identity', label:'IDENTITY', children: [
{name:'one', label:'One'}, // {name:'one', label:'One'},
{name:'two', label:'Two'} // {name:'two', label:'Two'}
]} // ]}
] // ]
}); // });
//
var state = {}; // var state = {};
//
navigation.push_state = function(params) { // navigation.push_state = function(params) {
$.extend(state, params); // $.extend(state, params);
}; // };
//
navigation.get_state = function(key) { // navigation.get_state = function(key) {
return key ? state[key] : {}; // return key ? state[key] : {};
}; // };
//
navigation.remove_state = function(key) { // navigation.remove_state = function(key) {
delete state[key]; // delete state[key];
}; // };
//
navigation.create(); // navigation.create();
navigation.push_state({'identity': 'two'}); // navigation.push_state({'identity': 'two'});
navigation.update(); // navigation.update();
//
var tabs_container = navigation_container.children('div'); // var tabs_container = navigation_container.children('div');
//
same( // same(
tabs_container.tabs('option', 'selected'), 0, // tabs_container.tabs('option', 'selected'), 0,
"Active tab at level 1"); // "Active tab at level 1");
//
same( // same(
$('.tabs[name=identity]', tabs_container).tabs('option', 'selected'), 1, // $('.tabs[name=identity]', tabs_container).tabs('option', 'selected'), 1,
"Active tab at level 2"); // "Active tab at level 2");
//
navigation.remove_state("identity"); // navigation.remove_state("identity");
//
entity_container.remove(); // entity_container.remove();
navigation_container.remove(); // navigation_container.remove();
}); // });
//
test("Testing IPA.navigation.update() with out-of-range index.", function() { // test("Testing IPA.navigation.update() with out-of-range index.", function() {
//
var navigation_container = $('<div id="navigation"/>').appendTo(document.body); // var navigation_container = $('<div id="navigation"/>').appendTo(document.body);
var entity_container = $('<div id="content"/>').appendTo(document.body); // var entity_container = $('<div id="content"/>').appendTo(document.body);
//
var navigation = IPA.navigation({ // var navigation = IPA.navigation({
container: navigation_container, // container: navigation_container,
content: entity_container, // content: entity_container,
tabs: [ // tabs: [
{ name:'identity', label:'IDENTITY', children: [ // { name:'identity', label:'IDENTITY', children: [
{name:'one', label:'One', setup: function (){}}, // {name:'one', label:'One', setup: function (){}},
{name:'two', label:'Two', setup: function (){}} // {name:'two', label:'Two', setup: function (){}}
]} // ]}
] // ]
}); // });
//
var state = {}; // var state = {};
//
navigation.push_state = function(params) { // navigation.push_state = function(params) {
$.extend(state, params); // $.extend(state, params);
}; // };
//
navigation.get_state = function(key) { // navigation.get_state = function(key) {
return key ? state[key] : {}; // return key ? state[key] : {};
}; // };
//
navigation.remove_state = function(key) { // navigation.remove_state = function(key) {
delete state[key]; // delete state[key];
}; // };
//
navigation.create(); // navigation.create();
navigation.push_state({'identity': 'three'}); // navigation.push_state({'identity': 'three'});
navigation.update(); // navigation.update();
//
var tabs_container = navigation_container.children('div'); // var tabs_container = navigation_container.children('div');
//
same( // same(
tabs_container.tabs('option', 'selected'), 0, // tabs_container.tabs('option', 'selected'), 0,
"Active tab at level 1"); // "Active tab at level 1");
//
same( // same(
$('.tabs[name=identity]', tabs_container).tabs('option', 'selected'), 0, // $('.tabs[name=identity]', tabs_container).tabs('option', 'selected'), 0,
"Active tab at level 2"); // "Active tab at level 2");
//
navigation.remove_state("identity"); // navigation.remove_state("identity");
//
entity_container.remove(); // entity_container.remove();
navigation_container.remove(); // navigation_container.remove();
}); });
};}); };});