@digital-ai/devops-page-object-release 0.0.16 → 0.0.17

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
@@ -25,7 +25,45 @@ class $9626bc9256ce31f7$export$2b65d1d97338f32b {
25
25
  }
26
26
 
27
27
 
28
+
29
+ class $05d91a1d3381a287$export$34addcca3f0ae43f extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
30
+ constructor(page){
31
+ super(page);
32
+ }
33
+ async setName(releaseName) {
34
+ await this.page.locator("#release-form-title").click();
35
+ await this.page.locator("#release-form-title").fill(releaseName);
36
+ }
37
+ async setDescription(description) {
38
+ await this.page.locator(".release-description").hover();
39
+ await this.page.locator(".display").filter({
40
+ hasText: "Set description"
41
+ }).locator(".edit-icon").click();
42
+ await this.page.locator("textarea").click();
43
+ await this.page.locator("textarea").clear();
44
+ await this.page.locator("textarea").fill(description);
45
+ await this.page.getByText("Save", {
46
+ exact: true
47
+ }).click();
48
+ }
49
+ async create() {
50
+ await this.page.getByRole("button", {
51
+ name: "Create"
52
+ }).waitFor({
53
+ state: "visible"
54
+ });
55
+ await this.page.getByRole("button", {
56
+ name: "Create"
57
+ }).click();
58
+ }
59
+ }
60
+
61
+
28
62
  class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
63
+ constructor(page){
64
+ super(page);
65
+ this.releaseCreatePage = new (0, $05d91a1d3381a287$export$34addcca3f0ae43f)(page);
66
+ }
29
67
  async expectNumberOfReleases(releaseTitle, amount) {
30
68
  await this.filterReleaseByTitle(releaseTitle);
31
69
  if (amount === 1) await (0, $hOLA6$expect)(this.page.locator(".release").getByText(releaseTitle)).toBeVisible({
@@ -33,6 +71,10 @@ class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $9626bc9256ce31f7$ex
33
71
  });
34
72
  else await (0, $hOLA6$expect)(this.page.locator(".release").getByText(releaseTitle).count()).toBe(amount);
35
73
  }
74
+ async filterReleaseByAllStatus() {
75
+ await this.page.locator(".ci-status .remaining-tags").getByText("more").click();
76
+ await this.page.locator(".ci-status .xl-react-link").getByText("Select all").click();
77
+ }
36
78
  async openReleaseByName(releaseTitle) {
37
79
  await this.page.locator(".release-line .row-wrapper .release-title-wrapper a", {
38
80
  hasText: releaseTitle
@@ -45,6 +87,12 @@ class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $9626bc9256ce31f7$ex
45
87
  await this.page.locator(".searchFilter").press("Enter");
46
88
  await (0, $hOLA6$expect)(this.page.locator(".release").getByText(releaseTitle)).toBeVisible();
47
89
  }
90
+ async createNewRelease(releaseName, description) {
91
+ await this.releaseCreatePage.setName(releaseName);
92
+ await this.releaseCreatePage.setDescription(description);
93
+ await this.releaseCreatePage.create();
94
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Flow")).toBeVisible();
95
+ }
48
96
  }
49
97
 
50
98
 
@@ -312,7 +360,7 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
312
360
  await this.page.getByTestId("single-action-button").click();
313
361
  await this.page.getByTestId("task-action-comment").click();
314
362
  await this.page.getByTestId("task-action-comment").fill(comment);
315
- await this.page.getByTestId("task-action-confirm").click();
363
+ await this.page.getByTestId("dot-button").click();
316
364
  }
317
365
  async expectDependenciesDisplayed(dependencies) {
318
366
  await this.railLocator.locator(".gate-task-dependencies").waitFor();
@@ -321,24 +369,19 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
321
369
  })).toBeVisible();
322
370
  }
323
371
  async expectCanDeleteDependency(title, canDelete = true) {
324
- if (canDelete) {
325
- const locat = this.page.locator(".dependency").filter({
326
- has: this.page.getByRole("link", {
327
- name: title,
328
- exact: true
329
- })
330
- }).locator(".icon-options");
331
- await locat.isVisible();
332
- await locat.click();
333
- await (0, $hOLA6$expect)(this.railLocator.getByRole("menuitem", {
334
- name: "Remove"
335
- })).toBeVisible();
336
- } else await (0, $hOLA6$expect)(this.page.locator(".dependency").filter({
372
+ const depOptionsIcon = this.page.locator(".dependency").filter({
337
373
  has: this.page.getByRole("link", {
338
374
  name: title,
339
375
  exact: true
340
376
  })
341
- }).locator(".icon-options")).not.toBeVisible();
377
+ }).locator(".icon-options");
378
+ if (canDelete) {
379
+ await depOptionsIcon.isVisible();
380
+ await depOptionsIcon.click();
381
+ await (0, $hOLA6$expect)(this.railLocator.getByRole("menuitem", {
382
+ name: "Remove"
383
+ })).toBeVisible();
384
+ } else await (0, $hOLA6$expect)(depOptionsIcon).not.toBeVisible();
342
385
  }
343
386
  async getDependencyCount() {
344
387
  await (0, $hOLA6$expect)(this.railLocator.locator(".gate-task-dependencies")).toBeVisible();
@@ -357,20 +400,20 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
357
400
  }).first()).toBeVisible();
358
401
  }
359
402
  async clickEditDependency(dependencies) {
360
- const locat = this.page.locator(".dependency").filter({
403
+ const depOptionsIcon = this.page.locator(".dependency").filter({
361
404
  has: this.page.getByRole("link", {
362
405
  name: dependencies,
363
406
  exact: true
364
407
  })
365
408
  }).locator(".icon-options");
366
- await locat.isVisible();
367
- await locat.click();
409
+ await depOptionsIcon.isVisible();
410
+ await depOptionsIcon.click();
368
411
  const frame = this.page.getByTestId("undefined-menu");
369
412
  if (await frame.isVisible()) await this.railLocator.getByRole("menuitem", {
370
413
  name: "Edit"
371
414
  }).click();
372
415
  else {
373
- await locat.nth(1).click();
416
+ await depOptionsIcon.click();
374
417
  await this.railLocator.getByRole("menuitem", {
375
418
  name: "Edit"
376
419
  }).click();
@@ -403,21 +446,23 @@ class $90bb70a7e909e500$export$fbbf45eff21470e3 extends (0, $9626bc9256ce31f7$ex
403
446
  async setRelease(releaseTitle) {
404
447
  await this.release.click();
405
448
  await this.release.fill(releaseTitle);
449
+ await this.page.getByRole("option", {
450
+ name: releaseTitle
451
+ }).waitFor();
406
452
  await this.page.getByRole("option", {
407
453
  name: releaseTitle
408
454
  }).click();
409
455
  }
410
456
  async save() {
411
- await (0, $hOLA6$expect)(this.dependencyLocator.getByRole("button", {
412
- name: "OK"
413
- })).toBeEnabled();
414
- await this.dependencyLocator.getByRole("button", {
415
- name: "OK"
416
- }).click();
457
+ await (0, $hOLA6$expect)(this.dependencyLocator.getByTestId("save-button")).toBeVisible();
458
+ await this.dependencyLocator.getByTestId("save-button").click();
417
459
  }
418
460
  async setPhase(phaseTitle) {
419
461
  await this.phase.click();
420
462
  await this.phase.fill("");
463
+ await this.page.getByRole("option", {
464
+ name: phaseTitle
465
+ }).waitFor();
421
466
  await this.page.getByRole("option", {
422
467
  name: phaseTitle
423
468
  }).click();
@@ -438,6 +483,7 @@ class $90bb70a7e909e500$export$fbbf45eff21470e3 extends (0, $9626bc9256ce31f7$ex
438
483
  (0, $hOLA6$expect)(variablemode).toBe("" + mode + "");
439
484
  }
440
485
  async clickVariable() {
486
+ await this.dependencyLocator.getByLabel("input-variable").waitFor();
441
487
  await this.dependencyLocator.getByLabel("input-variable").click();
442
488
  }
443
489
  //TODO: getAttribute('value') is not working as expected. Need to be fixed with better alternative.
@@ -531,7 +577,7 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
531
577
  });
532
578
  this.cancelButton = this.page.getByTestId("task-action-cancel");
533
579
  this.commentBox = this.page.getByTestId("task-action-comment");
534
- this.confirm = this.page.getByTestId("task-action-confirm");
580
+ this.confirm = this.page.getByTestId("dot-button");
535
581
  this.activity = new (0, $69e86f559cdf2bd0$export$15d3f9b095bb5188)(page);
536
582
  this.attachment = new (0, $9c357602b6f466e7$export$aa59788fdecae2f2)(page);
537
583
  this.config = new (0, $e44e9af564fb00f7$export$64c93bc7fb9ca44e)(page);
@@ -540,6 +586,13 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
540
586
  this.skipMenu = this.page.getByRole("menuitem", {
541
587
  name: "Skip"
542
588
  });
589
+ this.failMenu = this.page.getByRole("menuitem", {
590
+ name: "Fail"
591
+ });
592
+ this.openMenu = this.page.getByRole("button", {
593
+ name: "arrow-down icon",
594
+ exact: true
595
+ });
543
596
  }
544
597
  async openOverviewRail() {
545
598
  await this.openRail("Overview");
@@ -569,19 +622,23 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
569
622
  await this.taskDrawerLocator.locator(".task-drawer-header").getByTestId("close-btn").click();
570
623
  }
571
624
  async retryTask(comment) {
625
+ await this.page.waitForTimeout(1000);
572
626
  await this.retryButton.click();
573
627
  await this.commentBox.fill(comment);
574
628
  await this.confirm.click();
575
629
  }
576
630
  async skipTask(comment) {
577
- await this.page.getByRole("button", {
578
- name: "arrow-down icon",
579
- exact: true
580
- }).click();
631
+ await this.openMenu.click();
581
632
  await this.skipMenu.click();
582
633
  await this.commentBox.fill(comment);
583
634
  await this.confirm.click();
584
635
  }
636
+ async failTask(comment) {
637
+ await this.openMenu.click();
638
+ await this.failMenu.click();
639
+ await this.commentBox.fill(comment);
640
+ await this.confirm.click();
641
+ }
585
642
  async expectTaskTitle(taskTitle) {
586
643
  (0, $hOLA6$expect)(await this.page.locator(".task-drawer .task-title-input .dot-view-mode-typography").innerText()).toContain(taskTitle);
587
644
  }
@@ -589,12 +646,20 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
589
646
  (0, $hOLA6$expect)(await this.page.locator(".task-drawer .task-type").innerText()).toContain(taskType);
590
647
  }
591
648
  async clickExpand() {
592
- await this.page.locator(".icon-fullscreen-enter").click();
593
- await (0, $hOLA6$expect)(this.page.locator(".icon-fullscreen-enter")).not.toBeVisible();
649
+ await this.page.getByRole("tooltip", {
650
+ name: "Expand"
651
+ }).getByTestId("expand-btn").click();
652
+ await (0, $hOLA6$expect)(this.page.getByRole("tooltip", {
653
+ name: "Shrink"
654
+ }).getByTestId("expand-btn")).toBeVisible();
594
655
  }
595
656
  async clickShrink() {
596
- await this.page.locator(".icon-fullscreen-exit").click();
597
- await (0, $hOLA6$expect)(this.page.locator(".icon-fullscreen-exit")).not.toBeVisible();
657
+ await this.page.getByRole("tooltip", {
658
+ name: "Shrink"
659
+ }).getByTestId("expand-btn").click();
660
+ await (0, $hOLA6$expect)(this.page.getByRole("tooltip", {
661
+ name: "Expand"
662
+ }).getByTestId("expand-btn")).toBeVisible();
598
663
  }
599
664
  async expectAssignedTo(username) {
600
665
  await (0, $hOLA6$expect)(this.page.getByRole("button", {
@@ -624,6 +689,15 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
624
689
  const regexPattern = new RegExp(`${flagComment}.*${flagName}`, "i");
625
690
  await (0, $hOLA6$expect)(this.page.getByText(regexPattern)).toBeVisible();
626
691
  }
692
+ async expectStartDateToBeDisplayed() {
693
+ await (0, $hOLA6$expect)(this.page.getByTestId("start-date-title")).toHaveCount(1);
694
+ }
695
+ async expectEndDateToBeDisplayed() {
696
+ await (0, $hOLA6$expect)(this.page.getByTestId("end-date-title")).toHaveCount(1);
697
+ }
698
+ async expectStartDateAndEndDateToBeDisplayed() {
699
+ await (0, $hOLA6$expect)(this.page.getByTestId("month-and-year")).toHaveCount(2);
700
+ }
627
701
  }
628
702
 
629
703
 
@@ -806,12 +880,95 @@ class $c9bb587dd92143c3$export$d1077068a9cc9f17 extends (0, $9626bc9256ce31f7$ex
806
880
  }
807
881
 
808
882
 
883
+
884
+
885
+
886
+ class $71075ce65fcede1d$export$9b575f14aa5e09a1 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
887
+ constructor(page){
888
+ super(page);
889
+ }
890
+ async openDatePicker(selector) {
891
+ await this.page.locator(`${selector} .date`).click();
892
+ }
893
+ /**
894
+ * Setting date, month and year from calendar picker
895
+ */ async setDate(date, monthYear) {
896
+ const prev = this.page.locator(".datepicker-days .prev");
897
+ const next = this.page.locator(".datepicker-days .next");
898
+ const monYear = this.page.locator(".datepicker-days .datepicker-switch");
899
+ const thisMonth = (0, $hOLA6$moment)(monthYear, "MMMM YYYY").isBefore();
900
+ while(await monYear.textContent() != monthYear)if (thisMonth) await prev.click();
901
+ else await next.click();
902
+ await this.page.getByRole("cell", {
903
+ name: "" + date + ""
904
+ }).first().click();
905
+ }
906
+ async expectDurationToBe(duration) {
907
+ (0, $hOLA6$expect)(await this.page.locator(".duration-editor").textContent()).toBe(duration);
908
+ }
909
+ async setDuration(days, hours, mins) {
910
+ await this.page.locator(".duration-editor").click();
911
+ if (typeof days !== "undefined") await this.page.locator(".days").fill(days);
912
+ if (typeof hours !== "undefined") await this.page.locator(".hours").fill(hours);
913
+ if (typeof mins !== "undefined") await this.page.locator(".minutes").fill(mins);
914
+ await this.page.keyboard.press("Enter");
915
+ }
916
+ async expectTimeToBe(selector, format, date) {
917
+ if (typeof date === "string") date = new Date(date);
918
+ const formattedDate = (0, $hOLA6$moment)(date).format(format);
919
+ const input = this.page.locator(`${selector}`);
920
+ await (0, $hOLA6$expect)(input).toBeVisible();
921
+ const value = await input.inputValue();
922
+ (0, $hOLA6$expect)(value).toBe(formattedDate);
923
+ }
924
+ }
925
+
926
+
927
+
928
+
929
+
930
+ class $87bbb6d35ad31a00$export$f8f26dd395d7e1bd extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
931
+ constructor(page){
932
+ super(page);
933
+ this.tempDir = "";
934
+ this.content = "";
935
+ this.closeIcon = this.page.locator(".xl-icon.close-icon");
936
+ }
937
+ async createTempFile(fileName, testInfo) {
938
+ const content = fileName.toString();
939
+ const tempDir = testInfo.outputPath(fileName.toString());
940
+ $hOLA6$promises.writeFile(tempDir, content, "utf8");
941
+ }
942
+ async expandAllFolders() {
943
+ const icExpandTreeview1 = this.page.locator(".rstm-toggle-icon.xl-icon.arrow-right-icon");
944
+ for (const element of (await icExpandTreeview1.all())){
945
+ const blnVal = await element.isVisible();
946
+ if (blnVal) {
947
+ await element.click();
948
+ await this.expandAllFolders();
949
+ }
950
+ }
951
+ await (0, $hOLA6$expect)(icExpandTreeview1).not.toBeVisible();
952
+ }
953
+ async openSideNavMenu(menuItem) {
954
+ await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
955
+ exact: true
956
+ }).click();
957
+ }
958
+ async clickCloseIcon() {
959
+ await this.closeIcon.click();
960
+ }
961
+ }
962
+
963
+
809
964
  class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
