| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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--');
- });
- });
- });
|