UNPKG

@umbraco/playwright-testhelpers

Version:

Test helpers for making playwright tests for Umbraco solutions

82 lines 3.78 kB
"use strict"; 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