mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: clean up console warning from SQL Group By tests (#46733)
This commit is contained in:
parent
499445a5f9
commit
7480ba0226
@ -1,5 +1,6 @@
|
||||
import React from 'react';
|
||||
import { act, render, screen, waitFor } from '@testing-library/react';
|
||||
import { render, screen, waitFor } from '@testing-library/react';
|
||||
import selectEvent from 'react-select-event';
|
||||
import { CloudWatchMetricsQuery, MetricEditorMode, MetricQueryType, SQLExpression } from '../../types';
|
||||
import { setupMockedDataSource } from '../../__mocks__/CloudWatchDataSource';
|
||||
import { createArray, createGroupBy } from '../../__mocks__/sqlUtils';
|
||||
@ -32,30 +33,57 @@ describe('Cloudwatch SQLGroupBy', () => {
|
||||
});
|
||||
|
||||
render(<SQLGroupBy {...baseProps} query={query} />);
|
||||
act(async () => {
|
||||
await waitFor(() =>
|
||||
expect(datasource.getDimensionKeys).toHaveBeenCalledWith(query.namespace, query.region, {}, undefined)
|
||||
);
|
||||
await waitFor(() => {
|
||||
expect(screen.queryByText('InstanceId')).not.toBeInTheDocument();
|
||||
expect(screen.queryByText('InstanceType')).not.toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
|
||||
it('should load dimension keys with a dimension filter in case a group bys exist', async () => {
|
||||
const query = makeSQLQuery({
|
||||
groupBy: createArray([createGroupBy('InstanceId'), createGroupBy('InstanceType')]),
|
||||
});
|
||||
|
||||
render(<SQLGroupBy {...baseProps} query={query} />);
|
||||
act(async () => {
|
||||
await waitFor(() => {
|
||||
expect(screen.getByText('InstanceId')).toBeInTheDocument();
|
||||
expect(screen.getByText('InstanceType')).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
|
||||
await waitFor(() =>
|
||||
expect(datasource.getDimensionKeys).toHaveBeenCalledWith(
|
||||
query.namespace,
|
||||
query.region,
|
||||
{ InstanceId: null, InstanceType: null },
|
||||
undefined
|
||||
)
|
||||
);
|
||||
it('should allow adding a new dimension filter', async () => {
|
||||
const query = makeSQLQuery({
|
||||
groupBy: undefined,
|
||||
});
|
||||
render(<SQLGroupBy {...baseProps} query={query} />);
|
||||
|
||||
expect(screen.queryByText('Choose')).not.toBeInTheDocument();
|
||||
expect(screen.queryByText('Template Variables')).not.toBeInTheDocument();
|
||||
|
||||
const addButton = screen.getByRole('button', { name: 'Add' });
|
||||
expect(addButton).toBeInTheDocument();
|
||||
addButton.click();
|
||||
|
||||
expect(await screen.findByText('Choose')).toBeInTheDocument();
|
||||
|
||||
selectEvent.openMenu(screen.getByLabelText(/Group by/));
|
||||
expect(await screen.findByText('Template Variables')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should allow removing a dimension filter', async () => {
|
||||
const query = makeSQLQuery({
|
||||
groupBy: createArray([createGroupBy('InstanceId')]),
|
||||
});
|
||||
render(<SQLGroupBy {...baseProps} query={query} />);
|
||||
|
||||
expect(screen.getByText('InstanceId')).toBeInTheDocument();
|
||||
|
||||
const removeButton = screen.getByRole('button', { name: 'remove' });
|
||||
expect(removeButton).toBeInTheDocument();
|
||||
removeButton.click();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.queryByText('InstanceId')).not.toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -91,6 +91,7 @@ const GroupByItem: React.FC<GroupByItemProps> = (props) => {
|
||||
return (
|
||||
<InputGroup>
|
||||
<Select
|
||||
aria-label={`Group by ${fieldName ?? 'filter key'}`}
|
||||
width="auto"
|
||||
value={fieldName ? toOption(fieldName) : null}
|
||||
options={options}
|
||||
|
Loading…
Reference in New Issue
Block a user