@digital-ai/devops-page-object-release 0.0.0-snapshot-20251121125952 → 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
@@ -322,10 +322,6 @@ class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $b34a21212642e54d$ex
322
322
  }).click();
323
323
  return new (0, $43cbcdfccb6c2a76$export$f43492e8ac3c566)(this.page);
324
324
  }
325
- async expectReleaseFlagged(title, flag) {
326
- const release = this.page.locator(`.release:has-text("${title}").flagged_${flag}`);
327
- await (0, $hOLA6$expect)(release).toHaveCount(1);
328
- }
329
325
  async createNewRelease(releaseName, description) {
330
326
  await this.releaseCreatePage.setName(releaseName);
331
327
  await this.releaseCreatePage.setDescription(description);
@@ -4983,6 +4979,55 @@ class $112122b844be02a3$export$e2613a7eee3a1b1b extends (0, $9626bc9256ce31f7$ex
4983
4979
  });
4984
4980
  await tag.locator(".close-icon").click();
4985
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
+ }
4986
5031
  async expectPermissionNotToExist(permission, team) {
4987
5032
  const row = this.page.locator("table tr", {
4988
5033
  hasText: permission
@@ -5096,6 +5141,19 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
5096
5141
  await this.util.openSideNavMenu("Teams & permissions");
5097
5142
  await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Teams & permissions")).toBeVisible();
5098
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
+ }
5099
5157
  async expectReleaseGroupisDisplayed(title) {
5100
5158
  //await this.page.locator(`.fc-list-item-title-wrapper .fc-list-item-title strong:text-is('${title}`).isVisible()
5101
5159
  await this.page.waitForSelector(`.fc-list-item-title-wrapper .fc-list-item-title strong:text-is('${title}')`);
@@ -9154,6 +9212,19 @@ class $e72552cbf941ecfa$export$b8a61e5c71402559 {
9154
9212
  await this.page.waitForSelector("#releases-content");
9155
9213
  return new (0, $50c91328c9110668$export$b453f08936c58edb)(this.page);
9156
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
+ }
9157
9228
  async openProfilePage() {
9158
9229
  await this.page.goto(`./#/profile`);
9159
9230
  return new (0, $a5932af323ac015a$export$3cf9c90f870f31bd)(this.page);