@digital-ai/devops-page-object-release 0.0.0-snapshot-20260123084921 → 0.0.0-snapshot-20260123085501

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
@@ -1,7 +1,8 @@
1
+ import {Buffer as $hOLA6$Buffer} from "buffer";
1
2
  import {test as $hOLA6$test, expect as $hOLA6$expect} from "@playwright/test";
2
3
  import {execFile as $hOLA6$execFile} from "child_process";
3
4
  import $hOLA6$lodashisNil from "lodash/isNil";
4
- import {env as $hOLA6$env} from "process";
5
+ import {env as $hOLA6$env, stderr as $hOLA6$stderr} from "process";
5
6
  import $hOLA6$moment from "moment";
6
7
  import {promises as $hOLA6$promises} from "fs";
7
8
  import $hOLA6$lodashisUndefined from "lodash/isUndefined";
@@ -5288,7 +5289,7 @@ class $3df1257265fba073$export$74ca1eaaa9a0054 extends (0, $9626bc9256ce31f7$exp
5288
5289
  }
5289
5290
  async addVariableText(valuename) {
5290
5291
  await this.page.getByRole("combobox").selectOption("StringVariable");
5291
- await this.page.locator(".variable-value input").fill(valuename);
5292
+ await this.page.locator(".variable-value").type(valuename);
5292
5293
  await this.submitTheVariable();
5293
5294
  }
5294
5295
  async addVariableListbox(possiblevalue) {
@@ -5300,7 +5301,7 @@ class $3df1257265fba073$export$74ca1eaaa9a0054 extends (0, $9626bc9256ce31f7$exp
5300
5301
  }
5301
5302
  async addVariablePassword(possiblevalue) {
5302
5303
  await this.page.getByRole("combobox").selectOption("PasswordStringVariable");
5303
- await this.page.locator('input[type="password"]').fill(possiblevalue);
5304
+ await this.page.locator('input[type="password"]').type(possiblevalue);
5304
5305
  await this.submitTheVariable();
5305
5306
  }
5306
5307
  async addVariableCheckbox() {
@@ -5365,7 +5366,7 @@ class $3df1257265fba073$export$74ca1eaaa9a0054 extends (0, $9626bc9256ce31f7$exp
5365
5366
  await this.page.getByRole("button", {
5366
5367
  name: "New global variable"
5367
5368
  }).click();
5368
- await this.page.locator(`div.input-group > input`).fill(variableName);
5369
+ await this.page.locator(`div.input-group > input`).type(variableName);
5369
5370
  await this.addVariablelabel.fill(labelname);
5370
5371
  await this.page.locator(".variable-description input").fill(description);
5371
5372
  }
@@ -5376,7 +5377,7 @@ class $3df1257265fba073$export$74ca1eaaa9a0054 extends (0, $9626bc9256ce31f7$exp
5376
5377
  })).toBeVisible();
5377
5378
  }
5378
5379
  async submitTheVariable() {
5379
- const pagesubmit = this.page.locator(".button.save");
5380
+ const pagesubmit = await this.page.locator(".button.save");
5380
5381
  await pagesubmit.hover();
5381
5382
  await pagesubmit.click();
5382
5383
  }
@@ -5392,7 +5393,6 @@ class $3df1257265fba073$export$74ca1eaaa9a0054 extends (0, $9626bc9256ce31f7$exp
5392
5393
  await this.page.getByRole("button", {
5393
5394
  name: "Delete"
5394
5395
  }).click();
5395
- await (0, $hOLA6$expect)(this.page.locator("alert.notice.ng-scope")).toBeVisible();
5396
5396
  }
