UNPKG

@umbraco/playwright-testhelpers

Version:

Test helpers for making playwright tests for Umbraco solutions

136 lines 5.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MemberUiHelper = void 0; const UiBaseLocators_1 = require("./UiBaseLocators"); const ConstantHelper_1 = require("./ConstantHelper"); class MemberUiHelper extends UiBaseLocators_1.UiBaseLocators { membersTab; searchTxt; memberNameTxt; commentsTxt; detailsTab; usernameTxt; emailTxt; passwordTxt; confirmNewPasswordTxt; approvedToggle; lockedOutToggle; twoFactorAuthenticationToggle; memberInfoItems; changePasswordBtn; membersMenu; infoTab; membersCreateBtn; membersSidebar; membersSidebarBtn; memberTableCollectionRow; constructor(page) { super(page); this.membersTab = page.locator('uui-tab[label="Members"]'); this.searchTxt = page.locator('#input-search'); this.memberNameTxt = page.locator('#name-input #input'); this.commentsTxt = page.locator('umb-content-workspace-view-edit-tab').locator('umb-property').filter({ hasText: 'Comments' }).locator('#textarea'); this.detailsTab = page.locator('uui-tab').filter({ hasText: 'Details' }).locator('svg'); this.usernameTxt = page.getByLabel('Username', { exact: true }); this.emailTxt = page.getByLabel('Email', { exact: true }); this.passwordTxt = page.getByLabel('Enter your new password', { exact: true }); this.confirmNewPasswordTxt = page.getByLabel('Confirm new password', { exact: true }); this.approvedToggle = page.locator('[label="Approved"] #toggle'); this.lockedOutToggle = page.locator('[label="Locked out"] #toggle'); this.twoFactorAuthenticationToggle = page.locator('[label="Two-Factor authentication"] #toggle'); this.memberInfoItems = page.locator('umb-stack > div'); this.changePasswordBtn = page.getByLabel('Change password', { exact: true }); this.membersMenu = page.locator('umb-menu').getByLabel('Members', { exact: true }); this.infoTab = page.locator('uui-tab').filter({ hasText: 'Info' }).locator('svg'); this.membersCreateBtn = page.locator('umb-create-member-collection-action').getByLabel('Create', { exact: true }); this.membersSidebar = page.getByTestId('section-sidebar:Umb.SectionSidebarApp.Menu.MemberManagement'); this.membersSidebarBtn = this.membersSidebar.locator('uui-menu-item').filter({ hasText: 'Members' }); this.memberTableCollectionRow = page.locator('umb-member-table-collection-view').locator('uui-table-row'); } async clickMembersTab() { await this.membersTab.click(); } async clickDetailsTab() { await this.click(this.detailsTab); } async clickMemberLinkByName(memberName) { await this.page.getByRole('link', { name: memberName }).click(); } async isMemberWithNameVisible(memberName, isVisible = true) { await this.isVisible(this.memberTableCollectionRow.getByText(memberName, { exact: true }), isVisible); } async clickMembersSidebarButton() { await this.click(this.membersSidebarBtn); } async enterSearchKeyword(keyword) { await this.enterText(this.searchTxt, keyword); } async enterMemberName(name) { await this.enterText(this.memberNameTxt, name); } async enterComments(comment) { await this.enterText(this.commentsTxt, comment); } async enterUsername(username) { await this.enterText(this.usernameTxt, username); } async enterEmail(email) { await this.enterText(this.emailTxt, email); } async enterPassword(password) { await this.enterText(this.passwordTxt, password); } async enterConfirmPassword(password) { await this.enterText(this.confirmPasswordTxt, password); } async enterConfirmNewPassword(password) { await this.enterText(this.confirmNewPasswordTxt, password); } async chooseMemberGroup(memberGroupName) { await this.clickChooseButton(); await this.page.getByText(memberGroupName, { exact: true }).click(); await this.clickChooseContainerButton(); } async doesMemberInfoHaveValue(infoName, value) { return await this.hasText(this.memberInfoItems.filter({ hasText: infoName }).locator('span'), value); } async clickApprovedToggle() { await this.approvedToggle.click(); } async clickLockedOutToggle() { await this.lockedOutToggle.click(); } async clickTwoFactorAuthenticationToggle() { await this.twoFactorAuthenticationToggle.click(); } async clickChangePasswordButton() { await this.changePasswordBtn.click(); } async clickRemoveMemberGroupByName(memberGroupName) { await this.page.locator('[name="' + memberGroupName + '"]').getByLabel('Remove').click(); } async enterNewPassword(password) { await this.enterText(this.newPasswordTxt, password); } async clickMembersMenu() { await this.membersMenu.click(); } async waitForMemberToBeCreated() { await this.waitForNetworkToBeIdle(); } async waitForMemberToBeDeleted() { await this.waitForNetworkToBeIdle(); } async goToMembers() { await this.goToSection(ConstantHelper_1.ConstantHelper.sections.members); await this.clickMembersMenu(); } async clickInfoTab() { await this.click(this.infoTab); } async clickCreateMembersButton() { await this.click(this.membersCreateBtn); } } exports.MemberUiHelper = MemberUiHelper; //# sourceMappingURL=MemberUiHelper.js.map