@digital-ai/devops-page-object-release 0.0.0-snapshot-20251117085354 → 0.0.0-snapshot-20251122175005

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/module.js CHANGED
@@ -4979,6 +4979,55 @@ class $112122b844be02a3$export$e2613a7eee3a1b1b extends (0, $9626bc9256ce31f7$ex
4979
4979
  });
4980
4980
  await tag.locator(".close-icon").click();
4981
4981
  }
4982
+ async expectPermissionReadOnly(permission, team, readOnly) {
4983
+ const rowLocator = this.page.locator(`table tr:has-text("${permission}")`);
4984
+ const tagLocator = rowLocator.locator(`.tag-label:has-text("${team}")`);
4985
+ if (readOnly) await (0, $hOLA6$expect)(tagLocator).toBeVisible();
4986
+ else {
4987
+ const closeIconLocator = tagLocator.locator('xpath=following-sibling::*[contains(@class, "tag-close")]');
4988
+ await (0, $hOLA6$expect)(closeIconLocator).toBeVisible();
4989
+ }
4990
+ }
4991
+ async expectTeamsNotToExist(teams, readOnly) {
4992
+ for (const team of teams){
4993
+ //const teamRow = this.page.locator(`table:first-of-type tr:has(td:has-text("${team}"))`);
4994
+ const teamRow = this.page.locator(`tr:has-text("${team}")`);
4995
+ if (readOnly) // Verify read-only team does NOT have a delete button
4996
+ await (0, $hOLA6$expect)(teamRow.locator('.action-label:has-text("Delete")')).toHaveCount(0);
4997
+ else // For editable teams, make sure delete button exists
4998
+ await (0, $hOLA6$expect)(teamRow.locator('.action-label:has-text("Delete")')).toHaveCount(1);
4999
+ }
5000
+ }
5001
+ async expectInheritTeamsDisabled() {
5002
+ const inheritCheckbox = this.page.locator(".inherit-checkbox input");
5003
+ await (0, $hOLA6$expect)(inheritCheckbox).toBeVisible();
5004
+ await (0, $hOLA6$expect)(inheritCheckbox).toBeDisabled();
5005
+ }
5006
+ async expectNewTeamButtonDisabled() {
5007
+ const addTeamButton = this.page.locator(".button-add-team");
5008
+ await (0, $hOLA6$expect)(addTeamButton).toBeDisabled();
5009
+ }
5010
+ async expectRemoveTeamButtonNotToExist() {
5011
+ await (0, $hOLA6$expect)(this.page.locator("#teams-permissions-table table tr .action-label")).toHaveCount(0);
5012
+ return this;
5013
+ }
5014
+ async expectSaveButtonDisabled() {
5015
+ const saveButton = this.page.getByRole("button", {
5016
+ name: "Save"
5017
+ });
5018
+ await (0, $hOLA6$expect)(saveButton).toBeVisible();
5019
+ await (0, $hOLA6$expect)(saveButton).toBeDisabled();
5020
+ return this;
5021
+ }
5022
+ async expectTeamsReadOnly(teams, readOnly) {
5023
+ for (const team of teams){
5024
+ const teamRow = this.page.locator("table").first().locator("tr", {
5025
+ hasText: team
5026
+ });
5027
+ await (0, $hOLA6$expect)(teamRow.locator(".tag-label + .tag-close")).toHaveCount(readOnly ? 0 : 1);
5028
+ }
5029
+ return this;
5030
+ }
4982
5031
  async expectPermissionNotToExist(permission, team) {
4983
5032
  const row = this.page.locator("table tr", {
4984
5033
  hasText: permission
@@ -5092,6 +5141,19 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
5092
5141
  await this.util.openSideNavMenu("Teams & permissions");
5093
5142
  await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Teams & permissions")).toBeVisible();
5094
5143
  }
5144
+ async clickOnFolderRowAction(folderName, actionLabel) {
5145
+ const folderRow = this.page.locator(`.folder-list-row-wrapper:has-text("${folderName}")`);
5146
+ await folderRow.hover();
5147
+ const optionsWrapper = folderRow.locator(".folder-options-wrapper");
5148
+ const actionLink = optionsWrapper.locator(`.flatten-links a:has-text("${actionLabel}")`);
5149
+ await actionLink.click();
5150
+ }
5151
+ async createNewFolderFromRowAction(folderName, subFolderName) {
5152
+ await this.clickOnFolderRowAction(folderName, "Add folder");
5153
+ const modal = this.page.locator(".xl-react-modal-content");
5154
+ await modal.locator("input").fill(subFolderName);
5155
+ await modal.locator(".button.primary").click();
5156
+ }
5095
5157
  async expectReleaseGroupisDisplayed(title) {
5096
5158
  //await this.page.locator(`.fc-list-item-title-wrapper .fc-list-item-title strong:text-is('${title}`).isVisible()
5097
5159
  await this.page.waitForSelector(`.fc-list-item-title-wrapper .fc-list-item-title strong:text-is('${title}')`);
@@ -9150,6 +9212,19 @@ class $e72552cbf941ecfa$export$b8a61e5c71402559 {
9150
9212
  await this.page.waitForSelector("#releases-content");
9151
9213
  return new (0, $50c91328c9110668$export$b453f08936c58edb)(this.page);
9152
9214
  }
9215
+ async openFolderByName(folderName) {
9216
+ const folder = this.page.getByTitle(folderName);
9217
+ await (0, $hOLA6$expect)(folder).toBeVisible({
9218
+ timeout: 5000
9219
+ });
9220
+ await folder.click();
9221
+ await (0, $hOLA6$expect)(this.page.locator(".MuiBreadcrumbs-li").getByRole("link", {
9222
+ name: folderName
9223
+ })).toBeVisible({
9224
+ timeout: 5000
9225
+ });
9226
+ return this;
9227
+ }
9153
9228
  async openProfilePage() {
9154
9229
  await this.page.goto(`./#/profile`);
9155
9230
  return new (0, $a5932af323ac015a$export$3cf9c90f870f31bd)(this.page);