5397
5397
  async editVariable(variableName, editedvariabletext) {
5398
5398
  await this.page.locator("[id='variables-filter']").fill(variableName);
@@ -6492,6 +6492,465 @@ class $3a340a3f4fd8f04d$export$61be9a231bfbe7b9 extends (0, $9626bc9256ce31f7$ex
6492
6492
 
6493
6493
 
6494
6494
 
6495
+ class $cc2d15e53de5cef7$export$b6fbc3e67030138f extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
6496
+ async setStatus(status) {
6497
+ await this.page.locator(".react-tagsinput").click({
6498
+ force: true
6499
+ });
6500
+ await this.page.getByText("Clear all").click();
6501
+ await this.page.locator(".react-tagsinput").click({
6502
+ force: true
6503
+ });
6504
+ if (status === "Select all") await this.page.getByText(status).click();
6505
+ else await this.page.getByTitle(status).locator("i").first().click();
6506
+ }
6507
+ async openReleaseGroup(title) {
6508
+ await this.page.locator("xlr-release-group-row").filter({
6509
+ hasText: title
6510
+ }).getByRole("link").click();
6511
+ await this.page.getByTitle(title).click();
6512
+ await (0, $hOLA6$expect)(this.page).toHaveURL(/.*ReleaseGroup/);
6513
+ }
6514
+ async expectReleaseGroupStatus(status) {
6515
+ await (0, $hOLA6$expect)(this.page.locator(".release-status")).toContainText(status);
6516
+ }
6517
+ async expectReleaseGroupDisplayed(title) {
6518
+ await (0, $hOLA6$expect)(this.page.locator(".row").getByText(title, {
6519
+ exact: true
6520
+ })).toBeVisible();
6521
+ }
6522
+ async expectReleaseGroupNotDisplayed(title) {
6523
+ await (0, $hOLA6$expect)(this.page.locator(".row").getByText(title, {
6524
+ exact: true
6525
+ })).not.toBeVisible();
6526
+ }
6527
+ async searchReleaseGroupByTitle(title) {
6528
+ await this.page.getByPlaceholder("Search for groups...", {
6529
+ exact: true
6530
+ }).click();
6531
+ await this.page.getByPlaceholder("Search for groups...", {
6532
+ exact: true
6533
+ }).fill(title);
6534
+ await this.page.getByPlaceholder("Search for groups...", {
6535
+ exact: true
6536
+ }).press("Enter");
6537
+ }
6538
+ async deleteReleaseGroup(title) {
6539
+ await this.page.locator(".fc-list-item-line").filter({
6540
+ hasText: title
6541
+ }).locator(".fc-item-delete").click();
6542
+ await this.page.getByRole("button", {
6543
+ name: "Delete"
6544
+ }).click();
6545
+ }
6546
+ async clickReleaseGroupEdit(title) {
6547
+ await this.page.locator(".fc-list-item-line").filter({
6548
+ hasText: title
6549
+ }).locator(".fc-item-update").click();
6550
+ }
6551
+ async enterReleaseGroupDetails(new_title) {
6552
+ await this.page.locator(".modal-body").locator("#title").fill(new_title);
6553
+ }
6554
+ async clickSaveButton() {
6555
+ await this.page.locator(".modal-footer").getByRole("button", {
6556
+ name: "Save"
6557
+ }).click();
6558
+ }
6559
+ async clickCancelButton() {
6560
+ await this.page.locator(".modal-footer").getByRole("button", {
6561
+ name: "Cancel"
6562
+ }).click();
6563
+ }
6564
+ }
6565
+
6566
+
6567
+
6568
+
6569
+ class $cc231ea61b77c7a2$export$1a0994e9c202d529 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
6570
+ async expectReleaseDisplayed(title) {
6571
+ await (0, $hOLA6$expect)(this.page.getByText(title, {
6572
+ exact: true
6573
+ })).toBeVisible();
6574
+ }
6575
+ async expectReleaseNotDisplayed(title) {
6576
+ await (0, $hOLA6$expect)(this.page.getByText(title, {
6577
+ exact: true
6578
+ })).not.toBeVisible({
6579
+ timeout: 10000
6580
+ });
6581
+ }
6582
+ async expectPhaseDisplayed(title) {
6583
+ await (0, $hOLA6$expect)(this.page.getByText(title, {
6584
+ exact: true
6585
+ })).toBeVisible();
6586
+ }
6587
+ async openContextMenu(title) {
6588
+ await this.page.locator(".timeline-row-name").filter({
6589
+ hasText: title
6590
+ }).locator(".options-icon").click();
6591
+ }
6592
+ async removeFromReleaseGroup() {
6593
+ await this.page.getByRole("menuitem", {
6594
+ name: "Remove from group"
6595
+ }).locator("a").click();
6596
+ await this.page.getByRole("button", {
6597
+ name: "Remove"
6598
+ }).click();
6599
+ }
6600
+ async expectNumberOfReleases(num_of_release) {
6601
+ const elementCount = await this.page.locator(".timeline-row-name-release").count();
6602
+ (0, $hOLA6$expect)(elementCount).toBe(num_of_release);
6603
+ }
6604
+ async openAddReleaseList() {
6605
+ await this.page.getByRole("button", {
6606
+ name: "Add release"
6607
+ }).click();
6608
+ }
6609
+ async filterReleases(title) {
6610
+ await this.page.getByPlaceholder("Search for a release...").click();
6611
+ await this.page.getByPlaceholder("Search for a release...").fill(title);
6612
+ await this.page.waitForTimeout(5000);
6613
+ await this.page.getByPlaceholder("Search for a release...").press("Enter");
6614
+ }
6615
+ async expectNumberOfReleasesOnModal(num_of_release) {
6616
+ const elementCount = await this.page.locator(".release-modal-line").count();
6617
+ (0, $hOLA6$expect)(elementCount).toBe(num_of_release);
6618
+ }
6619
+ async selectAllReleaseCheckbox() {
6620
+ await this.page.getByLabel("Select all").check();
6621
+ }
6622
+ async addReleasesToGroup() {
6623
+ await this.page.getByRole("button", {
6624
+ name: "Add"
6625
+ }).click();
6626
+ }
6627
+ }
6628
+
6629
+
6630
+
6631
+
6632
+
6633
+
6634
+
6635
+ class $f48771b486a3eb8f$export$a87f0ae8695e74be extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
6636
+ constructor(page){
6637
+ super(page);
6638
+ this.addListValue = this.page.locator(".variable-selector .xl-components-input-full input");
6639
+ this.addVariableValue = this.page.locator(".variable-value .xl-components-input-full input");
6640
+ this.dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(page);
6641
+ this.listAddButton = this.page.getByRole("button", {
6642
+ name: "Add"
6643
+ });
6644
+ }
6645
+ async openVariable(variableKey) {
6646
+ await this.page.locator(`.variables-list .variable`).getByText(variableKey).click();
6647
+ return new $f48771b486a3eb8f$var$ReleaseVariableModal(this.page);
6648
+ }
6649
+ async addNewVariable(variableName, labelname, description) {
6650
+ await this.page.locator("#action-toolbar").getByText("New variable").click();
6651
+ await this.page.fill(`[name="fieldKey"]`, variableName);
6652
+ await this.page.locator(".variable-label input").fill(labelname);
6653
+ if (description) await this.page.locator(".variable-description input").fill(description);
6654
+ }
6655
+ async selectVariableTextType(valuename) {
6656
+ await this.page.getByRole("combobox").selectOption("StringVariable");
6657
+ await this.page.locator(".variable-value").type(valuename);
6658
+ }
6659
+ async selectVariableListboxType(possiblevalue, defaultValue, required) {
6660
+ await this.page.getByRole("combobox").selectOption("DropDownListBox");
6661
+ if (possiblevalue instanceof Array) for (const value of possiblevalue){
6662
+ await this.addListValue.fill(value);
6663
+ await this.listAddButton.click();
6664
+ }
6665
+ else {
6666
+ await this.addListValue.fill(possiblevalue);
6667
+ await this.listAddButton.click();
6668
+ }
6669
+ await this.page.locator(".variable-value select").type(defaultValue);
6670
+ if (required) await this.page.getByRole("checkbox").check();
6671
+ else await this.page.getByRole("checkbox").uncheck();
6672
+ }
6673
+ async selectVariablePasswordType(possiblevalue) {
6674
+ await this.page.getByRole("combobox").selectOption("PasswordStringVariable");
6675
+ await this.page.locator('input[type="password"]').type(possiblevalue);
6676
+ }
6677
+ async selectVariableCheckboxType() {
6678
+ await this.page.getByRole("combobox").selectOption("BooleanVariable");
6679
+ await this.page.getByRole("checkbox").check();
6680
+ }
6681
+ async selectVariableNumberType(possiblevalue) {
6682
+ await this.page.getByRole("combobox").selectOption("IntegerVariable");
6683
+ await this.page.locator('input[ng-model="var.value"]').fill(possiblevalue);
6684
+ }
6685
+ async selectVariableMultiListType(possiblevalue1, possiblevalue2) {
6686
+ await this.page.getByRole("combobox").selectOption("MultiSelectListBox");
6687
+ await this.addListValue.fill(possiblevalue1);
6688
+ await this.listAddButton.click();
6689
+ await this.addListValue.fill(possiblevalue2);
6690
+ await this.listAddButton.click();
6691
+ await this.page.locator(".react-tagsinput").click();
6692
+ await this.page.getByText("Select all", {
6693
+ exact: true
6694
+ }).click();
6695
+ }
6696
+ async addVariableDate() {
6697
+ await this.page.getByRole("combobox").selectOption("DateVariable");
6698
+ await this.page.getByText("Select date").click();
6699
+ }
6700
+ async setDate(date, monthYear) {
6701
+ await this.dateUtil.setDate(date, monthYear);
6702
+ }
6703
+ async addVariableKeyValueMap(keys1, values1) {
6704
+ await this.page.getByRole("combobox").selectOption("MapStringStringVariable");
6705
+ await this.page.getByPlaceholder("key").fill(keys1);
6706
+ await this.page.getByPlaceholder("Value").fill(values1);
6707
+ await this.listAddButton.click();
6708
+ await this.page.locator(".xl-map-string-string-div-buttons .search-icon").click();
6709
+ await this.page.getByRole("row", {
6710
+ name: "Search"
6711
+ }).getByRole("textbox").fill(keys1);
6712
+ const detail = await this.page.locator("table.table-condensed span").allInnerTexts();
6713
+ (0, $hOLA6$expect)(detail[0]).toEqual(keys1);
6714
+ (0, $hOLA6$expect)(detail[1]).toEqual(values1);
6715
+ }
6716
+ async addVariableSet(possiblevalue1) {
6717
+ await this.page.getByRole("combobox").selectOption("SetStringVariable");
6718
+ await this.page.locator(".dip-input input").fill(possiblevalue1);
6719
+ await this.listAddButton.click();
6720
+ }
6721
+ async submitTheVariable() {
6722
+ const createButton = this.page.locator(".modal-footer .save");
6723
+ await (0, $hOLA6$expect)(createButton).toBeEnabled();
6724
+ await createButton.scrollIntoViewIfNeeded();
6725
+ await createButton.click();
6726
+ // Expect is needed here to avoid flackiness on clicking create button
6727
+ await (0, $hOLA6$expect)(createButton).not.toBeVisible();
6728
+ }
6729
+ async expectVariableWithNameValueAndType(name, value, type) {
6730
+ const rowLocator = await this.page.locator(".variable .data-row").allTextContents();
6731
+ (0, $hOLA6$expect)(rowLocator.toString()).toContain(name);
6732
+ (0, $hOLA6$expect)(rowLocator.toString()).toContain(value);
6733
+ (0, $hOLA6$expect)(rowLocator.toString()).toContain(type);
6734
+ }
6735
+ async clickEditVariable(variableName) {
6736
+ await this.page.locator("[id='variables-filter']").fill(variableName);
6737
+ await this.page.getByText("Edit").first().click();
6738
+ return new $f48771b486a3eb8f$var$ReleaseVariableModal(this.page);
6739
+ }
6740
+ async clickDeleteVariable(variableName) {
6741
+ await this.page.locator("[id='variables-filter']").fill(variableName);
6742
+ await this.page.locator(".action .delete-icon").first().click();
6743
+ return new $f48771b486a3eb8f$var$DeleteVariableModel(this.page);
6744
+ }
6745
+ async expectVariablesCountToBe(count) {
6746
+ await (0, $hOLA6$expect)(this.page.locator(".variable .data-row")).toHaveCount(count);
6747
+ }
6748
+ async expectVariableNotPresent(variableName) {
6749
+ await (0, $hOLA6$expect)(this.page.locator(".variable").filter({
6750
+ hasText: variableName
6751
+ })).not.toBeVisible();
6752
+ }
6753
+ async clearSearch() {
6754
+ await this.page.locator("[id='variables-filter']").clear();
6755
+ }
6756
+ async switchPossibleValuesToVariable(variableName) {
6757
+ await this.page.locator(".variable-toggle button").click();
6758
+ await this.page.locator(".ui-autocomplete-input").fill(variableName);
6759
+ await this.page.locator(".ui-menu-item-wrapper").filter({
6760
+ hasText: `${variableName}`
6761
+ }).click();
6762
+ }
6763
+ async selectVariableListboxTypeWithVariable(variableName, defaultValue, required) {
6764
+ await this.page.getByRole("combobox").selectOption("DropDownListBox");
6765
+ await this.page.locator(".variable-toggle button").click();
6766
+ await this.page.locator(".ui-autocomplete-input").fill(variableName);
6767
+ await this.page.locator(".ui-menu-item-wrapper").filter({
6768
+ hasText: `${variableName}`
6769
+ }).click();
6770
+ await this.page.locator(".variable-value select").type(defaultValue);
6771
+ if (required) await this.page.getByRole("checkbox").check();
6772
+ else await this.page.getByRole("checkbox").uncheck();
6773
+ }
6774
+ }
6775
+ class $f48771b486a3eb8f$var$ReleaseVariableModal extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
6776
+ constructor(page){
6777
+ super(page);
6778
+ this.dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(page);
6779
+ }
6780
+ async expectValue(locators, expectFn) {
6781
+ const [index, locator] = await (0, $251ce8153733e46f$export$a0f926f04148e5d2)(locators);
6782
+ expectFn[index](locator);
6783
+ }
6784
+ async expectValueToBe(value) {
6785
+ await this.expectValue([
6786
+ this.page.locator("#modal .variable-value input"),
6787
+ this.page.locator("#modal .variable-value .field-readonly"),
6788
+ this.page.locator("#modal .variable-value .xl-map-string-string"),
6789
+ this.page.locator("#modal .variable-value .xl-list-display-mode .text-container")
6790
+ ], [
6791
+ (l)=>(0, $hOLA6$expect)(l).toHaveValue(value),
6792
+ (l)=>(0, $hOLA6$expect)(l).toHaveText(value),
6793
+ (l)=>(0, $hOLA6$expect)(l).toHaveText(value),
6794
+ (l)=>(0, $hOLA6$expect)(l).toHaveText(value)
6795
+ ]);
6796
+ }
6797
+ async expectValueToContain(value) {
6798
+ await this.expectValue([
6799
+ this.page.locator("#modal .variable-value input"),
6800
+ this.page.locator("#modal .variable-value .field-readonly"),
6801
+ this.page.locator("#modal .variable-value .xl-map-string-string"),
6802
+ this.page.locator("#modal .variable-value .xl-list-display-mode")
6803
+ ], [
6804
+ (l)=>(0, $hOLA6$expect)(l.inputValue()).toContain(value),
6805
+ (l)=>(0, $hOLA6$expect)(l).toContainText(value),
6806
+ (l)=>(0, $hOLA6$expect)(l).toContainText(value),
6807
+ (l)=>(0, $hOLA6$expect)(l).toContainText(value)
6808
+ ]);
6809
+ }
6810
+ async close() {
6811
+ await this.page.locator("#modal .modal-header button.close").click();
6812
+ }
6813
+ async expectPossibleValues(possiblevalue) {
6814
+ const listLocator = await this.page.locator(".editor .xl-list-row").allInnerTexts();
6815
+ if (possiblevalue instanceof Array) for (const value of possiblevalue)(0, $hOLA6$expect)(listLocator).toContain(value);
6816
+ else (0, $hOLA6$expect)(listLocator).toContain(possiblevalue);
6817
+ }
6818
+ async expectPossibleVariableValues(possiblevariablevalue) {
6819
+ await (0, $hOLA6$expect)(this.page.locator(".variable-dropdown input")).toHaveValue(possiblevariablevalue);
6820
+ }
6821
+ async addPossibleValue(value) {
6822
+ if (value instanceof Array) for (const li of value){
6823
+ await this.page.locator(".xl-components-input-full input").fill(li);
6824
+ await this.page.getByRole("button", {
6825
+ name: "Add"
6826
+ }).click();
6827
+ }
6828
+ else {
6829
+ await this.page.locator(".xl-components-input-full input").fill(value);
6830
+ await this.page.getByRole("button", {
6831
+ name: "Add"
6832
+ }).click();
6833
+ }
6834
+ }
6835
+ async selectVariableValue(defaultValue) {
6836
+ await this.page.locator(".variable-value select").selectOption(defaultValue);
6837
+ }
6838
+ async save() {
6839
+ const saveButton = this.page.locator("#modal .modal-footer .save");
6840
+ await saveButton.scrollIntoViewIfNeeded();
6841
+ await saveButton.click({
6842
+ delay: 2000
6843
+ });
6844
+ // Expect is needed here to avoid flackiness on clicking save button on modal window
6845
+ await (0, $hOLA6$expect)(saveButton).not.toBeVisible();
6846
+ }
6847
+ async createPossibleValuesVariable(variableName) {
6848
+ await this.page.locator(".variable-toggle button").click();
6849
+ await this.page.locator(".ui-autocomplete-input").fill(variableName);
6850
+ await this.page.locator(".ui-menu-item-wrapper").filter({
6851
+ hasText: `${variableName}`
6852
+ }).click();
6853
+ }
6854
+ async expectVariableValueToBe(value) {
6855
+ (0, $hOLA6$expect)(await this.page.locator('.variable-value select option[selected="selected"]').textContent()).toBe(value);
6856
+ }
6857
+ async expectNoVariablesInList() {
6858
+ await (0, $hOLA6$expect)(this.page.getByText("No variables defined.")).toBeVisible();
6859
+ }
6860
+ async expectNameInput(value) {
6861
+ await (0, $hOLA6$expect)(this.page.locator(`#modal .variable-name input`)).toHaveValue(value);
6862
+ }
6863
+ async expectLabel(value) {
6864
+ await (0, $hOLA6$expect)(this.page.locator("#modal .variable-label input")).toHaveValue(value);
6865
+ }
6866
+ async expectRequired(value) {
6867
+ if (value == true) await (0, $hOLA6$expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).toBeChecked();
6868
+ else await (0, $hOLA6$expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).not.toBeChecked();
6869
+ }
6870
+ async setDescription(description) {
6871
+ await this.page.locator(".variable-description input").click();
6872
+ await this.page.locator(".variable-description input").clear();
6873
+ await this.page.locator(".variable-description input").fill(description);
6874
+ }
6875
+ async setLabel(labelValue) {
6876
+ await this.page.locator(".variable-label input").fill(labelValue);
6877
+ }
6878
+ async setDate(date, monthYear) {
6879
+ await this.page.locator("#modal .date").click();
6880
+ await this.dateUtil.setDate(date, monthYear);
6881
+ }
6882
+ async setValue(value) {
6883
+ await this.page.locator(".variable-value input").fill(value);
6884
+ }
6885
+ }
6886
+ class $f48771b486a3eb8f$var$DeleteVariableModel extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
6887
+ constructor(page){
6888
+ super(page);
6889
+ this.model = new $f48771b486a3eb8f$var$ReleaseVariableModal(page);
6890
+ this.dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(page);
6891
+ }
6892
+ async deleteVariable() {
6893
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
6894
+ name: "Replace and delete"
6895
+ })).toBeVisible();
6896
+ await this.page.getByRole("button", {
6897
+ name: "Delete"
6898
+ }).click();
6899
+ }
6900
+ async replaceItWithVariable(variable) {
6901
+ await this.model.createPossibleValuesVariable(variable);
6902
+ }
6903
+ async replaceItwithValue(value) {
6904
+ await this.page.locator(".display").click();
6905
+ await this.page.getByLabel("*").fill(value);
6906
+ }
6907
+ async clickReplaceAndDelete() {
6908
+ await this.page.getByRole("button", {
6909
+ name: "Replace and delete"
6910
+ }).click();
6911
+ }
6912
+ async addValue(value) {
6913
+ await this.page.locator(".xl-components-input-full input").fill(value);
6914
+ await this.page.getByRole("button", {
6915
+ name: "Add"
6916
+ }).click();
6917
+ }
6918
+ async remove(value) {
6919
+ await this.page.locator("li").filter({
6920
+ hasText: value
6921
+ }).locator("i.close-icon").click();
6922
+ }
6923
+ async expectReplacementPromptDisplayed() {
6924
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
6925
+ name: "Replace and delete"
6926
+ })).toBeVisible();
6927
+ }
6928
+ async close() {
6929
+ await this.page.locator("#modal .modal-header button.close").click();
6930
+ }
6931
+ async removeItemOnSet(value) {
6932
+ await this.page.locator("tr").filter({
6933
+ hasText: value
6934
+ }).locator("i.close-icon").click();
6935
+ }
6936
+ async addValueForSet(key, value) {
6937
+ await this.page.locator(".input-key").fill(key);
6938
+ await this.page.locator(".input-value").fill(value);
6939
+ }
6940
+ async replaceWithIntegerValue(value) {
6941
+ await this.page.locator(".editable").fill(value);
6942
+ }
6943
+ async replaceForBooleanValue() {
6944
+ await this.page.locator(".editor input").click();
6945
+ }
6946
+ async deleteBySettingDate(date, monthYear) {
6947
+ await this.page.locator("#modal .date").click();
6948
+ await this.dateUtil.setDate(date, monthYear);
6949
+ }
6950
+ }
6951
+
6952
+
6953
+
6495
6954
 
