64 lines
2.5 KiB
TypeScript
64 lines
2.5 KiB
TypeScript
import {Page, expect} from '@playwright/test';
|
|
|
|
import DashboardPage from '../../../page-objects/dashboard/DashboardPage';
|
|
import {isEnabledFeature, openTestPage, slct} from '../../../utils';
|
|
import datalensTest from '../../../utils/playwright/globalTestDefinition';
|
|
import {ActionPanelDashSaveControlsQa} from '../../../../src/shared/constants/qa/action-panel';
|
|
import {Feature} from '../../../../src/shared/types/feature';
|
|
import {WorkbookIds} from '../../../constants/constants';
|
|
|
|
const PARAMS = {
|
|
CONTROL_TITLE: 'test-control',
|
|
CONTROL_FIELD_NAME: 'test-control-field',
|
|
};
|
|
|
|
datalensTest.describe('Dashboards - Basic functionality', () => {
|
|
datalensTest.beforeEach(async ({page}: {page: Page}) => {
|
|
// some page need to be loaded so we can get data of feature flag from DL var
|
|
await openTestPage(page, '/');
|
|
|
|
const isCollectionsE2ETestsMode = await isEnabledFeature(
|
|
page,
|
|
Feature.CollectionsE2ETestsMode,
|
|
);
|
|
const createDashUrl = isCollectionsE2ETestsMode
|
|
? `/workbooks/${WorkbookIds.E2EWorkbook}/dashboards`
|
|
: '/dashboards/new';
|
|
await openTestPage(page, createDashUrl);
|
|
});
|
|
datalensTest('Adding a selector, the save button is active', async ({page}: {page: Page}) => {
|
|
const dashboardPage = new DashboardPage({page});
|
|
|
|
const saveButton = page.locator(slct(ActionPanelDashSaveControlsQa.Save));
|
|
|
|
await expect(saveButton, 'Save button is disabled').toBeDisabled();
|
|
|
|
await dashboardPage.controlActions.addSelector({
|
|
appearance: {title: PARAMS.CONTROL_TITLE},
|
|
fieldName: PARAMS.CONTROL_FIELD_NAME,
|
|
});
|
|
|
|
await expect(saveButton, 'Save button is active').not.toBeDisabled();
|
|
});
|
|
|
|
datalensTest(
|
|
'Adding a selector and deleting it, the save button is disabled',
|
|
async ({page}: {page: Page}) => {
|
|
const dashboardPage = new DashboardPage({page});
|
|
|
|
const saveButton = dashboardPage.page.locator(slct(ActionPanelDashSaveControlsQa.Save));
|
|
|
|
await expect(saveButton, 'Save button is disabled').toBeDisabled();
|
|
|
|
await dashboardPage.controlActions.addSelector({
|
|
appearance: {title: PARAMS.CONTROL_TITLE},
|
|
fieldName: PARAMS.CONTROL_FIELD_NAME,
|
|
});
|
|
|
|
await dashboardPage.deleteSelector(PARAMS.CONTROL_TITLE);
|
|
|
|
await expect(saveButton, 'Save button is disabled').toBeDisabled();
|
|
},
|
|
);
|
|
});
|