diff --git a/src/ui/public/vis/request_handlers/courier.js b/src/ui/public/vis/request_handlers/courier.js index 844a472bb6685..a5a9c81eaaaa0 100644 --- a/src/ui/public/vis/request_handlers/courier.js +++ b/src/ui/public/vis/request_handlers/courier.js @@ -87,7 +87,7 @@ const CourierRequestHandlerProvider = function () { const queryHash = calculateObjectHash(reqBody); // We only need to reexecute the query, if forceFetch was true or the hash of the request body has changed - // since the last request. + // since the last request const shouldQuery = forceFetch || (searchSource.lastQuery !== queryHash); if (shouldQuery) { @@ -111,26 +111,26 @@ const CourierRequestHandlerProvider = function () { searchSource.rawResponse = response; - let resp = cloneDeep(response); - for (const agg of aggs) { - if (has(agg, 'type.postFlightRequest')) { - resp = await agg.type.postFlightRequest( - resp, - aggs, - agg, - requestSearchSource, - inspectorAdapters - ); - } - } - - searchSource.finalResponse = resp; - requestSearchSource.getSearchRequestBody().then(req => { request.json(req); }); } + let resp = cloneDeep(searchSource.rawResponse); + for (const agg of aggs) { + if (has(agg, 'type.postFlightRequest')) { + resp = await agg.type.postFlightRequest( + resp, + aggs, + agg, + requestSearchSource, + inspectorAdapters + ); + } + } + + searchSource.finalResponse = resp; + const parsedTimeRange = timeRange ? getTime(aggs.indexPattern, timeRange) : null; const tabifyParams = { metricsAtAllLevels: isHierarchical, diff --git a/test/functional/apps/visualize/_data_table.js b/test/functional/apps/visualize/_data_table.js index 0c3d200cf8000..4f86d73a769e9 100644 --- a/test/functional/apps/visualize/_data_table.js +++ b/test/functional/apps/visualize/_data_table.js @@ -203,6 +203,9 @@ export default function ({ getService, getPageObjects }) { await PageObjects.visualize.selectAggregation('Terms'); await PageObjects.visualize.selectField('extension.raw'); await PageObjects.visualize.setSize(2); + await PageObjects.visualize.clickGo(); + await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.visualize.toggleOtherBucket(); await PageObjects.visualize.toggleMissingBucket(); await PageObjects.visualize.clickGo(); diff --git a/test/functional/apps/visualize/_pie_chart.js b/test/functional/apps/visualize/_pie_chart.js index 8c755dffb7251..c3b1002c41bc1 100644 --- a/test/functional/apps/visualize/_pie_chart.js +++ b/test/functional/apps/visualize/_pie_chart.js @@ -81,7 +81,6 @@ export default function ({ getService, getPageObjects }) { ['160,000', '44'], ['200,000', '40'], ['240,000', '46'], ['280,000', '39'], ['320,000', '40'], ['360,000', '47'] ]; - await PageObjects.visualize.openInspector(); await PageObjects.visualize.setInspectorTablePageSize(50); const data = await PageObjects.visualize.getInspectorTableData(); @@ -118,8 +117,9 @@ export default function ({ getService, getPageObjects }) { it('should apply correct filter on other bucket', async () => { const expectedTableData = [ 'Missing', 'osx' ]; - await PageObjects.visualize.filterPieSlice('Other'); await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.visualize.filterPieSlice('Other'); + await PageObjects.visualize.waitForVisualization(); const pieData = await PageObjects.visualize.getPieChartLabels(); log.debug(`pieData.length = ${pieData.length}`); expect(pieData).to.eql(expectedTableData); @@ -131,7 +131,7 @@ export default function ({ getService, getPageObjects }) { await PageObjects.header.waitUntilLoadingHasFinished(); await PageObjects.visualize.filterLegend('Other'); - await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.visualize.waitForVisualization(); const pieData = await PageObjects.visualize.getPieChartLabels(); log.debug(`pieData.length = ${pieData.length}`); expect(pieData).to.eql(expectedTableData); @@ -154,7 +154,6 @@ export default function ({ getService, getPageObjects }) { await PageObjects.visualize.toggleMissingBucket(); log.debug('clickGo'); await PageObjects.visualize.clickGo(); - await PageObjects.header.waitUntilLoadingHasFinished(); const pieData = await PageObjects.visualize.getPieChartLabels(); log.debug(`pieData.length = ${pieData.length}`); expect(pieData).to.eql(expectedTableData);