mirror of https://github.com/grafana/grafana
CloudWatch: Fetch Dimension keys correctly from Dimension Picker (#78556)
parent
faa29db241
commit
931c8e99b9
@ -0,0 +1,53 @@ |
|||||||
|
import { render, screen } from '@testing-library/react'; |
||||||
|
import userEvent from '@testing-library/user-event'; |
||||||
|
import React from 'react'; |
||||||
|
|
||||||
|
import { setupMockedDataSource } from '../../../__mocks__/CloudWatchDataSource'; |
||||||
|
import { CloudWatchMetricsQuery } from '../../../types'; |
||||||
|
|
||||||
|
import { FilterItem } from './FilterItem'; |
||||||
|
|
||||||
|
const ds = setupMockedDataSource({ |
||||||
|
variables: [], |
||||||
|
}); |
||||||
|
|
||||||
|
const q: CloudWatchMetricsQuery = { |
||||||
|
id: '', |
||||||
|
region: 'us-east-2', |
||||||
|
namespace: '', |
||||||
|
period: '', |
||||||
|
alias: '', |
||||||
|
metricName: '', |
||||||
|
dimensions: { foo: 'bar', abc: 'xyz' }, |
||||||
|
matchExact: true, |
||||||
|
statistic: '', |
||||||
|
expression: '', |
||||||
|
refId: '', |
||||||
|
}; |
||||||
|
|
||||||
|
describe('Dimensions', () => { |
||||||
|
it('should call getDimensionKeys without the current key', async () => { |
||||||
|
const getDimensionKeys = jest.fn().mockResolvedValue([]); |
||||||
|
ds.datasource.resources.getDimensionKeys = getDimensionKeys; |
||||||
|
const currFilter = { key: 'foo', value: 'bar' }; |
||||||
|
|
||||||
|
render( |
||||||
|
<FilterItem |
||||||
|
metricStat={q} |
||||||
|
datasource={ds.datasource} |
||||||
|
filter={currFilter} |
||||||
|
disableExpressions={true} |
||||||
|
onChange={jest.fn()} |
||||||
|
onDelete={jest.fn()} |
||||||
|
/> |
||||||
|
); |
||||||
|
await userEvent.click(screen.getByLabelText('Dimensions filter key')); |
||||||
|
expect(getDimensionKeys).toHaveBeenCalledWith({ |
||||||
|
namespace: q.namespace, |
||||||
|
region: q.region, |
||||||
|
metricName: q.metricName, |
||||||
|
accountId: q.accountId, |
||||||
|
dimensionFilters: { abc: ['xyz'] }, |
||||||
|
}); |
||||||
|
}); |
||||||
|
}); |
Loading…
Reference in new issue