mirror of
https://github.com/apache/superset.git
synced 2026-04-20 08:34:37 +00:00
- Unify the metric interface (absorb the current plain string metric for built-in metric keys into the format used by adhoc metric) - Port the logic in adhocMetric on the client and process_metrics in the backend to the new typed Metrics class - Omit hasCustomLabel and formFromData properties from the new metric interface as their value can be inferred from label and optionName - Expose from the Metrics class both metrics and their labels as public methods to match the all_metrics and metric_labels fields in the backend code - Provide defaut values for filters, metrics and groupby in the backend
25 lines
726 B
TypeScript
25 lines
726 B
TypeScript
import build, { QueryObject } from 'src/query/buildQueryObject';
|
|
|
|
describe('queryObjectBuilder', () => {
|
|
let query: QueryObject;
|
|
|
|
it('should build granularity for sql alchemy datasources', () => {
|
|
query = build({datasource: '5__table', granularity_sqla: 'ds'});
|
|
expect(query.granularity).toEqual('ds');
|
|
});
|
|
|
|
it('should build granularity for sql alchemy datasources', () => {
|
|
query = build({datasource: '5__druid', granularity: 'ds'});
|
|
expect(query.granularity).toEqual('ds');
|
|
});
|
|
|
|
it('should build metrics', () => {
|
|
query = build({
|
|
datasource: '5__table',
|
|
granularity_sqla: 'ds',
|
|
metric: 'sum__num',
|
|
});
|
|
expect(query.metrics).toEqual([{label: 'sum__num'}]);
|
|
});
|
|
});
|