|
|
|
import BasePage from '../Base';
|
|
|
|
import { AccountPage } from './index';
|
|
|
|
|
|
|
|
export class AccountLicensePage 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/license'),
|
|
|
|
httpMethodsToMatch: ['GET'],
|
|
|
|
requestUrlPathToMatch: `api/v1/license`,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
async waitUntilContentLoads() {
|
|
|
|
return this.rootPage.waitForResponse(resp => resp.url().includes('api/v1/license') && resp.status() === 200);
|
|
|
|
}
|
|
|
|
|
|
|
|
// License TextBox
|
|
|
|
get() {
|
|
|
|
return this.accountPage.get().locator(`textarea[placeholder="License key"]`);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Save button
|
|
|
|
getSaveButton() {
|
|
|
|
return this.accountPage.get().locator(`button.ant-btn-primary:has-text("Save license key")`);
|
|
|
|
}
|
|
|
|
|
|
|
|
async saveLicenseKey(licenseKey: string) {
|
|
|
|
// Kludge: fix me!
|
|
|
|
// await this.get().waitFor({ state: 'visible' });
|
|
|
|
await this.rootPage.waitForTimeout(1000);
|
|
|
|
|
|
|
|
await this.get().fill(licenseKey);
|
|
|
|
await this.getSaveButton().click();
|
|
|
|
await this.verifyToast({ message: 'License key updated' });
|
|
|
|
}
|
|
|
|
}
|