Repository: ambari
Updated Branches:
  refs/heads/branch-2.1 572fd860e -> 7cb5bcd5f


AMBARI-11755. Configs: changing to recommended doesn't tell of depedent config 
changes (onechiporenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7cb5bcd5
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7cb5bcd5
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7cb5bcd5

Branch: refs/heads/branch-2.1
Commit: 7cb5bcd5f28bddec04d67db181ff1dd65bae97f3
Parents: 572fd86
Author: Oleg Nechiporenko <onechipore...@apache.org>
Authored: Sat Jun 6 16:52:18 2015 +0300
Committer: Oleg Nechiporenko <onechipore...@apache.org>
Committed: Sat Jun 6 16:59:32 2015 +0300

----------------------------------------------------------------------
 .../configs/widgets/config_widget_view.js       |  4 ++-
 .../configs/widgets/config_widget_view_test.js  | 33 ++++++++++++++++++++
 2 files changed, 36 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/7cb5bcd5/ambari-web/app/views/common/configs/widgets/config_widget_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/widgets/config_widget_view.js 
b/ambari-web/app/views/common/configs/widgets/config_widget_view.js
index a8b4b59..8d92de6 100644
--- a/ambari-web/app/views/common/configs/widgets/config_widget_view.js
+++ b/ambari-web/app/views/common/configs/widgets/config_widget_view.js
@@ -266,7 +266,9 @@ App.ConfigWidgetView = 
Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo
     var self = this;
     this.set('config.value', this.get('config.recommendedValue'));
     this.sendRequestRorDependentConfigs(this.get('config')).done(function() {
-      self.restoreDependentConfigs(self.get('config'));
+      if (self.get('config.value') === self.get('config.savedValue')) {
+        self.restoreDependentConfigs(self.get('config'));
+      }
     });
 
     if (this.get('config.supportsFinal')) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/7cb5bcd5/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js
----------------------------------------------------------------------
diff --git 
a/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js 
b/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js
index 031e4f2..30d7b71 100644
--- a/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js
+++ b/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js
@@ -230,4 +230,37 @@ describe('App.ConfigWidgetView', function () {
       expect(view.isValueCompatibleWithWidget()).to.be.false;
     });
   });
+
+  describe('#setRecommendedValue', function () {
+
+    beforeEach(function () {
+      sinon.stub(view, 'sendRequestRorDependentConfigs', function () {
+        return $.Deferred().resolve().promise();
+      });
+      sinon.stub(view, 'restoreDependentConfigs', Em.K);
+      view.set('config', Em.Object.create({
+        value: 1,
+        recommendedValue: 1,
+        savedValue: 1
+      }));
+    });
+
+    afterEach(function () {
+      view.sendRequestRorDependentConfigs.restore();
+      view.restoreDependentConfigs.restore();
+    });
+
+    it('should call restoreDependentConfigs if config.value is equal to 
config.savedValue', function () {
+      view.setRecommendedValue();
+      expect(view.restoreDependentConfigs.calledOnce).to.be.true;
+    });
+
+    it('should not call restoreDependentConfigs if config.value is not equal 
to config.savedValue', function () {
+      view.set('config.savedValue', 2);
+      view.setRecommendedValue();
+      expect(view.restoreDependentConfigs.called).to.be.false;
+    });
+
+  });
+
 });

Reply via email to