6496
6955
 
6497
6956
 
@@ -8754,6 +9213,7 @@ class $e72552cbf941ecfa$export$b8a61e5c71402559 {
8754
9213
  this.header = new (0, $aa1ba8c8de3c0679$export$2fb4351c41ce6e7a)(page);
8755
9214
  this.managePluginsPage = new (0, $ecd0868a4240184d$export$7b434e00c788d0bf)(page);
8756
9215
  this.releasePage = new (0, $43cbcdfccb6c2a76$export$f43492e8ac3c566)(page);
9216
+ this.summaryPage = new (0, $1161451ccf0a4615$export$46146ef3ab8c339b)(page);
8757
9217
  this.settingsMenu = new (0, $f1bf370bb7f683ca$export$1d7840d5cdc861d5)(page);
8758
9218
  this.systemSettingsPage = new (0, $2cbb78eec86d0a9f$export$2edf430132ca35d0)(page);
8759
9219
  this.usersPage = new (0, $2cb6a6ac6b17e85f$export$107317390f5aa598)(page);
@@ -8764,8 +9224,10 @@ class $e72552cbf941ecfa$export$b8a61e5c71402559 {
8764
9224
  this.templateListPage = new (0, $171d52b372748c0b$export$7e1d435fa474ee21)(page);
8765
9225
  this.personalSettingsPage = new (0, $a5932af323ac015a$export$3cf9c90f870f31bd)(page);
8766
9226
  this.releaseCalendarPage = new (0, $3a340a3f4fd8f04d$export$43682cddead1dd78)(page);
8767
- this.releaseGanttPage = new (0, $a546aadb4e6fa16a$export$5a82be0a2a261cc6)(page);
9227
+ this.releaseGroupPage = new (0, $cc2d15e53de5cef7$export$b6fbc3e67030138f)(page);
9228
+ this.releaseGroupTimelinePage = new (0, $cc231ea61b77c7a2$export$1a0994e9c202d529)(page);
8768
9229
  this.releaseListPage = new (0, $5359280e98d97ff9$export$a678525e79c4ccc4)(page);
9230
+ this.releaseGanttPage = new (0, $a546aadb4e6fa16a$export$5a82be0a2a261cc6)(page);
8769
9231
  this.rolesPage = new (0, $208f399edeb35aa2$export$7a5b979a220f477c)(page);
8770
9232
  this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
8771
9233
  this.workflowCatalogPage = new (0, $2c7e9876d54521fb$export$5628dfd1b9e94785)(page);
@@ -8786,7 +9248,7 @@ class $e72552cbf941ecfa$export$b8a61e5c71402559 {
8786
9248
  async openVariablesOnReleasePage(releaseId) {
8787
9249
  await this.page.goto(`./#/releases/${releaseId}/variables`);
8788
9250
  await this.page.waitForSelector("#release-variables");
8789
- return new (0, $dfc4ce40cbd0eb71$export$f8e64fcf447db2bf)(this.page);
9251
+ return new (0, $f48771b486a3eb8f$export$a87f0ae8695e74be)(this.page);
8790
9252
  }
8791
9253
  async openRelease(id) {
8792
9254
  return this.openReleaseOrTemplate(id, true);
@@ -8806,11 +9268,6 @@ class $e72552cbf941ecfa$export$b8a61e5c71402559 {
8806
9268
  exact: true
8807
9269
  }).click();
8808
9270
  }
8809
- async gotoHomePageFromRelease() {
8810
- await this.page.getByRole("link", {
8811
- name: "Home"
8812
- }).click();
8813
- }
8814
9271
  async gotoFolderPage() {
8815
9272
  await this.page.locator("ul.side-nav li").getByLabel("Folders", {
8816
9273
  exact: true
@@ -8927,25 +9384,39 @@ class $e72552cbf941ecfa$export$b8a61e5c71402559 {
8927
9384
 
8928
9385
 
8929
9386
 
9387
+
8930
9388
  class $4444bee76761dfb1$export$f14c0e3f98d164c0 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
8931
9389
  /**
8932
9390
  * Login with username and password
8933
9391
  * @param userName
8934
9392
  * @param password
8935
9393
  */ async login(userName, password) {
8936
- await this.page.goto("./#/login");
8937
- await (0, $hOLA6$expect)(this.page).toHaveTitle("Digital.ai Release");
8938
- await this.page.getByPlaceholder("User").fill(userName, {
8939
- timeout: 1000
8940
- });
8941
- await this.page.getByPlaceholder("Password").fill(password, {
8942
- timeout: 10000
8943
- });
9394
+ if (!$hOLA6$env.TEST_ENV) throw new Error("TEST_ENV is not defined. Aborting login.");
9395
+ const testEnv = $hOLA6$env.TEST_ENV;
9396
+ $hOLA6$stderr.write(`[ENV CHECK]\n` + ` TEST_ENV=${testEnv}\n`);
9397
+ await this.page.goto("./");
9398
+ if (testEnv === "saas") {
9399
+ $hOLA6$stderr.write(`[ENV CHECK_INSIDE_IF]\n` + ` TEST_ENV=${testEnv}\n`);
9400
+ //if (this.page.url().includes('/auth/realms')) {
9401
+ const usernameInput = this.page.locator('input[name="username"]');
9402
+ await usernameInput.waitFor({
9403
+ state: "visible",
9404
+ timeout: 10000
9405
+ });
9406
+ await usernameInput.fill(userName);
9407
+ const passwordInput = this.page.locator('input[name="password"]');
9408
+ await passwordInput.waitFor({
9409
+ state: "visible",
9410
+ timeout: 10000
9411
+ });
9412
+ await passwordInput.fill(password);
9413
+ } else {
9414
+ await this.page.getByPlaceholder("User").fill(userName);
9415
+ await this.page.getByPlaceholder("Password").fill(password);
9416
+ }
8944
9417
  await this.page.getByRole("button", {
8945
- name: "Log in"
8946
- }).click({
8947
- timeout: 10000
8948
- });
9418
+ name: /log in|sign in/i
9419
+ }).click();
8949
9420
  await this.page.waitForTimeout(1000);
8950
9421
  await this.closePendoModalWindow();
8951
9422
  }
@@ -9151,9 +9622,22 @@ const $f86fbaaa8b4e8c61$export$45f0aca2596a2bb3 = function() {
9151
9622
 
9152
9623
 
9153
9624
 
9625
+
9626
+ var $80c3ae34677b4324$require$Buffer = $hOLA6$Buffer;
9154
9627
  const $80c3ae34677b4324$var$JIRA_ISSUE_API_URL = "https://digitalai.atlassian.net/rest/api/2/issue";
9155
- const $80c3ae34677b4324$var$adminHeaders = {
9156
- Authorization: "Basic YWRtaW46YWRtaW4=",
9628
+ function $80c3ae34677b4324$var$encodeBasicAuth() {
9629
+ const username = $hOLA6$env.TEST_USERNAME;
9630
+ const password = $hOLA6$env.TEST_PASSWORD;
9631
+ const environment = $hOLA6$env.TEST_ENV;
9632
+ const base_url = $hOLA6$env.BASE_URL;
9633
+ $hOLA6$stderr.write(`[ENV CHECK]\n` + ` TEST_USERNAME=${username}\n` + ` TEST_PASSWORD=${password}\n` + ` TEST_ENV=${environment}\n` + ` TEST_BASEURL=${base_url}\n`);
9634
+ if (!username || !password) throw new Error("Missing TEST_USERNAME or TEST_PASSWORD in environment variables");
9635
+ const encoded = $80c3ae34677b4324$require$Buffer.from(`${username}:${password}`).toString("base64");
9636
+ $hOLA6$stderr.write(`[AUTH CHECK]\n` + ` BasicAuth(base64)=${encoded}\n`);
9637
+ return encoded;
9638
+ }
9639
+ const $80c3ae34677b4324$export$1d40aa9bc568f58d = {
9640
+ Authorization: `Basic ${$80c3ae34677b4324$var$encodeBasicAuth()}`,
9157
9641
  Cookie: "XSRF-TOKEN=1;",
9158
9642
  "X-XSRF-TOKEN": "1"
9159
9643
  };
@@ -9635,24 +10119,24 @@ class $80c3ae34677b4324$var$Fixtures {
9635
10119
  doPost(url, body) {
9636
10120
  return this.request.post(url, {
9637
10121
  data: body,
9638
- headers: $80c3ae34677b4324$var$adminHeaders
10122
+ headers: $80c3ae34677b4324$export$1d40aa9bc568f58d
9639
10123
  });
9640
10124
  }
9641
10125
  doPut(url, body) {
9642
10126
  return this.request.put(url, {
9643
10127
  data: body,
9644
- headers: $80c3ae34677b4324$var$adminHeaders
10128
+ headers: $80c3ae34677b4324$export$1d40aa9bc568f58d
9645
10129
  });
9646
10130
  }
9647
10131
  doGet(url) {
9648
10132
  return this.request.get(url, {
9649
- headers: $80c3ae34677b4324$var$adminHeaders
10133
+ headers: $80c3ae34677b4324$export$1d40aa9bc568f58d
9650
10134
  });
9651
10135
  }
9652
10136
  doDelete(url, body) {
9653
10137
  return this.request.delete(url, {
9654
10138
  data: body,
9655
- headers: $80c3ae34677b4324$var$adminHeaders
10139
+ headers: $80c3ae34677b4324$export$1d40aa9bc568f58d
9656
10140
  });
9657
10141
  }
9658
10142
  initDefaults(ci) {