This is an automated email from the ASF dual-hosted git repository.

graceguo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git


The following commit(s) were added to refs/heads/master by this push:
     new dcf048c  [fix] should set chartUpdateEndTime when chart fetch failed 
or stopped (#6205)
dcf048c is described below

commit dcf048c52e5cf3751a50b172719c376243327f6f
Author: Grace Guo <grace....@airbnb.com>
AuthorDate: Fri Oct 26 15:00:03 2018 -0700

    [fix] should set chartUpdateEndTime when chart fetch failed or stopped 
(#6205)
---
 .../spec/javascripts/chart/chartReducers_spec.js   | 28 ++++++++++++++++++++++
 superset/assets/src/chart/chartReducer.js          |  2 ++
 2 files changed, 30 insertions(+)

diff --git a/superset/assets/spec/javascripts/chart/chartReducers_spec.js 
b/superset/assets/spec/javascripts/chart/chartReducers_spec.js
new file mode 100644
index 0000000..2671df9
--- /dev/null
+++ b/superset/assets/spec/javascripts/chart/chartReducers_spec.js
@@ -0,0 +1,28 @@
+import chartReducer, { chart } from '../../../src/chart/chartReducer';
+import * as actions from '../../../src/chart/chartAction';
+
+
+describe('chart reducers', () => {
+  const chartKey = 1;
+  let testChart;
+  let charts;
+  beforeEach(() => {
+    testChart = {
+      ...chart,
+      id: chartKey,
+    };
+    charts = { [chartKey]: testChart };
+  });
+
+  it('should update endtime on fail', () => {
+    const newState = chartReducer(charts, 
actions.chartUpdateStopped(chartKey));
+    expect(newState[chartKey].chartUpdateEndTime).toBeGreaterThan(0);
+    expect(newState[chartKey].chartStatus).toEqual('stopped');
+  });
+
+  it('should update endtime on timeout', () => {
+    const newState = chartReducer(charts, 
actions.chartUpdateTimeout('timeout', 60, chartKey));
+    expect(newState[chartKey].chartUpdateEndTime).toBeGreaterThan(0);
+    expect(newState[chartKey].chartStatus).toEqual('failed');
+  });
+});
diff --git a/superset/assets/src/chart/chartReducer.js 
b/superset/assets/src/chart/chartReducer.js
index 28953ba..65df6e5 100644
--- a/superset/assets/src/chart/chartReducer.js
+++ b/superset/assets/src/chart/chartReducer.js
@@ -45,6 +45,7 @@ export default function chartReducer(charts = {}, action) {
       return { ...state,
         chartStatus: 'stopped',
         chartAlert: t('Updating chart was stopped'),
+        chartUpdateEndTime: now(),
       };
     },
     [actions.CHART_RENDERING_SUCCEEDED](state) {
@@ -68,6 +69,7 @@ export default function chartReducer(charts = {}, action) {
             'or you are simply querying a data source that is too large ' +
             'to be processed within the timeout range. ' +
             'If that is the case, we recommend that you summarize your data 
further.')),
+        chartUpdateEndTime: now(),
       };
     },
     [actions.CHART_UPDATE_FAILED](state) {

Reply via email to