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) {