summaryrefslogtreecommitdiffstats
path: root/install/ui/test
diff options
context:
space:
mode:
Diffstat (limited to 'install/ui/test')
-rw-r--r--install/ui/test/details_tests.js46
-rw-r--r--install/ui/test/widget_tests.js34
2 files changed, 50 insertions, 30 deletions
diff --git a/install/ui/test/details_tests.js b/install/ui/test/details_tests.js
index fb33808c..cf4de082 100644
--- a/install/ui/test/details_tests.js
+++ b/install/ui/test/details_tests.js
@@ -21,12 +21,24 @@
module('details', {
setup: function() {
+ IPA.ajax_options.async = false;
+
+ IPA.init(
+ "data",
+ true,
+ function(data, text_status, xhr) {
+ },
+ function(xhr, text_status, error_thrown) {
+ ok(false, "ipa_init() failed: "+error_thrown);
+ }
+ );
+
var obj_name = 'user';
IPA.entity_factories.user=
function(){
return IPA.entity({name:obj_name});
};
- IPA.start_entities();
+ IPA.start_entities();
},
teardown: function() {
}
@@ -35,24 +47,13 @@ module('details', {
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.stanza({name:'IDIDID', label:'NAMENAMENAME'}).
input({name:'cn'}).
- input({name:'description'}).
- input({name:'number'});
+ input({name:'uid'}).
+ input({name:'mail'});
+ section.entity_name = 'user';
+ section.init();
var fields = section.fields;
var container = $("<div/>");
@@ -105,19 +106,6 @@ test("Testing IPA.details_section.create().", function() {
test("Testing details lifecycle: create, setup, load.", 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 result = {};
IPA.cmd(
diff --git a/install/ui/test/widget_tests.js b/install/ui/test/widget_tests.js
index 3d827cdb..f4281e38 100644
--- a/install/ui/test/widget_tests.js
+++ b/install/ui/test/widget_tests.js
@@ -67,7 +67,7 @@ function base_widget_test(widget,entity_name, value){
}
-function widget_string_test(widget, value){
+function widget_string_test(widget) {
var value = 'test_title';
var mock_record = {'title': value};
@@ -117,6 +117,31 @@ function text_tests(widget,input){
}
+function multivalued_text_tests(widget) {
+
+ var values = ['val1', 'val2', 'val3'];
+
+ var record = {};
+ record[widget.name] = values;
+
+ widget.load(record);
+
+ same(widget.save(), values, "All values loaded");
+ same(widget.is_dirty(), false, "Field initially clean");
+
+ values = ['val1', 'val2', 'val3', 'val4'];
+ widget.add_row('val4');
+
+ same(widget.save(), values, "Value added");
+ same(widget.is_dirty(), true, "Field is dirty");
+
+ values = ['val1', 'val3', 'val4'];
+ widget.remove_row(1);
+
+ same(widget.save(), values, "Value removed");
+ same(widget.is_dirty(), true, "Field is dirty");
+}
+
test("IPA.table_widget" ,function(){
var widget = IPA.table_widget({undo:true,name:'users'});
@@ -191,6 +216,13 @@ test("Testing text widget.", function() {
});
+test("Testing multi-valued text widget.", function() {
+ var widget = IPA.multivalued_text_widget({undo:true,name:'title'});
+ base_widget_test(widget,'user','test_value');
+ widget_string_test(widget);
+ multivalued_text_tests(widget);
+});
+
test("Testing checkbox widget.", function() {
var widget = IPA.checkbox_widget({name:'title'});
base_widget_test(widget,'user','test_value');