810
965
  constructor(page){
811
966
  super(page);
812
967
  this.taskDrawer = new (0, $8e39246218b802fc$export$e946776eae644790)(page);
968
+ this.phaseTitle = this.page.locator(".phase .phase-title");
813
969
  this.properties = new (0, $c9bb587dd92143c3$export$d1077068a9cc9f17)(page);
814
970
  this.variables = new (0, $f48771b486a3eb8f$export$a87f0ae8695e74be)(page);
971
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
815
972
  }
816
973
  async openTriggers() {
817
974
  await this.openSubPage("Triggers");
@@ -855,6 +1012,11 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
855
1012
  timeout: 10000
856
1013
  });
857
1014
  }
1015
+ async waitForTaskInProgress(taskTitle) {
1016
+ await (0, $hOLA6$expect)(this.page.locator(".task.in_progress").getByText(taskTitle, {
1017
+ exact: true
1018
+ })).toBeVisible();
1019
+ }
858
1020
  async waitForTaskFailed(taskTitle) {
859
1021
  await (0, $hOLA6$expect)(this.page.locator(".task.failed").getByText(taskTitle, {
860
1022
  exact: true
@@ -869,6 +1031,13 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
869
1031
  timeout: 10000
870
1032
  });
871
1033
  }
1034
+ async waitForTaskSkippedInAdvance(taskTitle) {
1035
+ await (0, $hOLA6$expect)(this.page.locator(".task.skipped_in_advance").getByText(taskTitle, {
1036
+ exact: true
1037
+ })).toBeVisible({
1038
+ timeout: 10000
1039
+ });
1040
+ }
872
1041
  async waitForTaskAborted(taskTitle) {
873
1042
  await (0, $hOLA6$expect)(this.page.locator(".task.aborted").getByText(taskTitle, {
874
1043
  exact: true
@@ -907,7 +1076,7 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
907
1076
  }).click();
908
1077
  await this.page.getByTestId("task-action-comment").click();
909
1078
  await this.page.getByTestId("task-action-comment").fill(comment);
910
- await this.page.getByTestId("task-action-confirm").click();
1079
+ await this.page.getByTestId("dot-button").click();
911
1080
  }
912
1081
  async openTaskDrawer(taskName) {
913
1082
  await this.page.locator(".task-header").getByText(taskName, {
@@ -928,25 +1097,32 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
928
1097
  return this.taskDrawer;
929
1098
  }
930
1099
  async openVariables() {
931
- await this.openReleaseMenu("Variables");
1100
+ await this.util.openSideNavMenu("Variables");
1101
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Variables")).toBeVisible();
932
1102
  }
933
1103
  async openProperties() {
934
- await this.openReleaseMenu("Properties");
1104
+ await this.util.openSideNavMenu("Properties");
1105
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Properties")).toBeVisible();
935
1106
  }
936
1107
  async openReleaseFlow() {
937
- await this.openReleaseMenu("Release flow");
1108
+ await this.util.openSideNavMenu("Flow");
1109
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Flow")).toBeVisible();
938
1110
  }
939
1111
  async openRelationships() {
940
- await this.openReleaseMenu("Relationships");
1112
+ await this.util.openSideNavMenu("Relationships");
1113
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Relationships")).toBeVisible();
941
1114
  }
942
1115
  async openTeamsPermissions() {
943
- await this.openReleaseMenu("Teams & Permissions");
1116
+ await this.util.openSideNavMenu("Teams & Permissions");
1117
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Teams & Permissions")).toBeVisible();
944
1118
  }
945
1119
  async openDashboard() {
946
- await this.openReleaseMenu("Dashboard");
1120
+ await this.util.openSideNavMenu("Dashboard");
1121
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Dashboard")).toBeVisible();
947
1122
  }
948
1123
  async openActivityLogs() {
949
- await this.openReleaseMenu("ActivityLogs");
1124
+ await this.util.openSideNavMenu("Activity logs");
1125
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Activity logs")).toBeVisible();
950
1126
  }
951
1127
  async openReleaseMenu(menuItem) {
952
1128
  await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
@@ -983,15 +1159,17 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
983
1159
  }
984
1160
  }
985
1161
  }
986
- async backToRelease() {
987
- await this.page.locator(".icon-back").click();
1162
+ async expectTemplateLabelNotToBePresent() {
1163
+ await (0, $hOLA6$expect)(this.page.locator(".dot-chip").filter({
1164
+ hasText: "TEMPLATE"
1165
+ })).not.toBeVisible();
988
1166
  }
989
1167
  async openTableView() {
990
- await this.page.locator(".xl-icon.table-icon").click();
1168
+ await this.util.openSideNavMenu("Table");
991
1169
  await (0, $hOLA6$expect)(this.page.locator(".release-grid-container")).toBeVisible();
992
1170
  }
993
1171
  async openPlannerView() {
994
- await this.page.locator(".xl-icon.planner-icon").click();
1172
+ await this.util.openSideNavMenu("Planner");
995
1173
  await (0, $hOLA6$expect)(this.page.locator(".gantt-container")).toBeVisible();
996
1174
  }
997
1175
  async expandGanttFolder() {
@@ -1004,6 +1182,9 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
1004
1182
  }
1005
1183
  }
1006
1184
  }
1185
+ async backToRelease() {
1186
+ await this.page.locator(".icon-back").click();
1187
+ }
1007
1188
  async expectTitleToBeInBreadcrumbLink(title) {
1008
1189
  await (0, $hOLA6$expect)(this.page.locator(".dot-breadcrumbs a", {
1009
1190
  hasText: title
@@ -1014,6 +1195,41 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
1014
1195
  hasText: title
1015
1196
  })).toBeVisible();
1016
1197
  }
1198
+ async addNewPhase(phaseName) {
1199
+ await this.page.getByTestId("add-phase-btn").click();
1200
+ if (phaseName) {
1201
+ await this.phaseTitle.getByText("New Phase").click();
1202
+ await this.phaseTitle.getByRole("textbox").clear();
1203
+ await this.phaseTitle.getByRole("textbox").fill(phaseName);
1204
+ await this.page.keyboard.press("Enter");
1205
+ await (0, $hOLA6$expect)(this.phaseTitle.filter({
1206
+ hasText: phaseName
1207
+ })).toBeVisible();
1208
+ }
1209
+ }
1210
+ async renamePhase(oldPhaseName, newPhaseName) {
1211
+ await this.phaseTitle.getByText(oldPhaseName).click();
1212
+ await this.phaseTitle.filter({
1213
+ hasText: oldPhaseName
1214
+ }).locator(".editable").clear();
1215
+ await this.phaseTitle.filter({
1216
+ hasText: oldPhaseName
1217
+ }).locator(".editable").fill(newPhaseName);
1218
+ await this.page.keyboard.press("Enter");
1219
+ await (0, $hOLA6$expect)(this.phaseTitle.filter({
1220
+ hasText: newPhaseName
1221
+ })).toBeVisible();
1222
+ }
1223
+ async exportRelease() {
1224
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
1225
+ this.page.on("download", ()=>{});
1226
+ await this.page.getByTestId("template-export-btn").click();
1227
+ const downloadPromise = this.page.waitForEvent("download");
1228
+ await this.page.getByRole("link", {
1229
+ name: "Audit report (Excel)"
1230
+ }).click();
1231
+ await downloadPromise;
1232
+ }
1017
1233
  }
1018
1234
  class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1019
