72 lines
2.0 KiB
TypeScript
72 lines
2.0 KiB
TypeScript
import {Page} from '@playwright/test';
|
|
import {DialogParameterQA} from '../../../src/shared/constants';
|
|
|
|
import {slct, waitForCondition} from '../../utils';
|
|
|
|
export enum DialogParameterDataTypes {
|
|
String = 'string',
|
|
Date = 'date',
|
|
Datetime = 'datetime',
|
|
Float = 'float',
|
|
Boolean = 'boolean',
|
|
Int = 'integer',
|
|
}
|
|
|
|
export default class DialogParameter {
|
|
protected page: Page;
|
|
|
|
constructor(page: Page) {
|
|
this.page = page;
|
|
}
|
|
|
|
async waitForDialogParameter() {
|
|
return await waitForCondition(async () => {
|
|
return this.page.$(slct(DialogParameterQA.Dialog));
|
|
});
|
|
}
|
|
|
|
async getNameInput() {
|
|
const nameInput = this.page.locator(`${slct(DialogParameterQA.NameInput)} input`);
|
|
return nameInput;
|
|
}
|
|
|
|
async getDefaultValueInput() {
|
|
const defaultValueInput = this.page.locator(
|
|
`${slct(DialogParameterQA.DefaultValueInput)} input`,
|
|
);
|
|
return defaultValueInput;
|
|
}
|
|
|
|
async getApplyButton() {
|
|
const applyButton = this.page.locator(slct(DialogParameterQA.Apply));
|
|
return applyButton;
|
|
}
|
|
|
|
async setName(name: string) {
|
|
await this.waitForDialogParameter();
|
|
await this.page.fill(`${slct(DialogParameterQA.NameInput)} input`, name);
|
|
}
|
|
|
|
async setDefaultValue(value: string) {
|
|
await this.waitForDialogParameter();
|
|
await this.page.fill(`${slct(DialogParameterQA.DefaultValueInput)} input`, value);
|
|
}
|
|
|
|
async setDefaultValueBoolean(value: 'true' | 'false') {
|
|
await this.waitForDialogParameter();
|
|
await this.page.click(
|
|
`${slct(DialogParameterQA.DefaultValueRadioGroup)} input[value="${value}"]`,
|
|
);
|
|
}
|
|
|
|
async selectType(type: DialogParameterDataTypes) {
|
|
await this.waitForDialogParameter();
|
|
await this.page.click(slct(DialogParameterQA.TypeSelector));
|
|
await this.page.click(slct(`dialog-parameter-${type}`));
|
|
}
|
|
|
|
async apply() {
|
|
await this.page.click(slct(DialogParameterQA.Apply));
|
|
}
|
|
}
|