@digital-ai/devops-page-object-release 0.0.0-pikachu-20250825164742 → 0.0.0-snapshot-20250901092606
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 +14 -2
- package/dist/main.js +119 -136
- package/dist/main.js.map +1 -1
- package/dist/module.js +119 -136
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +15 -29
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/module.js
CHANGED
|
@@ -18,7 +18,6 @@ import $hOLA6$lodashtoPairs from "lodash/toPairs";
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
|
|
22
21
|
class $9626bc9256ce31f7$export$2b65d1d97338f32b {
|
|
23
22
|
constructor(page){
|
|
24
23
|
this.page = page;
|
|
@@ -26,6 +25,8 @@ class $9626bc9256ce31f7$export$2b65d1d97338f32b {
|
|
|
26
25
|
}
|
|
27
26
|
|
|
28
27
|
|
|
28
|
+
|
|
29
|
+
|
|
29
30
|
class $05d91a1d3381a287$export$34addcca3f0ae43f extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
30
31
|
constructor(page){
|
|
31
32
|
super(page);
|
|
@@ -120,125 +121,7 @@ class $05d91a1d3381a287$export$34addcca3f0ae43f extends (0, $9626bc9256ce31f7$ex
|
|
|
120
121
|
}
|
|
121
122
|
|
|
122
123
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
class $b34a21212642e54d$export$7034f81075184002 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
126
|
-
constructor(page){
|
|
127
|
-
super(page);
|
|
128
|
-
}
|
|
129
|
-
getHeaderSelector() {
|
|
130
|
-
return ".release-list-header";
|
|
131
|
-
}
|
|
132
|
-
getBaseDrawerSelector() {
|
|
133
|
-
return `${this.getHeaderSelector()} .releases-filter-drawer`;
|
|
134
|
-
}
|
|
135
|
-
getFilterDrawerSelector() {
|
|
136
|
-
return `${this.getBaseDrawerSelector()} div[role="dialog"]`;
|
|
137
|
-
}
|
|
138
|
-
getStatusInputSelector() {
|
|
139
|
-
return `${this.getBaseDrawerSelector()} input#release-status-filter-autocomplete`;
|
|
140
|
-
}
|
|
141
|
-
getBasePopperSelector() {
|
|
142
|
-
return '.dot-popper[role="presentation"]';
|
|
143
|
-
}
|
|
144
|
-
getSelectAllStatusesButtonSelector() {
|
|
145
|
-
return `${this.getBasePopperSelector()} button[data-testid="dot-action-item-btn"]`;
|
|
146
|
-
}
|
|
147
|
-
getTitleInputSelector() {
|
|
148
|
-
return `${this.getHeaderSelector()} input#title-filter`;
|
|
149
|
-
}
|
|
150
|
-
getRiskLevelInputSelector() {
|
|
151
|
-
return `${this.getBaseDrawerSelector()} input#risk`;
|
|
152
|
-
}
|
|
153
|
-
async setReleaseStatusFilter(statuses) {
|
|
154
|
-
for (const status of statuses){
|
|
155
|
-
await this.page.locator(this.getStatusInputSelector()).click();
|
|
156
|
-
await this.page.locator(`${this.getBasePopperSelector()} ul li`).filter({
|
|
157
|
-
hasText: status
|
|
158
|
-
}).click();
|
|
159
|
-
}
|
|
160
|
-
return this;
|
|
161
|
-
}
|
|
162
|
-
async setReleaseTagsFilter(tags) {
|
|
163
|
-
for (const tag of tags){
|
|
164
|
-
await this.page.locator(`${this.getBaseDrawerSelector()} input#release-tags`).click();
|
|
165
|
-
await this.page.locator(`${this.getBasePopperSelector()} ul li`).filter({
|
|
166
|
-
hasText: tag.toLowerCase()
|
|
167
|
-
}).click();
|
|
168
|
-
}
|
|
169
|
-
return this;
|
|
170
|
-
}
|
|
171
|
-
async setTaskTagsFilter(tags) {
|
|
172
|
-
for (const tag of tags){
|
|
173
|
-
await this.page.locator(`${this.getBaseDrawerSelector()} input#task-tags`).click();
|
|
174
|
-
await this.page.locator(`${this.getBasePopperSelector()} ul li`).filter({
|
|
175
|
-
hasText: tag.toLowerCase()
|
|
176
|
-
}).click();
|
|
177
|
-
}
|
|
178
|
-
return this;
|
|
179
|
-
}
|
|
180
|
-
async setRiskLevelFilter(riskLevel) {
|
|
181
|
-
await this.page.locator(this.getRiskLevelInputSelector()).click();
|
|
182
|
-
await this.page.locator(`${this.getBasePopperSelector()} ul li:has-text("${riskLevel}")`).click({
|
|
183
|
-
force: true
|
|
184
|
-
});
|
|
185
|
-
return this;
|
|
186
|
-
}
|
|
187
|
-
async filterReleaseByTitle(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()} .release-list-filter-row button[data-testid="clear-all-btn"]`).click();
|
|
208
|
-
return this;
|
|
209
|
-
}
|
|
210
|
-
async clearAllStatusFilters() {
|
|
211
|
-
await this.page.locator(this.getStatusInputSelector()).click();
|
|
212
|
-
await this.page.locator(`${this.getBaseDrawerSelector()} div.filter-release-status-autocomplete button[title="Clear"]`).click();
|
|
213
|
-
return this;
|
|
214
|
-
}
|
|
215
|
-
async selectAllStatusFilters() {
|
|
216
|
-
await this.page.locator(this.getStatusInputSelector()).click();
|
|
217
|
-
await this.page.locator(this.getSelectAllStatusesButtonSelector()).click();
|
|
218
|
-
return this;
|
|
219
|
-
}
|
|
220
|
-
async gotoListView() {
|
|
221
|
-
await this.clickOnReleasesPageTab("List");
|
|
222
|
-
await (0, $hOLA6$expect)(this.page.locator(".release-list")).toBeVisible();
|
|
223
|
-
}
|
|
224
|
-
async gotoCalendarView() {
|
|
225
|
-
await this.clickOnReleasesPageTab("Calendar");
|
|
226
|
-
await (0, $hOLA6$expect)(this.page.locator(".tl-viewport")).toBeVisible();
|
|
227
|
-
}
|
|
228
|
-
async clickOnReleasesPageTab(tabName) {
|
|
229
|
-
await this.page.locator("releases-tabs .dot-tab-label").filter({
|
|
230
|
-
hasText: tabName
|
|
231
|
-
}).click();
|
|
232
|
-
return this;
|
|
233
|
-
}
|
|
234
|
-
async toggleFilterFlaggedOnly() {
|
|
235
|
-
await this.page.locator(`${this.getBaseDrawerSelector()} .flagged-releases-switch input[aria-label="Flagged releases"]`).click();
|
|
236
|
-
return this;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $b34a21212642e54d$export$7034f81075184002) {
|
|
124
|
+
class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
242
125
|
constructor(page){
|
|
243
126
|
super(page);
|
|
244
127
|
this.releaseCreatePage = new (0, $05d91a1d3381a287$export$34addcca3f0ae43f)(page);
|
|
@@ -305,12 +188,49 @@ class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $b34a21212642e54d$ex
|
|
|
305
188
|
await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Releases")).toBeVisible();
|
|
306
189
|
await (0, $hOLA6$expect)(this.page.locator(".release-list")).toBeVisible();
|
|
307
190
|
}
|
|
191
|
+
async filterReleaseByAllStatus() {
|
|
192
|
+
await this.page.locator(".ci-status .remaining-tags").getByText("more").click();
|
|
193
|
+
await this.page.locator(".ci-status .xl-react-link").getByText("Select all").click();
|
|
194
|
+
}
|
|
195
|
+
async filterReleaseByStatus(release_status) {
|
|
196
|
+
await this.page.locator(".react-tagsinput-wrapper .remaining-tags").click();
|
|
197
|
+
await this.page.getByTitle(release_status).locator("i").first().click();
|
|
198
|
+
}
|
|
308
199
|
async openReleaseByName(releaseTitle) {
|
|
309
200
|
await this.page.locator(".release-line .row-wrapper .release-title-wrapper a", {
|
|
310
201
|
hasText: releaseTitle
|
|
311
202
|
}).click();
|
|
312
203
|
return new (0, $43cbcdfccb6c2a76$export$f43492e8ac3c566)(this.page);
|
|
313
204
|
}
|
|
205
|
+
async openSearchFilter() {
|
|
206
|
+
await this.page.locator(".toggle-search-filter").click();
|
|
207
|
+
}
|
|
208
|
+
async filterReleaseByTitle(releaseTitle) {
|
|
209
|
+
const searchTitle = this.page.locator(".searchFilter");
|
|
210
|
+
const searchCount = await searchTitle.count();
|
|
211
|
+
if (searchCount == 0) {
|
|
212
|
+
await this.openSearchFilter();
|
|
213
|
+
await searchTitle.fill(releaseTitle);
|
|
214
|
+
await searchTitle.press("Enter");
|
|
215
|
+
await (0, $hOLA6$expect)(this.page.locator(".release").getByText(releaseTitle)).toBeVisible();
|
|
216
|
+
} else {
|
|
217
|
+
await searchTitle.press("Enter");
|
|
218
|
+
await searchTitle.fill(releaseTitle);
|
|
219
|
+
await searchTitle.press("Enter");
|
|
220
|
+
await (0, $hOLA6$expect)(this.page.locator(".release").getByText(releaseTitle)).toBeVisible();
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
async clearTitleFilter() {
|
|
224
|
+
const search = await this.page.locator(".searchFilter").count();
|
|
225
|
+
if (search == 0) {
|
|
226
|
+
await this.openSearchFilter();
|
|
227
|
+
await this.page.locator(".searchFilter").clear();
|
|
228
|
+
await this.page.locator(".searchFilter").press("Enter");
|
|
229
|
+
} else {
|
|
230
|
+
await this.page.locator(".searchFilter").clear();
|
|
231
|
+
await this.page.locator(".searchFilter").press("Enter");
|
|
232
|
+
}
|
|
233
|
+
}
|
|
314
234
|
async createNewRelease(releaseName, description) {
|
|
315
235
|
await this.releaseCreatePage.setName(releaseName);
|
|
316
236
|
await this.releaseCreatePage.setDescription(description);
|
|
@@ -323,6 +243,18 @@ class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $b34a21212642e54d$ex
|
|
|
323
243
|
await this.releaseCreatePage.setOwner(ownerName);
|
|
324
244
|
await this.releaseCreatePage.create();
|
|
325
245
|
}
|
|
246
|
+
async gotoListView() {
|
|
247
|
+
await this.page.getByRole("tab", {
|
|
248
|
+
name: "release icon List"
|
|
249
|
+
}).click();
|
|
250
|
+
await (0, $hOLA6$expect)(this.page.locator(".release-list")).toBeVisible();
|
|
251
|
+
}
|
|
252
|
+
async gotoCalendarView() {
|
|
253
|
+
await this.page.getByRole("tab", {
|
|
254
|
+
name: "calendar icon Calendar"
|
|
255
|
+
}).click();
|
|
256
|
+
await (0, $hOLA6$expect)(this.page.locator(".tl-viewport")).toBeVisible();
|
|
257
|
+
}
|
|
326
258
|
async openReleasesList() {
|
|
327
259
|
await this.page.goto("./#/releases");
|
|
328
260
|
await (0, $hOLA6$expect)(this.page.locator(".release-list")).toBeVisible();
|
|
@@ -3730,9 +3662,9 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
|
|
|
3730
3662
|
}
|
|
3731
3663
|
async setTitle(title) {
|
|
3732
3664
|
await this.phaseLocator.locator(".phase-header .display").click();
|
|
3733
|
-
await this.phaseLocator.locator(
|
|
3734
|
-
await this.phaseLocator.locator(
|
|
3735
|
-
await this.phaseLocator.locator(
|
|
3665
|
+
await this.phaseLocator.locator('.phase-header input[type="text"]').clear();
|
|
3666
|
+
await this.phaseLocator.locator('.phase-header input[type="text"]').fill(title);
|
|
3667
|
+
await this.phaseLocator.locator('.phase-header input[type="text"]').blur();
|
|
3736
3668
|
}
|
|
3737
3669
|
async isMenuItemEnabled(menuName, taskTitle, group = false) {
|
|
3738
3670
|
await this.openContextMenuForTask(taskTitle, group);
|
|
@@ -4085,7 +4017,7 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
|
|
|
4085
4017
|
}
|
|
4086
4018
|
await this.page.getByTestId("save-select-task-btn").click();
|
|
4087
4019
|
await (0, $hOLA6$expect)(this.page.locator("p").filter({
|
|
4088
|
-
hasText: "
|
|
4020
|
+
hasText: "You don’t have permission to view this page."
|
|
4089
4021
|
})).toBeVisible();
|
|
4090
4022
|
}
|
|
4091
4023
|
async expectCurrentTaskCount(count) {
|
|
@@ -4781,9 +4713,6 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
|
|
|
4781
4713
|
this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
|
|
4782
4714
|
this.variables = new (0, $dfc4ce40cbd0eb71$export$f8e64fcf447db2bf)(page);
|
|
4783
4715
|
}
|
|
4784
|
-
getFolderSearchInputLocator() {
|
|
4785
|
-
return this.page.locator(".folder-list .folder-list-search input");
|
|
4786
|
-
}
|
|
4787
4716
|
async openFoldersPage() {
|
|
4788
4717
|
await this.page.goto("./#/folders");
|
|
4789
4718
|
await (0, $hOLA6$expect)(this.page).toHaveTitle("Folders / Home - Digital.ai Release");
|
|
@@ -4888,9 +4817,9 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
|
|
|
4888
4817
|
})).not.toBeVisible();
|
|
4889
4818
|
}
|
|
4890
4819
|
async searchFolderByName(folderName) {
|
|
4891
|
-
await this.
|
|
4892
|
-
await this.
|
|
4893
|
-
await this.
|
|
4820
|
+
await this.page.getByLabel("Start typing to filter").click();
|
|
4821
|
+
await this.page.getByLabel("Start typing to filter").clear();
|
|
4822
|
+
await this.page.getByLabel("Start typing to filter").fill(folderName);
|
|
4894
4823
|
await (0, $hOLA6$expect)(this.page.getByRole("link", {
|
|
4895
4824
|
name: folderName
|
|
4896
4825
|
})).toBeVisible();
|
|
@@ -5925,8 +5854,7 @@ class $9ca6e63d357957dd$export$922081b54f2ab994 extends (0, $9626bc9256ce31f7$ex
|
|
|
5925
5854
|
|
|
5926
5855
|
|
|
5927
5856
|
|
|
5928
|
-
|
|
5929
|
-
class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $b34a21212642e54d$export$7034f81075184002) {
|
|
5857
|
+
class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
5930
5858
|
async openReleaseCalendarPage() {
|
|
5931
5859
|
await this.page.goto("./#/releases/calendar");
|
|
5932
5860
|
//Define date format to verify different calendar views
|
|
@@ -6031,6 +5959,61 @@ class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $b34a21212642e54d$ex
|
|
|
6031
5959
|
await (0, $hOLA6$expect)(this.page.getByText(title)).toBeVisible();
|
|
6032
5960
|
}
|
|
6033
5961
|
}
|
|
5962
|
+
async filterReleaseByTitle(title) {
|
|
5963
|
+
await this.page.getByPlaceholder("Filter by release title").click();
|
|
5964
|
+
await this.page.getByPlaceholder("Filter by release title").fill(title);
|
|
5965
|
+
await this.page.getByPlaceholder("Filter by release title").press("Enter");
|
|
5966
|
+
//Verify Page has correct Year format displayed at the page bottom
|
|
5967
|
+
await this.verifyPageContent(title);
|
|
5968
|
+
}
|
|
5969
|
+
async filterReleaseByTags(tags, release_title) {
|
|
5970
|
+
await this.page.locator(".tl-filter-release-tags").locator(".react-tagsinput").click();
|
|
5971
|
+
for (let tag of tags){
|
|
5972
|
+
tag = tag.toString();
|
|
5973
|
+
await this.page.locator(".tl-filter-release-tags").locator(".react-tagsinput-input").fill(tag);
|
|
5974
|
+
await this.page.getByTitle(tag).locator("i").click();
|
|
5975
|
+
}
|
|
5976
|
+
await this.verifyPageContent(release_title);
|
|
5977
|
+
}
|
|
5978
|
+
async filterTaskByTags(tags, task_title, release_title) {
|
|
5979
|
+
await this.page.locator(".tl-filter-task-tags").locator(".react-tagsinput").click();
|
|
5980
|
+
for (let tag of tags){
|
|
5981
|
+
tag = tag.toString();
|
|
5982
|
+
await this.page.locator(".tl-filter-task-tags").locator(".react-tagsinput-input").fill(tag);
|
|
5983
|
+
await this.page.getByTitle(tag).locator("i").click();
|
|
5984
|
+
}
|
|
5985
|
+
//Make sure task is visible on calnedar page
|
|
5986
|
+
await this.verifyPageContent(task_title);
|
|
5987
|
+
//Make sure parent release of the selected task is visible on calnedar page
|
|
5988
|
+
await this.verifyPageContent(release_title);
|
|
5989
|
+
}
|
|
5990
|
+
async filterReleaseByStatus(release_status, release_title) {
|
|
5991
|
+
if (!await this.page.locator(".tl-filter-advanced").isVisible()) await this.page.getByRole("button", {
|
|
5992
|
+
name: "Advanced filters"
|
|
5993
|
+
}).click();
|
|
5994
|
+
await this.page.locator(".tl-filter-release-status").locator(".react-tagsinput").click();
|
|
5995
|
+
await this.page.getByTitle(release_status).locator("i").first().click();
|
|
5996
|
+
await this.verifyPageContent(release_title);
|
|
5997
|
+
}
|
|
5998
|
+
async filterReleaseByRisk(release_risk, release_title) {
|
|
5999
|
+
if (!await this.page.locator(".tl-filter-advanced").isVisible()) await this.page.getByRole("button", {
|
|
6000
|
+
name: "Advanced filters"
|
|
6001
|
+
}).click();
|
|
6002
|
+
await this.page.locator(".tl-filter-risk-filter").getByRole("combobox").click();
|
|
6003
|
+
await this.page.getByRole("option", {
|
|
6004
|
+
name: release_risk
|
|
6005
|
+
}).click();
|
|
6006
|
+
await this.verifyPageContent(release_title);
|
|
6007
|
+
}
|
|
6008
|
+
async filterFlaggedRelease(release_title) {
|
|
6009
|
+
if (!await this.page.locator(".tl-filter-advanced").isVisible()) await this.page.getByRole("button", {
|
|
6010
|
+
name: "Advanced filters"
|
|
6011
|
+
}).click();
|
|
6012
|
+
if (await this.page.locator(".tl-filter-flag-only.btn.btn-flat.btn-fixed.button-toggle-filter.active").isVisible()) await this.page.getByRole("button", {
|
|
6013
|
+
name: " Flagged"
|
|
6014
|
+
}).click();
|
|
6015
|
+
await this.verifyPageContent(release_title);
|
|
6016
|
+
}
|
|
6034
6017
|
async viewRelease(release_title, release_id) {
|
|
6035
6018
|
await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
|
|
6036
6019
|
await this.page.getByRole("option", {
|
|
@@ -7308,9 +7291,9 @@ class $0c4084f199d70d72$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
|
|
|
7308
7291
|
}
|
|
7309
7292
|
async setTitle(title) {
|
|
7310
7293
|
await this.phaseLocator.locator(".phase-header .display").click();
|
|
7311
|
-
await this.phaseLocator.locator(
|
|
7312
|
-
await this.phaseLocator.locator(
|
|
7313
|
-
await this.phaseLocator.locator(
|
|
7294
|
+
await this.phaseLocator.locator('.phase-header input[type="text"]').clear();
|
|
7295
|
+
await this.phaseLocator.locator('.phase-header input[type="text"]').fill(title);
|
|
7296
|
+
await this.phaseLocator.locator('.phase-header input[type="text"]').blur();
|
|
7314
7297
|
}
|
|
7315
7298
|
async expectTaskBorderWithColor(taskName, color) {
|
|
7316
7299
|
await (0, $hOLA6$expect)(this.page.locator(`.task-box:has-text('${taskName}')`)).toHaveCSS("border-top-color", color);
|
|
@@ -8575,7 +8558,7 @@ class $6c0f5b52769b32c3$export$9823ddf5e80770e7 extends (0, $9626bc9256ce31f7$ex
|
|
|
8575
8558
|
async addNewInstance(typeName) {
|
|
8576
8559
|
await this.page.locator(`.configuration-type`).filter({
|
|
8577
8560
|
hasText: typeName
|
|
8578
|
-
}).locator(`.new-instance .button`).click({
|
|
8561
|
+
}).locator(`.new-instance .button`).first().click({
|
|
8579
8562
|
force: true
|
|
8580
8563
|
});
|
|
8581
8564
|
return new $6c0f5b52769b32c3$var$ConfigurationInstancePage(this.page);
|