1235
  constructor(page, phaseName){
@@ -1021,6 +1237,9 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
1021
1237
  this.phaseLocator = page.locator(".phase", {
1022
1238
  hasText: phaseName
1023
1239
  });
1240
+ this.commentBox = this.page.locator(`.input-block-level`);
1241
+ this.confirm = this.page.getByTestId("dot-button");
1242
+ this.dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(page);
1024
1243
  }
1025
1244
  async setTitle(title) {
1026
1245
  await this.phaseLocator.locator(".phase-header .display").click();
@@ -1031,25 +1250,16 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
1031
1250
  async expectTaskBorderWithColor(taskName, color) {
1032
1251
  await (0, $hOLA6$expect)(this.page.locator(`.task-box:has-text('${taskName}')`)).toHaveCSS("border-top-color", color);
1033
1252
  }
1034
- async addTaskInPhase(taskTitle, taskType) {
1253
+ async addTaskInPhase(taskTitle, taskGroup, taskType) {
1035
1254
  await this.phaseLocator.getByText("Add task").click();
1036
- await this.phaseLocator.getByPlaceholder("Task title...").click();
1037
- await this.phaseLocator.getByPlaceholder("Task title...").fill(taskTitle);
1038
- await this.phaseLocator.locator(".xlr-ctx-menu-toggle").click();
1039
- const count = taskType.length - 1;
1040
- for(let i = 0; i < count; i++){
1041
- await this.page.locator('[data-test="' + taskType[i] + '"]').getByText(taskType[i]).click();
1042
- await this.page.getByText(taskType[i + 1]).click();
1043
- }
1044
- await this.phaseLocator.locator(".quick-controls-container a").getByText("Add", {
1255
+ await this.phaseLocator.getByLabel("Open", {
1045
1256
  exact: true
1046
1257
  }).click();
1047
- await this.phaseLocator.locator(".button.cancel").click();
1048
- await (0, $hOLA6$expect)(this.phaseLocator.locator(".task").filter({
1049
- hasText: taskTitle
1050
- })).toBeVisible({
1051
- timeout: 5000
1052
- });
1258
+ await this.phaseLocator.getByPlaceholder("Start typing to filter task").fill(taskGroup);
1259
+ await this.page.getByTestId(taskType).click();
1260
+ await this.phaseLocator.locator("#task-title").fill(taskTitle);
1261
+ await this.phaseLocator.getByTestId("save-select-task-btn").click();
1262
+ await (0, $hOLA6$expect)(this.phaseLocator.getByText(taskTitle)).toBeVisible();
1053
1263
  }
1054
1264
  async getNumberOfTasks() {
1055
1265
  return await this.phaseLocator.locator(".task").count();
@@ -1065,6 +1275,90 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
1065
1275
  hasText: "TEMPLATE"
1066
1276
  })).not.toBeVisible();
1067
1277
  }
1278
+ async openContextMenuForTask(taskTitle) {
1279
+ await this.phaseLocator.locator(".task").filter({
1280
+ hasText: taskTitle
1281
+ }).locator(".context-menu-button").click();
1282
+ }
1283
+ async skipFromContextMenu(comment, taskTitle) {
1284
+ await this.openContextMenuForTask(taskTitle);
1285
+ await this.page.locator(".dropdown-menu li").getByText("Skip").click();
1286
+ await this.commentBox.fill(comment);
1287
+ await this.page.getByRole("button", {
1288
+ name: "Skip",
1289
+ exact: true
1290
+ }).click();
1291
+ }
1292
+ async openPhaseDetails() {
1293
+ await this.phaseLocator.locator(".phase-details").click();
1294
+ }
1295
+ async close() {
1296
+ await this.page.locator("button[type='button'] i[class='xl-icon close-icon']").click();
1297
+ }
1298
+ async expectStartDateToBeDisplayed() {
1299
+ await (0, $hOLA6$expect)(this.page.locator(".modal .start-date")).toBeVisible();
1300
+ }
1301
+ async expectDueDateToBeDisplayed() {
1302
+ await (0, $hOLA6$expect)(this.page.locator(".modal .due-date")).toBeVisible();
1303
+ }
1304
+ async expectEndDateToBeDisplayed() {
1305
+ await (0, $hOLA6$expect)(this.page.locator(".modal .end-date")).toBeVisible();
1306
+ }
1307
+ async setTitleFromPhaseDetails(title) {
1308
+ await this.page.locator("h4.phase-title").click();
1309
+ await this.page.locator("h4.phase-title input").fill(title);
1310
+ await this.page.locator("h4.phase-title input").press("Enter");
1311
+ await (0, $hOLA6$expect)(this.page.locator("h4.phase-title")).toContainText(title);
1312
+ }
1313
+ async setDueDateFromPhaseDetails(date, monthYear) {
1314
+ await this.dateUtil.openDatePicker(".modal .due-date .date-editor");
1315
+ await this.dateUtil.setDate(date, monthYear);
1316
+ }
1317
+ async setScheduledStartDateFromPhaseDetails(date, monthYear) {
1318
+ await this.dateUtil.openDatePicker(".modal .scheduled-start-date .date-editor");
1319
+ await this.dateUtil.setDate(date, monthYear);
1320
+ }
1321
+ async expectDurationToBe(duration) {
1322
+ await this.dateUtil.expectDurationToBe(duration);
1323
+ }
1324
+ async setDurationFromPhaseDetails(days, hours, mins) {
1325
+ await this.dateUtil.setDuration(days, hours, mins);
1326
+ }
1327
+ async expectDueTimeToBe(format, date) {
1328
+ await this.dateUtil.expectTimeToBe(".modal .due-date .time-picker-holder input", format, date);
1329
+ }
1330
+ async deleteTaskInPhase(taskName) {
1331
+ await this.page.locator(".task").filter({
1332
+ hasText: taskName
1333
+ }).locator(".xl-icon.options-icon").click();
1334
+ await this.page.locator(".remove-task-button").click();
1335
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
1336
+ name: "Delete Task"
1337
+ })).toBeVisible();
1338
+ await this.page.getByRole("button", {
1339
+ name: "Delete"
1340
+ }).click();
1341
+ await (0, $hOLA6$expect)(this.phaseLocator.locator("li").filter({
1342
+ hasText: taskName
1343
+ })).not.toBeVisible();
1344
+ }
1345
+ async deletePhase(phaseName) {
1346
+ await this.phaseLocator.locator(".phase-header").filter({
1347
+ hasText: phaseName
1348
+ }).locator(".actions").hover();
1349
+ await this.phaseLocator.locator(".phase-header").filter({
1350
+ hasText: phaseName
1351
+ }).locator(".delete-icon").click();
1352
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
1353
+ name: "Delete Phase"
1354
+ })).toBeVisible();
1355
+ await this.page.getByRole("button", {
1356
+ name: "Delete"
1357
+ }).click();
1358
+ await (0, $hOLA6$expect)(this.phaseLocator.locator(".phase-header").filter({
1359
+ hasText: phaseName
1360
+ })).not.toBeVisible();
1361
+ }
1068
1362
  }
1069
1363
 
1070
1364
 
@@ -1098,21 +1392,19 @@ class $c313b10398604df2$export$1533b625ec0c75e2 extends (0, $9626bc9256ce31f7$ex
1098
1392
  }
1099
1393
 
1100
1394
 
