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

64 lines
2.4 KiB
TypeScript

import {Page} from '@playwright/test';
import {CHARTKIT_MENU_ITEMS_SELECTORS} from '../../../page-objects/wizard/ChartKit';
import WizardPage from '../../../page-objects/wizard/WizardPage';
import {openTestPage, waitForCondition} from '../../../utils';
import {RobotChartsWizardUrls} from '../../../utils/constants';
import datalensTest from '../../../utils/playwright/globalTestDefinition';
const SELECTORS = {
comment: 'e2e-comment',
};
datalensTest.describe('Chart comments', () => {
datalensTest.beforeEach(async ({page}: {page: Page}) => {
await openTestPage(page, RobotChartsWizardUrls.WizardWithComments);
});
datalensTest(
'Default display of comments and necessary menu items when opening',
async ({page}: {page: Page}) => {
const wizardPage = new WizardPage({page});
await wizardPage.chartkit.openChartMenu();
// there is a menu item Comments
await wizardPage.chartkit.waitForItemInMenu(
CHARTKIT_MENU_ITEMS_SELECTORS.menuCommentsQA,
);
// there is a menu item Hide comments
await wizardPage.chartkit.waitForItemInMenu(
CHARTKIT_MENU_ITEMS_SELECTORS.menuHideCommentsQA,
);
// there is one added comment
const comments = await wizardPage.chartkit.getComments();
expect(comments).toHaveLength(1);
// the comment caption is displayed on the graph
const comment = wizardPage.page.getByText(SELECTORS.comment);
await expect(comment).toBeVisible();
},
);
datalensTest('Switching the display of comments', async ({page}: {page: Page}) => {
const wizardPage = new WizardPage({page});
// hiding comments
await wizardPage.chartkit.clickMenuItem(CHARTKIT_MENU_ITEMS_SELECTORS.menuHideCommentsQA);
// check the number of rendered comments on the graph
await waitForCondition(async () => {
const comments = await wizardPage.chartkit.getComments();
return comments.length === 0;
});
// showing comments
await wizardPage.chartkit.clickMenuItem(CHARTKIT_MENU_ITEMS_SELECTORS.menuShowCommentsQA);
// check the number of rendered comments on the graph
await waitForCondition(async () => {
const comments = await wizardPage.chartkit.getComments();
return comments.length === 1;
});
});
});