mirror of https://github.com/grafana/grafana
parent
50ebc768c8
commit
7498de044c
@ -0,0 +1,60 @@ |
|||||||
|
// Library
|
||||||
|
import React from 'react'; |
||||||
|
|
||||||
|
import { DataPanel, getProcessedTableData } from './DataPanel'; |
||||||
|
|
||||||
|
describe('DataPanel', () => { |
||||||
|
let dataPanel: DataPanel; |
||||||
|
|
||||||
|
beforeEach(() => { |
||||||
|
dataPanel = new DataPanel({ |
||||||
|
queries: [], |
||||||
|
panelId: 1, |
||||||
|
widthPixels: 100, |
||||||
|
refreshCounter: 1, |
||||||
|
datasource: 'xxx', |
||||||
|
children: r => { |
||||||
|
return <div>hello</div>; |
||||||
|
}, |
||||||
|
onError: (message, error) => {}, |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
it('starts with unloaded state', () => { |
||||||
|
expect(dataPanel.state.isFirstLoad).toBe(true); |
||||||
|
}); |
||||||
|
|
||||||
|
it('converts timeseries to table skipping nulls', () => { |
||||||
|
const input1 = { |
||||||
|
target: 'Field Name', |
||||||
|
datapoints: [[100, 1], [200, 2]], |
||||||
|
}; |
||||||
|
const input2 = { |
||||||
|
// without target
|
||||||
|
target: '', |
||||||
|
datapoints: [[100, 1], [200, 2]], |
||||||
|
}; |
||||||
|
const data = getProcessedTableData([null, input1, input2, null, null]); |
||||||
|
expect(data.length).toBe(2); |
||||||
|
expect(data[0].columns[0].text).toBe(input1.target); |
||||||
|
expect(data[0].rows).toBe(input1.datapoints); |
||||||
|
|
||||||
|
// Default name
|
||||||
|
expect(data[1].columns[0].text).toEqual('Value'); |
||||||
|
|
||||||
|
// Every colun should have a name and a type
|
||||||
|
for (const table of data) { |
||||||
|
for (const column of table.columns) { |
||||||
|
expect(column.text).toBeDefined(); |
||||||
|
expect(column.type).toBeDefined(); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
it('supports null values from query OK', () => { |
||||||
|
expect(getProcessedTableData([null, null, null, null])).toEqual([]); |
||||||
|
expect(getProcessedTableData(undefined)).toEqual([]); |
||||||
|
expect(getProcessedTableData((null as unknown) as any[])).toEqual([]); |
||||||
|
expect(getProcessedTableData([])).toEqual([]); |
||||||
|
}); |
||||||
|
}); |
||||||
Loading…
Reference in new issue