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

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-20251029100901
3
+ ## 0.0.0-snapshot-20251029210730
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;
1070
1086
  }
1071
- getFilterDrawerSelector() {
1072
- return `${this.getBaseDrawerSelector()} div[role="dialog"]`;
1087
+ async clearTitleFilter() {
1088
+ await this.page.locator(this.getTitleInputSelector()).fill("");
1089
+ return this;
1090
+ }
1091
+ async clearAllFilters() {
1092
+ await this.page.locator(`${this.getHeaderSelector()} .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);
1097
+ }
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() {
@@ -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
 
@@ -4266,15 +4262,12 @@ class $2c89ba54932fbba8$export$f8f26dd395d7e1bd extends (0, $f8721861c660dd88$ex
4266
4262
  await (0, $kKeXs$playwrighttest.expect)(icExpandTreeview1).not.toBeVisible();
4267
4263
  }
4268
4264
  async openSideNavMenu(menuItem) {
4269
- const menuLocator = this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
4265
+ await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
4270
4266
  exact: true
4271
- });
4272
- await menuLocator.waitFor({
4273
- state: "visible"
4274
- });
4275
- await this.page.waitForTimeout(500);
4276
- await menuLocator.scrollIntoViewIfNeeded();
4277
- await menuLocator.click();
4267
+ }).scrollIntoViewIfNeeded();
4268
+ await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
4269
+ exact: true
4270
+ }).click();
4278
4271
  }
4279
4272
  async openNestedMenuItem(nestedMenuItem) {
4280
4273
  await this.page.locator(".MuiList-root li").getByText(nestedMenuItem, {
@@ -4352,10 +4345,6 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
4352
4345
  await this.openSubPage("Triggers");
4353
4346
  return new (0, $133601cfe0486710$export$fb932093f944abe4)(this.page);
4354
4347
  }
4355
- async openEditor() {
4356
- await this.openSubPage("Flow");
4357
- return new $9b9a8c3da392d020$export$f43492e8ac3c566(this.page);
4358
- }
4359
4348
  async abort(comment = "Abort for testing") {
4360
4349
  await this.page.getByTestId("abort-btn").waitFor();
4361
4350
  await this.page.getByTestId("abort-btn").click();
@@ -7775,13 +7764,23 @@ class $fd4eef3ad2b2e612$var$DeleteVariableModel extends (0, $f8721861c660dd88$ex
7775
7764
 
7776
7765
 
7777
7766
 
7778
- class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
7767
+
7768
+ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $96d547f0e8ead553$export$48c33d2414f51608) {
7779
7769
  constructor(page){
7780
7770
  super(page);
7781
7771
  this.commentBox = this.page.locator(`.input-block-level`);
7782
7772
  this.gridView = new $ed2d4739e27d43c1$var$GridView(page);
7783
7773
  this.taskDrawer = new (0, $6a21661eb4695574$export$e946776eae644790)(page);
7784
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
+ }
7785
7784
  async openTask(taskName) {
7786
7785
  await this.filterTaskByTitle(taskName);
7787
7786
  await this.page.getByText(taskName).first().click();
@@ -7847,9 +7846,7 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
7847
7846
  await this.taskDrawer.waitForTaskDrawer();
7848
7847
  }
7849
7848
  async filterTaskByTitle(taskname) {
7850
- await this.page.locator(".searchFilter").click();
7851
- await this.page.locator(".searchFilter").fill(taskname);
7852
- await this.page.locator(".searchFilter").press("Enter");
7849
+ await this.filterByTitle(taskname);
7853
7850
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("//div[@data-task-title]").filter({
7854
7851
  hasText: taskname
7855
7852
  }).first()).toBeVisible();
@@ -7894,13 +7891,13 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
7894
7891
  await this.page.locator(`.btn-group-filter.btn-group button.btn.btn-flat[title="${title}"]`).click();
7895
7892
  }
7896
7893
  async clickOnAssignedToMe() {
7897
- await this.page.locator(`button[title="Assigned to me"]`).click();
7894
+ await this.page.locator(`input[value="assignedToMe"]`).click();
7898
7895
  }
7899
7896
  async clickOnAssignedToMyTeams() {
7900
- await this.page.locator(`button[title="Assigned to my teams"]`).click();
7897
+ await this.page.locator(`input[value="assignedToMyTeams"]`).click();
7901
7898
  }
7902
7899
  async clickOnAssignedToAllAvailable() {
7903
- await this.page.locator(`button[title="All available"]`).click();
7900
+ await this.page.locator(`input[value="assignedToAnybody"]`).click();
7904
7901
  }
7905
7902
  async expectTaskToNotBeDisplayed(taskTitle) {
7906
7903
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.row.task-inner`).filter({
@@ -7930,38 +7927,30 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
7930
7927
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`#tasks-content #task-list-grouped-view div:has-text('${releaseTitle}') .task`)).toHaveCount(expectedCount);
7931
7928
  }
7932
7929
  async setSearchFilter(filterText) {
7933
- await this.page.locator(".searchFilter").fill(filterText);
7930
+ await this.filterByTitle(filterText);
7934
7931
  }
7935
7932
  async clearSearchFilter() {
7936
- await this.page.locator(".searchFilter").clear();
7933
+ await this.clearFilterTitle();
7937
7934
  }
7938
7935
  async setTagsFilter(filterText) {
7939
- await this.page.locator(".tag-input").fill(filterText);
7940
- 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");
7941
7939
  }
7942
- async clickOnStatusField() {
7943
- 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;
7944
7944
  }
7945
7945
  async clickOnStatus(statusNames) {
7946
- await this.clickOnStatusClearAll();
7947
- await this.clickOnStatusField();
7948
- for(let i = 0; i < statusNames.length; i++)await this.page.locator(`i.xl-icon.icon-s.checkbox[data='${statusNames[i]}']`).click();
7949
- // Clicking outside to close the grid dropdown
7950
- await this.clickOnTasksLabel();
7951
- }
7952
- async clickOnStatusClearAll() {
7953
- await this.clickOnStatusField();
7954
- await this.page.locator("a.xl-react-link", {
7955
- 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]
7956
7949
  }).click();
7957
- await this.clickOnTasksLabel();
7958
7950
  }
