diff --git a/packages/grafana-data/src/transformations/transformers/seriesToRows.test.ts b/packages/grafana-data/src/transformations/transformers/seriesToRows.test.ts index 49829c3e377..23f6de76225 100644 --- a/packages/grafana-data/src/transformations/transformers/seriesToRows.test.ts +++ b/packages/grafana-data/src/transformations/transformers/seriesToRows.test.ts @@ -11,6 +11,33 @@ describe('Series to rows', () => { mockTransformationsRegistry([seriesToRowsTransformer]); }); + it('should do transform even with only one series', async () => { + const cfg: DataTransformerConfig = { + id: DataTransformerID.seriesToRows, + options: {}, + }; + + const seriesA = toDataFrame({ + name: 'A', + fields: [ + { name: 'Time', type: FieldType.time, values: [1000] }, + { name: 'Temp', type: FieldType.number, values: [1] }, + ], + }); + + await expect(transformDataFrame([cfg], [seriesA])).toEmitValuesWith((received) => { + const result = received[0]; + + const expected: Field[] = [ + createField('Time', FieldType.time, [1000]), + createField('Metric', FieldType.string, ['A']), + createField('Value', FieldType.number, [1]), + ]; + + expect(unwrap(result[0].fields)).toEqual(expected); + }); + }); + it('combine two series into one', async () => { const cfg: DataTransformerConfig = { id: DataTransformerID.seriesToRows, diff --git a/packages/grafana-data/src/transformations/transformers/seriesToRows.ts b/packages/grafana-data/src/transformations/transformers/seriesToRows.ts index bbfcfcb4b14..cf0793ef7d0 100644 --- a/packages/grafana-data/src/transformations/transformers/seriesToRows.ts +++ b/packages/grafana-data/src/transformations/transformers/seriesToRows.ts @@ -25,7 +25,7 @@ export const seriesToRowsTransformer: DataTransformerInfo (source) => source.pipe( map((data) => { - if (!Array.isArray(data) || data.length <= 1) { + if (!Array.isArray(data) || data.length === 0) { return data; }