From 53bfffb549d03fc9ac15c6a57b500a8dca135b59 Mon Sep 17 00:00:00 2001 From: Jesse Yang Date: Sat, 9 Jan 2021 22:16:44 -0800 Subject: [PATCH] Fix tests --- .../src/query/extractQueryFields.ts | 2 +- .../test/query/extractQueryFields.test.ts | 15 +++++---------- .../test/BoxPlot/buildQuery.test.ts | 4 ++-- .../test/Pie/buildQuery.test.ts | 4 ++-- plugins/plugin-chart-table/test/testData.ts | 19 ++++++++++++++----- .../test/plugin/buildQuery.test.ts | 4 ++-- 6 files changed, 26 insertions(+), 22 deletions(-) diff --git a/packages/superset-ui-core/src/query/extractQueryFields.ts b/packages/superset-ui-core/src/query/extractQueryFields.ts index 4a380ba7d4..c797e8fbed 100644 --- a/packages/superset-ui-core/src/query/extractQueryFields.ts +++ b/packages/superset-ui-core/src/query/extractQueryFields.ts @@ -82,7 +82,7 @@ export default function extractQueryFields( } }); - if (includeTime) { + if (includeTime && !finalQueryFields.columns.includes(DTTM_ALIAS)) { finalQueryFields.columns.unshift(DTTM_ALIAS); } diff --git a/packages/superset-ui-core/test/query/extractQueryFields.test.ts b/packages/superset-ui-core/test/query/extractQueryFields.test.ts index 3ce1b77e0f..b0d410400d 100644 --- a/packages/superset-ui-core/test/query/extractQueryFields.test.ts +++ b/packages/superset-ui-core/test/query/extractQueryFields.test.ts @@ -23,7 +23,6 @@ describe('extractQueryFields', () => { it('should return default object', () => { expect(extractQueryFields({})).toEqual({ columns: [], - groupby: [], metrics: [], }); }); @@ -44,15 +43,13 @@ describe('extractQueryFields', () => { it('should extract columns', () => { expect(extractQueryFields({ columns: 'col_1' })).toEqual({ columns: ['col_1'], - groupby: [], metrics: [], }); }); it('should extract groupby', () => { expect(extractQueryFields({ groupby: 'col_1' })).toEqual({ - columns: [], - groupby: ['col_1'], + columns: ['col_1'], metrics: [], }); }); @@ -61,8 +58,7 @@ describe('extractQueryFields', () => { expect( extractQueryFields({ series: 'col_1', metric: 'metric_1' }, { series: 'groupby' }), ).toEqual({ - columns: [], - groupby: ['col_1'], + columns: ['col_1'], metrics: ['metric_1'], }); }); @@ -74,19 +70,18 @@ describe('extractQueryFields', () => { { series: 'groupby' }, ), ).toEqual({ - columns: [], - groupby: ['col_1', 'col_2'], + columns: ['col_1', 'col_2'], metrics: ['metric_1'], }); }); it('should include time', () => { - expect(extractQueryFields({ groupby: 'col_1', include_time: true }).groupby).toEqual([ + expect(extractQueryFields({ groupby: 'col_1', include_time: true }).columns).toEqual([ DTTM_ALIAS, 'col_1', ]); expect( - extractQueryFields({ groupby: ['col_1', DTTM_ALIAS, ''], include_time: true }).groupby, + extractQueryFields({ groupby: ['col_1', DTTM_ALIAS, ''], include_time: true }).columns, ).toEqual(['col_1', DTTM_ALIAS]); }); }); diff --git a/plugins/plugin-chart-echarts/test/BoxPlot/buildQuery.test.ts b/plugins/plugin-chart-echarts/test/BoxPlot/buildQuery.test.ts index 7a3b068172..397833d348 100644 --- a/plugins/plugin-chart-echarts/test/BoxPlot/buildQuery.test.ts +++ b/plugins/plugin-chart-echarts/test/BoxPlot/buildQuery.test.ts @@ -37,7 +37,7 @@ describe('BoxPlot buildQuery', () => { const [query] = queryContext.queries; expect(query.is_timeseries).toEqual(true); expect(query.metrics).toEqual(['foo']); - expect(query.groupby).toEqual(['bar']); + expect(query.columns).toEqual(['bar']); }); it('should build non-timeseries query object when columns is defined', () => { @@ -45,6 +45,6 @@ describe('BoxPlot buildQuery', () => { const [query] = queryContext.queries; expect(query.is_timeseries).toEqual(false); expect(query.metrics).toEqual(['foo']); - expect(query.groupby).toEqual(['bar', 'qwerty']); + expect(query.columns).toEqual(['bar', 'qwerty']); }); }); diff --git a/plugins/plugin-chart-echarts/test/Pie/buildQuery.test.ts b/plugins/plugin-chart-echarts/test/Pie/buildQuery.test.ts index 9d9f6b92ad..fa40dbf8f1 100644 --- a/plugins/plugin-chart-echarts/test/Pie/buildQuery.test.ts +++ b/plugins/plugin-chart-echarts/test/Pie/buildQuery.test.ts @@ -27,10 +27,10 @@ describe('Pie buildQuery', () => { viz_type: 'my_chart', }; - it('should build groupby with series in form data', () => { + it('should build query fields from form data', () => { const queryContext = buildQuery(formData); const [query] = queryContext.queries; expect(query.metrics).toEqual(['foo']); - expect(query.groupby).toEqual(['bar']); + expect(query.columns).toEqual(['bar']); }); }); diff --git a/plugins/plugin-chart-table/test/testData.ts b/plugins/plugin-chart-table/test/testData.ts index 0fdefb096e..b3057598c6 100644 --- a/plugins/plugin-chart-table/test/testData.ts +++ b/plugins/plugin-chart-table/test/testData.ts @@ -16,7 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -import { ChartDataResponseResult, ChartProps, DatasourceType } from '@superset-ui/core'; +import { + ChartDataResponseResult, + ChartProps, + DatasourceType, + GenericDataType, +} from '@superset-ui/core'; import { TableChartProps, TableChartFormData } from '../src/types'; const basicFormData: TableChartFormData = { @@ -84,6 +89,12 @@ const basic: TableChartProps = { { ...basicQueryResult, colnames: ['__timestamp', 'name', 'sum__num', 'abc.com'], + coltypes: [ + GenericDataType.TEMPORAL, + GenericDataType.STRING, + GenericDataType.NUMERIC, + GenericDataType.STRING, + ], data: [ { __timestamp: '2020-01-01T12:34:56', @@ -126,6 +137,7 @@ const advanced: TableChartProps = { { ...basicQueryResult, colnames: ['name', 'sum__num', '%pct_nice'], + coltypes: [GenericDataType.STRING, GenericDataType.NUMERIC, GenericDataType.NUMERIC], data: [...(basic.queriesData[0].data || [])], }, ], @@ -136,10 +148,7 @@ const empty = { queriesData: [ { ...advanced.queriesData[0], - data: { - ...advanced.queriesData[0].data, - records: [], - }, + data: [], }, ], }; diff --git a/plugins/plugin-chart-word-cloud/test/plugin/buildQuery.test.ts b/plugins/plugin-chart-word-cloud/test/plugin/buildQuery.test.ts index 792dbabab5..a0a24e81c0 100644 --- a/plugins/plugin-chart-word-cloud/test/plugin/buildQuery.test.ts +++ b/plugins/plugin-chart-word-cloud/test/plugin/buildQuery.test.ts @@ -9,9 +9,9 @@ describe('WordCloud buildQuery', () => { viz_type: 'word_cloud', }; - it('should build groupby with series in form data', () => { + it('should build columns from series in form data', () => { const queryContext = buildQuery(formData); const [query] = queryContext.queries; - expect(query.groupby).toEqual(['foo']); + expect(query.columns).toEqual(['foo']); }); });