diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.test.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.test.ts new file mode 100644 index 00000000000..e1edaff0c30 --- /dev/null +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.test.ts @@ -0,0 +1,31 @@ +import createMockQuery from '../../__mocks__/query'; + +import { setResource } from './setQueryValue'; + +describe('setResource', () => { + it('should set a resource URI', () => { + const q = setResource(createMockQuery(), '/new-uri'); + expect(q.azureMonitor?.resourceUri).toEqual('/new-uri'); + }); + + it('should remove clean up dependent fields', () => { + const q = createMockQuery(); + expect(q.azureMonitor?.metricNamespace).not.toEqual(undefined); + expect(q.azureMonitor?.metricName).not.toEqual(undefined); + expect(q.azureMonitor?.metricDefinition).not.toEqual(undefined); + expect(q.azureMonitor?.aggregation).not.toEqual(undefined); + expect(q.azureMonitor?.metricDefinition).not.toEqual(undefined); + expect(q.azureMonitor?.metricDefinition).not.toEqual(undefined); + expect(q.azureMonitor?.timeGrain).not.toEqual(''); + expect(q.azureMonitor?.timeGrain).not.toEqual([]); + const newQ = setResource(createMockQuery(), '/new-uri'); + expect(newQ.azureMonitor).toMatchObject({ + metricNamespace: undefined, + metricName: undefined, + aggregation: undefined, + metricDefinition: undefined, + timeGrain: '', + dimensionFilters: [], + }); + }); +}); diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.ts index a83c214380c..165016e33b9 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.ts +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.ts @@ -9,6 +9,7 @@ export function setResource(query: AzureMonitorQuery, resourceURI: string | unde metricNamespace: undefined, metricName: undefined, aggregation: undefined, + metricDefinition: undefined, timeGrain: '', dimensionFilters: [], },