48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
import {Page} from '@playwright/test';
|
|
|
|
import {slct, waitForCondition} from '../../utils';
|
|
import {COMMON_SELECTORS} from '../../utils/constants';
|
|
|
|
import {DialogEntryDescriptionQa} from '../../../src/shared';
|
|
|
|
export default class Description {
|
|
page: Page;
|
|
|
|
constructor(page: Page) {
|
|
this.page = page;
|
|
}
|
|
|
|
async open() {
|
|
await this.clickDescription();
|
|
await this.opened();
|
|
}
|
|
|
|
async close() {
|
|
await this.page.click(`${slct(DialogEntryDescriptionQa.Root)} .g-dialog-btn-close__btn`);
|
|
await this.closed();
|
|
}
|
|
|
|
async isViewMode() {
|
|
await this.page.waitForSelector(slct(DialogEntryDescriptionQa.EditButton));
|
|
}
|
|
|
|
async isEditMode() {
|
|
await this.page.waitForSelector(slct(DialogEntryDescriptionQa.SaveButton));
|
|
}
|
|
|
|
private async clickDescription() {
|
|
await this.page.click(slct(COMMON_SELECTORS.ACTION_PANEL_DESCRIPTION_BTN));
|
|
}
|
|
|
|
private async opened() {
|
|
await this.page.waitForSelector(slct(DialogEntryDescriptionQa.Root));
|
|
}
|
|
|
|
private async closed() {
|
|
await waitForCondition(async () => {
|
|
const elements = await this.page.$$(slct(DialogEntryDescriptionQa.Root));
|
|
return elements.length === 0;
|
|
});
|
|
}
|
|
}
|