Add test for rate aggreation settings editor

This commit is contained in:
Ester Marti
2021-04-22 17:22:20 +02:00
parent 506f9399c1
commit 261c415e23
2 changed files with 43 additions and 2 deletions
@@ -82,4 +82,45 @@ describe('Settings Editor', () => {
expect(settingsButtonEl.textContent).toBe(`Size: ${newSizeValue}`);
});
});
describe('Rate aggregation', () => {
it('should render correct settings', () => {
const metricId = '1';
const query: ElasticsearchQuery = {
refId: 'A',
query: '',
metrics: [
{
id: metricId,
type: 'rate',
settings: {},
},
],
bucketAggs: [],
};
const onChange = jest.fn();
render(
<ElasticsearchProvider
query={query}
datasource={{} as ElasticDatasource}
onChange={onChange}
onRunQuery={() => {}}
range={getDefaultTimeRange()}
>
<SettingsEditor metric={query.metrics![0]} previousMetrics={[]} />
</ElasticsearchProvider>
);
let settingsButtonEl = screen.getByRole('button');
fireEvent.click(settingsButtonEl);
const unitSelectElement = screen.getByTestId('unit-select');
const modeSelectElement = screen.getByTestId('mode-select');
expect(unitSelectElement).toBeInTheDocument();
expect(modeSelectElement).toBeInTheDocument();
});
});
});
@@ -127,7 +127,7 @@ export const SettingsEditor: FunctionComponent<Props> = ({ metric, previousMetri
{metric.type === 'rate' && (
<>
<InlineField label="Unit" {...inlineFieldProps}>
<InlineField label="Unit" {...inlineFieldProps} data-testid="unit-select">
<Select
id={`ES-query-${query.refId}_metric-${metric.id}-unit`}
onChange={(e) => dispatch(changeMetricSetting(metric, 'unit', e.value))}
@@ -136,7 +136,7 @@ export const SettingsEditor: FunctionComponent<Props> = ({ metric, previousMetri
/>
</InlineField>
<InlineField label="Mode" {...inlineFieldProps}>
<InlineField label="Mode" {...inlineFieldProps} data-testid="mode-select">
<Select
id={`ES-query-${query.refId}_metric-${metric.id}-mode`}
onChange={(e) => dispatch(changeMetricSetting(metric, 'mode', e.value))}