diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2011-12-01 15:58:49 +0100 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2011-12-05 16:02:01 +0000 |
commit | c5ca34f41d2aede667c19d2213a5d7e79a5e301c (patch) | |
tree | daa2cd27a4fd9a579009c900a262b8a5cc40d037 /install/ui/test/widget_tests.js | |
parent | 2759ea29616f14716016c0e62d13909694b2bf0b (diff) | |
download | freeipa.git-c5ca34f41d2aede667c19d2213a5d7e79a5e301c.tar.gz freeipa.git-c5ca34f41d2aede667c19d2213a5d7e79a5e301c.tar.xz freeipa.git-c5ca34f41d2aede667c19d2213a5d7e79a5e301c.zip |
Fixed unit tests after widget refactoring
https://fedorahosted.org/freeipa/ticket/2040
Diffstat (limited to 'install/ui/test/widget_tests.js')
-rw-r--r-- | install/ui/test/widget_tests.js | 96 |
1 files changed, 46 insertions, 50 deletions
diff --git a/install/ui/test/widget_tests.js b/install/ui/test/widget_tests.js index 26d508c0..d9992e22 100644 --- a/install/ui/test/widget_tests.js +++ b/install/ui/test/widget_tests.js @@ -21,7 +21,7 @@ var widget_container; var widget; -var factory +var factory; var spec; @@ -62,8 +62,8 @@ function base_widget_test(value){ //init reads param info for an entity. We'll use the user entity widget.name = field_name; - ok(widget.label,'widget with entity and name has label'); - ok(widget.tooltip,'widget with entity and name has tooltip'); +// ok(widget.label,'widget with entity and name has label'); +// ok(widget.tooltip,'widget with entity and name has tooltip'); ok(!widget.container,'widget has no container before create'); @@ -77,13 +77,13 @@ function widget_string_test() { var value = 'test_title'; var mock_record = {'title': value}; - widget.load(mock_record); + widget.update(mock_record.title); ok(widget.save() instanceof Array,'save returns array'); mock_record = {'title':[value]}; - widget.load(mock_record); + widget.update(mock_record.title); ok(widget.save() instanceof Array,'save returns array'); @@ -93,59 +93,47 @@ function widget_string_test() { function text_tests(widget,input){ + var value_changed = false; + var undo_clicked = false; + + widget.value_changed.attach(function() { + value_changed = true; + }); + + widget.undo_clicked.attach(function() { + undo_clicked = true; + }); + input.val('changed'); input.keyup(); same(widget.save(),['changed'], "Setting Value"); - same(widget.is_dirty(),true, "Click sets is_dirty"); + same(value_changed, true, "Click triggers value_changed"); var undo = widget.get_undo(); undo.click(); - same(widget.is_dirty(),false, "Undo Clears is_dirty"); - - - var old_pattern = widget.metadata.pattern; - - widget.metadata.pattern ='abc'; - input.val('not right'); - input.keyup(); - same(widget.valid,false, 'Field is not valid'); - var error_field = widget.get_error_link(); - - same(error_field.css('display'),'block','error field is visible'); - - - input.val('abc'); - input.keyup(); - same(widget.valid,true, 'Field is valid'); - same(error_field.css('display'),'none','error field not visible'); - - widget.metadata.pattern = old_pattern; - + same(undo_clicked, true, "Click on 'undo' triggers undo_clicked"); } function multivalued_text_tests(widget) { var values = ['val1', 'val2', 'val3']; - var record = {}; - record[widget.name] = values; - - widget.load(record); + widget.update(values); same(widget.save(), values, "All values loaded"); - same(widget.is_dirty(), false, "Field initially clean"); + same(widget.test_dirty(), false, "Field initially clean"); values = ['val1', 'val2', 'val3', 'val4']; - widget.add_row('val4'); + widget.add_row(['val4']); same(widget.save(), values, "Value added"); - same(widget.is_dirty(), true, "Field is dirty"); + same(widget.test_dirty(), true, "Field is dirty"); values = ['val1', 'val3', 'val4']; - widget.remove_row(1); + widget.remove_row(widget.rows[1]); same(widget.save(), values, "Value removed"); - same(widget.is_dirty(), true, "Field is dirty"); + same(widget.test_dirty(), true, "Field is dirty"); } test("IPA.table_widget" ,function(){ @@ -238,24 +226,29 @@ test("Testing checkbox widget.", function() { spec = {name:'title'}; base_widget_test('test_value'); - mock_record = { 'title': 'TRUE' }; + var mock_record = { 'title': 'TRUE' }; - widget.load(mock_record); + widget.update(mock_record.title); same(widget.save(),[true], "Checkbox is set"); mock_record = {'title':null}; - widget.load(mock_record); + widget.update(mock_record.title); same(widget.save(), [false], "Checkbox is not set"); var input = $('input[type=checkbox]',widget_container); same(input.length,1,'One control in the container'); + var value_changed = false; + widget.value_changed.attach(function() { + value_changed = true; + }); + input.click(); same(widget.save(),[true], "Click sets checkbox"); - same(widget.is_dirty(),true, "Click sets is_dirty"); + same(value_changed, true, "Click triggers value_changed"); }); @@ -285,15 +278,17 @@ test("IPA.entity_select_widget" ,function(){ other_field: 'uid' }; base_widget_test('test_value'); - mock_record = {'uid':'kfrog'}; - widget.load(mock_record); - ok( $('option',widget.list ).length > 1,"options come from AJAX"); - same(widget.values[0],'kfrog','select set from values'); + var mock_record = { uid: ['kfrog']}; + widget.update(mock_record.uid); + ok($('option', widget.list).length > 1,"options come from AJAX"); + + var value = widget.save(); + same(value, ['kfrog'],'select set from values'); }); test("IPA.entity_link_widget" ,function(){ - factory = IPA.entity_link_widget; + factory = IPA.link_widget; spec = { name: 'gidnumber', other_entity:'group' @@ -306,7 +301,7 @@ test("IPA.entity_link_widget" ,function(){ } }; - mock_record = {'uid':'kfrog','gidnumber':'123456'}; + var mock_record = { uid: ['kfrog'], gidnumber: ['123456']}; widget.entity = mock_entity; widget.create(widget_container); @@ -317,7 +312,8 @@ test("IPA.entity_link_widget" ,function(){ ok(nonlink.length > 1); ok(link.length > 1); - widget.load(mock_record); + widget.is_link = true; //setting is_link is responsibility of field + widget.update(mock_record.gidnumber); link = widget_container.find('a[text=123456]'); @@ -337,12 +333,12 @@ test("IPA.radio_widget" ,function(){ spec = {undo:true, name: 'title',options:options}; base_widget_test('test_value'); var mock_record = {'title':["director"]}; - widget.load(mock_record); + widget.update(mock_record.title); var values = widget.save(); same(values[0],'director','Options set correctly'); - mock_record = {'title':"VP"}; - widget.load(mock_record); + mock_record = { title: ["VP"]}; + widget.update(mock_record.title); values = widget.save(); same(values[0],'VP','Options set correctly'); |