mirror of https://github.com/nocodb/nocodb
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.
41 lines
1.2 KiB
41 lines
1.2 KiB
import { expect } from '@playwright/test'; |
|
import BasePage from '../Base'; |
|
import { AccountPage } from './index'; |
|
|
|
export class AccountSettingsPage extends BasePage { |
|
private accountPage: AccountPage; |
|
|
|
constructor(accountPage: AccountPage) { |
|
super(accountPage.rootPage); |
|
this.accountPage = accountPage; |
|
} |
|
|
|
async goto() { |
|
await this.rootPage.goto('/#/account/users/settings', { waitUntil: 'networkidle' }); |
|
} |
|
|
|
async waitUntilContentLoads() { |
|
return this.rootPage.waitForResponse(resp => resp.url().includes('api/v1/app-settings') && resp.status() === 200); |
|
} |
|
|
|
get() { |
|
return this.accountPage.get().locator(`[data-testid="nc-app-settings"]`); |
|
} |
|
|
|
getInviteOnlyCheckbox() { |
|
return this.get().locator(`.nc-invite-only-signup-checkbox`); |
|
} |
|
|
|
async getInviteOnlyCheckboxValue() { |
|
return this.get().locator(`.nc-invite-only-signup-checkbox`).isChecked(); |
|
} |
|
|
|
async checkInviteOnlySignupCheckbox(value: boolean) { |
|
return expect(await this.getInviteOnlyCheckboxValue()).toBe(value); |
|
} |
|
|
|
async toggleInviteOnlyCheckbox() { |
|
await this.getInviteOnlyCheckbox().click(); |
|
await this.verifyToast({ message: 'Settings saved successfully' }); |
|
} |
|
}
|
|
|