mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
65 lines
1.9 KiB
TypeScript
65 lines
1.9 KiB
TypeScript
import { describe, beforeEach, it, expect, angularMocks } from 'test/lib/common';
|
|
import config from 'app/core/config';
|
|
import 'app/features/plugins/datasource_srv';
|
|
|
|
describe('datasource_srv', function() {
|
|
var _datasourceSrv;
|
|
var metricSources;
|
|
var templateSrv = {};
|
|
|
|
beforeEach(angularMocks.module('grafana.core'));
|
|
beforeEach(
|
|
angularMocks.module(function($provide) {
|
|
$provide.value('templateSrv', templateSrv);
|
|
})
|
|
);
|
|
beforeEach(angularMocks.module('grafana.services'));
|
|
beforeEach(
|
|
angularMocks.inject(function(datasourceSrv) {
|
|
_datasourceSrv = datasourceSrv;
|
|
})
|
|
);
|
|
|
|
describe('when loading metric sources', function() {
|
|
var unsortedDatasources = {
|
|
mmm: {
|
|
type: 'test-db',
|
|
meta: { metrics: { m: 1 } },
|
|
},
|
|
'--Grafana--': {
|
|
type: 'grafana',
|
|
meta: { builtIn: true, metrics: { m: 1 }, id: 'grafana' },
|
|
},
|
|
'--Mixed--': {
|
|
type: 'test-db',
|
|
meta: { builtIn: true, metrics: { m: 1 }, id: 'mixed' },
|
|
},
|
|
ZZZ: {
|
|
type: 'test-db',
|
|
meta: { metrics: { m: 1 } },
|
|
},
|
|
aaa: {
|
|
type: 'test-db',
|
|
meta: { metrics: { m: 1 } },
|
|
},
|
|
BBB: {
|
|
type: 'test-db',
|
|
meta: { metrics: { m: 1 } },
|
|
},
|
|
};
|
|
beforeEach(function() {
|
|
config.datasources = unsortedDatasources;
|
|
metricSources = _datasourceSrv.getMetricSources({ skipVariables: true });
|
|
});
|
|
|
|
it('should return a list of sources sorted case insensitively with builtin sources last', function() {
|
|
expect(metricSources[0].name).to.be('aaa');
|
|
expect(metricSources[1].name).to.be('BBB');
|
|
expect(metricSources[2].name).to.be('mmm');
|
|
expect(metricSources[3].name).to.be('ZZZ');
|
|
expect(metricSources[4].name).to.be('--Grafana--');
|
|
expect(metricSources[5].name).to.be('--Mixed--');
|
|
});
|
|
});
|
|
});
|