summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Kowalski <rok@kowalski.gd>2014-03-21 17:49:15 +0100
committersuelockwood <deathbear@apache.org>2014-03-21 13:35:43 -0400
commit35390c833333a7b5935b34da47be9a1696c845f7 (patch)
tree274fae7399f41771514a4db560224716cd486b4d
parentf2153c0f99050775e3ee1ddb94d9e68848010361 (diff)
downloadcouchdb-35390c833333a7b5935b34da47be9a1696c845f7.tar.gz
Fauxton: Config test fixes
-rw-r--r--src/fauxton/app/addons/config/tests/resourcesSpec.js20
-rw-r--r--src/fauxton/app/addons/config/views.js39
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();
- }
+ }
}
});