2026-06-24 21:10:34 +05:00

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);
},
);
});