Просмотр исходного кода

stackdriver: add tests for render snapshop and default query type

Erik Sundell 7 лет назад
Родитель
Сommit
0280179d35

+ 21 - 6
public/app/plugins/datasource/stackdriver/components/TemplateQueryComponent.test.tsx

@@ -3,15 +3,30 @@ import renderer from 'react-test-renderer';
 import { StackdriverTemplateQueryComponent } from './TemplateQueryComponent';
 import { TemplateQueryProps } from 'app/types/plugins';
 
-describe('StackdriverTemplateQueryComponent', () => {
-  const props: TemplateQueryProps = {
-    onChange: (query, definition) => {},
-    query: '',
-    datasource: {},
-  };
+jest.mock('../functions', () => ({
+  getMetricTypes: () => Promise.resolve({ metricTypes: [], selectedMetricType: '' }),
+  extractServicesFromMetricDescriptors: m => m,
+}));
+
+const props: TemplateQueryProps = {
+  onChange: (query, definition) => {},
+  query: '',
+  datasource: {
+    getMetricTypes: async p => [],
+  },
+};
 
+describe('StackdriverTemplateQueryComponent', () => {
   it('renders correctly', () => {
     const tree = renderer.create(<StackdriverTemplateQueryComponent {...props} />).toJSON();
     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 - Services');
+      done();
+    };
+    renderer.create(<StackdriverTemplateQueryComponent {...props} />).toJSON();
+  });
 });