UNPKG

@umbraco/playwright-testhelpers

Version:

Test helpers for making playwright tests for Umbraco solutions

81 lines 3.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LanguageUiHelper = void 0; const UiBaseLocators_1 = require("./UiBaseLocators"); const ConstantHelper_1 = require("./ConstantHelper"); class LanguageUiHelper extends UiBaseLocators_1.UiBaseLocators { languagesMenu; languageDropdown; defaultLanguageToggle; mandatoryLanguageToggle; addFallbackLanguageBtn; languageTable; deleteLanguageEntityAction; languageCreateBtn; settingsSidebar; constructor(page) { super(page); this.settingsSidebar = page.getByTestId('section-sidebar:Umb.SectionSidebarMenu.Settings'); this.languagesMenu = this.settingsSidebar.getByRole('link', { name: '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 this.click(this.languageCreateBtn); } async clickLanguagesMenu() { await this.click(this.languagesMenu); } 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 this.isVisible(this.languageTable.getByText(name, { exact: true }), 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