113 lines
4.9 KiB
TypeScript
113 lines
4.9 KiB
TypeScript
import {expect} from '@playwright/test';
|
|
|
|
import datalensTest from '../../../utils/playwright/globalTestDefinition';
|
|
import {openTestPage, slct} from '../../../utils';
|
|
import {
|
|
DatasetPreviewQA,
|
|
DatasetPanelQA,
|
|
DATASET_TAB,
|
|
DatasetActionQA,
|
|
DatasetFieldsTabQa,
|
|
DatasetSourcesTableQa,
|
|
} from '../../../../src/shared';
|
|
import {DatasetsEntities} from '../../../constants/test-entities/datasets';
|
|
import DatasetPage from '../../../page-objects/dataset/DatasetPage';
|
|
import {SET_CONNECTION_METHODS} from '../../../page-objects/dataset/constants';
|
|
import {ConnectionsNames} from '../../../constants/test-entities/connections';
|
|
import {WorkbookEntities} from '../../../constants/test-entities/workbook';
|
|
|
|
datalensTest.describe('Dataset preview', () => {
|
|
const url = `datasets${DatasetsEntities.Basic.url}`;
|
|
|
|
datalensTest('Preview table should be visible and can be hide', async ({page}) => {
|
|
const datasetPage = new DatasetPage({page});
|
|
await openTestPage(page, url);
|
|
const selector = slct(DatasetPreviewQA.Preview);
|
|
await page.waitForSelector(selector);
|
|
const preview = page.locator(selector);
|
|
await expect(preview).toBeVisible();
|
|
await datasetPage.openTab(DATASET_TAB.SOURCES);
|
|
await expect(preview).toBeVisible();
|
|
const previewBtn = page.locator(slct(DatasetPanelQA.PreviewButton));
|
|
await previewBtn.click();
|
|
await expect(preview).not.toBeVisible();
|
|
await datasetPage.openTab(DATASET_TAB.DATASET);
|
|
await expect(preview).not.toBeVisible();
|
|
});
|
|
|
|
datalensTest('Preview table should be able to change row count', async ({page}) => {
|
|
const datasetPage = new DatasetPage({page});
|
|
await openTestPage(page, url);
|
|
const selector = slct(DatasetPreviewQA.RowCountInput);
|
|
await page.waitForSelector(selector);
|
|
const rowInput = page.locator(selector).locator('input');
|
|
await rowInput.press('Meta+A');
|
|
await rowInput.press('Backspace');
|
|
await rowInput.fill('1');
|
|
await datasetPage.waitForSuccessfulResponse('/getPreview');
|
|
|
|
const previewRows = await page
|
|
.locator(`${slct(DatasetPreviewQA.Preview)} table tbody tr`)
|
|
.count();
|
|
expect(previewRows).toBe(1);
|
|
});
|
|
|
|
datalensTest('Preview table should be closed on close button click', async ({page}) => {
|
|
await openTestPage(page, url);
|
|
const selector = slct(DatasetPreviewQA.ClosePreviewBtn);
|
|
await page.waitForSelector(selector);
|
|
const previewCloseBtn = page.locator(selector);
|
|
await previewCloseBtn.click();
|
|
const preview = page.locator(slct(DatasetPreviewQA.Preview));
|
|
await expect(preview).not.toBeVisible();
|
|
});
|
|
|
|
datalensTest('Preview response should not be called when preview closed', async ({page}) => {
|
|
const datasetPage = new DatasetPage({page});
|
|
await openTestPage(page, url);
|
|
const selector = slct(DatasetPreviewQA.ClosePreviewBtn);
|
|
await page.waitForSelector(selector);
|
|
const previewCloseBtn = page.locator(selector);
|
|
await previewCloseBtn.click();
|
|
const preview = page.locator(slct(DatasetPreviewQA.Preview));
|
|
await expect(preview).not.toBeVisible();
|
|
let previewRequested = false;
|
|
page.on('request', (request) => {
|
|
if (request.url().includes('/getPreview')) {
|
|
previewRequested = true;
|
|
}
|
|
});
|
|
|
|
await datasetPage.renameFirstField();
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
expect(previewRequested).toBe(false);
|
|
});
|
|
|
|
datalensTest('Global preview disable should work in dataset', async ({page}) => {
|
|
const datasetPage = new DatasetPage({page});
|
|
await openTestPage(page, `${WorkbookEntities.Basic.url}/datasets/new`);
|
|
await datasetPage.setConnectionInWorkbookDataset({
|
|
method: SET_CONNECTION_METHODS.ADD,
|
|
connectionName: ConnectionsNames.ConnectionPostgreSQL,
|
|
});
|
|
await page.waitForSelector(slct(DatasetSourcesTableQa.Source));
|
|
await datasetPage.addAvatarByDragAndDrop();
|
|
await datasetPage.createDatasetInWorkbookOrCollection();
|
|
const selector = slct(DatasetPreviewQA.Preview);
|
|
await page.waitForSelector(selector);
|
|
const preview = page.locator(selector);
|
|
await expect(preview).toBeVisible();
|
|
const datasetSettingsBtn = page.locator(slct(DatasetActionQA.SettingsButton));
|
|
await datasetSettingsBtn.click();
|
|
const showPreviewSelectItem = await page.waitForSelector(
|
|
slct(DatasetActionQA.SettingsShowPreviewByDefault),
|
|
);
|
|
await showPreviewSelectItem.click();
|
|
await datasetPage.saveUpdatedDataset();
|
|
await page.reload();
|
|
await page.waitForSelector(slct(DatasetFieldsTabQa.FieldNameColumnInput));
|
|
await expect(preview).not.toBeVisible();
|
|
});
|
|
});
|