多维表格
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.8 KiB

import { ColumnPageObject } from '.';
import BasePage from '../../../Base';
import { expect } from '@playwright/test';
export class UserOptionColumnPageObject extends BasePage {
readonly column: ColumnPageObject;
constructor(column: ColumnPageObject) {
super(column.rootPage);
this.column = column;
}
get() {
return this.column.get();
}
async allowMultipleUser({ columnTitle, allowMultiple = false }: { columnTitle: string; allowMultiple?: boolean }) {
await this.column.openEdit({ title: columnTitle });
const checkbox = this.get().locator('[data-testid="user-column-allow-multiple"]');
const isChecked = await checkbox.isChecked();
if ((isChecked && !allowMultiple) || (!isChecked && allowMultiple)) {
await checkbox.click();
}
await this.rootPage.waitForTimeout(5000);
await this.column.save({ isUpdated: true });
}
async verifyDefaultValueOptions({ columnTitle, totalCount }: { columnTitle: string; totalCount: number }) {
await this.column.openEdit({ title: columnTitle });
await this.column.get().locator('.nc-cell-user').click();
const userDropdown = this.get().locator(`[data-testid="select-option-${columnTitle}-undefined"]`);
await userDropdown.waitFor({ state: 'visible' });
console.log('userDropdown::::', userDropdown);
await expect(userDropdown).toHaveCount(totalCount);
await this.column.get().locator('.nc-cell-user').click();
// Press `Escape` to close the dropdown
await this.rootPage.keyboard.press('Escape');
await this.get().waitFor({ state: 'hidden' });
}
async clearDefaultValueOptions({ columnTitle }: { columnTitle: string }) {
await this.column.openEdit({ title: columnTitle });
await this.column.get().locator('.nc-cell-user + svg').click();
}
}