mirror of https://github.com/grafana/grafana
Transformations: Enable / disable toggle for transformation rows (#36668)
* Disable transform feature * Change icon * Added more clear way to show it's disabledpull/36702/head
parent
5d01add7da
commit
beca793008
@ -0,0 +1,75 @@ |
||||
import { ReducerID } from './fieldReducer'; |
||||
import { DataTransformerID } from './transformers/ids'; |
||||
import { toDataFrame } from '../dataframe/processDataFrame'; |
||||
import { mockTransformationsRegistry } from '../utils/tests/mockTransformationsRegistry'; |
||||
import { reduceTransformer } from './transformers/reduce'; |
||||
import { filterFieldsByNameTransformer } from './transformers/filterByName'; |
||||
import { transformDataFrame } from './transformDataFrame'; |
||||
import { FieldType } from '../types'; |
||||
|
||||
const seriesAWithSingleField = toDataFrame({ |
||||
name: 'A', |
||||
fields: [ |
||||
{ name: 'time', type: FieldType.time, values: [3000, 4000, 5000, 6000] }, |
||||
{ name: 'temperature', type: FieldType.number, values: [3, 4, 5, 6] }, |
||||
], |
||||
}); |
||||
|
||||
describe('transformDataFrame', () => { |
||||
beforeAll(() => { |
||||
mockTransformationsRegistry([reduceTransformer, filterFieldsByNameTransformer]); |
||||
}); |
||||
|
||||
it('Applies all transforms', async () => { |
||||
const cfg = [ |
||||
{ |
||||
id: DataTransformerID.reduce, |
||||
options: { |
||||
reducers: [ReducerID.first], |
||||
}, |
||||
}, |
||||
{ |
||||
id: DataTransformerID.filterFieldsByName, |
||||
options: { |
||||
include: { |
||||
pattern: '/First/', |
||||
}, |
||||
}, |
||||
}, |
||||
]; |
||||
|
||||
await expect(transformDataFrame(cfg, [seriesAWithSingleField])).toEmitValuesWith((received) => { |
||||
const processed = received[0]; |
||||
expect(processed[0].length).toEqual(1); |
||||
expect(processed[0].fields.length).toEqual(1); |
||||
expect(processed[0].fields[0].values.get(0)).toEqual(3); |
||||
}); |
||||
}); |
||||
|
||||
it('Skips over disabled transforms', async () => { |
||||
const cfg = [ |
||||
{ |
||||
id: DataTransformerID.reduce, |
||||
options: { |
||||
reducers: [ReducerID.first], |
||||
}, |
||||
}, |
||||
{ |
||||
id: DataTransformerID.filterFieldsByName, |
||||
disabled: true, |
||||
options: { |
||||
include: { |
||||
pattern: '/First/', |
||||
}, |
||||
}, |
||||
}, |
||||
]; |
||||
|
||||
await expect(transformDataFrame(cfg, [seriesAWithSingleField])).toEmitValuesWith((received) => { |
||||
const processed = received[0]; |
||||
expect(processed[0].length).toEqual(1); |
||||
expect(processed[0].fields.length).toEqual(2); |
||||
expect(processed[0].fields[0].values.get(0)).toEqual('temperature'); |
||||
}); |
||||
}); |
||||
}); |
Loading…
Reference in new issue