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; + }); + + }); + });