|
@@ -6,7 +6,7 @@ import {
|
|
|
guessFieldTypes,
|
|
guessFieldTypes,
|
|
|
guessFieldTypeFromValue,
|
|
guessFieldTypeFromValue,
|
|
|
} from './processSeriesData';
|
|
} from './processSeriesData';
|
|
|
-import { FieldType, TimeSeries } from '../types/data';
|
|
|
|
|
|
|
+import { FieldType, TimeSeries, SeriesData, TableData } from '../types/data';
|
|
|
import { dateTime } from './moment_wrapper';
|
|
import { dateTime } from './moment_wrapper';
|
|
|
|
|
|
|
|
describe('toSeriesData', () => {
|
|
describe('toSeriesData', () => {
|
|
@@ -99,4 +99,25 @@ describe('SerisData backwards compatibility', () => {
|
|
|
expect(isTableData(roundtrip)).toBeTruthy();
|
|
expect(isTableData(roundtrip)).toBeTruthy();
|
|
|
expect(roundtrip).toMatchObject(table);
|
|
expect(roundtrip).toMatchObject(table);
|
|
|
});
|
|
});
|
|
|
|
|
+
|
|
|
|
|
+ it('converts SeriesData to TableData to series and back again', () => {
|
|
|
|
|
+ const series: SeriesData = {
|
|
|
|
|
+ refId: 'Z',
|
|
|
|
|
+ meta: {
|
|
|
|
|
+ somethign: 8,
|
|
|
|
|
+ },
|
|
|
|
|
+ fields: [
|
|
|
|
|
+ { name: 'T', type: FieldType.time }, // first
|
|
|
|
|
+ { name: 'N', type: FieldType.number, filterable: true },
|
|
|
|
|
+ { name: 'S', type: FieldType.string, filterable: true },
|
|
|
|
|
+ ],
|
|
|
|
|
+ rows: [[1, 100, '1'], [2, 200, '2'], [3, 300, '3']],
|
|
|
|
|
+ };
|
|
|
|
|
+ const table = toLegacyResponseData(series) as TableData;
|
|
|
|
|
+ expect(table.meta).toBe(series.meta);
|
|
|
|
|
+ expect(table.refId).toBe(series.refId);
|
|
|
|
|
+
|
|
|
|
|
+ const names = table.columns.map(c => c.text);
|
|
|
|
|
+ expect(names).toEqual(['T', 'N', 'S']);
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|