Dashboard: Prevent Mixed datasources using the test datasource crashing (#44128)

* Special case mixed datasources... :/

* Revert "Special case mixed datasources... :/"

This reverts commit dd0e3ea4a8.

* Ensure testdata persists datasource when switching scenario

* Add a unit test to prevent regressions

* kick drone
This commit is contained in:
Ashley Harrison 2022-01-19 13:04:35 +00:00 committed by GitHub
parent 2c75b444c0
commit d4d306d825
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 0 deletions

View File

@ -82,4 +82,21 @@ describe('Test Datasource Query Editor', () => {
expect(screen.getByLabelText('Spread')).toHaveValue(3.5);
expect(screen.getByLabelText('Bands')).toHaveValue(1);
});
it('persists the datasource from the query when switching scenario', async () => {
const mockDatasource = {
type: 'test',
uid: 'foo',
};
setup({
query: {
...defaultQuery,
datasource: mockDatasource,
},
});
let select = (await screen.findByText('Scenario')).nextSibling!.firstChild!;
await fireEvent.keyDown(select, { keyCode: 40 });
await userEvent.click(screen.getByText('Grafana API'));
expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({ datasource: mockDatasource }));
});
});

View File

@ -82,6 +82,7 @@ export const QueryEditor = ({ query, datasource, onChange, onRunQuery }: Props)
scenarioId: item.value!,
refId: query.refId,
alias: query.alias,
datasource: query.datasource,
};
if (scenario.stringInput) {