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

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/CHANGELOG.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # @digital-ai/devops-page-object-release
2
2
 
3
- ## 0.0.0-snapshot-20251030111607
3
+ ## 0.0.0-snapshot-20251030121554
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - 867ee27: S-125939: Migrated Release flag scenario from cypress to playwright
7
+ - 246bc7c: S-125225: Update new tasks page filters
8
8
 
9
9
  ## 0.0.88
10
10
 
package/dist/main.js CHANGED
@@ -1058,18 +1058,52 @@ class $3d3f3946c54f5897$export$34addcca3f0ae43f extends (0, $f8721861c660dd88$ex
1058
1058
 
1059
1059
 
1060
1060
 
1061
- class $e403098cd4f59faa$export$7034f81075184002 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1061
+
1062
+ class $96d547f0e8ead553$export$48c33d2414f51608 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1062
1063
  constructor(page){
1063
1064
  super(page);
1064
1065
  }
1065
1066
  getHeaderSelector() {
1066
- return ".release-list-header";
1067
+ return ".filter-title-search";
1067
1068
  }
1068
1069
  getBaseDrawerSelector() {
1069
- return `${this.getHeaderSelector()} .filter-drawer`;
1070
+ return '.filter-drawer div[role="dialog"]';
1071
+ }
1072
+ getTitleInputSelector() {
1073
+ return `${this.getHeaderSelector()} input#title-filter`;
1074
+ }
1075
+ async openFilterDrawer() {
1076
+ await this.page.locator(`${this.getHeaderSelector()} button`, {
1077
+ hasText: "Filters"
1078
+ }).click();
1079
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(this.getBaseDrawerSelector())).toBeVisible();
1080
+ return this;
1081
+ }
1082
+ async closeFilterDrawer() {
1083
+ await this.page.locator(`${this.getBaseDrawerSelector()} .dot-icon-btn[data-testid="close-btn"]`).click();
1084
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(this.getBaseDrawerSelector())).not.toBeVisible();
1085
+ return this;
1086
+ }
1087
+ async clearTitleFilter() {
1088
+ await this.page.locator(this.getTitleInputSelector()).fill("");
1089
+ return this;
1090
+ }
1091
+ async clearAllFilters() {
1092
+ await this.page.locator(`.filter-row button[data-testid="clear-all-btn"]`).click();
1093
+ return this;
1094
+ }
1095
+ async filterByTitle(releaseTitle) {
1096
+ await this.page.locator(this.getTitleInputSelector()).fill(releaseTitle);
1070
1097
  }
