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

34 lines
1.1 KiB

import BasePage from '../../Base';
import { expect } from '@playwright/test';
import { DataSourcePage } from './DataSourcePage';
export class AclPage extends BasePage {
readonly dataSources: DataSourcePage;
constructor(dataSources: DataSourcePage) {
super(dataSources.rootPage);
this.dataSources = dataSources;
}
get() {
return this.dataSources.getDsDetailsModal();
}
async toggle({ table, role }: { table: string; role: string }) {
await this.get().locator(`.nc-acl-${table}-${role}-chkbox`).click();
}
async verify({ table, role, expectedValue }: { table: string; role: string; expectedValue: boolean }) {
const isChecked = await this.get().locator(`.nc-acl-${table}-${role}-chkbox`).isChecked();
expect(isChecked).toBe(expectedValue);
}
async save() {
await this.waitForResponse({
uiAction: async () => await this.get().locator(`button:has-text("Save")`).click(),
httpMethodsToMatch: ['POST'],
requestUrlPathToMatch: '/visibility-rules',
});
await this.verifyToast({ message: 'Updated UI ACL for tables successfully' });
}
}