summaryrefslogtreecommitdiffstats
path: root/install/ui/test/widget_tests.js
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2011-12-01 15:58:49 +0100
committerEndi S. Dewata <edewata@redhat.com>2011-12-05 16:02:01 +0000
commitc5ca34f41d2aede667c19d2213a5d7e79a5e301c (patch)
treedaa2cd27a4fd9a579009c900a262b8a5cc40d037 /install/ui/test/widget_tests.js
parent2759ea29616f14716016c0e62d13909694b2bf0b (diff)
downloadfreeipa.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.js96
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');