mirror of
https://github.com/grafana/grafana.git
synced 2025-02-03 12:11:09 -06:00
de1b2bdc4c
* WIP: changes transformer API to Observable * Refactor: changes ResultProcessor * WIP: TransformationUI * wip * Refactor: Cleaning up code in CalculateFieldTransformerEditorProps * Refactor: pushing editor and input output down to TransformationEditor * Refactor: renaming props * Refactor: makes transformDataFrame more readable * Refactor: fixes editor issues * Refactor: changes after merge with master and first tests * Tests: completes the tests for the Explore changes * Tests: fixes all transform tests * Tests: fixed annotations test * Tests: fixed typechecks * Refactor: changes transform interface to MonoTypeOperatorFunction * Chore: cleans up typings * Update packages/grafana-data/src/transformations/transformDataFrame.ts Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com> * Tests: fixes broken tests Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
104 lines
2.6 KiB
TypeScript
104 lines
2.6 KiB
TypeScript
import { FieldType, observableTester, toDataFrame } from '@grafana/data';
|
|
import { getAnnotationsFromData } from './standardAnnotationSupport';
|
|
|
|
describe('DataFrame to annotations', () => {
|
|
test('simple conversion', done => {
|
|
const frame = toDataFrame({
|
|
fields: [
|
|
{ type: FieldType.time, values: [1, 2, 3, 4, 5] },
|
|
{ name: 'first string field', values: ['t1', 't2', 't3', null, undefined] },
|
|
{ name: 'tags', values: ['aaa,bbb', 'bbb,ccc', 'zyz', null, undefined] },
|
|
],
|
|
});
|
|
|
|
observableTester().subscribeAndExpectOnNext({
|
|
observable: getAnnotationsFromData([frame]),
|
|
expect: events => {
|
|
expect(events).toEqual([
|
|
{
|
|
color: 'red',
|
|
tags: ['aaa', 'bbb'],
|
|
text: 't1',
|
|
time: 1,
|
|
type: 'default',
|
|
},
|
|
{
|
|
color: 'red',
|
|
tags: ['bbb', 'ccc'],
|
|
text: 't2',
|
|
time: 2,
|
|
type: 'default',
|
|
},
|
|
{
|
|
color: 'red',
|
|
tags: ['zyz'],
|
|
text: 't3',
|
|
time: 3,
|
|
type: 'default',
|
|
},
|
|
{
|
|
color: 'red',
|
|
time: 4,
|
|
type: 'default',
|
|
},
|
|
{
|
|
color: 'red',
|
|
time: 5,
|
|
type: 'default',
|
|
},
|
|
]);
|
|
},
|
|
done,
|
|
});
|
|
});
|
|
|
|
test('explicit mappins', done => {
|
|
const frame = toDataFrame({
|
|
fields: [
|
|
{ name: 'time1', values: [111, 222, 333] },
|
|
{ name: 'time2', values: [100, 200, 300] },
|
|
{ name: 'aaaaa', values: ['a1', 'a2', 'a3'] },
|
|
{ name: 'bbbbb', values: ['b1', 'b2', 'b3'] },
|
|
],
|
|
});
|
|
|
|
observableTester().subscribeAndExpectOnNext({
|
|
observable: getAnnotationsFromData([frame], {
|
|
text: { value: 'bbbbb' },
|
|
time: { value: 'time2' },
|
|
timeEnd: { value: 'time1' },
|
|
title: { value: 'aaaaa' },
|
|
}),
|
|
expect: events => {
|
|
expect(events).toEqual([
|
|
{
|
|
color: 'red',
|
|
text: 'b1',
|
|
time: 100,
|
|
timeEnd: 111,
|
|
title: 'a1',
|
|
type: 'default',
|
|
},
|
|
{
|
|
color: 'red',
|
|
text: 'b2',
|
|
time: 200,
|
|
timeEnd: 222,
|
|
title: 'a2',
|
|
type: 'default',
|
|
},
|
|
{
|
|
color: 'red',
|
|
text: 'b3',
|
|
time: 300,
|
|
timeEnd: 333,
|
|
title: 'a3',
|
|
type: 'default',
|
|
},
|
|
]);
|
|
},
|
|
done,
|
|
});
|
|
});
|
|
});
|