diff options
author | Robert Kowalski <rok@kowalski.gd> | 2014-03-21 17:49:15 +0100 |
---|---|---|
committer | suelockwood <deathbear@apache.org> | 2014-03-21 13:35:43 -0400 |
commit | 35390c833333a7b5935b34da47be9a1696c845f7 (patch) | |
tree | 274fae7399f41771514a4db560224716cd486b4d | |
parent | f2153c0f99050775e3ee1ddb94d9e68848010361 (diff) | |
download | couchdb-35390c833333a7b5935b34da47be9a1696c845f7.tar.gz |
Fauxton: Config test fixes
-rw-r--r-- | src/fauxton/app/addons/config/tests/resourcesSpec.js | 20 | ||||
-rw-r--r-- | src/fauxton/app/addons/config/views.js | 39 |
2 files changed, 36 insertions, 23 deletions
diff --git a/src/fauxton/app/addons/config/tests/resourcesSpec.js b/src/fauxton/app/addons/config/tests/resourcesSpec.js index c78bc85e8..1cc9e62e1 100644 --- a/src/fauxton/app/addons/config/tests/resourcesSpec.js +++ b/src/fauxton/app/addons/config/tests/resourcesSpec.js @@ -28,7 +28,10 @@ define([ }); tabMenu = new Views.TableRow({ - model: optionModel + model: optionModel, + uniqueName: function () { + return false; + } }); }); @@ -47,8 +50,12 @@ define([ var renderSpy = sinon.stub(tabMenu, 'render'); var saveSpy = sinon.stub(optionModel, 'save'); - tabMenu.$('.js-edit-value').trigger('dblclick'); - tabMenu.$('.js-save-value').trigger('click'); + var $fields = tabMenu.$('.js-edit-value').filter(function (el) { + return $(this).find('[name="value"]').length; + }); + + $fields.find('.js-edit-value').trigger('dblclick'); + $fields.find('.js-save-value').trigger('click'); assert.ok(renderSpy.calledOnce); assert.ok(saveSpy.calledOnce); @@ -60,7 +67,12 @@ define([ var e = $.Event("keyup"); e.keyCode = 13; - tabMenu.$('.js-value-input').trigger(e); + + var $fields = tabMenu.$('.js-edit-value').filter(function (el) { + return $(this).find('[name="value"]').length; + }); + + $fields.find('.js-value-input').trigger(e); assert.ok(renderSpy.calledOnce); assert.ok(saveSpy.calledOnce); diff --git a/src/fauxton/app/addons/config/views.js b/src/fauxton/app/addons/config/views.js index 8453d90b4..795218258 100644 --- a/src/fauxton/app/addons/config/views.js +++ b/src/fauxton/app/addons/config/views.js @@ -80,28 +80,29 @@ function(app, FauxtonAPI, Config, Components) { return {option: this.model.toJSON()}; }, saveAndRender: function (event) { - var options = {}; - $input = this.$(event.currentTarget).parents('td').find(".js-value-input"); - options[$input.attr('name')] = $input.val(); - - if ($input.attr('name')==='name'){ - if (this.uniqueName($input.val())){ - this.error = FauxtonAPI.addNotification({ - msg: "This config already exists, enter a unique name", - type: "error", - clear: true - }); - } else { - var newModel = this.model.clone(); - newModel.save(options); - this.model.destroy(); - this.model = newModel; - this.render(); - } + var options = {}, + $input = this.$(event.currentTarget).parents('td').find(".js-value-input"); + + options[$input.attr('name')] = $input.val(); + + if ($input.attr('name')==='name'){ + if (this.uniqueName($input.val())){ + this.error = FauxtonAPI.addNotification({ + msg: "This config already exists, enter a unique name", + type: "error", + clear: true + }); } else { + var newModel = this.model.clone(); + newModel.save(options); + this.model.destroy(); + this.model = newModel; + this.render(); + } + } else { this.model.save(options); this.render(); - } + } } }); |