55 lines
1.8 KiB
TypeScript
55 lines
1.8 KiB
TypeScript
import {Page} from '@playwright/test';
|
|
|
|
import DashboardPage from '../../../page-objects/dashboard/DashboardPage';
|
|
import datalensTest from '../../../utils/playwright/globalTestDefinition';
|
|
import {TestParametrizationConfig} from '../../../types/config';
|
|
|
|
const PARAMS = {
|
|
NEW_TAB_NAME: 'Tab 2',
|
|
};
|
|
|
|
datalensTest.describe(`Dashboards - Tabs`, () => {
|
|
datalensTest.beforeEach(
|
|
async ({page, config}: {page: Page; config: TestParametrizationConfig}) => {
|
|
const dashboardPage = new DashboardPage({page});
|
|
|
|
await dashboardPage.createDashboard({
|
|
editDash: async () => {
|
|
await dashboardPage.addChart(config.dash.charts.ChartCityPie);
|
|
},
|
|
});
|
|
},
|
|
);
|
|
|
|
datalensTest.afterEach(async ({page}: {page: Page}) => {
|
|
const dashboardPage = new DashboardPage({page});
|
|
|
|
await dashboardPage.deleteDash();
|
|
});
|
|
|
|
datalensTest(
|
|
'After adding a new tab to the dashboard without tabs, the cancellation of editing the dashboard is successful',
|
|
async ({page}: {page: Page}) => {
|
|
const dashboardPage = new DashboardPage({page});
|
|
|
|
await dashboardPage.enterEditMode();
|
|
|
|
// Adding another tab with the name from params
|
|
await dashboardPage.addTab(PARAMS.NEW_TAB_NAME);
|
|
|
|
// Waiting for the first tab to load correctly
|
|
await dashboardPage.waitForSomeItemVisible();
|
|
|
|
// switch to the second tab
|
|
|
|
await dashboardPage.changeTab({tabName: PARAMS.NEW_TAB_NAME});
|
|
|
|
// Cancel editing the dashboard without saving
|
|
await dashboardPage.exitEditMode();
|
|
|
|
// Check that the added tab is not left on the dashboard
|
|
await expect(dashboardPage.dashTabs.getTabByIdx(1)).not.toBeVisible();
|
|
},
|
|
);
|
|
});
|