mirror of
https://github.com/penpot/penpotqa.git
synced 2024-08-04 09:28:54 +00:00
66 lines
1.7 KiB
JavaScript
66 lines
1.7 KiB
JavaScript
const { expect } = require("@playwright/test");
|
|
const { getPlatformName } = require("../helpers/string-generator");
|
|
|
|
exports.BasePage = class BasePage {
|
|
/**
|
|
* @param {import('@playwright/test').Page} page
|
|
*/
|
|
constructor(page) {
|
|
this.page = page;
|
|
this.header = page.locator('div[class^="main_ui_dashboard"] h1');
|
|
this.successMessage = page.locator('div[class="banner success fixed"]');
|
|
this.infoMessage = page.locator('div[class="banner info fixed"]');
|
|
}
|
|
|
|
async clearInput(input) {
|
|
await input.click();
|
|
if (getPlatformName() === "MacOS") {
|
|
await this.page.keyboard.press("Meta+A");
|
|
} else {
|
|
await this.page.keyboard.press("Control+A");
|
|
}
|
|
await this.page.keyboard.press("Delete");
|
|
}
|
|
|
|
async clickShortcutCtrlZ(browserName) {
|
|
if (getPlatformName() === "MacOS") {
|
|
await this.page.keyboard.press("Meta+Z");
|
|
} else {
|
|
if (browserName !== "webkit") {
|
|
await this.page.keyboard.press("Control+Z");
|
|
} else {
|
|
await this.page.keyboard.press("Meta+Z");
|
|
}
|
|
}
|
|
}
|
|
|
|
async reloadPage() {
|
|
await this.page.reload();
|
|
}
|
|
|
|
async clickOnEnter() {
|
|
await this.page.keyboard.press("Enter");
|
|
}
|
|
|
|
async isHeaderDisplayed(title) {
|
|
await expect(this.header).toBeVisible();
|
|
await expect(this.header).toHaveText(title);
|
|
}
|
|
|
|
async isSuccessMessageDisplayed(message) {
|
|
await expect(this.successMessage).toHaveText(message);
|
|
}
|
|
|
|
async waitSuccessMessageHidden() {
|
|
await this.successMessage.waitFor({ state: "hidden" });
|
|
}
|
|
|
|
async isInfoMessageDisplayed(message) {
|
|
await expect(this.infoMessage).toHaveText(message);
|
|
}
|
|
|
|
async waitInfoMessageHidden() {
|
|
await this.infoMessage.waitFor({ state: "hidden" });
|
|
}
|
|
};
|