| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 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--");
- });
- });
- });
|