You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by lp...@apache.org on 2017/08/08 16:02:22 UTC
[06/50] [abbrv] ambari git commit: AMBARI-21632 Alerts list not
sorted by status even though header displayed as sorted. (ababiichuk)
AMBARI-21632 Alerts list not sorted by status even though header displayed as sorted. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c4a474a5
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c4a474a5
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c4a474a5
Branch: refs/heads/feature-branch-AMBARI-21307
Commit: c4a474a5c4912bec226b56c62c80b6d77ebb497b
Parents: ed08865
Author: ababiichuk <ab...@hortonworks.com>
Authored: Wed Aug 2 12:16:54 2017 +0300
Committer: ababiichuk <ab...@hortonworks.com>
Committed: Wed Aug 2 12:16:54 2017 +0300
----------------------------------------------------------------------
.../app/views/main/alert_definitions_view.js | 5 +-
.../views/main/alert_definitions_view_test.js | 69 ++++++++++++++++++++
2 files changed, 72 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/c4a474a5/ambari-web/app/views/main/alert_definitions_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/alert_definitions_view.js b/ambari-web/app/views/main/alert_definitions_view.js
index a578c84..530bca7 100644
--- a/ambari-web/app/views/main/alert_definitions_view.js
+++ b/ambari-web/app/views/main/alert_definitions_view.js
@@ -28,10 +28,11 @@ App.MainAlertDefinitionsView = App.TableView.extend({
contentObs: function () {
Em.run.once(this, this.contentObsOnce);
- }.observes('controller.content.[]'),
+ }.observes('controller.content.[]', 'App.router.clusterController.isAlertsLoaded'),
contentObsOnce: function() {
- var content = this.get('controller.content') ? this.get('controller.content').toArray().sort(App.AlertDefinition.getSortDefinitionsByStatus(true)) : [];
+ var content = this.get('controller.content') && App.get('router.clusterController.isAlertsLoaded') ?
+ this.get('controller.content').toArray().sort(App.AlertDefinition.getSortDefinitionsByStatus(true)) : [];
this.set('content', content);
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/c4a474a5/ambari-web/test/views/main/alert_definitions_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/alert_definitions_view_test.js b/ambari-web/test/views/main/alert_definitions_view_test.js
index 8692ae4..edba415 100644
--- a/ambari-web/test/views/main/alert_definitions_view_test.js
+++ b/ambari-web/test/views/main/alert_definitions_view_test.js
@@ -436,4 +436,73 @@ describe('App.MainAlertDefinitionsView', function () {
expect(view.tooltipsUpdater.calledOnce).to.be.true;
});
});
+
+ describe('#contentObsOnce', function () {
+ var toArray = function () {
+ return [{}];
+ },
+ cases = [
+ {
+ controllerContent: null,
+ isAlertsLoaded: false,
+ content: [],
+ title: 'no content in controller, alerts data not loaded'
+ },
+ {
+ controllerContent: null,
+ isAlertsLoaded: true,
+ content: [],
+ title: 'no content in controller, alerts data loaded'
+ },
+ {
+ controllerContent: {
+ toArray: toArray
+ },
+ isAlertsLoaded: false,
+ content: [],
+ title: 'content set in controller, alerts data not loaded'
+ },
+ {
+ controllerContent: {
+ toArray: toArray
+ },
+ isAlertsLoaded: true,
+ content: [{}],
+ title: 'content set in controller, alerts data loaded'
+ }
+ ];
+
+ cases.forEach(function (item) {
+ describe(item.title, function () {
+ beforeEach(function () {
+ var controller = {
+ content: item.controllerContent
+ };
+ sinon.stub(App.AlertDefinition, 'getSortDefinitionsByStatus', function () {
+ return Em.K;
+ });
+ sinon.stub(view, 'contentObs', Em.K);
+ sinon.stub(App, 'get', function (key) {
+ if (key === 'router.clusterController.isAlertsLoaded') {
+ return item.isAlertsLoaded;
+ }
+ return Em.get(App, key);
+ });
+ view.set('controller', controller);
+ view.contentObsOnce();
+ });
+
+ afterEach(function () {
+ view.contentObs.restore();
+ App.get.restore();
+ App.AlertDefinition.getSortDefinitionsByStatus.restore();
+ });
+
+ it('view.content', function () {
+ expect(view.get('content')).to.eql(item.content);
+ });
+ });
+ });
+ });
+
});