diff --git a/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.test.tsx b/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.test.tsx
index 0d9f0e6d5b4..e81037e2822 100644
--- a/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.test.tsx
+++ b/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.test.tsx
@@ -2,14 +2,15 @@ import React from 'react';
import renderer from 'react-test-renderer';
import { StackdriverTemplateQueryComponent } from './TemplateQueryComponent';
import { TemplateQueryProps } from 'app/types/plugins';
+import { MetricFindQueryTypes } from '../types';
jest.mock('../functions', () => ({
- getMetricTypes: async () => ({ metricTypes: [], selectedMetricType: '' }),
+ getMetricTypes: () => ({ metricTypes: [], selectedMetricType: '' }),
}));
const props: TemplateQueryProps = {
onChange: (query, definition) => {},
- query: '',
+ query: {},
datasource: {
getMetricTypes: async p => [],
},
@@ -21,11 +22,24 @@ describe('StackdriverTemplateQueryComponent', () => {
expect(tree).toMatchSnapshot();
});
- it('should use the first query type in the array if no query type was saved before', done => {
- props.onChange = (query, definition) => {
- expect(definition).toBe('Stackdriver - Metric Types');
- done();
- };
- renderer.create().toJSON();
+ describe('and a new variable is created', () => {
+ it('should trigger a query using the first query type in the array', done => {
+ props.onChange = (query, definition) => {
+ expect(definition).toBe('Stackdriver - Metric Types');
+ done();
+ };
+ renderer.create().toJSON();
+ });
+ });
+
+ describe('and an existing variable is edited', () => {
+ it('should trigger new query using the saved query type', done => {
+ props.query = { selectedQueryType: MetricFindQueryTypes.MetricLabels };
+ props.onChange = (query, definition) => {
+ expect(definition).toBe('Stackdriver - Metric Labels');
+ done();
+ };
+ renderer.create().toJSON();
+ });
});
});
diff --git a/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.tsx b/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.tsx
index e9784d485dd..4769e3481b7 100644
--- a/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.tsx
+++ b/public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.tsx
@@ -33,7 +33,9 @@ export class StackdriverTemplateQueryComponent extends PureComponent