1101
-
1102
-
1103
- class $6720a523bcb1cce0$export$3cac5fd37ae64b91 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1104
- async openPersonalAccessTokenPage() {
1105
- // await this.page.locator("button.dot-avatar").click()
1106
- // await this.page.locator("//div[normalize-space()='Access tokens']").click()
1107
- await this.page.goto("./#/personal-access-token");
1108
- await (0, $hOLA6$expect)(this.page).toHaveTitle("Access tokens / Personal settings - Digital.ai Release");
1109
- return this;
1395
+ class $b14c3492cf934ea2$export$e40b5d3c74b04c89 {
1396
+ static codePointA = 65;
1397
+ static codePointZ = 90;
1398
+ static getString() {
1399
+ return Math.random().toString(36).substring(2);
1110
1400
  }
1111
- async addNewToken(tokenName) {
1112
- //await expect(this.page).toHaveTitle('Access tokens / Personal settings - Digital.ai Release')
1113
- await this.page.locator("#tokenText").fill(tokenName);
1114
- await this.page.locator("button[type='submit']").click();
1115
- return this;
1401
+ static getNumber(min, max) {
1402
+ return Math.floor(Math.random() * (max - min + 1) + min);
1403
+ }
1404
+ static getAlphabetsString(length) {
1405
+ let alphabets = "";
1406
+ for(let i = 0; i < length; i++)alphabets += String.fromCharCode($b14c3492cf934ea2$export$e40b5d3c74b04c89.getNumber($b14c3492cf934ea2$export$e40b5d3c74b04c89.codePointA, $b14c3492cf934ea2$export$e40b5d3c74b04c89.codePointZ));
1407
+ return alphabets;
1116
1408
  }
1117
1409
  }
1118
1410
 
@@ -1121,50 +1413,482 @@ class $6720a523bcb1cce0$export$3cac5fd37ae64b91 extends (0, $9626bc9256ce31f7$ex
1121
1413
 
1122
1414
 
1123
1415
 
1124
- class $21185a378c23589e$export$e2e2e1ffdce20c30 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1416
+
1417
+
1418
+ class $d13e78163af94d50$export$9b9454a7f137e99b extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1125
1419
  constructor(page){
1126
1420
  super(page);
1127
- this.userName = page.locator("#username");
1128
- this.name = page.locator("#fullName");
1129
- this.email = page.locator("#email");
1130
- this.password = page.locator("#password");
1131
- this.cnfPassword = page.locator("#confirmPassword");
1132
- this.saveButton = page.getByTestId("save-btn");
1133
- this.cancelButton = page.getByRole("button", {
1134
- name: "Cancel"
1135
- });
1136
- this.deleteButton = page.getByRole("button", {
1137
- name: "Delete"
1138
- });
1139
- }
1140
- async setUserName(username) {
1141
- return await this.userName.fill(username);
1421
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
1422
+ this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
1423
+ this.addDescription = page.getByPlaceholder("Set description...");
1142
1424
  }
1143
- async setFullName(fullName) {
1144
- return await this.name.fill(fullName);
1425
+ async clickNewDeliveryPattern() {
1426
+ await this.page.getByTestId("dot-button").click();
1427
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
1428
+ name: "Create delivery pattern"
1429
+ })).toBeVisible();
1145
1430
  }
1146
- async setEmail(email) {
1147
- return await this.email.fill(email);
1431
+ async setPatternName(patternName) {
1432
+ await this.addName.click();
1433
+ await this.addName.clear();
1434
+ await this.addName.fill(patternName);
1435
+ }
1436
+ async setPatternDescription(patternDescription) {
1437
+ await this.page.getByPlaceholder("Set description...").click();
1438
+ await this.page.getByPlaceholder("Set description...").clear();
1439
+ await this.page.getByPlaceholder("Set description...").fill(patternDescription);
1440
+ }
1441
+ async enableAutoComplete() {
1442
+ await this.page.getByRole("checkbox").check();
1443
+ }
1444
+ async disableAutoComplete() {
1445
+ await this.page.getByRole("checkbox").uncheck();
1446
+ }
1447
+ async setDuration(month, days, hours) {
1448
+ await this.page.getByRole("group", {
1449
+ name: "Pattern details"
1450
+ }).getByRole("textbox").click();
1451
+ await this.page.locator('input[name="months"]').click();
1452
+ await this.page.locator('input[name="months"]').fill(month.toString());
1453
+ await this.page.locator('input[name="days"]').click();
1454
+ await this.page.locator('input[name="days"]').fill(days.toString());
1455
+ await this.page.locator('input[name="hours"]').click();
1456
+ await this.page.locator('input[name="hours"]').fill(hours.toString());
1457
+ }
1458
+ async createNewPattern(patternName, patternDescription) {
1459
+ await this.clickNewDeliveryPattern();
1460
+ await this.setPatternName(patternName);
1461
+ await this.setPatternDescription(patternDescription);
1462
+ await (0, $hOLA6$expect)(this.page.locator("#action-toolbar").filter({
1463
+ hasText: "Create"
1464
+ })).toBeEnabled();
1465
+ await this.page.locator("#action-toolbar").filter({
1466
+ hasText: "Create"
1467
+ }).dblclick();
1468
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
1148
1469
  }
1149
- async setPassword(password) {
1150
- return await this.password.fill(password);
1470
+ async clickEditPatternIcon(patternName) {
1471
+ await this.page.locator(".delivery-pattern-row").filter({
1472
+ hasText: patternName
1473
+ }).locator(".edit").click();
1474
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
1151
1475
  }
1152
- async setConfirmPassword(cnfPassword) {
1153
- return await this.cnfPassword.fill(cnfPassword);
1476
+ async clickCopyPatternIcon(patternName) {
1477
+ await this.page.locator(".delivery-pattern-row").filter({
1478
+ hasText: patternName
1479
+ }).locator(".copy").click();
1480
+ await (0, $hOLA6$expect)(this.page.getByText("Copy delivery pattern")).toBeVisible();
1481
+ }
1482
+ async filterPatternByName(patternName) {
1483
+ await this.page.getByPlaceholder("Filter by name...").click();
1484
+ await this.page.getByPlaceholder("Filter by name...").clear();
1485
+ await this.page.getByPlaceholder("Filter by name...").fill(patternName);
1486
+ await this.page.getByPlaceholder("Filter by name...").press("Enter");
1487
+ await (0, $hOLA6$expect)(this.page.locator(".delivery-pattern-row").filter({
1488
+ hasText: patternName
1489
+ })).toBeVisible();
1154
1490
  }
1155
- async save() {
1156
- await this.saveButton.isEnabled();
1157
- await (0, $hOLA6$expect)(this.saveButton).not.toBeDisabled();
1158
- await this.saveButton.focus();
1159
- await this.saveButton.click();
1491
+ async openProperties() {
1492
+ await this.util.openSideNavMenu("Properties");
1493
+ return new $d13e78163af94d50$var$Properties(this.page);
1160
1494
  }
1161
- async cancel() {
1162
- await this.cancelButton.click();
1495
+ async back() {
1496
+ await this.page.getByTestId("back-button").click();
1163
1497
  }
1164
- async delete() {
1165
- await this.deleteButton.click();
1498
+ async copyPattern(existingPatternName, NewPatternName) {
1499
+ await this.clickCopyPatternIcon(existingPatternName);
1500
+ await this.page.locator('.confirmation-content .xl-react-component-input-wrapper input[placeholder="Add..."]').click();
1501
+ await this.page.locator(".confirmation-content .close-icon").click();
1502
+ await this.addName.fill(NewPatternName);
1503
+ await this.page.getByRole("button", {
1504
+ name: "Continue"
1505
+ }).click();
1506
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
1166
1507
  }
1167
- }
1508
+ async clickDeletePattern(patternName) {
1509
+ await this.page.locator(".delivery-pattern-row").filter({
1510
+ hasText: patternName
1511
+ }).locator(".delete").click();
1512
+ await (0, $hOLA6$expect)(this.page.getByText("Delete delivery pattern", {
1513
+ exact: true
1514
+ })).toBeVisible();
1515
+ await this.page.getByRole("button", {
1516
+ name: "Delete"
1517
+ }).click();
1518
+ await (0, $hOLA6$expect)(this.page.locator(".delivery-pattern-row").filter({
1519
+ hasText: patternName
1520
+ })).not.toBeVisible();
1521
+ }
1522
+ }
1523
+ class $d13e78163af94d50$var$Properties extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1524
+ constructor(page){
1525
+ super(page);
1526
+ this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
1527
+ this.addDescription = page.getByPlaceholder("Set description...");
1528
+ }
1529
+ async editName(name) {
1530
+ await this.addName.click();
1531
+ await this.addName.clear();
1532
+ await this.addName.fill(name);
1533
+ }
1534
+ async editDescription(description) {
1535
+ await this.page.getByPlaceholder("Set description...").click();
1536
+ await this.page.getByPlaceholder("Set description...").clear();
1537
+ await this.page.getByPlaceholder("Set description...").fill(description);
1538
+ }
1539
+ async editDuration(month, days, hours) {
1540
+ await this.page.getByRole("group", {
1541
+ name: "Pattern details"
1542
+ }).getByRole("textbox").click();
1543
+ await this.page.locator('input[name="months"]').click();
1544
+ await this.page.locator('input[name="months"]').fill(month.toString());
1545
+ await this.page.locator('input[name="days"]').click();
1546
+ await this.page.locator('input[name="days"]').fill(days.toString());
1547
+ await this.page.locator('input[name="hours"]').click();
1548
+ await this.page.locator('input[name="hours"]').fill(hours.toString());
1549
+ }
1550
+ async save() {
1551
+ await this.page.getByRole("button", {
1552
+ name: "Save"
1553
+ }).click();
1554
+ (0, $hOLA6$expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
1555
+ }
1556
+ }
1557
+
1558
+
1559
+ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1560
+ constructor(page){
1561
+ super(page);
1562
+ this.patternPage = new (0, $d13e78163af94d50$export$9b9454a7f137e99b)(page);
1563
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
1564
+ this.expandButton = this.page.getByRole("button", {
1565
+ name: " Expand"
1566
+ });
1567
+ }
1568
+ async openFoldersPage() {
1569
+ await this.page.goto("./#/folders");
1570
+ await (0, $hOLA6$expect)(this.page).toHaveTitle("Folders - Digital.ai Release");
1571
+ return this;
1572
+ }
1573
+ async backToAllFolders() {
1574
+ await this.page.locator(".icon-back.dot-i").click();
1575
+ await (0, $hOLA6$expect)(this.page).toHaveTitle("Folders - Digital.ai Release");
1576
+ await this.page.locator("button.btn-add-folder").isVisible();
1577
+ return this;
1578
+ }
1579
+ async createFolder(folderName) {
1580
+ await this.page.locator("button.btn-add-folder").click();
1581
+ await this.page.locator("div.xl-react-component-input-wrapper").type(folderName);
1582
+ await this.page.locator("button.xl-react-button.button.primary").click();
1583
+ await this.page.locator(`//button[normalize-space()='Add release']`).isVisible();
1584
+ return this;
1585
+ }
1586
+ async openFolder(folderName) {
1587
+ await this.page.locator(`.folder-row-wrapper span:text-is('${folderName}')`).click();
1588
+ return this;
1589
+ }
1590
+ async openGroups() {
1591
+ await this.util.openSideNavMenu("Groups");
1592
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Groups")).toBeVisible();
1593
+ return this;
1594
+ }
1595
+ async createGroup(groupName) {
1596
+ await this.page.locator("//button[normalize-space()='New release group']").click();
1597
+ await this.page.locator("#title").type(groupName);
1598
+ await this.page.locator("button[type='submit']").click();
1599
+ return this;
1600
+ }
1601
+ async selectPlannedStatus() {
1602
+ await this.page.locator(".remaining-tags").click();
1603
+ await this.page.locator('.xl-react-link:text-is("Clear all")').click();
1604
+ await this.page.locator(".react-tagsinput").click();
1605
+ await this.page.locator(`.yt-option[title=Planned]`).click();
1606
+ await this.page.locator("//span[normalize-space()='Status']").click();
1607
+ return this;
1608
+ }
1609
+ async expectReleaseGroupisDisplayed(title) {
1610
+ //await this.page.locator(`.fc-list-item-title-wrapper .fc-list-item-title strong:text-is('${title}`).isVisible()
1611
+ await this.page.waitForSelector(`.fc-list-item-title-wrapper .fc-list-item-title strong:text-is('${title}')`);
1612
+ return this;
1613
+ }
1614
+ async createSubFolder(parentFolder, subFolderName) {
1615
+ await this.expandButton.click();
1616
+ await this.page.getByRole("link", {
1617
+ name: parentFolder
1618
+ }).hover();
1619
+ await this.clickFolderOptions(parentFolder, "add");
1620
+ await this.page.getByRole("textbox").fill(subFolderName);
1621
+ await this.page.getByRole("button", {
1622
+ name: "Create"
1623
+ }).click();
1624
+ await (0, $hOLA6$expect)(this.page.getByRole("link", {
1625
+ name: subFolderName
1626
+ })).toBeVisible();
1627
+ }
1628
+ async renameFolder(existingFolderName, newFolderName) {
1629
+ await this.expandButton.click();
1630
+ await this.page.getByRole("link", {
1631
+ name: existingFolderName
1632
+ }).hover();
1633
+ await this.clickFolderOptions(existingFolderName, "edit");
1634
+ await this.page.locator(".folder-row-wrapper input").click();
1635
+ await this.page.locator(".folder-row-wrapper input").fill(newFolderName);
1636
+ await this.page.keyboard.press("Enter");
1637
+ await (0, $hOLA6$expect)(this.page.getByRole("link", {
1638
+ name: newFolderName
1639
+ })).toBeVisible();
1640
+ }
1641
+ async deleteFolder(folderName) {
1642
+ await this.expandButton.click();
1643
+ await this.page.getByRole("link", {
1644
+ name: folderName
1645
+ }).hover();
1646
+ await this.clickFolderOptions(folderName, "delete");
1647
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
1648
+ name: "Delete folder"
1649
+ }).locator("span")).toBeVisible();
1650
+ await (0, $hOLA6$expect)(this.page.locator(".xl-react-modal .confirmation-content").getByText("You are about to delete the folder " + folderName + ". Folders nested in " + folderName + " will also be deleted.")).toBeVisible();
1651
+ await this.page.getByRole("button", {
1652
+ name: "Delete"
1653
+ }).click();
1654
+ await (0, $hOLA6$expect)(this.page.getByRole("link", {
1655
+ name: folderName
1656
+ })).not.toBeVisible();
1657
+ }
1658
+ async searchFolderByName(folderName) {
1659
+ await this.page.getByPlaceholder("Search folder...").click();
1660
+ await this.page.getByPlaceholder("Search folder...").clear();
1661
+ await this.page.getByPlaceholder("Search folder...").fill(folderName);
1662
+ await this.page.getByPlaceholder("Search folder...").press("Enter");
1663
+ await (0, $hOLA6$expect)(this.page.getByRole("link", {
1664
+ name: folderName
1665
+ })).toBeVisible();
1666
+ }
1667
+ async openPatterns() {
1668
+ await this.util.openSideNavMenu("Patterns");
1669
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Patterns")).toBeVisible();
1670
+ return this.patternPage;
1671
+ }
1672
+ async clickFolderOptions(folderName, option) {
1673
+ await this.page.locator(".folder-row-wrapper", {
1674
+ hasText: folderName
1675
+ }).locator(`.xl-icon.${option}-icon`).click();
1676
+ }
1677
+ }
1678
+
1679
+
1680
+
1681
+
1682
+
1683
+ class $3df1257265fba073$export$74ca1eaaa9a0054 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1684
+ constructor(page){
1685
+ super(page);
1686
+ this.addListValue = this.page.locator(".variable-selector .xl-components-input-full input");
1687
+ this.addVariableValue = this.page.locator(".variable-value .xl-components-input-full input");
1688
+ this.addVariablelabel = this.page.locator(".variable-label input");
1689
+ this.listAddButton = this.page.getByRole("button", {
1690
+ name: "Add"
1691
+ });
1692
+ }
1693
+ async addVariableText(valuename) {
1694
+ await this.page.getByRole("combobox").selectOption("StringVariable");
1695
+ await this.page.locator(".variable-value").type(valuename);
1696
+ await this.submitTheVariable();
1697
+ }
1698
+ async addVariableListbox(possiblevalue) {
1699
+ await this.page.getByRole("combobox").selectOption("DropDownListBox");
1700
+ await this.addListValue.fill(possiblevalue);
1701
+ await this.listAddButton.click();
1702
+ await this.page.getByRole("combobox").nth(1).selectOption(possiblevalue);
1703
+ await this.submitTheVariable();
1704
+ }
1705
+ async addVariablePassword(possiblevalue) {
1706
+ await this.page.getByRole("combobox").selectOption("PasswordStringVariable");
1707
+ await this.page.locator('input[type="password"]').type(possiblevalue);
1708
+ await this.submitTheVariable();
1709
+ }
1710
+ async addVariableCheckbox() {
1711
+ await this.page.getByRole("combobox").selectOption("BooleanVariable");
1712
+ await this.page.getByRole("checkbox").check();
1713
+ await this.submitTheVariable();
1714
+ }
1715
+ async addVariableNumber(possiblevalue) {
1716
+ await this.page.getByRole("combobox").selectOption("IntegerVariable");
1717
+ await this.page.locator('input[ng-model="var.value"]').fill(possiblevalue);
1718
+ await this.submitTheVariable();
1719
+ }
1720
+ async addVariableList(possiblevalue1, possiblevalue2) {
1721
+ await this.page.getByRole("combobox").selectOption("ListStringVariable");
1722
+ await this.addVariableValue.fill(possiblevalue1);
1723
+ await this.listAddButton.click();
1724
+ await this.addVariableValue.fill(possiblevalue2);
1725
+ await this.listAddButton.click();
1726
+ await this.submitTheVariable();
1727
+ }
1728
+ async addVariableMultiList(possiblevalue1, possiblevalue2) {
1729
+ await this.page.getByRole("combobox").selectOption("MultiSelectListBox");
1730
+ await this.addListValue.fill(possiblevalue1);
1731
+ await this.listAddButton.click();
1732
+ await this.addListValue.fill(possiblevalue2);
1733
+ await this.listAddButton.click();
1734
+ await this.page.locator(".react-tagsinput").click();
1735
+ await this.page.getByText("Select all", {
1736
+ exact: true
1737
+ }).click();
1738
+ await this.submitTheVariable();
1739
+ }
1740
+ async addVariableDate() {
1741
+ await this.page.getByRole("combobox").selectOption("DateVariable");
1742
+ await this.page.getByText("Select date").click();
1743
+ }
1744
+ async setDate(date, monthYear) {
1745
+ const dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(this.page);
1746
+ await dateUtil.setDate(date, monthYear);
1747
+ }
1748
+ async addVariableKeyValueMap(keys1, values1) {
1749
+ await this.page.getByRole("combobox").selectOption("MapStringStringVariable");
1750
+ await this.page.getByPlaceholder("key").fill(keys1);
1751
+ await this.page.getByPlaceholder("Value").fill(values1);
1752
+ await this.listAddButton.click();
1753
+ await this.page.locator(".xl-map-string-string-div-buttons .search-icon").click();
1754
+ await this.page.getByRole("row", {
1755
+ name: "Search"
1756
+ }).getByRole("textbox").fill(keys1);
1757
+ const detail = await this.page.locator("table.table-condensed span").allInnerTexts();
1758
+ await (0, $hOLA6$expect)(detail[0]).toEqual(keys1);
1759
+ await (0, $hOLA6$expect)(detail[1]).toEqual(values1);
1760
+ await this.submitTheVariable();
1761
+ }
1762
+ async addVariableSet(possiblevalue1) {
1763
+ await this.page.getByRole("combobox").selectOption("SetStringVariable");
1764
+ await this.page.locator(".dip-input input").fill(possiblevalue1);
1765
+ await this.listAddButton.click();
1766
+ await this.submitTheVariable();
1767
+ }
1768
+ async addNewVariable(variableName, labelname, description) {
1769
+ await this.page.getByRole("button", {
1770
+ name: "New global variable"
1771
+ }).click();
1772
+ await this.page.locator(`div.input-group > input`).type(variableName);
1773
+ await this.addVariablelabel.fill(labelname);
1774
+ await this.page.locator(".variable-description input").fill(description);
1775
+ }
1776
+ async verifyGlobalVariableCreation(variableName) {
1777
+ await this.page.locator("[id='variables-filter']").fill(variableName);
1778
+ await (0, $hOLA6$expect)(this.page.locator(".variable.ui-sortable-handle").filter({
1779
+ hasText: variableName
1780
+ })).toBeVisible();
1781
+ }
1782
+ async submitTheVariable() {
1783
+ const pagesubmit = await this.page.locator(".button.save");
1784
+ await pagesubmit.hover();
1785
+ await pagesubmit.click();
1786
+ }
1787
+ async deleteGlobalVariable(variableName) {
1788
+ await this.page.locator("[id='variables-filter']").fill(variableName);
1789
+ await this.page.getByText("Delete").click();
1790
+ await (0, $hOLA6$expect)(this.page.locator("h4.ng-binding")).toContainText(variableName);
1791
+ await this.page.getByRole("button", {
1792
+ name: "Cancel"
1793
+ }).click();
1794
+ await this.verifyGlobalVariableCreation(variableName);
1795
+ await this.page.getByText("Delete").click();
1796
+ await this.page.getByRole("button", {
1797
+ name: "Delete"
1798
+ }).click();
1799
+ await this.page.locator("alert.notice.ng-scope").isVisible();
1800
+ }
1801
+ async editVariable(variableName, editedvariabletext) {
1802
+ await this.page.locator("[id='variables-filter']").fill(variableName);
1803
+ await this.page.getByText("Edit").click();
1804
+ await this.addVariablelabel.clear();
1805
+ await this.addVariablelabel.fill(editedvariabletext);
1806
+ await this.page.getByRole("button", {
1807
+ name: "Save"
1808
+ }).click();
1809
+ await (0, $hOLA6$expect)(this.page.locator(".variable.ui-sortable-handle").getByText(editedvariabletext, {
1810
+ exact: true
1811
+ })).toBeVisible();
1812
+ }
1813
+ }
1814
+
1815
+
1816
+
1817
+ class $2174535b78371022$export$36d69433c4f81145 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1818
+ constructor(page){
1819
+ super(page);
1820
+ }
1821
+ }
1822
+
1823
+
1824
+
1825
+
1826
+ class $6720a523bcb1cce0$export$3cac5fd37ae64b91 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1827
+ async openPersonalAccessTokenPage() {
1828
+ // await this.page.locator("button.dot-avatar").click()
1829
+ // await this.page.locator("//div[normalize-space()='Access tokens']").click()
1830
+ await this.page.goto("./#/personal-access-token");
1831
+ await (0, $hOLA6$expect)(this.page).toHaveTitle("Access tokens / Personal settings - Digital.ai Release");
1832
+ return this;
1833
+ }
1834
+ async addNewToken(tokenName) {
1835
+ //await expect(this.page).toHaveTitle('Access tokens / Personal settings - Digital.ai Release')
1836
+ await this.page.locator("#tokenText").fill(tokenName);
1837
+ await this.page.locator("button[type='submit']").click();
1838
+ return this;
1839
+ }
1840
+ }
1841
+
1842
+
1843
+
1844
+
1845
+
1846
+
1847
+ class $21185a378c23589e$export$e2e2e1ffdce20c30 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1848
+ constructor(page){
1849
+ super(page);
1850
+ this.userName = page.locator("#username");
1851
+ this.name = page.locator("#fullName");
1852
+ this.email = page.locator("#email");
1853
+ this.password = page.locator("#password");
1854
+ this.cnfPassword = page.locator("#confirmPassword");
1855
+ this.saveButton = page.getByTestId("save-btn");
1856
+ this.cancelButton = page.getByRole("button", {
1857
+ name: "Cancel"
1858
+ });
1859
+ this.deleteButton = page.getByRole("button", {
1860
+ name: "Delete"
1861
+ });
1862
+ }
1863
+ async setUserName(username) {
1864
+ return await this.userName.fill(username);
1865
+ }
1866
+ async setFullName(fullName) {
1867
+ return await this.name.fill(fullName);
1868
+ }
1869
+ async setEmail(email) {
1870
+ return await this.email.fill(email);
1871
+ }
1872
+ async setPassword(password) {
1873
+ return await this.password.fill(password);
1874
+ }
1875
+ async setConfirmPassword(cnfPassword) {
1876
+ return await this.cnfPassword.fill(cnfPassword);
1877
+ }
1878
+ async save() {
1879
+ await this.saveButton.isEnabled();
1880
+ await (0, $hOLA6$expect)(this.saveButton).not.toBeDisabled();
1881
+ await this.saveButton.focus();
1882
+ await this.saveButton.click();
1883
+ }
1884
+ async cancel() {
1885
+ await this.cancelButton.click();
1886
+ }
1887
+ async delete() {
1888
+ await this.deleteButton.click();
1889
+ }
1890
+ }
1891
+
1168
1892
 
