@digital-ai/devops-page-object-release 0.0.0-snapshot-20251029210730 → 0.0.0-snapshot-20251030051145

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
@@ -122,52 +122,18 @@ class $05d91a1d3381a287$export$34addcca3f0ae43f extends (0, $9626bc9256ce31f7$ex
122
122
 
123
123
 
124
124
 
125
-
126
- class $59c1d01bded91449$export$48c33d2414f51608 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
125
+ class $b34a21212642e54d$export$7034f81075184002 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
127
126
  constructor(page){
128
127
  super(page);
129
128
  }
130
129
  getHeaderSelector() {
131
- return ".filter-title-search";
130
+ return ".release-list-header";
132
131
  }
133
132
  getBaseDrawerSelector() {
134
- return '.filter-drawer div[role="dialog"]';
135
- }
136
- getTitleInputSelector() {
137
- return `${this.getHeaderSelector()} input#title-filter`;
133
+ return `${this.getHeaderSelector()} .filter-drawer`;
138
134
  }
139
- async openFilterDrawer() {
140
- await this.page.locator(`${this.getHeaderSelector()} button`, {
141
- hasText: "Filters"
142
- }).click();
143
- await (0, $hOLA6$expect)(this.page.locator(this.getBaseDrawerSelector())).toBeVisible();
144
- return this;
145
- }
146
- async closeFilterDrawer() {
147
- await this.page.locator(`${this.getBaseDrawerSelector()} .dot-icon-btn[data-testid="close-btn"]`).click();
148
- await (0, $hOLA6$expect)(this.page.locator(this.getBaseDrawerSelector())).not.toBeVisible();
149
- return this;
150
- }
151
- async clearTitleFilter() {
152
- await this.page.locator(this.getTitleInputSelector()).fill("");
153
- return this;
154
- }
155
- async clearAllFilters() {
156
- await this.page.locator(`${this.getHeaderSelector()} .filter-row button[data-testid="clear-all-btn"]`).click();
157
- return this;
158
- }
159
- async filterByTitle(releaseTitle) {
160
- await this.page.locator(this.getTitleInputSelector()).fill(releaseTitle);
161
- }
162
- async clearFilterTitle() {
163
- await this.page.locator(this.getTitleInputSelector()).clear();
164
- }
165
- }
166
-
167
-
168
- class $b34a21212642e54d$export$7034f81075184002 extends (0, $59c1d01bded91449$export$48c33d2414f51608) {
169
- constructor(page){
170
- super(page);
135
+ getFilterDrawerSelector() {
136
+ return `${this.getBaseDrawerSelector()} div[role="dialog"]`;
171
137
  }
172
138
  getStatusInputSelector() {
173
139
  return `${this.getBaseDrawerSelector()} input#release-status-filter-autocomplete`;
@@ -178,6 +144,9 @@ class $b34a21212642e54d$export$7034f81075184002 extends (0, $59c1d01bded91449$ex
178
144
  getSelectAllStatusesButtonSelector() {
179
145
  return `${this.getBasePopperSelector()} button[data-testid="dot-action-item-btn"]`;
180
146
  }
147
+ getTitleInputSelector() {
148
+ return `${this.getHeaderSelector()} input#title-filter`;
149
+ }
181
150
  getRiskLevelInputSelector() {
182
151
  return `${this.getBaseDrawerSelector()} input#risk`;
183
152
  }
@@ -216,7 +185,27 @@ class $b34a21212642e54d$export$7034f81075184002 extends (0, $59c1d01bded91449$ex
216
185
  return this;
217
186
  }
218
187
  async filterReleaseByTitle(releaseTitle) {
219
- await this.filterByTitle(releaseTitle);
188
+ await this.page.locator(this.getTitleInputSelector()).fill(releaseTitle);
189
+ }
190
+ async clearTitleFilter() {
191
+ await this.page.locator(this.getTitleInputSelector()).fill("");
192
+ return this;
193
+ }
194
+ async openFilterDrawer() {
195
+ await this.page.locator(`${this.getHeaderSelector()} button`, {
196
+ hasText: "Filters"
197
+ }).click();
198
+ await (0, $hOLA6$expect)(this.page.locator(this.getFilterDrawerSelector())).toBeVisible();
199
+ return this;
200
+ }
201
+ async closeFilterDrawer() {
202
+ await this.page.locator(`${this.getBaseDrawerSelector()} .dot-icon-btn[data-testid="close-btn"]`).click();
203
+ await (0, $hOLA6$expect)(this.page.locator(this.getFilterDrawerSelector())).not.toBeVisible();
204
+ return this;
205
+ }
206
+ async clearAllFilters() {
207
+ await this.page.locator(`${this.getHeaderSelector()} .filter-row button[data-testid="clear-all-btn"]`).click();
208
+ return this;
220
209
  }
221
210
  async clearAllStatusFilters() {
222
211
  await this.page.locator(this.getStatusInputSelector()).click();
@@ -2209,7 +2198,7 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
2209
2198
  this.taskDrawerLocator = this.page.locator("task-drawer .dot-drawer");
2210
2199
  }
2211
2200
  async waitForTaskDrawer() {
2212
- const handle = await this.page.locator("task-drawer .dot-drawer-paper").elementHandle();
2201
+ const handle = await this.page.locator(".dot-drawer-paper").elementHandle();
2213
2202
  await handle?.waitForElementState("stable");
2214
2203
  }
2215
2204
  async openOverviewRail() {
@@ -3390,6 +3379,19 @@ class $87bbb6d35ad31a00$export$f8f26dd395d7e1bd extends (0, $9626bc9256ce31f7$ex
3390
3379
  }
3391
3380
 
3392
3381
 
3382
+
3383
+
3384
+ class $1161451ccf0a4615$export$46146ef3ab8c339b extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
3385
+ constructor(page){
3386
+ super(page);
3387
+ }
3388
+ // Validate that release status contains the given text
3389
+ async expectReleaseStatusToContain(status) {
3390
+ await (0, $hOLA6$expect)(this.page.locator(".release-status")).toContainText(status);
3391
+ }
3392
+ }
3393
+
3394
+
3393
3395
  class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
3394
3396
  defaultTimeout = 10000;
3395
3397
  constructor(page){
@@ -3397,6 +3399,7 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
3397
3399
  this.addPhaseBtn = this.page.getByTestId("add-phase-btn");
3398
3400
  this.createPage = new (0, $05d91a1d3381a287$export$34addcca3f0ae43f)(page);
3399
3401
  this.ganttPage = new (0, $a546aadb4e6fa16a$export$5a82be0a2a261cc6)(page);
3402
+ this.summaryPage = new (0, $1161451ccf0a4615$export$46146ef3ab8c339b)(page);
3400
3403
  this.tableView = new (0, $19b7e7e46cfe3be0$export$649fde34d823ece7)(page);
3401
3404
  this.taskDrawer = new (0, $8e39246218b802fc$export$e946776eae644790)(page);
3402
3405
  this.teamsPermissions = new (0, $96c6280ff1c47b81$export$3bc3e140e0dcb075)(page);
@@ -3409,6 +3412,10 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
3409
3412
  await this.openSubPage("Triggers");
3410
3413
  return new (0, $862f65268e488e83$export$fb932093f944abe4)(this.page);
3411
3414
  }
3415
+ async openSummary() {
3416
+ this.openSubPage("Dashboard");
3417
+ return new (0, $1161451ccf0a4615$export$46146ef3ab8c339b)(this.page);
3418
+ }
3412
3419
  async abort(comment = "Abort for testing") {
3413
3420
  await this.page.getByTestId("abort-btn").waitFor();
3414
3421
  await this.page.getByTestId("abort-btn").click();
@@ -6828,23 +6835,13 @@ class $f48771b486a3eb8f$var$DeleteVariableModel extends (0, $9626bc9256ce31f7$ex
6828
6835
 
6829
6836
 
6830
6837
 
6831
-
6832
- class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$export$48c33d2414f51608) {
6838
+ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
6833
6839
  constructor(page){
6834
6840
  super(page);
6835
6841
  this.commentBox = this.page.locator(`.input-block-level`);
6836
6842
  this.gridView = new $c37c93912f458e81$var$GridView(page);
6837
6843
  this.taskDrawer = new (0, $8e39246218b802fc$export$e946776eae644790)(page);
6838
6844
  }
6839
- getBasePopperSelector() {
6840
- return '.dot-popper[role="presentation"]';
6841
- }
6842
- getSelectAllStatusesButtonSelector() {
6843
- return `${this.getBasePopperSelector()} button[data-testid="dot-action-item-btn"]`;
6844
- }
6845
- getStatusInputSelector() {
6846
- return `${this.getBaseDrawerSelector()} input#task-status-filter-autocomplete`;
6847
- }
6848
6845
  async openTask(taskName) {
6849
6846
  await this.filterTaskByTitle(taskName);
6850
6847
  await this.page.getByText(taskName).first().click();
@@ -6910,7 +6907,9 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$ex
6910
6907
  await this.taskDrawer.waitForTaskDrawer();
6911
6908
  }
6912
6909
  async filterTaskByTitle(taskname) {
6913
- await this.filterByTitle(taskname);
6910
+ await this.page.locator(".searchFilter").click();
6911
+ await this.page.locator(".searchFilter").fill(taskname);
6912
+ await this.page.locator(".searchFilter").press("Enter");
6914
6913
  await (0, $hOLA6$expect)(this.page.locator("//div[@data-task-title]").filter({
6915
6914
  hasText: taskname
6916
6915
  }).first()).toBeVisible();
@@ -6955,13 +6954,13 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$ex
6955
6954
  await this.page.locator(`.btn-group-filter.btn-group button.btn.btn-flat[title="${title}"]`).click();
6956
6955
  }
6957
6956
  async clickOnAssignedToMe() {
6958
- await this.page.locator(`input[value="assignedToMe"]`).click();
6957
+ await this.page.locator(`button[title="Assigned to me"]`).click();
6959
6958
  }
6960
6959
  async clickOnAssignedToMyTeams() {
6961
- await this.page.locator(`input[value="assignedToMyTeams"]`).click();
6960
+ await this.page.locator(`button[title="Assigned to my teams"]`).click();
6962
6961
  }
6963
6962
  async clickOnAssignedToAllAvailable() {
6964
- await this.page.locator(`input[value="assignedToAnybody"]`).click();
6963
+ await this.page.locator(`button[title="All available"]`).click();
6965
6964
  }
6966
6965
  async expectTaskToNotBeDisplayed(taskTitle) {
6967
6966
  await (0, $hOLA6$expect)(this.page.locator(`.row.task-inner`).filter({
@@ -6991,30 +6990,38 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$ex
6991
6990
  await (0, $hOLA6$expect)(this.page.locator(`#tasks-content #task-list-grouped-view div:has-text('${releaseTitle}') .task`)).toHaveCount(expectedCount);
6992
6991
  }
6993
6992
  async setSearchFilter(filterText) {
6994
- await this.filterByTitle(filterText);
6993
+ await this.page.locator(".searchFilter").fill(filterText);
6995
6994
  }
6996
6995
  async clearSearchFilter() {
6997
- await this.clearFilterTitle();
6996
+ await this.page.locator(".searchFilter").clear();
6998
6997
  }
6999
6998
  async setTagsFilter(filterText) {
7000
- await this.page.locator("input#task-tags").click();
7001
- await this.page.locator("input#task-tags").fill(filterText);
7002
- await this.page.locator("input#task-tags").press("Enter");
6999
+ await this.page.locator(".tag-input").fill(filterText);
7000
+ await this.page.locator(".tag-input").press("Enter");
7003
7001
  }
7004
- async clearAllStatusFilters() {
7005
- await this.page.locator(this.getStatusInputSelector()).click();
7006
- await this.page.locator(`${this.getBaseDrawerSelector()} div.filter-task-status-autocomplete button[title="Clear"]`).click();
7007
- return this;
7002
+ async clickOnStatusField() {
7003
+ await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
7008
7004
  }
7009
7005
  async clickOnStatus(statusNames) {
7010
- await this.clearAllStatusFilters();
7011
- for(let i = 0; i < statusNames.length; i++)await this.page.locator("li", {
7012
- hasText: statusNames[i]
7006
+ await this.clickOnStatusClearAll();
7007
+ await this.clickOnStatusField();
7008
+ for(let i = 0; i < statusNames.length; i++)await this.page.locator(`i.xl-icon.icon-s.checkbox[data='${statusNames[i]}']`).click();
7009
+ // Clicking outside to close the grid dropdown
7010
+ await this.clickOnTasksLabel();
7011
+ }
7012
+ async clickOnStatusClearAll() {
7013
+ await this.clickOnStatusField();
7014
+ await this.page.locator("a.xl-react-link", {
7015
+ hasText: "Clear all"
7013
7016
  }).click();
7017
+ await this.clickOnTasksLabel();
7014
7018
  }
7015
7019
  async clickOnStatusSelectAll() {
7016
- await this.page.locator(this.getStatusInputSelector()).click();
7017
- await this.page.locator(this.getSelectAllStatusesButtonSelector()).click();
7020
+ await this.clickOnStatusField();
7021
+ await this.page.locator("a.xl-react-link", {
7022
+ hasText: "Select all"
7023
+ }).click();
7024
+ await this.clickOnTasksLabel();
7018
7025
  }
7019
7026
  async assignTaskToMe(title) {
7020
7027
  await this.page.locator(`.task-line`).filter({
@@ -7031,22 +7038,35 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$ex
7031
7038
  async expectTaskTitle(taskTitle) {
7032
7039
  await (0, $hOLA6$expect)(this.page.locator("#tasks0")).toContainText(taskTitle);
7033
7040
  }
7041
+ async clickOnTasksLabel() {
7042
+ await this.page.getByLabel("breadcrumb").getByText("Tasks").click();
7043
+ }
7034
7044
  async expectGroupView(expected = true) {
7035
7045
  if (expected) {
7036
- await (0, $hOLA6$expect)(this.page.locator('input[aria-label="Group by release"]')).toBeChecked();
7046
+ await (0, $hOLA6$expect)(this.page.locator("#group-tasks-by-release")).toBeChecked();
7037
7047
  await (0, $hOLA6$expect)(this.page.locator("#task-list-grouped-view")).toBeVisible();
7038
7048
  await (0, $hOLA6$expect)(this.page.locator("#task-ungrouped-view")).not.toBeVisible();
7039
7049
  } else {
7040
- await (0, $hOLA6$expect)(this.page.locator('input[aria-label="Group by release"]')).not.toBeChecked();
7050
+ await (0, $hOLA6$expect)(this.page.locator("#group-tasks-by-release")).not.toBeChecked();
7041
7051
  await (0, $hOLA6$expect)(this.page.locator("#task-list-grouped-view")).not.toBeVisible();
7042
7052
  await (0, $hOLA6$expect)(this.page.locator("#task-ungrouped-view")).toBeVisible();
7043
7053
  }
7044
7054
  }
7045
7055
  async changeGroupView() {
7046
- await this.page.locator('input[aria-label="Group by release"]').click();
7056
+ await this.page.locator("#group-tasks-by-release").click();
7057
+ }
7058
+ async enableGroupByReleaseView() {
7059
+ await this.page.getByRole("checkbox", {
7060
+ name: "Group by release"
7061
+ }).check();
7062
+ }
7063
+ async disableGroupByReleaseView() {
7064
+ await this.page.getByRole("checkbox", {
7065
+ name: "Group by release"
7066
+ }).uncheck();
7047
7067
  }
7048
7068
  async switchToGridView() {
7049
- await this.page.locator('button[aria-label="grid view"]').click();
7069
+ await this.page.locator(".xl-icon.grid-icon").click();
7050
7070
  return this.gridView;
7051
7071
  }
7052
7072
  }