Files
grafana/plugins-bundled/internal/input-datasource/src/InputDatasource.test.ts
Josh Hunt 3c6e0e8ef8 Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00

58 lines
1.5 KiB
TypeScript

import {
DataFrame,
DataFrameDTO,
DataSourceInstanceSettings,
MutableDataFrame,
PluginMeta,
readCSV,
} from '@grafana/data';
import InputDatasource, { describeDataFrame } from './InputDatasource';
import { getQueryOptions } from './testHelpers';
import { InputOptions, InputQuery } from './types';
describe('InputDatasource', () => {
const data = readCSV('a,b,c\n1,2,3\n4,5,6');
const instanceSettings: DataSourceInstanceSettings<InputOptions> = {
id: 1,
uid: 'xxx',
type: 'x',
name: 'xxx',
meta: {} as PluginMeta,
access: 'proxy',
jsonData: {
data,
},
};
describe('when querying', () => {
test('should return the saved data with a query', () => {
const ds = new InputDatasource(instanceSettings);
const options = getQueryOptions<InputQuery>({
targets: [{ refId: 'Z' }],
});
return ds.query(options).then((rsp) => {
expect(rsp.data.length).toBe(1);
const series: DataFrame = rsp.data[0];
expect(series.refId).toBe('Z');
expect(series.fields[0].values).toEqual(data[0].fields[0].values);
});
});
});
test('DataFrame descriptions', () => {
expect(describeDataFrame([])).toEqual('');
expect(describeDataFrame(null as unknown as Array<DataFrameDTO | DataFrame>)).toEqual('');
expect(
describeDataFrame([
new MutableDataFrame({
name: 'x',
fields: [{ name: 'a' }],
}),
])
).toEqual('1 Fields, 0 Rows');
});
});