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 <[email protected]>
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) {