1071
- getFilterDrawerSelector() {
1072
- return `${this.getBaseDrawerSelector()} div[role="dialog"]`;
1098
+ async clearFilterTitle() {
1099
+ await this.page.locator(this.getTitleInputSelector()).clear();
1100
+ }
1101
+ }
1102
+
1103
+
1104
+ class $e403098cd4f59faa$export$7034f81075184002 extends (0, $96d547f0e8ead553$export$48c33d2414f51608) {
1105
+ constructor(page){
1106
+ super(page);
1073
1107
  }
1074
1108
  getStatusInputSelector() {
1075
1109
  return `${this.getBaseDrawerSelector()} input#release-status-filter-autocomplete`;
@@ -1080,9 +1114,6 @@ class $e403098cd4f59faa$export$7034f81075184002 extends (0, $f8721861c660dd88$ex
1080
1114
  getSelectAllStatusesButtonSelector() {
1081
1115
  return `${this.getBasePopperSelector()} button[data-testid="dot-action-item-btn"]`;
1082
1116
  }
1083
- getTitleInputSelector() {
1084
- return `${this.getHeaderSelector()} input#title-filter`;
1085
- }
1086
1117
  getRiskLevelInputSelector() {
1087
1118
  return `${this.getBaseDrawerSelector()} input#risk`;
1088
1119
  }
@@ -1121,27 +1152,7 @@ class $e403098cd4f59faa$export$7034f81075184002 extends (0, $f8721861c660dd88$ex
1121
1152
  return this;
1122
1153
  }
1123
1154
  async filterReleaseByTitle(releaseTitle) {
1124
- await this.page.locator(this.getTitleInputSelector()).fill(releaseTitle);
1125
- }
1126
- async clearTitleFilter() {
1127
- await this.page.locator(this.getTitleInputSelector()).fill("");
1128
- return this;
1129
- }
1130
- async openFilterDrawer() {
1131
- await this.page.locator(`${this.getHeaderSelector()} button`, {
1132
- hasText: "Filters"
1133
- }).click();
1134
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(this.getFilterDrawerSelector())).toBeVisible();
1135
- return this;
1136
- }
1137
- async closeFilterDrawer() {
1138
- await this.page.locator(`${this.getBaseDrawerSelector()} .dot-icon-btn[data-testid="close-btn"]`).click();
1139
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(this.getFilterDrawerSelector())).not.toBeVisible();
1140
- return this;
1141
- }
1142
- async clearAllFilters() {
1143
- await this.page.locator(`${this.getHeaderSelector()} .filter-row button[data-testid="clear-all-btn"]`).click();
1144
- return this;
1155
+ await this.filterByTitle(releaseTitle);
1145
1156
  }
1146
1157
  async clearAllStatusFilters() {
1147
1158
  await this.page.locator(this.getStatusInputSelector()).click();
@@ -3134,7 +3145,7 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
3134
3145
  this.taskDrawerLocator = this.page.locator("task-drawer .dot-drawer");
3135
3146
  }
3136
3147
  async waitForTaskDrawer() {
3137
- const handle = await this.page.locator(".dot-drawer-paper").elementHandle();
3148
+ const handle = await this.page.locator("task-drawer .dot-drawer-paper").elementHandle();
3138
3149
  await handle?.waitForElementState("stable");
3139
3150
  }
3140
3151
  async openOverviewRail() {
@@ -3303,10 +3314,10 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
3303
3314
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".user-task-assigned-wrapper .clickable-avatar")).toBeVisible();
3304
3315
  }
