UNPKG

@umbraco/playwright-testhelpers

Version:

Test helpers for making playwright tests for Umbraco solutions

88 lines 4.55 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 removeFallbackLanguageByIsoCode(isoCode) { const languageLocator = this.page.locator(`umb-entity-item-ref[id="${isoCode}"]`); await this.hoverAndClick(languageLocator, languageLocator.getByLabel('Remove')); await this.click(this.confirmToRemoveBtn); } async chooseLanguageByName(name) { await this.click(this.languageDropdown); await this.click(this.page.locator('umb-input-culture-select').getByText(name, { exact: true })); } async clickLanguageByName(name) { await this.click(this.languageTable.getByText(name, { exact: true })); } async isLanguageNameVisible(name, isVisible = true) { return await this.isVisible(this.languageTable.getByText(name, { exact: true }), isVisible); } async switchDefaultLanguageOption() { await this.click(this.defaultLanguageToggle); } async switchMandatoryLanguageOption() { await this.click(this.mandatoryLanguageToggle); } async clickAddFallbackLanguageButton() { await this.click(this.addFallbackLanguageBtn); } async clickRemoveLanguageByName(name) { await this.click(this.page.locator('uui-table-row').filter({ has: this.page.getByText(name, { exact: true }) }).locator(this.deleteLanguageEntityAction), { force: true }); } async removeLanguageByName(name) { await this.clickRemoveLanguageByName(name); await this.clickConfirmToDeleteButton(); } async removeLanguageByNameAndWaitForLanguageToBeDeleted(name) { await this.clickRemoveLanguageByName(name); return await this.clickConfirmToDeleteButtonAndWaitForLanguageToBeDeleted(); } async selectFallbackLanguageByName(name) { await this.click(this.page.locator('umb-language-picker-modal').getByLabel(name)); await this.clickSubmitButton(); } async clickSaveButtonAndWaitForLanguageToBeCreated() { return await this.waitForResponseAfterExecutingPromise(ConstantHelper_1.ConstantHelper.apiEndpoints.language, this.clickSaveButton(), ConstantHelper_1.ConstantHelper.statusCodes.created); } async clickSaveButtonAndWaitForLanguageToBeUpdated() { return await this.waitForResponseAfterExecutingPromise(ConstantHelper_1.ConstantHelper.apiEndpoints.language, this.clickSaveButton(), ConstantHelper_1.ConstantHelper.statusCodes.ok); } async clickConfirmToDeleteButtonAndWaitForLanguageToBeDeleted() { return await this.waitForResponseAfterExecutingPromise(ConstantHelper_1.ConstantHelper.apiEndpoints.language, this.clickConfirmToDeleteButton(), ConstantHelper_1.ConstantHelper.statusCodes.ok); } } exports.LanguageUiHelper = LanguageUiHelper; //# sourceMappingURL=LanguageUiHelper.js.map