@digital-ai/devops-page-object-release 0.0.0-snapshot-20251030121554 → 0.0.0-snapshot-20251031105320

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`;
138
- }
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(`.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);
133
+ return `${this.getHeaderSelector()} .filter-drawer`;
161
134
  }
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() {
@@ -2378,10 +2367,10 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
2378
2367
  await (0, $hOLA6$expect)(this.page.locator(".user-task-assigned-wrapper .clickable-avatar")).toBeVisible();
2379
2368
  }
2380
2369
  async removeAssignToUser(userName) {
2381
- await this.taskDrawerLocator.getByRole("button", {
2370
+ await this.page.getByRole("button", {
2382
2371
  name: userName
2383
2372
  }).click();
2384
- await this.taskDrawerLocator.getByRole("button", {
2373
+ await this.page.getByRole("button", {
2385
2374
  name: "Clear"
2386
2375
  }).click();
2387
2376
  return this;
@@ -2398,7 +2387,7 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
2398
2387
  }
2399
2388
  async removeAssignedTeam(teamName) {
2400
2389
  await this.page.locator(".team-task-assigned-wrapper .editable").getByText(teamName).click();
2401
- await this.taskDrawerLocator.getByRole("button", {
2390
+ await this.page.getByRole("button", {
2402
2391
  name: "Clear"
2403
2392
  }).click();
2404
2393
  return this;
@@ -2917,6 +2906,22 @@ class $c9bb587dd92143c3$export$d1077068a9cc9f17 extends (0, $9626bc9256ce31f7$ex
2917
2906
  async expectStartFromReleaseURLToBe(parentReleaseURL) {
2918
2907
  (0, $hOLA6$expect)(await this.page.locator(".started-from-release").getAttribute("href")).toContain(parentReleaseURL);
2919
2908
  }
2909
+ async expectFlaggedWith(flagName, flagComment) {
2910
+ const flagButton = this.page.locator(".flags .dropdown-button");
2911
+ await (0, $hOLA6$expect)(flagButton).toHaveClass(new RegExp(`\\b${flagName}\\b`));
2912
+ const input = this.page.locator(".flags input");
2913
+ await (0, $hOLA6$expect)(input).toBeVisible();
2914
+ await (0, $hOLA6$expect)(input).toHaveValue(flagComment);
2915
+ }
2916
+ async flag(flagName, flagComment) {
2917
+ const flagDropdown = this.page.locator("#release-properties .flags .dropdown-button");
2918
+ await flagDropdown.click();
2919
+ const flagPopover = this.page.locator(".flags .flag-picker-popover");
2920
+ const flagOption = flagPopover.locator(`div.${flagName}`);
2921
+ await flagOption.click();
2922
+ await this.page.getByPlaceholder("Set status text...").click();
2923
+ await this.page.getByPlaceholder("Set status text...").fill(flagComment);
2924
+ }
2920
2925
  }
2921
2926
 
2922
2927
 
@@ -6828,23 +6833,13 @@ class $f48771b486a3eb8f$var$DeleteVariableModel extends (0, $9626bc9256ce31f7$ex
6828
6833
 
6829
6834
 
6830
6835
 
6831
-
6832
- class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$export$48c33d2414f51608) {
6836
+ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
6833
6837
  constructor(page){
6834
6838
  super(page);
6835
6839
  this.commentBox = this.page.locator(`.input-block-level`);
6836
6840
  this.gridView = new $c37c93912f458e81$var$GridView(page);
6837
6841
  this.taskDrawer = new (0, $8e39246218b802fc$export$e946776eae644790)(page);
6838
6842
  }
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
6843
  async openTask(taskName) {
6849
6844
  await this.filterTaskByTitle(taskName);
6850
6845
  await this.page.getByText(taskName).first().click();
@@ -6910,7 +6905,9 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$ex
6910
6905
  await this.taskDrawer.waitForTaskDrawer();
6911
6906
  }
6912
6907
  async filterTaskByTitle(taskname) {
6913
- await this.filterByTitle(taskname);
6908
+ await this.page.locator(".searchFilter").click();
6909
+ await this.page.locator(".searchFilter").fill(taskname);
6910
+ await this.page.locator(".searchFilter").press("Enter");
6914
6911
  await (0, $hOLA6$expect)(this.page.locator("//div[@data-task-title]").filter({
6915
6912
  hasText: taskname
6916
6913
  }).first()).toBeVisible();
@@ -6955,13 +6952,13 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$ex
6955
6952
  await this.page.locator(`.btn-group-filter.btn-group button.btn.btn-flat[title="${title}"]`).click();
6956
6953
  }
6957
6954
  async clickOnAssignedToMe() {
6958
- await this.page.locator(`input[value="assignedToMe"]`).click();
6955
+ await this.page.locator(`button[title="Assigned to me"]`).click();
6959
6956
  }
6960
6957
  async clickOnAssignedToMyTeams() {
6961
- await this.page.locator(`input[value="assignedToMyTeams"]`).click();
6958
+ await this.page.locator(`button[title="Assigned to my teams"]`).click();
6962
6959
  }
6963
6960
  async clickOnAssignedToAllAvailable() {
6964
- await this.page.locator(`input[value="assignedToAnybody"]`).click();
6961
+ await this.page.locator(`button[title="All available"]`).click();
6965
6962
  }
6966
6963
  async expectTaskToNotBeDisplayed(taskTitle) {
6967
6964
  await (0, $hOLA6$expect)(this.page.locator(`.row.task-inner`).filter({
@@ -6991,30 +6988,38 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$ex
6991
6988
  await (0, $hOLA6$expect)(this.page.locator(`#tasks-content #task-list-grouped-view div:has-text('${releaseTitle}') .task`)).toHaveCount(expectedCount);
6992
6989
  }
6993
6990
  async setSearchFilter(filterText) {
6994
- await this.filterByTitle(filterText);
6991
+ await this.page.locator(".searchFilter").fill(filterText);
6995
6992
  }
6996
6993
  async clearSearchFilter() {
6997
- await this.clearFilterTitle();
6994
+ await this.page.locator(".searchFilter").clear();
6998
6995
  }
6999
6996
  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");
6997
+ await this.page.locator(".tag-input").fill(filterText);
6998
+ await this.page.locator(".tag-input").press("Enter");
7003
6999
  }
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;
7000
+ async clickOnStatusField() {
7001
+ await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
7008
7002
  }
7009
7003
  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]
7004
+ await this.clickOnStatusClearAll();
7005
+ await this.clickOnStatusField();
7006
+ for(let i = 0; i < statusNames.length; i++)await this.page.locator(`i.xl-icon.icon-s.checkbox[data='${statusNames[i]}']`).click();
7007
+ // Clicking outside to close the grid dropdown
7008
+ await this.clickOnTasksLabel();
7009
+ }
7010
+ async clickOnStatusClearAll() {
7011
+ await this.clickOnStatusField();
7012
+ await this.page.locator("a.xl-react-link", {
7013
+ hasText: "Clear all"
7013
7014
  }).click();
7015
+ await this.clickOnTasksLabel();
7014
7016
  }
7015
7017
  async clickOnStatusSelectAll() {
7016
- await this.page.locator(this.getStatusInputSelector()).click();
7017
- await this.page.locator(this.getSelectAllStatusesButtonSelector()).click();
7018
+ await this.clickOnStatusField();
7019
+ await this.page.locator("a.xl-react-link", {
7020
+ hasText: "Select all"
7021
+ }).click();
7022
+ await this.clickOnTasksLabel();
7018
7023
  }
7019
7024
  async assignTaskToMe(title) {
7020
7025
  await this.page.locator(`.task-line`).filter({
@@ -7031,22 +7036,35 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $59c1d01bded91449$ex
7031
7036
  async expectTaskTitle(taskTitle) {
7032
7037
  await (0, $hOLA6$expect)(this.page.locator("#tasks0")).toContainText(taskTitle);
7033
7038
  }
7039
+ async clickOnTasksLabel() {
7040
+ await this.page.getByLabel("breadcrumb").getByText("Tasks").click();
7041
+ }
7034
7042
  async expectGroupView(expected = true) {
7035
7043
  if (expected) {
7036
- await (0, $hOLA6$expect)(this.page.locator('input[aria-label="Group by release"]')).toBeChecked();
7044
+ await (0, $hOLA6$expect)(this.page.locator("#group-tasks-by-release")).toBeChecked();
7037
7045
  await (0, $hOLA6$expect)(this.page.locator("#task-list-grouped-view")).toBeVisible();
7038
7046
  await (0, $hOLA6$expect)(this.page.locator("#task-ungrouped-view")).not.toBeVisible();
7039
7047
  } else {
7040
- await (0, $hOLA6$expect)(this.page.locator('input[aria-label="Group by release"]')).not.toBeChecked();
7048
+ await (0, $hOLA6$expect)(this.page.locator("#group-tasks-by-release")).not.toBeChecked();
7041
7049
  await (0, $hOLA6$expect)(this.page.locator("#task-list-grouped-view")).not.toBeVisible();
7042
7050
  await (0, $hOLA6$expect)(this.page.locator("#task-ungrouped-view")).toBeVisible();
7043
7051
  }
7044
7052
  }
7045
7053
  async changeGroupView() {
7046
- await this.page.locator('input[aria-label="Group by release"]').click();
7054
+ await this.page.locator("#group-tasks-by-release").click();
7055
+ }
7056
+ async enableGroupByReleaseView() {
7057
+ await this.page.getByRole("checkbox", {
7058
+ name: "Group by release"
7059
+ }).check();
7060
+ }
7061
+ async disableGroupByReleaseView() {
7062
+ await this.page.getByRole("checkbox", {
7063
+ name: "Group by release"
7064
+ }).uncheck();
7047
7065
  }
7048
7066
  async switchToGridView() {
7049
- await this.page.locator('button[aria-label="grid view"]').click();
7067
+ await this.page.locator(".xl-icon.grid-icon").click();
7050
7068
  return this.gridView;
7051
7069
  }
7052
7070
  }