多维表格
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.
 
 
 
 
 
 

63 lines
1.7 KiB

import { expect } from "@playwright/test";
import BasePage from "../../../Base";
import { ToolbarPage } from "./index";
export class ToolbarFieldsPage extends BasePage {
readonly toolbar: ToolbarPage;
constructor(toolbar: ToolbarPage) {
super(toolbar.rootPage);
this.toolbar = toolbar;
}
get() {
return this.rootPage.locator(`[pw-data="nc-fields-menu"]`);
}
async toggle({ title }: { title: string }) {
await this.toolbar.clickFields();
await this.get()
.locator(`[pw-data="nc-fields-menu-${title}"]`)
.locator('input[type="checkbox"]')
.click();
await this.toolbar.clickFields();
}
async verify({ title, checked }: { title: string, checked: boolean }) {
const checkbox = this.get()
.locator(`[pw-data="nc-fields-menu-${title}"]`)
.locator('input[type="checkbox"]');
if (checked) {
await expect(checkbox).toBeChecked();
} else {
await expect(checkbox).not.toBeChecked();
}
}
async click({ title }: { title: string }) {
await this.get()
.locator(`[pw-data="nc-fields-menu-${title}"]`)
.locator('input[type="checkbox"]')
.click();
await this.toolbar.parent.waitLoading();
}
async hideAll() {
await this.toolbar.clickFields();
await this.get().locator(`button:has-text("Hide all")`).click();
await this.toolbar.clickFields();
}
async showAll() {
await this.toolbar.clickFields();
await this.get().locator(`button:has-text("Show all")`).click();
await this.toolbar.clickFields();
}
async toggleShowSystemFields() {
await this.toolbar.clickFields();
await this.get().locator(`.nc-fields-show-system-fields`).click();
await this.toolbar.clickFields();
}
}