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.1 KiB
41 lines
1.1 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() { |
|
return this.waitForResponse({ |
|
uiAction: async () => await this.rootPage.goto('/#/account/users/settings'), |
|
httpMethodsToMatch: ['GET'], |
|
requestUrlPathToMatch: `api/v1/app-settings`, |
|
}); |
|
} |
|
|
|
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' }); |
|
} |
|
}
|
|
|