You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2015/12/14 17:09:01 UTC

ambari git commit: AMBARI-14367 Web Client Displays Incorrect Host Version Counts For Installed Repos. (atkach)

Repository: ambari
Updated Branches:
  refs/heads/trunk 9cb0e457c -> e6fde3080


AMBARI-14367 Web Client Displays Incorrect Host Version Counts For Installed Repos. (atkach)


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

Branch: refs/heads/trunk
Commit: e6fde308048915ad401a935bfeb9dce06cc369b5
Parents: 9cb0e45
Author: Andrii Tkach <at...@hortonworks.com>
Authored: Mon Dec 14 18:07:52 2015 +0200
Committer: Andrii Tkach <at...@hortonworks.com>
Committed: Mon Dec 14 18:08:54 2015 +0200

----------------------------------------------------------------------
 .../models/stack_version/repository_version.js  |  6 ++++-
 .../stack_version/repository_version_test.js    | 28 ++++++++++++++++++--
 2 files changed, 31 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/e6fde308/ambari-web/app/models/stack_version/repository_version.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/stack_version/repository_version.js b/ambari-web/app/models/stack_version/repository_version.js
index ada7f24..bea2d89 100644
--- a/ambari-web/app/models/stack_version/repository_version.js
+++ b/ambari-web/app/models/stack_version/repository_version.js
@@ -42,7 +42,11 @@ App.RepositoryVersion = DS.Model.extend({
   /**
    * @type {Array}
    */
-  notInstalledHosts: Em.computed.firstNotBlank('stackVersion.notInstalledHosts', 'App.allHostNames'),
+  notInstalledHosts: function () {
+    return Array.isArray(this.get('stackVersion.notInstalledHosts'))
+          ? this.get('stackVersion.notInstalledHosts')
+          : App.get('allHostNames');
+  }.property('stackVersion.notInstalledHosts'),
 
   /**
    * @type {Array}

http://git-wip-us.apache.org/repos/asf/ambari/blob/e6fde308/ambari-web/test/models/stack_version/repository_version_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/models/stack_version/repository_version_test.js b/ambari-web/test/models/stack_version/repository_version_test.js
index 9122d87..7ec1bf4 100644
--- a/ambari-web/test/models/stack_version/repository_version_test.js
+++ b/ambari-web/test/models/stack_version/repository_version_test.js
@@ -31,12 +31,36 @@ describe('App.RepositoryVersion', function () {
 
   App.TestAliases.testAsComputedFirstNotBlank(getModel(), 'status', ['stackVersion.state', 'defaultStatus']);
 
-  App.TestAliases.testAsComputedFirstNotBlank(getModel(), 'notInstalledHosts', ['stackVersion.notInstalledHosts', 'App.allHostNames']);
-
   App.TestAliases.testAsComputedIfThenElse(getModel(), 'noInitHostsTooltip', 'noInitHosts', Em.I18n.t('admin.stackVersions.version.emptyHostsTooltip'), Em.I18n.t('admin.stackVersions.version.hostsTooltip'));
 
   App.TestAliases.testAsComputedIfThenElse(getModel(), 'noCurrentHostsTooltip', 'noCurrentHosts', Em.I18n.t('admin.stackVersions.version.emptyHostsTooltip'), Em.I18n.t('admin.stackVersions.version.hostsTooltip'));
 
   App.TestAliases.testAsComputedIfThenElse(getModel(), 'noInstalledHostsTooltip', 'noInstalledHosts', Em.I18n.t('admin.stackVersions.version.emptyHostsTooltip'), Em.I18n.t('admin.stackVersions.version.hostsTooltip'));
 
+  describe("#notInstalledHosts", function() {
+
+    before(function () {
+      sinon.stub(App, 'get').returns(['host1']);
+    });
+    after(function () {
+      App.get.restore();
+    });
+
+    it("stackVersion is null", function() {
+      var model = getModel();
+      model.set('stackVersion', null);
+      model.propertyDidChange('notInstalledHosts');
+      expect(model.get('notInstalledHosts')).to.eql(['host1']);
+    });
+
+    it("stackVersion has notInstalledHosts array", function() {
+      var model = getModel();
+      model.set('stackVersion', Em.Object.create({
+        notInstalledHosts: ['host2']
+      }));
+      model.propertyDidChange('notInstalledHosts');
+      expect(model.get('notInstalledHosts')).to.eql(['host2']);
+    });
+  });
+
 });