35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import {expect} from '@playwright/test';
|
|
|
|
import QLPage from '../../../page-objects/ql/QLPage';
|
|
import datalensTest from '../../../utils/playwright/globalTestDefinition';
|
|
import {openTestPage} from '../../../utils';
|
|
|
|
datalensTest.describe('QL', () => {
|
|
datalensTest(
|
|
'First and next click on Run button should trigger only one api/run request',
|
|
async ({page, config}) => {
|
|
await openTestPage(page, config.ql.urls.NewQLChartWithConnection);
|
|
const qlPage = new QLPage({page});
|
|
await qlPage.setScript(`select 1`);
|
|
|
|
let numberOfRequests = 0;
|
|
await page.on('request', (request) => {
|
|
if (request.url().includes('api/run')) {
|
|
numberOfRequests += 1;
|
|
}
|
|
});
|
|
|
|
// Check first run
|
|
await qlPage.runScript();
|
|
await qlPage.chartkit.waitUntilLoaderExists();
|
|
expect(numberOfRequests).toEqual(1);
|
|
|
|
// Check second and other runs
|
|
numberOfRequests = 0;
|
|
await qlPage.runScript();
|
|
await qlPage.chartkit.waitUntilLoaderExists();
|
|
expect(numberOfRequests).toEqual(1);
|
|
},
|
|
);
|
|
});
|