1169
1893
 
1170
1894
  class $2cb6a6ac6b17e85f$export$107317390f5aa598 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
@@ -1172,6 +1896,7 @@ class $2cb6a6ac6b17e85f$export$107317390f5aa598 extends (0, $9626bc9256ce31f7$ex
1172
1896
  super(page);
1173
1897
  this.page = page;
1174
1898
  this.modal = new (0, $21185a378c23589e$export$e2e2e1ffdce20c30)(page);
1899
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
1175
1900
  }
1176
1901
  async openUsersPage() {
1177
1902
  this.page.goto("./#/users", {
@@ -1208,6 +1933,18 @@ class $2cb6a6ac6b17e85f$export$107317390f5aa598 extends (0, $9626bc9256ce31f7$ex
1208
1933
  }).locator("i").nth(1).click();
1209
1934
  await this.modal.delete();
1210
1935
  }
1936
+ async openRoles() {
1937
+ await this.util.openSideNavMenu("Roles");
1938
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Roles")).toBeVisible();
1939
+ }
1940
+ async openPermissions() {
1941
+ await this.util.openSideNavMenu("Permissions");
1942
+ await (0, $hOLA6$expect)(this.page.locator(".permissions-table-v2")).toBeVisible();
1943
+ }
1944
+ async openTaskAccess() {
1945
+ await this.util.openSideNavMenu("Task access");
1946
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Task access")).toBeVisible();
1947
+ }
1211
1948
  }
1212
1949
 
1213
1950
 
@@ -1457,12 +2194,150 @@ class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $9626bc9256ce31f7$ex
1457
2194
 
1458
2195
 
1459
2196
 
