| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import React from 'react';
- import renderer from 'react-test-renderer';
- import { StackdriverVariableQueryEditor } from './VariableQueryEditor';
- import { VariableQueryProps } from 'app/types/plugins';
- import { MetricFindQueryTypes } from '../types';
- jest.mock('../functions', () => ({
- getMetricTypes: () => ({ metricTypes: [], selectedMetricType: '' }),
- }));
- const props: VariableQueryProps = {
- onChange: (query, definition) => {},
- query: {},
- datasource: {
- getMetricTypes: async p => [],
- },
- };
- describe('VariableQueryEditor', () => {
- it('renders correctly', () => {
- const tree = renderer.create(<StackdriverVariableQueryEditor {...props} />).toJSON();
- expect(tree).toMatchSnapshot();
- });
- 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(<StackdriverVariableQueryEditor {...props} />).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(<StackdriverVariableQueryEditor {...props} />).toJSON();
- });
- });
- });
|