@digital-ai/devops-page-object-release 0.0.76 → 0.0.77

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/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
- class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
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();
@@ -4713,6 +4781,9 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
4713
4781
  this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
4714
4782
  this.variables = new (0, $dfc4ce40cbd0eb71$export$f8e64fcf447db2bf)(page);
4715
4783
  }
4784
+ getFolderSearchInputLocator() {
4785
+ return this.page.locator(".folder-list .folder-list-search input");
4786
+ }
4716
4787
  async openFoldersPage() {
4717
4788
  await this.page.goto("./#/folders");
4718
4789
  await (0, $hOLA6$expect)(this.page).toHaveTitle("Folders / Home - Digital.ai Release");
@@ -4817,9 +4888,9 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
4817
4888
  })).not.toBeVisible();
4818
4889
  }
4819
4890
  async searchFolderByName(folderName) {
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);
4891
+ await this.getFolderSearchInputLocator().click();
4892
+ await this.getFolderSearchInputLocator().clear();
4893
+ await this.getFolderSearchInputLocator().fill(folderName);
4823
4894
  await (0, $hOLA6$expect)(this.page.getByRole("link", {
4824
4895
  name: folderName
4825
4896
  })).toBeVisible();
@@ -5854,7 +5925,8 @@ class $9ca6e63d357957dd$export$922081b54f2ab994 extends (0, $9626bc9256ce31f7$ex
5854
5925
 
5855
5926
 
5856
5927
 
5857
- class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
5928
+
5929
+ class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $b34a21212642e54d$export$7034f81075184002) {
5858
5930
  async openReleaseCalendarPage() {
5859
5931
  await this.page.goto("./#/releases/calendar");
5860
5932
  //Define date format to verify different calendar views
@@ -5959,61 +6031,6 @@ class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $9626bc9256ce31f7$ex
5959
6031
  await (0, $hOLA6$expect)(this.page.getByText(title)).toBeVisible();
5960
6032
  }
5961
6033
  }
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
6034
  async viewRelease(release_title, release_id) {
6018
6035
  await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
6019
6036
  await this.page.getByRole("option", {