2197
+ class $cc2d15e53de5cef7$export$b6fbc3e67030138f extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2198
+ async setStatus(status) {
2199
+ await this.page.locator(".react-tagsinput").click({
2200
+ force: true
2201
+ });
2202
+ await this.page.getByText("Clear all").click();
2203
+ await this.page.locator(".react-tagsinput").click({
2204
+ force: true
2205
+ });
2206
+ if (status === "Select all") await this.page.getByText(status).click();
2207
+ else await this.page.getByTitle(status).locator("i").first().click();
2208
+ }
2209
+ async openReleaseGroup(title) {
2210
+ await this.page.locator("xlr-release-group-row").filter({
2211
+ hasText: title
2212
+ }).getByRole("link").click();
2213
+ await this.page.getByTitle(title).click();
2214
+ await (0, $hOLA6$expect)(this.page).toHaveURL(/.*ReleaseGroup/);
2215
+ }
2216
+ async expectReleaseGroupStatus(status) {
2217
+ await (0, $hOLA6$expect)(this.page.locator(".release-status")).toContainText(status);
2218
+ }
2219
+ async expectReleaseGroupDisplayed(title) {
2220
+ await (0, $hOLA6$expect)(this.page.getByText(title, {
2221
+ exact: true
2222
+ })).toBeVisible();
2223
+ }
2224
+ async expectReleaseGroupNotDisplayed(title) {
2225
+ await (0, $hOLA6$expect)(this.page.getByText(title, {
2226
+ exact: true
2227
+ })).not.toBeVisible();
2228
+ }
2229
+ async searchReleaseGroupByTitle(title) {
2230
+ await this.page.getByPlaceholder("Search for groups...", {
2231
+ exact: true
2232
+ }).click();
2233
+ await this.page.getByPlaceholder("Search for groups...", {
2234
+ exact: true
2235
+ }).fill(title);
2236
+ await this.page.getByPlaceholder("Search for groups...", {
2237
+ exact: true
2238
+ }).press("Enter");
2239
+ }
2240
+ async deleteReleaseGroup(title) {
2241
+ await this.page.locator(".fc-list-item-line").filter({
2242
+ hasText: title
2243
+ }).locator(".fc-item-delete").click();
2244
+ await this.page.getByRole("button", {
2245
+ name: "Delete"
2246
+ }).click();
2247
+ }
2248
+ async clickReleaseGroupEdit(title) {
2249
+ await this.page.locator(".fc-list-item-line").filter({
2250
+ hasText: title
2251
+ }).locator(".fc-item-update").click();
2252
+ }
2253
+ async enterReleaseGroupDetails(new_title) {
2254
+ await this.page.locator(".modal-body").locator("#title").fill(new_title);
2255
+ }
2256
+ async clickSaveButton() {
2257
+ await this.page.locator(".modal-footer").getByRole("button", {
2258
+ name: "Save"
2259
+ }).click();
2260
+ }
2261
+ async clickCancelButton() {
2262
+ await this.page.locator(".modal-footer").getByRole("button", {
2263
+ name: "Cancel"
2264
+ }).click();
2265
+ }
2266
+ }
2267
+
2268
+
2269
+
2270
+
2271
+ class $cc231ea61b77c7a2$export$1a0994e9c202d529 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2272
+ async expectReleaseDisplayed(title) {
2273
+ await (0, $hOLA6$expect)(this.page.getByText(title, {
2274
+ exact: true
2275
+ })).toBeVisible();
2276
+ }
2277
+ async expectReleaseNotDisplayed(title) {
2278
+ await (0, $hOLA6$expect)(this.page.getByText(title, {
2279
+ exact: true
2280
+ })).not.toBeVisible({
2281
+ timeout: 10000
2282
+ });
2283
+ }
2284
+ async expectPhaseDisplayed(title) {
2285
+ await (0, $hOLA6$expect)(this.page.getByText(title, {
2286
+ exact: true
2287
+ })).toBeVisible();
2288
+ }
2289
+ async openContextMenu(title) {
2290
+ await this.page.locator(".timeline-row-name").filter({
2291
+ hasText: title
2292
+ }).locator(".options-icon").click();
2293
+ }
2294
+ async removeFromReleaseGroup() {
2295
+ await this.page.getByRole("menuitem", {
2296
+ name: "Remove from group"
2297
+ }).locator("a").click();
2298
+ await this.page.getByRole("button", {
2299
+ name: "Remove"
2300
+ }).click();
2301
+ }
2302
+ async expectNumberOfReleases(num_of_release) {
2303
+ const elementCount = await this.page.locator(".timeline-row-name-release").count();
2304
+ (0, $hOLA6$expect)(elementCount).toBe(num_of_release);
2305
+ }
2306
+ async openAddReleaseList() {
2307
+ await this.page.getByRole("button", {
2308
+ name: "Add release"
2309
+ }).click();
2310
+ }
2311
+ async filterReleases(title) {
2312
+ await this.page.getByPlaceholder("Search for a release...").click();
2313
+ await this.page.getByPlaceholder("Search for a release...").fill(title);
2314
+ await this.page.waitForTimeout(5000);
2315
+ await this.page.getByPlaceholder("Search for a release...").press("Enter");
2316
+ }
2317
+ async expectNumberOfReleasesOnModal(num_of_release) {
2318
+ const elementCount = await this.page.locator(".release-modal-line").count();
2319
+ (0, $hOLA6$expect)(elementCount).toBe(num_of_release);
2320
+ }
2321
+ async selectAllReleaseCheckbox() {
2322
+ await this.page.getByLabel("Select all").check();
2323
+ }
2324
+ async addReleasesToGroup() {
2325
+ await this.page.getByRole("button", {
2326
+ name: "Add"
2327
+ }).click();
2328
+ }
2329
+ }
2330
+
2331
+
2332
+
2333
+
1460
2334
 
1461
2335
 
1462
2336
  class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1463
2337
  constructor(page){
1464
2338
  super(page);
1465
2339
  this.taskDrawer = new (0, $8e39246218b802fc$export$e946776eae644790)(page);
2340
+ this.commentBox = this.page.locator(`.input-block-level`);
1466
2341
  }
1467
2342
  async openTask(taskName) {
1468
2343
  await this.filterTaskByTitle(taskName);
@@ -1472,13 +2347,29 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$ex
1472
2347
  await this.page.locator(`.row.task-inner`, {
1473
2348
  hasText: taskName
1474
2349
  }).locator("span.skip").click();
1475
- await this.page.getByPlaceholder("Give feedback or place a comment...").click();
1476
- await this.page.getByPlaceholder("Give feedback or place a comment...").fill(comment);
2350
+ await this.commentBox.click();
2351
+ await this.commentBox.fill(comment);
1477
2352
  await this.page.getByRole("button", {
1478
2353
  name: "Skip",
1479
2354
  exact: true
1480
2355
  }).click();
1481
2356
  }
