@umbraco/playwright-testhelpers
Version:
Test helpers for making playwright tests for Umbraco solutions
82 lines • 3.78 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.LanguageUiHelper = void 0;
const test_1 = require("@playwright/test");
const UiBaseLocators_1 = require("./UiBaseLocators");
const ConstantHelper_1 = require("./ConstantHelper");
class LanguageUiHelper extends UiBaseLocators_1.UiBaseLocators {
languagesMenu;
languageDropdown;
defaultLanguageToggle;
mandatoryLanguageToggle;
addFallbackLanguageBtn;
languageTable;
deleteLanguageEntityAction;
languageCreateBtn;
constructor(page) {
super(page);
this.languagesMenu = page.locator('umb-menu').getByLabel('Languages');
this.languageDropdown = page.locator('umb-input-culture-select #expand-symbol-wrapper');
this.defaultLanguageToggle = page.locator('uui-toggle').filter({ hasText: /Default language/ }).locator('#toggle');
this.mandatoryLanguageToggle = page.locator('uui-toggle').filter({ hasText: /Mandatory language/ }).locator('#toggle');
this.addFallbackLanguageBtn = page.locator('#add-button');
this.languageTable = page.locator('umb-language-table-collection-view');
this.deleteLanguageEntityAction = page.getByTestId('entity-action:Umb.EntityAction.Language.Delete');
this.languageCreateBtn = page.getByTestId('collection-action:Umb.CollectionAction.Language.Create');
}
async clickLanguageCreateButton() {
await (0, test_1.expect)(this.languageCreateBtn).toBeVisible();
await this.languageCreateBtn.click();
}
async clickLanguagesMenu() {
await (0, test_1.expect)(this.languagesMenu).toBeVisible();
await this.languagesMenu.click();
}
async goToLanguages() {
await this.goToSection(ConstantHelper_1.ConstantHelper.sections.settings);
await this.clickLanguagesMenu();
}
async waitForLanguageToBeCreated() {
await this.waitForNetworkToBeIdle();
}
async waitForLanguageToBeDeleted() {
await this.waitForNetworkToBeIdle();
}
async removeFallbackLanguageByIsoCode(isoCode) {
await this.page.locator('umb-entity-item-ref[id="' + isoCode + '"]').hover();
await this.page.locator('umb-entity-item-ref[id="' + isoCode + '"]').getByLabel('Remove').click();
await this.confirmToRemoveBtn.click();
}
async chooseLanguageByName(name) {
await this.languageDropdown.click();
await this.page.locator('umb-input-culture-select').getByText(name, { exact: true }).click();
}
async clickLanguageByName(name) {
await this.languageTable.getByText(name, { exact: true }).click();
}
async isLanguageNameVisible(name, isVisible = true) {
return await (0, test_1.expect)(this.languageTable.getByText(name, { exact: true })).toBeVisible({ visible: isVisible });
}
async switchDefaultLanguageOption() {
await this.defaultLanguageToggle.click();
}
async switchMandatoryLanguageOption() {
await this.mandatoryLanguageToggle.click();
}
async clickAddFallbackLanguageButton() {
await this.addFallbackLanguageBtn.click();
}
async clickRemoveLanguageByName(name) {
await this.page.locator('uui-table-row').filter({ has: this.page.getByText(name, { exact: true }) }).locator(this.deleteLanguageEntityAction).click({ force: true });
}
async removeLanguageByName(name) {
await this.clickRemoveLanguageByName(name);
await this.clickConfirmToDeleteButton();
}
async selectFallbackLanguageByName(name) {
await this.page.locator('umb-language-picker-modal').getByLabel(name).click();
await this.clickSubmitButton();
}
}
exports.LanguageUiHelper = LanguageUiHelper;
//# sourceMappingURL=LanguageUiHelper.js.map
;