@digital-ai/devops-page-object-release 0.0.0-snapshot-20251030085809 → 0.0.0-snapshot-20251030111607

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