2357
+ async fail(taskName, comment) {
2358
+ await this.page.locator(`.row.task-inner`, {
2359
+ hasText: taskName
2360
+ }).locator("span.fail").click();
2361
+ await this.commentBox.click();
2362
+ await this.commentBox.fill(comment);
2363
+ await this.page.getByRole("button", {
2364
+ name: "Fail",
2365
+ exact: true
2366
+ }).click();
2367
+ }
2368
+ async waitForTaskFailed(taskName) {
2369
+ await (0, $hOLA6$expect)(this.page.locator(`.row.task-inner`, {
2370
+ hasText: taskName
2371
+ }).getByText("Failed")).toBeVisible();
2372
+ }
1482
2373
  async waitForTaskInProgress(taskName) {
1483
2374
  await (0, $hOLA6$expect)(this.page.locator(`.row.task-inner`, {
1484
2375
  hasText: taskName
@@ -1546,6 +2437,35 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$ex
1546
2437
  async clickOnAssigneeButton(title) {
1547
2438
  await this.page.locator(`.btn-group-filter.btn-group button.btn.btn-flat[title="${title}"]`).click();
1548
2439
  }
2440
+ async expectTaskNotDisplayed(taskTitle) {
2441
+ await (0, $hOLA6$expect)(this.page.locator(`.row.task-inner`).filter({
2442
+ hasText: taskTitle
2443
+ }).getByText(taskTitle)).toHaveCount(0);
2444
+ }
2445
+ async clickOnStatusField() {
2446
+ await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
2447
+ }
2448
+ async clickOnStatus(statusNames) {
2449
+ await this.clickOnStatusClearAll();
2450
+ await this.clickOnStatusField();
2451
+ for(let i = 0; i < statusNames.length; i++)await this.page.locator(`i.xl-icon.icon-s.checkbox[data='${statusNames[i]}']`).click();
2452
+ // Clicking outside to close the grid dropdown
2453
+ await this.clickOnTasksLabel();
2454
+ }
2455
+ async clickOnStatusClearAll() {
2456
+ await this.clickOnStatusField();
2457
+ await this.page.locator("a.xl-react-link", {
2458
+ hasText: "Clear all"
2459
+ }).click();
2460
+ await this.clickOnTasksLabel();
2461
+ }
2462
+ async clickOnStatusSelectAll() {
2463
+ await this.clickOnStatusField();
2464
+ await this.page.locator("a.xl-react-link", {
2465
+ hasText: "Select all"
2466
+ }).click();
2467
+ await this.clickOnTasksLabel();
2468
+ }
1549
2469
  async assignTaskToMe(title) {
1550
2470
  await this.page.locator(`.task-line`).filter({
1551
2471
  hasText: title
@@ -1561,35 +2481,22 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$ex
1561
2481
  async expectTaskTitle(taskTitle) {
1562
2482
  (0, $hOLA6$expect)(await this.page.locator("#tasks0").innerText()).toContain(taskTitle);
1563
2483
  }
2484
+ async clickOnTasksLabel() {
2485
+ await this.page.getByLabel("breadcrumb").getByText("Tasks").click();
2486
+ }
1564
2487
  async expectGroupView(expected = true) {
1565
2488
  if (expected) {
1566
- await (0, $hOLA6$expect)(this.page.locator("#group-tasks-by-release")).toBeChecked();
1567
- await (0, $hOLA6$expect)(this.page.locator("#task-list-grouped-view")).toBeVisible();
1568
- await (0, $hOLA6$expect)(this.page.locator("#task-ungrouped-view")).not.toBeVisible();
1569
- } else {
1570
- await (0, $hOLA6$expect)(this.page.locator("#group-tasks-by-release")).not.toBeChecked();
1571
- await (0, $hOLA6$expect)(this.page.locator("#task-list-grouped-view")).not.toBeVisible();
1572
- await (0, $hOLA6$expect)(this.page.locator("#task-ungrouped-view")).toBeVisible();
1573
- }
1574
- }
1575
- async changeGroupView() {
1576
- await this.page.locator("#group-tasks-by-release").click();
1577
- }
1578
- }
1579
-
1580
-
1581
-
1582
-
1583
- class $aa992f812fb1e470$export$6adb8dd3f0d1e432 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1584
- constructor(page){
1585
- super(page);
1586
- this.tempDir = "";
1587
- this.content = "";
2489
+ await (0, $hOLA6$expect)(this.page.locator("#group-tasks-by-release")).toBeChecked();
2490
+ await (0, $hOLA6$expect)(this.page.locator("#task-list-grouped-view")).toBeVisible();
2491
+ await (0, $hOLA6$expect)(this.page.locator("#task-ungrouped-view")).not.toBeVisible();
2492
+ } else {
2493
+ await (0, $hOLA6$expect)(this.page.locator("#group-tasks-by-release")).not.toBeChecked();
2494
+ await (0, $hOLA6$expect)(this.page.locator("#task-list-grouped-view")).not.toBeVisible();
2495
+ await (0, $hOLA6$expect)(this.page.locator("#task-ungrouped-view")).toBeVisible();
2496
+ }
1588
2497
  }
1589
- async createTempFile(fileName, testInfo) {
1590
- const content = fileName.toString();
1591
- const tempDir = testInfo.outputPath(fileName.toString());
1592
- $hOLA6$promises.writeFile(tempDir, content, "utf8");
2498
+ async changeGroupView() {
2499
+ await this.page.locator("#group-tasks-by-release").click();
1593
2500
  }
1594
2501
  }
1595
2502
 
@@ -1716,11 +2623,12 @@ class $e83a7515970cee7f$export$98de9bca7d44fc1a extends (0, $9626bc9256ce31f7$ex
1716
2623
  await this.page.locator("#release-form-title").fill(name);
1717
2624
  }
1718
2625
  async setDescription(description) {
1719
- await this.page.getByText("Set description...").click();
1720
- await this.page.locator("span").filter({
1721
- hasText: "Set description... * Save"
1722
- }).locator("i").first().click();
2626
+ await this.page.getByText("Set description...").hover();
2627
+ await this.page.locator(".display").filter({
2628
+ hasText: "Set description"
2629
+ }).locator(".edit-icon").click();
1723
2630
  await this.page.locator("textarea").click();
2631
+ await this.page.locator("textarea").clear();
1724
2632
  await this.page.locator("textarea").fill(description);
1725
2633
  await this.page.getByText("Save", {
1726
2634
  exact: true
@@ -1768,13 +2676,16 @@ class $8f36d138075416d2$export$899a7095bab1879d extends (0, $9626bc9256ce31f7$ex
1768
2676
  }
1769
2677
 
1770
2678
 
2679
+
1771
2680
  class $0c4084f199d70d72$export$8c8e7207254accc2 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1772
2681
  constructor(page){
1773
2682
  super(page);
1774
2683
  this.taskDrawer = new (0, $8e39246218b802fc$export$e946776eae644790)(page);
2684
+ this.phaseTitle = page.locator(".phase .phase-title");
1775
2685
  this.properties = new (0, $880dec03c4eca8dc$export$ccf2756779bad715)(page);
1776
2686
  this.createTemplatePage = new (0, $e83a7515970cee7f$export$98de9bca7d44fc1a)(page);
1777
2687
  this.triggers = new (0, $8f36d138075416d2$export$899a7095bab1879d)(page);
2688
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
1778
2689
  }
1779
2690
  async openTemplateMenu(menuItem) {
1780
2691
  await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
@@ -1787,6 +2698,12 @@ class $0c4084f199d70d72$export$8c8e7207254accc2 extends (0, $9626bc9256ce31f7$ex
1787
2698
  }).click();
1788
2699
  return this.taskDrawer;
1789
2700
  }
2701
+ async openTaskDrawerFromTableView(taskName) {
2702
+ await this.page.locator(".name-cell-title").getByText(taskName, {
2703
+ exact: true
2704
+ }).click();
2705
+ return this.taskDrawer;
2706
+ }
1790
2707
  async openTaskDrawerFromGrantt(taskName) {
1791
2708
  await this.page.locator(".gantt_tree_content").getByText(taskName, {
1792
2709
  exact: true
@@ -1794,19 +2711,39 @@ class $0c4084f199d70d72$export$8c8e7207254accc2 extends (0, $9626bc9256ce31f7$ex
1794
2711
  return this.taskDrawer;
1795
2712
  }
1796
2713
  async openProperties() {
1797
- await this.openTemplateMenu("Properties");
2714
+ await this.util.openSideNavMenu("Properties");
2715
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Properties")).toBeVisible();
2716
+ }
2717
+ async openVariables() {
2718
+ await this.util.openSideNavMenu("Variables");
2719
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Variables")).toBeVisible();
2720
+ }
2721
+ async openRelationships() {
2722
+ await this.util.openSideNavMenu("Relationships");
2723
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Relationships")).toBeVisible();
2724
+ }
2725
+ async openTeamsPermissions() {
2726
+ await this.util.openSideNavMenu("Teams & Permissions");
2727
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Teams & Permissions")).toBeVisible();
2728
+ }
2729
+ async openDashboard() {
2730
+ await this.util.openSideNavMenu("Dashboard");
2731
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Dashboard")).toBeVisible();
2732
+ }
2733
+ async openActivityLogs() {
2734
+ await this.util.openSideNavMenu("Activity logs");
2735
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Activity logs")).toBeVisible();
1798
2736
  }
1799
2737
  async openTriggers() {
1800
2738
  await this.openTemplateMenu("Triggers");
2739
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Triggers")).toBeVisible();
1801
2740
  }
1802
2741
  async backToTemplate() {
1803
2742
  await this.page.locator(".icon-back").click();
1804
2743
  await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Templates")).toBeVisible();
1805
2744
  }
1806
2745
  async expectTemplateLabelToBePresent() {
1807
- await (0, $hOLA6$expect)(this.page.locator(".dot-chip").filter({
1808
- hasText: "TEMPLATE"
1809
- })).toBeVisible();
2746
+ await (0, $hOLA6$expect)(this.page.getByTestId("template-workflow-pill").getByText("Template")).toBeVisible();
1810
2747
  }
1811
2748
  async expectSubPage(menuItem, toBePresent) {
1812
2749
  if (toBePresent) await (0, $hOLA6$expect)(this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
@@ -1817,20 +2754,20 @@ class $0c4084f199d70d72$export$8c8e7207254accc2 extends (0, $9626bc9256ce31f7$ex
1817
2754
  })).not.toBeVisible();
1818
2755
  }
1819
2756
  async openFlowView() {
1820
- await this.page.locator(".xl-icon.column-icon").click();
2757
+ await this.util.openSideNavMenu("Flow");
1821
2758
  await (0, $hOLA6$expect)(this.page.locator("#release-content")).toBeVisible();
1822
2759
  }
1823
2760
  async openTableView() {
1824
- await this.page.locator(".xl-icon.table-icon").click();
2761
+ await this.util.openSideNavMenu("Table");
1825
2762
  await (0, $hOLA6$expect)(this.page.locator(".release-grid-container")).toBeVisible();
1826
2763
  }
1827
2764
  async openPlannerView() {
1828
- await this.page.locator(".xl-icon.planner-icon").click();
2765
+ await this.util.openSideNavMenu("Planner");
1829
2766
  await (0, $hOLA6$expect)(this.page.locator(".gantt-container")).toBeVisible();
1830
2767
  }
1831
2768
  async openCodeView() {
1832
- await this.page.locator(".xl-icon.code-icon").click();
1833
- await (0, $hOLA6$expect)(this.page.locator("#dsl-content")).toBeVisible();
2769
+ await this.util.openSideNavMenu("Code");
2770
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Code")).toBeVisible();
1834
2771
  }
1835
2772
  async expandGanttFolder() {
1836
2773
  const icExpandTreeview1 = this.page.locator(".gantt_tree_icon.gantt_open");
@@ -1842,6 +2779,108 @@ class $0c4084f199d70d72$export$8c8e7207254accc2 extends (0, $9626bc9256ce31f7$ex
1842
2779
  }
1843
2780
  }
1844
2781
  }
2782
+ async addNewPhase(phaseName) {
2783
+ await this.page.getByTestId("add-phase-btn").click();
2784
+ if (phaseName) {
2785
+ await this.phaseTitle.getByText("New Phase").click();
2786
+ await this.phaseTitle.getByRole("textbox").clear();
2787
+ await this.phaseTitle.getByRole("textbox").fill(phaseName);
2788
+ await this.page.keyboard.press("Enter");
2789
+ await (0, $hOLA6$expect)(this.phaseTitle.filter({
2790
+ hasText: phaseName
2791
+ })).toBeVisible();
2792
+ }
2793
+ }
2794
+ async renamePhase(oldPhaseName, newPhaseName) {
2795
+ await this.phaseTitle.getByText(oldPhaseName).click();
2796
+ await this.phaseTitle.filter({
2797
+ hasText: oldPhaseName
2798
+ }).locator(".editable").clear();
2799
+ await this.phaseTitle.filter({
2800
+ hasText: oldPhaseName
2801
+ }).locator(".editable").fill(newPhaseName);
2802
+ await this.page.keyboard.press("Enter");
2803
+ await (0, $hOLA6$expect)(this.phaseTitle.filter({
2804
+ hasText: newPhaseName
2805
+ })).toBeVisible();
2806
+ }
2807
+ getPhase(phaseName) {
2808
+ return new $0c4084f199d70d72$var$Phase(this.page, phaseName);
2809
+ }
2810
+ }
2811
+ class $0c4084f199d70d72$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2812
+ constructor(page, phaseName){
2813
+ super(page);
2814
+ this.phaseLocator = page.locator(".phase", {
2815
+ hasText: phaseName
2816
+ });
2817
+ }
2818
+ async setTitle(title) {
2819
+ await this.phaseLocator.locator(".phase-header .display").click();
2820
+ await this.phaseLocator.locator(".phase-header input").clear();
2821
+ await this.phaseLocator.locator(".phase-header input").fill(title);
2822
+ await this.phaseLocator.locator(".phase-header input").blur();
2823
+ }
2824
+ async expectTaskBorderWithColor(taskName, color) {
2825
+ await (0, $hOLA6$expect)(this.page.locator(`.task-box:has-text('${taskName}')`)).toHaveCSS("border-top-color", color);
2826
+ }
2827
+ /**
2828
+ *
2829
+ * @param taskTitle Title of the task
2830
+ * @param taskType : Type of the task
2831
+ * @param taskTypeSelector : Selector of the task
2832
+ */ async addTaskInPhase(taskTitle, taskGroup, taskType) {
2833
+ await this.phaseLocator.getByText("Add task").click();
2834
+ await this.phaseLocator.getByLabel("Open", {
2835
+ exact: true
2836
+ }).click();
2837
+ await this.phaseLocator.getByPlaceholder("Start typing to filter task").fill(taskGroup);
2838
+ await this.page.getByTestId(taskType).click();
2839
+ await this.phaseLocator.locator("#task-title").fill(taskTitle);
2840
+ await this.phaseLocator.getByTestId("save-select-task-btn").click();
2841
+ await (0, $hOLA6$expect)(this.phaseLocator.getByText(taskTitle)).toBeVisible();
2842
+ }
2843
+ async getNumberOfTasks() {
2844
+ return await this.phaseLocator.locator(".task").count();
2845
+ }
2846
+ async expectToHaveNoneditableTitle(phaseTitle) {
2847
+ await (0, $hOLA6$expect)(this.phaseLocator.locator(".phase-title > span")).toContainText(phaseTitle);
2848
+ }
2849
+ async expectToHaveTitle(phaseTitle) {
2850
+ await (0, $hOLA6$expect)(this.phaseLocator.locator(".phase-title")).toContainText(phaseTitle);
2851
+ }
2852
+ async deleteTaskInPhase(taskName) {
2853
+ await this.page.locator(".task").filter({
2854
+ hasText: taskName
2855
+ }).locator(".xl-icon.options-icon").click();
2856
+ await this.page.locator(".remove-task-button").click();
2857
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2858
+ name: "Delete Task"
2859
+ })).toBeVisible();
2860
+ await this.page.getByRole("button", {
2861
+ name: "Delete"
2862
+ }).click();
2863
+ await (0, $hOLA6$expect)(this.phaseLocator.locator("li").filter({
2864
+ hasText: taskName
2865
+ })).not.toBeVisible();
2866
+ }
2867
+ async deletePhase(phaseName) {
2868
+ await this.page.locator(".phase-header").filter({
2869
+ hasText: phaseName
2870
+ }).locator(".actions").hover();
2871
+ await this.page.locator(".phase-header").filter({
2872
+ hasText: phaseName
2873
+ }).locator(".delete-icon").click();
2874
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2875
+ name: "Delete Phase"
2876
+ })).toBeVisible();
2877
+ await this.page.getByRole("button", {
2878
+ name: "Delete"
2879
+ }).click();
2880
+ await (0, $hOLA6$expect)(this.page.locator(".phase-header").filter({
2881
+ hasText: phaseName
2882
+ })).not.toBeVisible();
2883
+ }
1845
2884
  }
1846
2885
 
1847
2886
 
@@ -1875,6 +2914,45 @@ class $171d52b372748c0b$export$7e1d435fa474ee21 extends (0, $9626bc9256ce31f7$ex
1875
2914
  hasText: "TEMPLATE"
1876
2915
  })).toBeVisible();
1877
2916
  }
