@digital-ai/devops-page-object-release 0.0.76 → 0.0.78
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 +12 -0
- package/dist/main.js +132 -113
- package/dist/main.js.map +1 -1
- package/dist/module.js +132 -113
- 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 +1 -1
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();
|
|
@@ -3242,8 +3310,7 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
|
|
|
3242
3310
|
async abort(comment = "Abort for testing") {
|
|
3243
3311
|
await this.page.getByTestId("abort-btn").waitFor();
|
|
3244
3312
|
await this.page.getByTestId("abort-btn").click();
|
|
3245
|
-
await this.page.getByPlaceholder("
|
|
3246
|
-
await this.page.getByPlaceholder("Give feedback or place a").fill(comment);
|
|
3313
|
+
await this.page.getByPlaceholder("Provide a reason").fill(comment);
|
|
3247
3314
|
await this.page.getByRole("button", {
|
|
3248
3315
|
name: "Abort"
|
|
3249
3316
|
}).click();
|
|
@@ -4713,6 +4780,9 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
|
|
|
4713
4780
|
this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
|
|
4714
4781
|
this.variables = new (0, $dfc4ce40cbd0eb71$export$f8e64fcf447db2bf)(page);
|
|
4715
4782
|
}
|
|
4783
|
+
getFolderSearchInputLocator() {
|
|
4784
|
+
return this.page.locator(".folder-list .folder-list-search input");
|
|
4785
|
+
}
|
|
4716
4786
|
async openFoldersPage() {
|
|
4717
4787
|
await this.page.goto("./#/folders");
|
|
4718
4788
|
await (0, $hOLA6$expect)(this.page).toHaveTitle("Folders / Home - Digital.ai Release");
|
|
@@ -4817,9 +4887,9 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
|
|
|
4817
4887
|
})).not.toBeVisible();
|
|
4818
4888
|
}
|
|
4819
4889
|
async searchFolderByName(folderName) {
|
|
4820
|
-
await this.
|
|
4821
|
-
await this.
|
|
4822
|
-
await this.
|
|
4890
|
+
await this.getFolderSearchInputLocator().click();
|
|
4891
|
+
await this.getFolderSearchInputLocator().clear();
|
|
4892
|
+
await this.getFolderSearchInputLocator().fill(folderName);
|
|
4823
4893
|
await (0, $hOLA6$expect)(this.page.getByRole("link", {
|
|
4824
4894
|
name: folderName
|
|
4825
4895
|
})).toBeVisible();
|
|
@@ -5854,7 +5924,8 @@ class $9ca6e63d357957dd$export$922081b54f2ab994 extends (0, $9626bc9256ce31f7$ex
|
|
|
5854
5924
|
|
|
5855
5925
|
|
|
5856
5926
|
|
|
5857
|
-
|
|
5927
|
+
|
|
5928
|
+
class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $b34a21212642e54d$export$7034f81075184002) {
|
|
5858
5929
|
async openReleaseCalendarPage() {
|
|
5859
5930
|
await this.page.goto("./#/releases/calendar");
|
|
5860
5931
|
//Define date format to verify different calendar views
|
|
@@ -5959,61 +6030,6 @@ class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $9626bc9256ce31f7$ex
|
|
|
5959
6030
|
await (0, $hOLA6$expect)(this.page.getByText(title)).toBeVisible();
|
|
5960
6031
|
}
|
|
5961
6032
|
}
|
|
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
|
-
}
|
|
6017
6033
|
async viewRelease(release_title, release_id) {
|
|
6018
6034
|
await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
|
|
6019
6035
|
await this.page.getByRole("option", {
|
|
@@ -8463,6 +8479,9 @@ class $2cbb78eec86d0a9f$export$2edf430132ca35d0 extends (0, $9626bc9256ce31f7$ex
|
|
|
8463
8479
|
hasText: "Changes saved successfully"
|
|
8464
8480
|
})).toBeVisible();
|
|
8465
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();
|
|
8466
8485
|
return this;
|
|
8467
8486
|
}
|
|
8468
8487
|
async reset() {
|