freeipa/install/static/test/entity_tests.js
Endi Sukma Dewata d966056bb0 Test suite for association.
New test cases have been added to test SerialAssociator and
BulkAssociator using mockup objects. Also fixed a bug in BulkAssociator.

Moved switch_view() out of ipa_entity_generate_views() in entity.js
to allow unit testing using mockup objects. Updated the test case
to validate click event on facets.
2010-09-28 10:20:14 -04:00

138 lines
3.2 KiB
JavaScript

/* Authors:
* Endi Sukma Dewata <edewata@redhat.com>
*
* 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_entity_set_search_definition().", function() {
var uid_callback = function() {
return true;
};
ipa_entity_set_search_definition("user", [
["uid", "Login", uid_callback],
]);
var list = ipa_entity_search_list["user"];
ok(
list,
"ipa_entity_search_list[\"user\"] is not null"
);
var attr = list[0];
ok(
attr,
"ipa_entity_search_list[\"user\"][0] is not null"
);
equals(
attr[0], "uid",
"ipa_entity_search_list[\"user\"][0][0]"
);
equals(
attr[1], "Login",
"ipa_entity_search_list[\"user\"][0][1]"
);
var callback = attr[2];
ok(
callback,
"ipa_entity_search_list[\"user\"][0][2] not null"
);
ok(
callback(),
"ipa_entity_search_list[\"user\"][0][2]() works"
);
});
test("Testing ipa_entity_generate_views().", function() {
ipa_ajax_options["async"] = false;
ipa_init(
"data",
true,
function(data, status, xhr) {
ok(true, "ipa_init() succeeded.");
},
function(xhr, options, thrownError) {
ok(false, "ipa_init() failed: "+thrownError);
}
);
var container = $("<div/>");
var counter = 0;
var callback = function() {
counter++;
};
ipa_entity_generate_views("user", container, callback);
var list = container.children();
var facets = list.children();
equals(
facets.length, 6,
"Checking number of facets"
)
var search = facets.first();
equals(
search.attr("title"), "search",
"Checking the search facet"
)
search.click();
var details = search.next();
equals(
details.attr("title"), "details",
"Checking the details facet"
)
details.click();
var facet = details.next();
var attribute_members = ipa_objs["user"].attribute_members;
for (attribute_member in attribute_members) {
var objects = attribute_members[attribute_member];
for (var i = 0; i < objects.length; i++) {
var object = objects[i];
equals(
facet.attr("title"), object,
"Checking the "+object+" facet"
);
facet.click();
facet = facet.next();
}
}
equals(
counter, 6,
"Checking callback invocations"
);
});