2917
+ async move(templateName, targetFolder) {
2918
+ await this.page.locator(".title").filter({
2919
+ hasText: templateName
2920
+ }).locator(".move").click();
2921
+ await (0, $hOLA6$expect)(this.page.getByText("Move template to")).toBeVisible();
2922
+ await this.page.getByRole("button", {
2923
+ name: "Expand"
2924
+ }).click();
2925
+ await this.page.getByPlaceholder("Search folder...").click();
2926
+ await this.page.getByPlaceholder("Search folder...").fill(targetFolder);
2927
+ await this.page.getByRole("button", {
2928
+ name: targetFolder
2929
+ }).click();
2930
+ await this.page.getByRole("button", {
2931
+ name: "Move"
2932
+ }).click();
2933
+ await (0, $hOLA6$expect)(this.page.getByText("Add", {
2934
+ exact: true
2935
+ })).toBeVisible();
2936
+ await (0, $hOLA6$expect)(this.page.getByText("Remove")).toBeVisible();
2937
+ await this.page.getByRole("button", {
2938
+ name: "Move"
2939
+ }).click();
2940
+ }
2941
+ async metaInformation(templateName, validationMsg) {
2942
+ await this.page.locator(".title").filter({
2943
+ hasText: templateName
2944
+ }).locator(".template-context-menu").click();
2945
+ await this.page.getByRole("menuitem", {
2946
+ name: "Meta information"
2947
+ }).locator("a").click();
2948
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2949
+ name: "Meta information - " + templateName
2950
+ })).toBeVisible();
2951
+ if (validationMsg) await (0, $hOLA6$expect)(this.page.getByText(validationMsg)).toBeVisible();
2952
+ await (0, $hOLA6$expect)(this.page.getByRole("button", {
2953
+ name: "Close"
2954
+ })).toBeVisible();
2955
+ }
1878
2956
  async expectTemplateVisible(title, expected = true) {
1879
2957
  if (expected) {
1880
2958
  await this.page.locator(".template").filter({
@@ -1893,6 +2971,7 @@ class $171d52b372748c0b$export$7e1d435fa474ee21 extends (0, $9626bc9256ce31f7$ex
1893
2971
  }
1894
2972
  }
1895
2973
  async delete(title) {
2974
+ await this.searchBy(title);
1896
2975
  await this.page.locator(".title").filter({
1897
2976
  hasText: title
1898
2977
  }).locator(".delete").waitFor();
@@ -1913,15 +2992,7 @@ class $171d52b372748c0b$export$7e1d435fa474ee21 extends (0, $9626bc9256ce31f7$ex
1913
2992
  }).click();
1914
2993
  }
1915
2994
  async openTemplateByName(templateName) {
1916
- await this.page.getByPlaceholder("Filter by title...", {
1917
- exact: true
1918
- }).click();
1919
- await this.page.getByPlaceholder("Filter by title...", {
1920
- exact: true
1921
- }).fill(templateName);
1922
- await this.page.getByPlaceholder("Filter by title...", {
1923
- exact: true
1924
- }).press("Enter");
2995
+ await this.filterByTitle(templateName);
1925
2996
  await this.page.locator(`.template`).filter({
1926
2997
  hasText: templateName
1927
2998
  }).locator(`.raised-link`).waitFor();
@@ -1929,162 +3000,49 @@ class $171d52b372748c0b$export$7e1d435fa474ee21 extends (0, $9626bc9256ce31f7$ex
1929
3000
  hasText: templateName
1930
3001
  }).locator(`.raised-link`).click();
1931
3002
  }
1932
- }
1933
-
1934
-
1935
-
1936
-
1937
- class $cc2d15e53de5cef7$export$b6fbc3e67030138f extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1938
- async setStatus(status) {
1939
- await this.page.locator(".react-tagsinput").click({
1940
- force: true
1941
- });
1942
- await this.page.getByText("Clear all").click();
1943
- await this.page.locator(".react-tagsinput").click({
1944
- force: true
1945
- });
1946
- if (status === "Select all") await this.page.getByText(status).click();
1947
- else await this.page.getByTitle(status).locator("i").first().click();
1948
- }
1949
- async openReleaseGroup(title) {
1950
- await this.page.locator("xlr-release-group-row").filter({
1951
- hasText: title
1952
- }).getByRole("link").click();
1953
- await this.page.getByTitle(title).click();
1954
- await (0, $hOLA6$expect)(this.page).toHaveURL(/.*ReleaseGroup/);
1955
- }
1956
- async expectReleaseGroupStatus(status) {
1957
- await (0, $hOLA6$expect)(this.page.locator(".release-status")).toContainText(status);
1958
- }
1959
- async expectReleaseGroupDisplayed(title) {
1960
- await (0, $hOLA6$expect)(this.page.getByText(title, {
1961
- exact: true
3003
+ async clickNewReleaseIcon(templateName) {
3004
+ await this.page.locator("xlr-template-row-component").filter({
3005
+ hasText: templateName
3006
+ }).locator(".link .add-icon").click();
3007
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
3008
+ name: "Create new release"
1962
3009
  })).toBeVisible();
1963
3010
  }
1964
- async expectReleaseGroupNotDisplayed(title) {
1965
- await (0, $hOLA6$expect)(this.page.getByText(title, {
1966
- exact: true
1967
- })).not.toBeVisible();
1968
- }
1969
- async searchReleaseGroupByTitle(title) {
1970
- await this.page.getByPlaceholder("Search for groups...", {
3011
+ async filterByTitle(templateName) {
3012
+ await this.page.getByPlaceholder("Filter by title...", {
1971
3013
  exact: true
1972
3014
  }).click();
1973
- await this.page.getByPlaceholder("Search for groups...", {
3015
+ await this.page.getByPlaceholder("Filter by title...", {
1974
3016
  exact: true
1975
- }).fill(title);
1976
- await this.page.getByPlaceholder("Search for groups...", {
3017
+ }).fill(templateName);
3018
+ await this.page.getByPlaceholder("Filter by title...", {
1977
3019
  exact: true
1978
3020
  }).press("Enter");
1979
3021
  }
1980
- async deleteReleaseGroup(title) {
1981
- await this.page.locator(".fc-list-item-line").filter({
1982
- hasText: title
1983
- }).locator(".fc-item-delete").click();
1984
- await this.page.getByRole("button", {
1985
- name: "Delete"
1986
- }).click();
1987
- }
1988
- async clickReleaseGroupEdit(title) {
1989
- await this.page.locator(".fc-list-item-line").filter({
1990
- hasText: title
1991
- }).locator(".fc-item-update").click();
1992
- }
1993
- async enterReleaseGroupDetails(new_title) {
1994
- await this.page.locator(".modal-body").locator("#title").fill(new_title);
1995
- }
1996
- async clickSaveButton() {
1997
- await this.page.locator(".modal-footer").getByRole("button", {
1998
- name: "Save"
1999
- }).click();
2000
- }
2001
- async clickCancelButton() {
2002
- await this.page.locator(".modal-footer").getByRole("button", {
2003
- name: "Cancel"
2004
- }).click();
2005
- }
2006
3022
  }
2007
3023
 
2008
3024
 
2009
3025
 
2010
-
2011
- class $cc231ea61b77c7a2$export$1a0994e9c202d529 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2012
- async expectReleaseDisplayed(title) {
2013
- await (0, $hOLA6$expect)(this.page.getByText(title, {
2014
- exact: true
2015
- })).toBeVisible();
2016
- }
2017
- async expectReleaseNotDisplayed(title) {
2018
- await (0, $hOLA6$expect)(this.page.getByText(title, {
2019
- exact: true
2020
- })).not.toBeVisible({
2021
- timeout: 10000
2022
- });
2023
- }
2024
- async expectPhaseDisplayed(title) {
2025
- await (0, $hOLA6$expect)(this.page.getByText(title, {
2026
- exact: true
2027
- })).toBeVisible();
2028
- }
2029
- async openContextMenu(title) {
2030
- await this.page.locator(".timeline-row-name").filter({
2031
- hasText: title
2032
- }).locator(".options-icon").click();
2033
- }
2034
- async removeFromReleaseGroup() {
2035
- await this.page.getByRole("menuitem", {
2036
- name: "Remove from group"
2037
- }).locator("a").click();
2038
- await this.page.getByRole("button", {
2039
- name: "Remove"
2040
- }).click();
2041
- }
2042
- async expectNumberOfReleases(num_of_release) {
2043
- const elementCount = await this.page.locator(".timeline-row-name-release").count();
2044
- (0, $hOLA6$expect)(elementCount).toBe(num_of_release);
2045
- }
2046
- async openAddReleaseList() {
2047
- await this.page.getByRole("button", {
2048
- name: "Add release"
2049
- }).click();
2050
- }
2051
- async filterReleases(title) {
2052
- await this.page.getByPlaceholder("Search for a release...").click();
2053
- await this.page.getByPlaceholder("Search for a release...").fill(title);
2054
- await this.page.waitForTimeout(5000);
2055
- await this.page.getByPlaceholder("Search for a release...").press("Enter");
2056
- }
2057
- async expectNumberOfReleasesOnModal(num_of_release) {
2058
- const elementCount = await this.page.locator(".release-modal-line").count();
2059
- (0, $hOLA6$expect)(elementCount).toBe(num_of_release);
2060
- }
2061
- async selectAllReleaseCheckbox() {
2062
- await this.page.getByLabel("Select all").check();
2063
- }
2064
- async addReleasesToGroup() {
2065
- await this.page.getByRole("button", {
2066
- name: "Add"
2067
- }).click();
2068
- }
2069
- }
2070
-
2071
-
2072
3026
  class $e72552cbf941ecfa$export$b8a61e5c71402559 {
2073
3027
  constructor(page){
2074
3028
  this.page = page;
3029
+ this.folderPage = new (0, $50c91328c9110668$export$b453f08936c58edb)(page);
3030
+ this.globalvariable = new (0, $3df1257265fba073$export$74ca1eaaa9a0054)(page);
3031
+ this.homePage = new (0, $2174535b78371022$export$36d69433c4f81145)(page);
2075
3032
  this.releasePage = new (0, $43cbcdfccb6c2a76$export$f43492e8ac3c566)(page);
2076
3033
  this.settingsMenu = new (0, $f1bf370bb7f683ca$export$1d7840d5cdc861d5)(page);
2077
3034
  this.usersPage = new (0, $2cb6a6ac6b17e85f$export$107317390f5aa598)(page);
2078
3035
  this.applicationPage = new (0, $c313b10398604df2$export$1533b625ec0c75e2)(page);
3036
+ this.taskDetailsPage = new (0, $9ca6e63d357957dd$export$922081b54f2ab994)(page);
2079
3037
  this.taskListPage = new (0, $c37c93912f458e81$export$60c3bfa6385e2a10)(page);
2080
3038
  this.templatePage = new (0, $0c4084f199d70d72$export$8c8e7207254accc2)(page);
2081
3039
  this.templateListPage = new (0, $171d52b372748c0b$export$7e1d435fa474ee21)(page);
2082
- this.taskDetailsPage = new (0, $9ca6e63d357957dd$export$922081b54f2ab994)(page);
3040
+ this.randomString = new (0, $b14c3492cf934ea2$export$e40b5d3c74b04c89)();
2083
3041
  this.releaseCalendarPage = new (0, $3a340a3f4fd8f04d$export$43682cddead1dd78)(page);
2084
- this.releaseListPage = new (0, $5359280e98d97ff9$export$a678525e79c4ccc4)(page);
2085
3042
  this.releaseGroupPage = new (0, $cc2d15e53de5cef7$export$b6fbc3e67030138f)(page);
2086
3043
  this.releaseGroupTimelinePage = new (0, $cc231ea61b77c7a2$export$1a0994e9c202d529)(page);
2087
- this.util = new (0, $aa992f812fb1e470$export$6adb8dd3f0d1e432)(page);
3044
+ this.releaseListPage = new (0, $5359280e98d97ff9$export$a678525e79c4ccc4)(page);
3045
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
2088
3046
  }
2089
3047
  async openTemplate(id) {
2090
3048
  return this.openReleaseOrTemplate(id, false);
@@ -2185,12 +3143,12 @@ class $e72552cbf941ecfa$export$b8a61e5c71402559 {
2185
3143
  return new (0, $43cbcdfccb6c2a76$export$f43492e8ac3c566)(this.page);
2186
3144
  }
2187
3145
  async collapseSideView() {
2188
- await this.page.locator('.dot-tooltip[aria-label="Collapse"]').click();
2189
- await (0, $hOLA6$expect)(this.page.locator('.dot-tooltip[aria-label="Collapse"]')).not.toBeVisible();
3146
+ await this.page.locator(".icon-collapse").click();
3147
+ await (0, $hOLA6$expect)(this.page.locator(".icon-collapse")).not.toBeVisible();
2190
3148
  }
2191
3149
  async expandSideView() {
2192
- await this.page.locator('.dot-tooltip[aria-label="Expand"]').click();
2193
- await (0, $hOLA6$expect)(this.page.locator('.dot-tooltip[aria-label="Expand"]')).not.toBeVisible();
3150
+ await this.page.locator(".icon-expand").click();
3151
+ await (0, $hOLA6$expect)(this.page.locator(".icon-expand")).not.toBeVisible();
2194
3152
  }
2195
3153
  }
2196
3154