@digital-ai/devops-page-object-release 0.0.0-snapshot-20251030085809 → 0.0.0-snapshot-20251030103505
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 +2 -2
- package/dist/main.js +94 -77
- package/dist/main.js.map +1 -1
- package/dist/module.js +94 -77
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +15 -16
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# @digital-ai/devops-page-object-release
|
|
2
2
|
|
|
3
|
-
## 0.0.0-snapshot-
|
|
3
|
+
## 0.0.0-snapshot-20251030103505
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- 867ee27: S-125939: Migrated Release flag scenario from cypress to playwright
|
|
8
8
|
|
|
9
9
|
## 0.0.88
|
|
10
10
|
|
package/dist/main.js
CHANGED
|
@@ -1058,52 +1058,18 @@ class $3d3f3946c54f5897$export$34addcca3f0ae43f extends (0, $f8721861c660dd88$ex
|
|
|
1058
1058
|
|
|
1059
1059
|
|
|
1060
1060
|
|
|
1061
|
-
|
|
1062
|
-
class $96d547f0e8ead553$export$48c33d2414f51608 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1061
|
+
class $e403098cd4f59faa$export$7034f81075184002 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1063
1062
|
constructor(page){
|
|
1064
1063
|
super(page);
|
|
1065
1064
|
}
|
|
1066
1065
|
getHeaderSelector() {
|
|
1067
|
-
return ".
|
|
1066
|
+
return ".release-list-header";
|
|
1068
1067
|
}
|
|
1069
1068
|
getBaseDrawerSelector() {
|
|
1070
|
-
return
|
|
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(`${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);
|
|
1069
|
+
return `${this.getHeaderSelector()} .filter-drawer`;
|
|
1097
1070
|
}
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
}
|
|
1101
|
-
}
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
class $e403098cd4f59faa$export$7034f81075184002 extends (0, $96d547f0e8ead553$export$48c33d2414f51608) {
|
|
1105
|
-
constructor(page){
|
|
1106
|
-
super(page);
|
|
1071
|
+
getFilterDrawerSelector() {
|
|
1072
|
+
return `${this.getBaseDrawerSelector()} div[role="dialog"]`;
|
|
1107
1073
|
}
|
|
1108
1074
|
getStatusInputSelector() {
|
|
1109
1075
|
return `${this.getBaseDrawerSelector()} input#release-status-filter-autocomplete`;
|
|
@@ -1114,6 +1080,9 @@ class $e403098cd4f59faa$export$7034f81075184002 extends (0, $96d547f0e8ead553$ex
|
|
|
1114
1080
|
getSelectAllStatusesButtonSelector() {
|
|
1115
1081
|
return `${this.getBasePopperSelector()} button[data-testid="dot-action-item-btn"]`;
|
|
1116
1082
|
}
|
|
1083
|
+
getTitleInputSelector() {
|
|
1084
|
+
return `${this.getHeaderSelector()} input#title-filter`;
|
|
1085
|
+
}
|
|
1117
1086
|
getRiskLevelInputSelector() {
|
|
1118
1087
|
return `${this.getBaseDrawerSelector()} input#risk`;
|
|
1119
1088
|
}
|
|
@@ -1152,7 +1121,27 @@ class $e403098cd4f59faa$export$7034f81075184002 extends (0, $96d547f0e8ead553$ex
|
|
|
1152
1121
|
return this;
|
|
1153
1122
|
}
|
|
1154
1123
|
async filterReleaseByTitle(releaseTitle) {
|
|
1155
|
-
await this.
|
|
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;
|
|
1156
1145
|
}
|
|
1157
1146
|
async clearAllStatusFilters() {
|
|
1158
1147
|
await this.page.locator(this.getStatusInputSelector()).click();
|
|
@@ -3145,7 +3134,7 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
|
|
|
3145
3134
|
this.taskDrawerLocator = this.page.locator("task-drawer .dot-drawer");
|
|
3146
3135
|
}
|
|
3147
3136
|
async waitForTaskDrawer() {
|
|
3148
|
-
const handle = await this.page.locator("
|
|
3137
|
+
const handle = await this.page.locator(".dot-drawer-paper").elementHandle();
|
|
3149
3138
|
await handle?.waitForElementState("stable");
|
|
3150
3139
|
}
|
|
3151
3140
|
async openOverviewRail() {
|
|
@@ -3314,10 +3303,10 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
|
|
|
3314
3303
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".user-task-assigned-wrapper .clickable-avatar")).toBeVisible();
|
|
3315
3304
|
}
|
|
3316
3305
|
async removeAssignToUser(userName) {
|
|
3317
|
-
await this.
|
|
3306
|
+
await this.page.getByRole("button", {
|
|
3318
3307
|
name: userName
|
|
3319
3308
|
}).click();
|
|
3320
|
-
await this.
|
|
3309
|
+
await this.page.getByRole("button", {
|
|
3321
3310
|
name: "Clear"
|
|
3322
3311
|
}).click();
|
|
3323
3312
|
return this;
|
|
@@ -3334,7 +3323,7 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
|
|
|
3334
3323
|
}
|
|
3335
3324
|
async removeAssignedTeam(teamName) {
|
|
3336
3325
|
await this.page.locator(".team-task-assigned-wrapper .editable").getByText(teamName).click();
|
|
3337
|
-
await this.
|
|
3326
|
+
await this.page.getByRole("button", {
|
|
3338
3327
|
name: "Clear"
|
|
3339
3328
|
}).click();
|
|
3340
3329
|
return this;
|
|
@@ -3853,6 +3842,21 @@ class $8681d8a3f46f87b7$export$d1077068a9cc9f17 extends (0, $f8721861c660dd88$ex
|
|
|
3853
3842
|
async expectStartFromReleaseURLToBe(parentReleaseURL) {
|
|
3854
3843
|
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".started-from-release").getAttribute("href")).toContain(parentReleaseURL);
|
|
3855
3844
|
}
|
|
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
|
+
}
|
|
3856
3860
|
}
|
|
3857
3861
|
|
|
3858
3862
|
|
|
@@ -7764,23 +7768,13 @@ class $fd4eef3ad2b2e612$var$DeleteVariableModel extends (0, $f8721861c660dd88$ex
|
|
|
7764
7768
|
|
|
7765
7769
|
|
|
7766
7770
|
|
|
7767
|
-
|
|
7768
|
-
class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $96d547f0e8ead553$export$48c33d2414f51608) {
|
|
7771
|
+
class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
7769
7772
|
constructor(page){
|
|
7770
7773
|
super(page);
|
|
7771
7774
|
this.commentBox = this.page.locator(`.input-block-level`);
|
|
7772
7775
|
this.gridView = new $ed2d4739e27d43c1$var$GridView(page);
|
|
7773
7776
|
this.taskDrawer = new (0, $6a21661eb4695574$export$e946776eae644790)(page);
|
|
7774
7777
|
}
|
|
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
|
-
}
|
|
7784
7778
|
async openTask(taskName) {
|
|
7785
7779
|
await this.filterTaskByTitle(taskName);
|
|
7786
7780
|
await this.page.getByText(taskName).first().click();
|
|
@@ -7846,7 +7840,9 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $96d547f0e8ead553$ex
|
|
|
7846
7840
|
await this.taskDrawer.waitForTaskDrawer();
|
|
7847
7841
|
}
|
|
7848
7842
|
async filterTaskByTitle(taskname) {
|
|
7849
|
-
await this.
|
|
7843
|
+
await this.page.locator(".searchFilter").click();
|
|
7844
|
+
await this.page.locator(".searchFilter").fill(taskname);
|
|
7845
|
+
await this.page.locator(".searchFilter").press("Enter");
|
|
7850
7846
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("//div[@data-task-title]").filter({
|
|
7851
7847
|
hasText: taskname
|
|
7852
7848
|
}).first()).toBeVisible();
|
|
@@ -7891,13 +7887,13 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $96d547f0e8ead553$ex
|
|
|
7891
7887
|
await this.page.locator(`.btn-group-filter.btn-group button.btn.btn-flat[title="${title}"]`).click();
|
|
7892
7888
|
}
|
|
7893
7889
|
async clickOnAssignedToMe() {
|
|
7894
|
-
await this.page.locator(`
|
|
7890
|
+
await this.page.locator(`button[title="Assigned to me"]`).click();
|
|
7895
7891
|
}
|
|
7896
7892
|
async clickOnAssignedToMyTeams() {
|
|
7897
|
-
await this.page.locator(`
|
|
7893
|
+
await this.page.locator(`button[title="Assigned to my teams"]`).click();
|
|
7898
7894
|
}
|
|
7899
7895
|
async clickOnAssignedToAllAvailable() {
|
|
7900
|
-
await this.page.locator(`
|
|
7896
|
+
await this.page.locator(`button[title="All available"]`).click();
|
|
7901
7897
|
}
|
|
7902
7898
|
async expectTaskToNotBeDisplayed(taskTitle) {
|
|
7903
7899
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.row.task-inner`).filter({
|
|
@@ -7927,30 +7923,38 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $96d547f0e8ead553$ex
|
|
|
7927
7923
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`#tasks-content #task-list-grouped-view div:has-text('${releaseTitle}') .task`)).toHaveCount(expectedCount);
|
|
7928
7924
|
}
|
|
7929
7925
|
async setSearchFilter(filterText) {
|
|
7930
|
-
await this.
|
|
7926
|
+
await this.page.locator(".searchFilter").fill(filterText);
|
|
7931
7927
|
}
|
|
7932
7928
|
async clearSearchFilter() {
|
|
7933
|
-
await this.
|
|
7929
|
+
await this.page.locator(".searchFilter").clear();
|
|
7934
7930
|
}
|
|
7935
7931
|
async setTagsFilter(filterText) {
|
|
7936
|
-
await this.page.locator("input
|
|
7937
|
-
await this.page.locator("input
|
|
7938
|
-
await this.page.locator("input#task-tags").press("Enter");
|
|
7932
|
+
await this.page.locator(".tag-input").fill(filterText);
|
|
7933
|
+
await this.page.locator(".tag-input").press("Enter");
|
|
7939
7934
|
}
|
|
7940
|
-
async
|
|
7941
|
-
await this.page.locator(
|
|
7942
|
-
await this.page.locator(`${this.getBaseDrawerSelector()} div.filter-task-status-autocomplete button[title="Clear"]`).click();
|
|
7943
|
-
return this;
|
|
7935
|
+
async clickOnStatusField() {
|
|
7936
|
+
await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
|
|
7944
7937
|
}
|
|
7945
7938
|
async clickOnStatus(statusNames) {
|
|
7946
|
-
await this.
|
|
7947
|
-
|
|
7948
|
-
|
|
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"
|
|
7949
7949
|
}).click();
|
|
7950
|
+
await this.clickOnTasksLabel();
|
|
7950
7951
|
}
|
|
7951
7952
|
async clickOnStatusSelectAll() {
|
|
7952
|
-
await this.
|
|
7953
|
-
await this.page.locator(
|
|
7953
|
+
await this.clickOnStatusField();
|
|
7954
|
+
await this.page.locator("a.xl-react-link", {
|
|
7955
|
+
hasText: "Select all"
|
|
7956
|
+
}).click();
|
|
7957
|
+
await this.clickOnTasksLabel();
|
|
7954
7958
|
}
|
|
7955
7959
|
async assignTaskToMe(title) {
|
|
7956
7960
|
await this.page.locator(`.task-line`).filter({
|
|
@@ -7967,22 +7971,35 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $96d547f0e8ead553$ex
|
|
|
7967
7971
|
async expectTaskTitle(taskTitle) {
|
|
7968
7972
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#tasks0")).toContainText(taskTitle);
|
|
7969
7973
|
}
|
|
7974
|
+
async clickOnTasksLabel() {
|
|
7975
|
+
await this.page.getByLabel("breadcrumb").getByText("Tasks").click();
|
|
7976
|
+
}
|
|
7970
7977
|
async expectGroupView(expected = true) {
|
|
7971
7978
|
if (expected) {
|
|
7972
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(
|
|
7979
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#group-tasks-by-release")).toBeChecked();
|
|
7973
7980
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-list-grouped-view")).toBeVisible();
|
|
7974
7981
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-ungrouped-view")).not.toBeVisible();
|
|
7975
7982
|
} else {
|
|
7976
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(
|
|
7983
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#group-tasks-by-release")).not.toBeChecked();
|
|
7977
7984
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-list-grouped-view")).not.toBeVisible();
|
|
7978
7985
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#task-ungrouped-view")).toBeVisible();
|
|
7979
7986
|
}
|
|
7980
7987
|
}
|
|
7981
7988
|
async changeGroupView() {
|
|
7982
|
-
await this.page.locator(
|
|
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();
|
|
7983
8000
|
}
|
|
7984
8001
|
async switchToGridView() {
|
|
7985
|
-
await this.page.locator(
|
|
8002
|
+
await this.page.locator(".xl-icon.grid-icon").click();
|
|
7986
8003
|
return this.gridView;
|
|
7987
8004
|
}
|
|
7988
8005
|
}
|