mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
24 lines
898 B
TypeScript
24 lines
898 B
TypeScript
|
import { PlaywrightTestArgs } from '@playwright/test';
|
||
|
|
||
|
import { PluginFixture } from '@grafana/plugin-e2e';
|
||
|
|
||
|
import { datasetResponse, fieldsResponse, tablesResponse } from './mocks/mysql.mocks';
|
||
|
|
||
|
export async function mockDataSourceRequest({ context, explorePage, selectors }: PlaywrightTestArgs & PluginFixture) {
|
||
|
await explorePage.datasource.set('gdev-mysql');
|
||
|
await context.route(selectors.apis.DataSource.queryPattern, async (route, request) => {
|
||
|
const refId = request.postDataJSON().queries[0].refId;
|
||
|
if (/fields-.*/g.test(refId)) {
|
||
|
return route.fulfill({ json: fieldsResponse(refId), status: 200 });
|
||
|
}
|
||
|
switch (refId) {
|
||
|
case 'tables':
|
||
|
return route.fulfill({ json: tablesResponse, status: 200 });
|
||
|
case 'datasets':
|
||
|
return route.fulfill({ json: datasetResponse, status: 200 });
|
||
|
default:
|
||
|
return route.continue();
|
||
|
}
|
||
|
});
|
||
|
}
|