@digital-ai/devops-page-object-release 0.0.0-snapshot-20250901143100 → 0.0.0-snapshot-20250904084626
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 +7 -1
- package/dist/main.js +131 -111
- package/dist/main.js.map +1 -1
- package/dist/module.js +131 -111
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +29 -15
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/module.js
CHANGED
|
@@ -18,6 +18,7 @@ import $hOLA6$lodashtoPairs from "lodash/toPairs";
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
+
|
|
21
22
|
class $9626bc9256ce31f7$export$2b65d1d97338f32b {
|
|
22
23
|
constructor(page){
|
|
23
24
|
this.page = page;
|
|
@@ -25,8 +26,6 @@ class $9626bc9256ce31f7$export$2b65d1d97338f32b {
|
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
29
|
class $05d91a1d3381a287$export$34addcca3f0ae43f extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
31
30
|
constructor(page){
|
|
32
31
|
super(page);
|
|
@@ -121,7 +120,125 @@ class $05d91a1d3381a287$export$34addcca3f0ae43f extends (0, $9626bc9256ce31f7$ex
|
|
|
121
120
|
}
|
|
122
121
|
|
|
123
122
|
|
|
124
|
-
|
|
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) {
|
|
125
242
|
constructor(page){
|
|
126
243
|
super(page);
|
|
127
244
|
this.releaseCreatePage = new (0, $05d91a1d3381a287$export$34addcca3f0ae43f)(page);
|
|
@@ -188,49 +305,12 @@ class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $9626bc9256ce31f7$ex
|
|
|
188
305
|
await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Releases")).toBeVisible();
|
|
189
306
|
await (0, $hOLA6$expect)(this.page.locator(".release-list")).toBeVisible();
|
|
190
307
|
}
|
|
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
|
-
}
|
|
199
308
|
async openReleaseByName(releaseTitle) {
|
|
200
309
|
await this.page.locator(".release-line .row-wrapper .release-title-wrapper a", {
|
|
201
310
|
hasText: releaseTitle
|
|
202
311
|
}).click();
|
|
203
312
|
return new (0, $43cbcdfccb6c2a76$export$f43492e8ac3c566)(this.page);
|
|
204
313
|
}
|
|
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
|
-
}
|
|
234
314
|
async createNewRelease(releaseName, description) {
|
|
235
315
|
await this.releaseCreatePage.setName(releaseName);
|
|
236
316
|
await this.releaseCreatePage.setDescription(description);
|
|
@@ -243,18 +323,6 @@ class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $9626bc9256ce31f7$ex
|
|
|
243
323
|
await this.releaseCreatePage.setOwner(ownerName);
|
|
244
324
|
await this.releaseCreatePage.create();
|
|
245
325
|
}
|
|
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
|
-
}
|
|
258
326
|
async openReleasesList() {
|
|
259
327
|
await this.page.goto("./#/releases");
|
|
260
328
|
await (0, $hOLA6$expect)(this.page.locator(".release-list")).toBeVisible();
|
|
@@ -4712,6 +4780,9 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
|
|
|
4712
4780
|
this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
|
|
4713
4781
|
this.variables = new (0, $dfc4ce40cbd0eb71$export$f8e64fcf447db2bf)(page);
|
|
4714
4782
|
}
|
|
4783
|
+
getFolderSearchInputLocator() {
|
|
4784
|
+
return this.page.locator(".folder-list .folder-list-search input");
|
|
4785
|
+
}
|
|
4715
4786
|
async openFoldersPage() {
|
|
4716
4787
|
await this.page.goto("./#/folders");
|
|
4717
4788
|
await (0, $hOLA6$expect)(this.page).toHaveTitle("Folders / Home - Digital.ai Release");
|
|
@@ -4816,9 +4887,9 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
|
|
|
4816
4887
|
})).not.toBeVisible();
|
|
4817
4888
|
}
|
|
4818
4889
|
async searchFolderByName(folderName) {
|
|
4819
|
-
await this.
|
|
4820
|
-
await this.
|
|
4821
|
-
await this.
|
|
4890
|
+
await this.getFolderSearchInputLocator().click();
|
|
4891
|
+
await this.getFolderSearchInputLocator().clear();
|
|
4892
|
+
await this.getFolderSearchInputLocator().fill(folderName);
|
|
4822
4893
|
await (0, $hOLA6$expect)(this.page.getByRole("link", {
|
|
4823
4894
|
name: folderName
|
|
4824
4895
|
})).toBeVisible();
|
|
@@ -5853,7 +5924,8 @@ class $9ca6e63d357957dd$export$922081b54f2ab994 extends (0, $9626bc9256ce31f7$ex
|
|
|
5853
5924
|
|
|
5854
5925
|
|
|
5855
5926
|
|
|
5856
|
-
|
|
5927
|
+
|
|
5928
|
+
class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $b34a21212642e54d$export$7034f81075184002) {
|
|
5857
5929
|
async openReleaseCalendarPage() {
|
|
5858
5930
|
await this.page.goto("./#/releases/calendar");
|
|
5859
5931
|
//Define date format to verify different calendar views
|
|
@@ -5958,61 +6030,6 @@ class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $9626bc9256ce31f7$ex
|
|
|
5958
6030
|
await (0, $hOLA6$expect)(this.page.getByText(title)).toBeVisible();
|
|
5959
6031
|
}
|
|
5960
6032
|
}
|
|
5961
|
-
async filterReleaseByTitle(title) {
|
|
5962
|
-
await this.page.getByPlaceholder("Filter by release title").click();
|
|
5963
|
-
await this.page.getByPlaceholder("Filter by release title").fill(title);
|
|
5964
|
-
await this.page.getByPlaceholder("Filter by release title").press("Enter");
|
|
5965
|
-
//Verify Page has correct Year format displayed at the page bottom
|
|
5966
|
-
await this.verifyPageContent(title);
|
|
5967
|
-
}
|
|
5968
|
-
async filterReleaseByTags(tags, release_title) {
|
|
5969
|
-
await this.page.locator(".tl-filter-release-tags").locator(".react-tagsinput").click();
|
|
5970
|
-
for (let tag of tags){
|
|
5971
|
-
tag = tag.toString();
|
|
5972
|
-
await this.page.locator(".tl-filter-release-tags").locator(".react-tagsinput-input").fill(tag);
|
|
5973
|
-
await this.page.getByTitle(tag).locator("i").click();
|
|
5974
|
-
}
|
|
5975
|
-
await this.verifyPageContent(release_title);
|
|
5976
|
-
}
|
|
5977
|
-
async filterTaskByTags(tags, task_title, release_title) {
|
|
5978
|
-
await this.page.locator(".tl-filter-task-tags").locator(".react-tagsinput").click();
|
|
5979
|
-
for (let tag of tags){
|
|
5980
|
-
tag = tag.toString();
|
|
5981
|
-
await this.page.locator(".tl-filter-task-tags").locator(".react-tagsinput-input").fill(tag);
|
|
5982
|
-
await this.page.getByTitle(tag).locator("i").click();
|
|
5983
|
-
}
|
|
5984
|
-
//Make sure task is visible on calnedar page
|
|
5985
|
-
await this.verifyPageContent(task_title);
|
|
5986
|
-
//Make sure parent release of the selected task is visible on calnedar page
|
|
5987
|
-
await this.verifyPageContent(release_title);
|
|
5988
|
-
}
|
|
5989
|
-
async filterReleaseByStatus(release_status, release_title) {
|
|
5990
|
-
if (!await this.page.locator(".tl-filter-advanced").isVisible()) await this.page.getByRole("button", {
|
|
5991
|
-
name: "Advanced filters"
|
|
5992
|
-
}).click();
|
|
5993
|
-
await this.page.locator(".tl-filter-release-status").locator(".react-tagsinput").click();
|
|
5994
|
-
await this.page.getByTitle(release_status).locator("i").first().click();
|
|
5995
|
-
await this.verifyPageContent(release_title);
|
|
5996
|
-
}
|
|
5997
|
-
async filterReleaseByRisk(release_risk, release_title) {
|
|
5998
|
-
if (!await this.page.locator(".tl-filter-advanced").isVisible()) await this.page.getByRole("button", {
|
|
5999
|
-
name: "Advanced filters"
|
|
6000
|
-
}).click();
|
|
6001
|
-
await this.page.locator(".tl-filter-risk-filter").getByRole("combobox").click();
|
|
6002
|
-
await this.page.getByRole("option", {
|
|
6003
|
-
name: release_risk
|
|
6004
|
-
}).click();
|
|
6005
|
-
await this.verifyPageContent(release_title);
|
|
6006
|
-
}
|
|
6007
|
-
async filterFlaggedRelease(release_title) {
|
|
6008
|
-
if (!await this.page.locator(".tl-filter-advanced").isVisible()) await this.page.getByRole("button", {
|
|
6009
|
-
name: "Advanced filters"
|
|
6010
|
-
}).click();
|
|
6011
|
-
if (await this.page.locator(".tl-filter-flag-only.btn.btn-flat.btn-fixed.button-toggle-filter.active").isVisible()) await this.page.getByRole("button", {
|
|
6012
|
-
name: " Flagged"
|
|
6013
|
-
}).click();
|
|
6014
|
-
await this.verifyPageContent(release_title);
|
|
6015
|
-
}
|
|
6016
6033
|
async viewRelease(release_title, release_id) {
|
|
6017
6034
|
await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
|
|
6018
6035
|
await this.page.getByRole("option", {
|
|
@@ -8462,6 +8479,9 @@ class $2cbb78eec86d0a9f$export$2edf430132ca35d0 extends (0, $9626bc9256ce31f7$ex
|
|
|
8462
8479
|
hasText: "Changes saved successfully"
|
|
8463
8480
|
})).toBeVisible();
|
|
8464
8481
|
await this.page.locator(".success").getByRole("button").click();
|
|
8482
|
+
await (0, $hOLA6$expect)(this.page.locator(".success").filter({
|
|
8483
|
+
hasText: "Changes saved successfully"
|
|
8484
|
+
})).not.toBeVisible();
|
|
8465
8485
|
return this;
|
|
8466
8486
|
}
|
|
8467
8487
|
async reset() {
|