7959
7951
  async clickOnStatusSelectAll() {
7960
- await this.clickOnStatusField();
7961
- await this.page.locator("a.xl-react-link", {
7962
- hasText: "Select all"
7963
- }).click();
7964
- await this.clickOnTasksLabel();
7952
+ await this.page.locator(this.getStatusInputSelector()).click();
7953
+ await this.page.locator(this.getSelectAllStatusesButtonSelector()).click();
7965
7954
  }
7966
7955
  async assignTaskToMe(title) {
7967
7956
  await this.page.locator(`.task-line`).filter({
@@ -7978,35 +7967,22 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
7978
7967
  async expectTaskTitle(taskTitle) {
7979
7968
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#tasks0")).toContainText(taskTitle);
7980
7969
  }
7981
- async clickOnTasksLabel() {
7982
- await this.page.getByLabel("breadcrumb").getByText("Tasks").click();
7983
- }
7984
7970
  async expectGroupView(expected = true) {
7985
7971
  if (expected) {
7986
- 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();
7987
7973
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-list-grouped-view")).toBeVisible();
7988
7974
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-ungrouped-view")).not.toBeVisible();
7989
7975
  } else {
7990
- 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();
7991
7977
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-list-grouped-view")).not.toBeVisible();
7992
7978
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-ungrouped-view")).toBeVisible();
7993
7979
  }
7994
7980
  }
7995
7981
  async changeGroupView() {
7996
- await this.page.locator("#group-tasks-by-release").click();
7997
- }
7998
- async enableGroupByReleaseView() {
7999
- await this.page.getByRole("checkbox", {
8000
- name: "Group by release"
8001
- }).check();
8002
- }
8003
- async disableGroupByReleaseView() {
8004
- await this.page.getByRole("checkbox", {
8005
- name: "Group by release"
8006
- }).uncheck();
7982
+ await this.page.locator('input[aria-label="Group by release"]').click();
8007
7983
  }
8008
7984
  async switchToGridView() {
8009
- await this.page.locator(".xl-icon.grid-icon").click();
7985
+ await this.page.locator('button[aria-label="grid view"]').click();
8010
7986
  return this.gridView;
8011
7987
  }
8012
7988
  }