3305
3316
  async removeAssignToUser(userName) {
3306
- await this.page.getByRole("button", {
3317
+ await this.taskDrawerLocator.getByRole("button", {
3307
3318
  name: userName
3308
3319
  }).click();
3309
- await this.page.getByRole("button", {
3320
+ await this.taskDrawerLocator.getByRole("button", {
3310
3321
  name: "Clear"
3311
3322
  }).click();
3312
3323
  return this;
@@ -3323,7 +3334,7 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
3323
3334
  }
3324
3335
  async removeAssignedTeam(teamName) {
3325
3336
  await this.page.locator(".team-task-assigned-wrapper .editable").getByText(teamName).click();
3326
- await this.page.getByRole("button", {
3337
+ await this.taskDrawerLocator.getByRole("button", {
3327
3338
  name: "Clear"
3328
3339
  }).click();
3329
3340
  return this;
@@ -3842,21 +3853,6 @@ class $8681d8a3f46f87b7$export$d1077068a9cc9f17 extends (0, $f8721861c660dd88$ex
3842
3853
  async expectStartFromReleaseURLToBe(parentReleaseURL) {
3843
3854
  (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".started-from-release").getAttribute("href")).toContain(parentReleaseURL);
3844
3855
  }
3845
- async expectFlaggedWith(flagName, flagComment) {
3846
- const flagButton = this.page.locator(".flags .dropdown-button");
3847
- await (0, $kKeXs$playwrighttest.expect)(flagButton).toHaveClass(new RegExp(`\\b${flagName}\\b`));
3848
- const input = this.page.locator(".flags input");
3849
- if (await input.isVisible()) await (0, $kKeXs$playwrighttest.expect)(input).toHaveValue(flagComment);
3850
- }
3851
- async flag(flagName, flagComment) {
3852
- const flagDropdown = this.page.locator("#release-properties .flags .dropdown-button");
3853
- await flagDropdown.click();
3854
- const flagPopover = this.page.locator(".flags .flag-picker-popover");
3855
- const flagOption = flagPopover.locator(`div.${flagName}`);
3856
- await flagOption.click();
3857
- await this.page.getByPlaceholder("Set status text...").click();
3858
- await this.page.getByPlaceholder("Set status text...").fill(flagComment);
3859
- }
3860
3856
  }
3861
3857
 
3862
3858
 
@@ -7768,13 +7764,23 @@ class $fd4eef3ad2b2e612$var$DeleteVariableModel extends (0, $f8721861c660dd88$ex
7768
7764
 
7769
7765
 
7770
7766
 
7771
- class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
7767
+
7768
+ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $96d547f0e8ead553$export$48c33d2414f51608) {
7772
7769
  constructor(page){
7773
7770
  super(page);
7774
7771
  this.commentBox = this.page.locator(`.input-block-level`);
7775
7772
  this.gridView = new $ed2d4739e27d43c1$var$GridView(page);
7776
7773
  this.taskDrawer = new (0, $6a21661eb4695574$export$e946776eae644790)(page);
7777
7774
  }
7775
+ getBasePopperSelector() {
7776
+ return '.dot-popper[role="presentation"]';
7777
+ }
7778
+ getSelectAllStatusesButtonSelector() {
7779
+ return `${this.getBasePopperSelector()} button[data-testid="dot-action-item-btn"]`;
7780
+ }
7781
+ getStatusInputSelector() {
7782
+ return `${this.getBaseDrawerSelector()} input#task-status-filter-autocomplete`;
7783
+ }
7778
7784
  async openTask(taskName) {
7779
7785
  await this.filterTaskByTitle(taskName);
7780
7786
  await this.page.getByText(taskName).first().click();
@@ -7840,9 +7846,7 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
7840
7846
  await this.taskDrawer.waitForTaskDrawer();
7841
7847
  }
7842
7848
  async filterTaskByTitle(taskname) {
7843
- await this.page.locator(".searchFilter").click();
7844
- await this.page.locator(".searchFilter").fill(taskname);
7845
- await this.page.locator(".searchFilter").press("Enter");
7849
+ await this.filterByTitle(taskname);
7846
7850
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("//div[@data-task-title]").filter({
7847
7851
  hasText: taskname
7848
7852
  }).first()).toBeVisible();
@@ -7887,13 +7891,13 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
7887
7891
  await this.page.locator(`.btn-group-filter.btn-group button.btn.btn-flat[title="${title}"]`).click();
7888
7892
  }
7889
7893
  async clickOnAssignedToMe() {
7890
- await this.page.locator(`button[title="Assigned to me"]`).click();
7894
+ await this.page.locator(`input[value="assignedToMe"]`).click();
7891
7895
  }
7892
7896
  async clickOnAssignedToMyTeams() {
7893
- await this.page.locator(`button[title="Assigned to my teams"]`).click();
7897
+ await this.page.locator(`input[value="assignedToMyTeams"]`).click();
7894
7898
  }
7895
7899
  async clickOnAssignedToAllAvailable() {
7896
- await this.page.locator(`button[title="All available"]`).click();
7900
+ await this.page.locator(`input[value="assignedToAnybody"]`).click();
7897
7901
  }
7898
7902
  async expectTaskToNotBeDisplayed(taskTitle) {
7899
7903
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.row.task-inner`).filter({
@@ -7923,38 +7927,30 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
7923
7927
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`#tasks-content #task-list-grouped-view div:has-text('${releaseTitle}') .task`)).toHaveCount(expectedCount);
7924
7928
  }
7925
7929
  async setSearchFilter(filterText) {
7926
- await this.page.locator(".searchFilter").fill(filterText);
7930
+ await this.filterByTitle(filterText);
7927
7931
  }
7928
7932
  async clearSearchFilter() {
7929
- await this.page.locator(".searchFilter").clear();
7933
+ await this.clearFilterTitle();
7930
7934
  }
7931
7935
  async setTagsFilter(filterText) {
7932
- await this.page.locator(".tag-input").fill(filterText);
7933
- await this.page.locator(".tag-input").press("Enter");
7936
+ await this.page.locator("input#task-tags").click();
7937
+ await this.page.locator("input#task-tags").fill(filterText);
7938
+ await this.page.locator("input#task-tags").press("Enter");
7934
7939
  }
7935
- async clickOnStatusField() {
7936
- await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
7940
+ async clearAllStatusFilters() {
7941
+ await this.page.locator(this.getStatusInputSelector()).click();
7942
+ await this.page.locator(`${this.getBaseDrawerSelector()} div.filter-task-status-autocomplete button[title="Clear"]`).click();
7943
+ return this;
7937
7944
  }
7938
7945
  async clickOnStatus(statusNames) {
7939
- await this.clickOnStatusClearAll();
7940
- await this.clickOnStatusField();
7941
- for(let i = 0; i < statusNames.length; i++)await this.page.locator(`i.xl-icon.icon-s.checkbox[data='${statusNames[i]}']`).click();
7942
- // Clicking outside to close the grid dropdown
7943
- await this.clickOnTasksLabel();
7944
- }
7945
- async clickOnStatusClearAll() {
7946
- await this.clickOnStatusField();
7947
- await this.page.locator("a.xl-react-link", {
7948
- hasText: "Clear all"
7946
+ await this.clearAllStatusFilters();
7947
+ for(let i = 0; i < statusNames.length; i++)await this.page.locator("li", {
7948
+ hasText: statusNames[i]
7949
7949
  }).click();
7950
- await this.clickOnTasksLabel();
7951
7950
  }
7952
7951
  async clickOnStatusSelectAll() {
7953
- await this.clickOnStatusField();
7954
- await this.page.locator("a.xl-react-link", {
7955
- hasText: "Select all"
7956
- }).click();
7957
- await this.clickOnTasksLabel();
7952
+ await this.page.locator(this.getStatusInputSelector()).click();
7953
+ await this.page.locator(this.getSelectAllStatusesButtonSelector()).click();
7958
7954
  }
7959
7955
  async assignTaskToMe(title) {
7960
7956
  await this.page.locator(`.task-line`).filter({
@@ -7971,35 +7967,22 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
7971
7967
  async expectTaskTitle(taskTitle) {
7972
7968
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#tasks0")).toContainText(taskTitle);
7973
7969
  }
7974
- async clickOnTasksLabel() {
7975
- await this.page.getByLabel("breadcrumb").getByText("Tasks").click();
7976
- }
7977
7970
  async expectGroupView(expected = true) {
7978
7971
  if (expected) {
7979
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#group-tasks-by-release")).toBeChecked();
7972
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator('input[aria-label="Group by release"]')).toBeChecked();
7980
7973
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-list-grouped-view")).toBeVisible();
7981
7974
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-ungrouped-view")).not.toBeVisible();
7982
7975
  } else {
7983
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#group-tasks-by-release")).not.toBeChecked();
7976
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator('input[aria-label="Group by release"]')).not.toBeChecked();
7984
7977
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-list-grouped-view")).not.toBeVisible();
7985
7978
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-ungrouped-view")).toBeVisible();
7986
7979
  }
7987
7980
  }
7988
7981
  async changeGroupView() {
7989
- await this.page.locator("#group-tasks-by-release").click();
7990
- }
7991
- async enableGroupByReleaseView() {
7992
- await this.page.getByRole("checkbox", {
7993
- name: "Group by release"
7994
- }).check();
7995
- }
7996
- async disableGroupByReleaseView() {
7997
- await this.page.getByRole("checkbox", {
7998
- name: "Group by release"
7999
- }).uncheck();
7982
+ await this.page.locator('input[aria-label="Group by release"]').click();
8000
7983
  }
8001
7984
  async switchToGridView() {
8002
- await this.page.locator(".xl-icon.grid-icon").click();
7985
+ await this.page.locator('button[aria-label="grid view"]').click();
8003
7986
  return this.gridView;
8004
7987
  }
8005
7988
  }