diff options
Diffstat (limited to 'install/ui/test')
-rw-r--r-- | install/ui/test/details_tests.js | 46 | ||||
-rw-r--r-- | install/ui/test/widget_tests.js | 34 |
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'); |