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

import BasePage from '../Base';
import { OrgAdminPage } from './index';
export class Domain extends BasePage {
readonly orgAdminPage: OrgAdminPage;
constructor(orgAdminPage: OrgAdminPage) {
super(orgAdminPage.rootPage);
this.orgAdminPage = orgAdminPage;
}
get() {
return this.rootPage.locator('[data-test-id="nc-org-domain"]');
}
async addDomain(domainName: string) {
await this.get().locator('[data-test-id="nc-org-domain-add"]').click();
await this.rootPage.locator('[data-test-id="nc-org-domain-name"]').fill(domainName);
await this.waitForResponse({
uiAction: () => this.rootPage.locator('[data-test-id="nc-org-domain-submit"]').click(),
httpMethodsToMatch: ['PATCH', 'POST'],
requestUrlPathToMatch: /api\/v2\/domains\/\w+/,
});
}
async openOptionMenu(domainName: string) {
await this.rootPage
.locator(`[data-test-id="nc-domain-${domainName}"]`)
.locator('[data-test-id="nc-domain-more-option"]')
.click();
}
async verifyDomain(domainName: string) {
await this.openOptionMenu(domainName);
await this.waitForResponse({
uiAction: () => this.rootPage.locator('[data-test-id="nc-domain-verify"]').click(),
httpMethodsToMatch: ['POST'],
requestUrlPathToMatch: `/api/v2/org-domain/${domainName}`,
});
}
async deleteDomain(domainName: string) {
await this.openOptionMenu(domainName);
await this.waitForResponse({
uiAction: () => this.rootPage.locator('[data-test-id="nc-domain-delete"]').click(),
httpMethodsToMatch: ['DELETE'],
requestUrlPathToMatch: `/api/v2/org-domain/${domainName}`,
});
}
}