|
|
@@ -1,5 +1,12 @@
|
|
|
-import { toSeriesData, guessFieldTypes, guessFieldTypeFromValue } from './processSeriesData';
|
|
|
-import { FieldType } from '../types/data';
|
|
|
+import {
|
|
|
+ isSeriesData,
|
|
|
+ toLegacyResponseData,
|
|
|
+ isTableData,
|
|
|
+ toSeriesData,
|
|
|
+ guessFieldTypes,
|
|
|
+ guessFieldTypeFromValue,
|
|
|
+} from './processSeriesData';
|
|
|
+import { FieldType, TimeSeries } from '../types/data';
|
|
|
import moment from 'moment';
|
|
|
|
|
|
describe('toSeriesData', () => {
|
|
|
@@ -63,3 +70,33 @@ describe('toSeriesData', () => {
|
|
|
expect(norm.fields[3].type).toBe(FieldType.time); // based on name
|
|
|
});
|
|
|
});
|
|
|
+
|
|
|
+describe('SerisData backwards compatibility', () => {
|
|
|
+ it('converts TimeSeries to series and back again', () => {
|
|
|
+ const timeseries = {
|
|
|
+ target: 'Field Name',
|
|
|
+ datapoints: [[100, 1], [200, 2]],
|
|
|
+ };
|
|
|
+ const series = toSeriesData(timeseries);
|
|
|
+ expect(isSeriesData(timeseries)).toBeFalsy();
|
|
|
+ expect(isSeriesData(series)).toBeTruthy();
|
|
|
+
|
|
|
+ const roundtrip = toLegacyResponseData(series) as TimeSeries;
|
|
|
+ expect(isSeriesData(roundtrip)).toBeFalsy();
|
|
|
+ expect(roundtrip.target).toBe(timeseries.target);
|
|
|
+ });
|
|
|
+
|
|
|
+ it('converts TableData to series and back again', () => {
|
|
|
+ const table = {
|
|
|
+ columns: [{ text: 'a', unit: 'ms' }, { text: 'b', unit: 'zz' }, { text: 'c', unit: 'yy' }],
|
|
|
+ rows: [[100, 1, 'a'], [200, 2, 'a']],
|
|
|
+ };
|
|
|
+ const series = toSeriesData(table);
|
|
|
+ expect(isTableData(table)).toBeTruthy();
|
|
|
+ expect(isSeriesData(series)).toBeTruthy();
|
|
|
+
|
|
|
+ const roundtrip = toLegacyResponseData(series) as TimeSeries;
|
|
|
+ expect(isTableData(roundtrip)).toBeTruthy();
|
|
|
+ expect(roundtrip).toMatchObject(table);
|
|
|
+ });
|
|
|
+});
|