d5-testing-library 1.9.0-alpha.21 → 1.9.0-alpha.22
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/FormEdit-V2BBOANS.mjs +7 -0
- package/dist/ListForm-UBIG4ZP2.mjs +7 -0
- package/dist/TreeView-MIKFUI4Q.mjs +8 -0
- package/dist/{chunk-ATHAW2ZF.mjs → chunk-27XBX275.mjs} +1 -1
- package/dist/{chunk-NO3PBR34.mjs → chunk-FRCMUAAY.mjs} +250 -39
- package/dist/{chunk-6TK257AJ.mjs → chunk-GQKGCUVL.mjs} +1 -1
- package/dist/{chunk-I5A2CSDF.mjs → chunk-ZWHGIJ3K.mjs} +1 -1
- package/dist/cjs/d5-testing-library.cjs +336 -108
- package/dist/cjs/d5-testing-library.d.ts +1 -0
- package/dist/d5-testing-library.d.mts +1 -0
- package/dist/d5-testing-library.legacy-esm.js +4 -4
- package/dist/d5-testing-library.mjs +4 -4
- package/package.json +1 -1
- package/dist/FormEdit-WMDPDBSI.mjs +0 -7
- package/dist/ListForm-AXEPFADV.mjs +0 -7
- package/dist/TreeView-PNY6V55D.mjs +0 -8
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
waitElementIsClickable_default,
|
|
20
20
|
waitElementIsVisible_default,
|
|
21
21
|
withCustomTimeouts_default
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-FRCMUAAY.mjs";
|
|
23
23
|
|
|
24
24
|
// src/pageObjects/elements/Table/Table.ts
|
|
25
25
|
import { By as By6 } from "selenium-webdriver";
|
|
@@ -86,6 +86,9 @@ var AbstractElement = class {
|
|
|
86
86
|
async getDataTestId() {
|
|
87
87
|
return await this.getAttribute("data-testid");
|
|
88
88
|
}
|
|
89
|
+
async getDataDateMode() {
|
|
90
|
+
return await this.getAttribute("data-datemode");
|
|
91
|
+
}
|
|
89
92
|
};
|
|
90
93
|
|
|
91
94
|
// src/pageObjects/pages/AbstractPage.ts
|
|
@@ -566,10 +569,10 @@ var BooleanSelector = class extends ButtonGroup {
|
|
|
566
569
|
};
|
|
567
570
|
|
|
568
571
|
// src/pageObjects/elements/Editors/Date/SingleDateEditor.ts
|
|
569
|
-
import { By as
|
|
572
|
+
import { By as By10 } from "selenium-webdriver";
|
|
570
573
|
|
|
571
574
|
// src/pageObjects/elements/Editors/Date/BaseDateEditor.ts
|
|
572
|
-
import { By as
|
|
575
|
+
import { By as By9, Key as Key3 } from "selenium-webdriver";
|
|
573
576
|
|
|
574
577
|
// src/pageObjects/elements/Editors/Date/utils.ts
|
|
575
578
|
var formatDMYDate = (date, isTimeAllowed = false) => {
|
|
@@ -587,12 +590,202 @@ var formatToDateTime = (dateString) => {
|
|
|
587
590
|
const [hours, minutes] = timePart.split(":").map(Number);
|
|
588
591
|
return new Date(year, month - 1, day, hours, minutes, 0, 0);
|
|
589
592
|
};
|
|
593
|
+
var getYearMonthDay = (date) => {
|
|
594
|
+
const [year, month, day] = date.toISOString().split("T")[0].split("-");
|
|
595
|
+
return { year: +year, month: +month, day: +day };
|
|
596
|
+
};
|
|
590
597
|
|
|
591
|
-
// src/pageObjects/elements/Editors/Date/
|
|
598
|
+
// src/pageObjects/elements/Editors/Date/DateSelectMode.ts
|
|
599
|
+
var DateSelectMode = class {
|
|
600
|
+
static isWeek(t) {
|
|
601
|
+
return t === "week" /* Week */;
|
|
602
|
+
}
|
|
603
|
+
static isMonth(t) {
|
|
604
|
+
return t === "month" /* Month */;
|
|
605
|
+
}
|
|
606
|
+
static isWeekOrMonth(t) {
|
|
607
|
+
return this.isWeek(t) || this.isMonth(t);
|
|
608
|
+
}
|
|
609
|
+
};
|
|
610
|
+
|
|
611
|
+
// src/pageObjects/elements/Editors/Date/Calendar.ts
|
|
612
|
+
import { By as By8 } from "selenium-webdriver";
|
|
592
613
|
var BTN_CALENDAR_POPOVER_OPEN_SELECTOR = "calendar-popover-open-button";
|
|
593
614
|
var BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR = "DateRange__inputs-item--dateFrom";
|
|
594
615
|
var BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR = "DateRange__inputs-item--dateTo";
|
|
595
616
|
var BTN_SAVE_SELECTOR = "DateRange__button-save";
|
|
617
|
+
var CALENDAR_CAPTION_SELECTOR = "dx-calendar-caption-button";
|
|
618
|
+
var CALENDAR_CELL_SELECTOR = "dx-calendar-cell";
|
|
619
|
+
var CALENDAR_PREVIOUS_SELECTOR = "dx-calendar-navigator-previous-month";
|
|
620
|
+
var CALENDAR_NEXT_SELECTOR = "dx-calendar-navigator-next-month";
|
|
621
|
+
var TEXT_EDITOR_SELECTOR = "dx-texteditor-input";
|
|
622
|
+
var movesToCalendarEndForWeek = 3;
|
|
623
|
+
var movesToCalendarEndForMonth = 1;
|
|
624
|
+
var Calendar = class extends AbstractElementWithParent {
|
|
625
|
+
_parentCssSelector;
|
|
626
|
+
constructor({ parentCssSelector, dateFieldDataTestID, driver }) {
|
|
627
|
+
super("", byTestIdCssSelector(`${dateFieldDataTestID}-calendar-popover`), driver);
|
|
628
|
+
this._parentCssSelector = parentCssSelector;
|
|
629
|
+
}
|
|
630
|
+
async init() {
|
|
631
|
+
const dateField = await this.driver.findElement(By8.css(this._parentCssSelector));
|
|
632
|
+
const button = await dateField.findElement(By8.css(`.${BTN_CALENDAR_POPOVER_OPEN_SELECTOR}`));
|
|
633
|
+
await click(button, this.driver);
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* Переходимо на найвищий рівень календаря
|
|
637
|
+
*/
|
|
638
|
+
async moveToCalendarEnd(count) {
|
|
639
|
+
while (count >= 0) {
|
|
640
|
+
const calendarElement = await this.getElement();
|
|
641
|
+
const button = await calendarElement.findElement(By8.css(`.${CALENDAR_CAPTION_SELECTOR}`));
|
|
642
|
+
await click(button, this.driver);
|
|
643
|
+
count--;
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
647
|
+
* Пошук та клік по правильному періоду (2010-2019, 2020-2029, і т.д.)
|
|
648
|
+
*/
|
|
649
|
+
async choosePeriodForYear(targetYear) {
|
|
650
|
+
let found = false;
|
|
651
|
+
while (!found) {
|
|
652
|
+
const calendarElement = await this.getElement();
|
|
653
|
+
const periodCells = await calendarElement.findElements(By8.css(`.${CALENDAR_CELL_SELECTOR} span`));
|
|
654
|
+
for (const cell of periodCells) {
|
|
655
|
+
const text = await cell.getText();
|
|
656
|
+
if (text) {
|
|
657
|
+
const [start, end] = text.split("-").map(Number);
|
|
658
|
+
if (targetYear >= start && targetYear <= end) {
|
|
659
|
+
await click(cell, this.driver);
|
|
660
|
+
found = true;
|
|
661
|
+
break;
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
if (!found) {
|
|
666
|
+
const firstPeriod = await periodCells[0].getText();
|
|
667
|
+
const [start] = firstPeriod.split("-").map(Number);
|
|
668
|
+
if (targetYear < start) {
|
|
669
|
+
const prevBtn = await calendarElement.findElement(By8.css(`.${CALENDAR_PREVIOUS_SELECTOR}`));
|
|
670
|
+
await click(prevBtn, this.driver);
|
|
671
|
+
} else {
|
|
672
|
+
const nextBtn = await calendarElement.findElement(By8.css(`.${CALENDAR_NEXT_SELECTOR}`));
|
|
673
|
+
await click(nextBtn, this.driver);
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
/**
|
|
679
|
+
* Пошук та клік по конкретному року з навігацією
|
|
680
|
+
*/
|
|
681
|
+
async chooseYear(targetYear) {
|
|
682
|
+
let found = false;
|
|
683
|
+
while (!found) {
|
|
684
|
+
const calendarElement = await this.getElement();
|
|
685
|
+
const yearCells = await calendarElement.findElements(By8.css(`.${CALENDAR_CELL_SELECTOR} span`));
|
|
686
|
+
for (const cell of yearCells) {
|
|
687
|
+
const text = await cell.getText();
|
|
688
|
+
const cellYear = Number(text);
|
|
689
|
+
if (!isNaN(cellYear) && cellYear === targetYear) {
|
|
690
|
+
await click(cell, this.driver);
|
|
691
|
+
found = true;
|
|
692
|
+
break;
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
if (!found) {
|
|
696
|
+
const firstYearText = await yearCells[0].getText();
|
|
697
|
+
const lastYearText = await yearCells[yearCells.length - 1].getText();
|
|
698
|
+
const firstYear = Number(firstYearText);
|
|
699
|
+
const lastYear = Number(lastYearText);
|
|
700
|
+
if (targetYear < firstYear) {
|
|
701
|
+
const prevBtn = await calendarElement.findElement(By8.css(`.${CALENDAR_PREVIOUS_SELECTOR}`));
|
|
702
|
+
await click(prevBtn, this.driver);
|
|
703
|
+
} else if (targetYear > lastYear) {
|
|
704
|
+
const nextBtn = await calendarElement.findElement(By8.css(`.${CALENDAR_NEXT_SELECTOR}`));
|
|
705
|
+
await click(nextBtn, this.driver);
|
|
706
|
+
} else {
|
|
707
|
+
throw new Error(`Year ${targetYear} is not in the visible range but navigation failed`);
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
/**
|
|
713
|
+
* Пошук та клік по конкретному місяцю
|
|
714
|
+
*/
|
|
715
|
+
async chooseMonth(year, month) {
|
|
716
|
+
const calendarElement = await this.getElement();
|
|
717
|
+
const monthCells = await calendarElement.findElements(By8.css(`.${CALENDAR_CELL_SELECTOR}`));
|
|
718
|
+
for (const cell of monthCells) {
|
|
719
|
+
const dataValue = await cell.getAttribute("data-value");
|
|
720
|
+
if (dataValue) {
|
|
721
|
+
const [cellYear, cellMonth] = dataValue.split("/").map(Number);
|
|
722
|
+
if (cellYear === year && cellMonth === month) {
|
|
723
|
+
await click(cell, this.driver);
|
|
724
|
+
return;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
throw new Error(`Month ${month} for year ${year} not found`);
|
|
729
|
+
}
|
|
730
|
+
/**
|
|
731
|
+
* Пошук та клік по конкретному дню (ігноруємо дні з іншого місяця)
|
|
732
|
+
*/
|
|
733
|
+
async chooseDay(year, month, day) {
|
|
734
|
+
const calendarElement = await this.getElement();
|
|
735
|
+
const dayCells = await calendarElement.findElements(By8.css(`.${CALENDAR_CELL_SELECTOR}`));
|
|
736
|
+
for (const cell of dayCells) {
|
|
737
|
+
const dataValue = await cell.getAttribute("data-value");
|
|
738
|
+
if (dataValue) {
|
|
739
|
+
const [cellYear, cellMonth, cellDay] = dataValue.split("/").map(Number);
|
|
740
|
+
if (cellYear === year && cellMonth === month && cellDay === day) {
|
|
741
|
+
await click(cell, this.driver);
|
|
742
|
+
return;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
throw new Error(`Day ${day}.${month}.${year} not found`);
|
|
747
|
+
}
|
|
748
|
+
/**
|
|
749
|
+
* Встановлення дати для тижня
|
|
750
|
+
*/
|
|
751
|
+
async setValueForWeek(date) {
|
|
752
|
+
const { year, month, day } = getYearMonthDay(date);
|
|
753
|
+
await this.moveToCalendarEnd(movesToCalendarEndForWeek);
|
|
754
|
+
await this.choosePeriodForYear(year);
|
|
755
|
+
await this.chooseYear(year);
|
|
756
|
+
await this.chooseMonth(year, month);
|
|
757
|
+
await this.chooseDay(year, month, day);
|
|
758
|
+
await this.save();
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* Встановлення дати для місяця
|
|
762
|
+
*/
|
|
763
|
+
async setValueForMonth(date) {
|
|
764
|
+
const { year, month } = getYearMonthDay(date);
|
|
765
|
+
await this.moveToCalendarEnd(movesToCalendarEndForMonth);
|
|
766
|
+
await this.chooseYear(year);
|
|
767
|
+
await this.chooseMonth(year, month);
|
|
768
|
+
await this.save();
|
|
769
|
+
}
|
|
770
|
+
async getDateFromInput() {
|
|
771
|
+
const calendarPopoverElement = await this.getElement();
|
|
772
|
+
return calendarPopoverElement.findElement(
|
|
773
|
+
By8.css(`.${BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR} .${TEXT_EDITOR_SELECTOR}`)
|
|
774
|
+
);
|
|
775
|
+
}
|
|
776
|
+
async getDateToInput() {
|
|
777
|
+
const calendarPopoverElement = await this.getElement();
|
|
778
|
+
return calendarPopoverElement.findElement(
|
|
779
|
+
By8.css(`.${BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR} .${TEXT_EDITOR_SELECTOR}`)
|
|
780
|
+
);
|
|
781
|
+
}
|
|
782
|
+
async save() {
|
|
783
|
+
const btnOk = await this.driver.findElement(By8.css(`.${BTN_SAVE_SELECTOR}`));
|
|
784
|
+
await click(btnOk, this.driver);
|
|
785
|
+
}
|
|
786
|
+
};
|
|
787
|
+
|
|
788
|
+
// src/pageObjects/elements/Editors/Date/BaseDateEditor.ts
|
|
596
789
|
var DATETIME_ALLOWED_SELECTOR = "dx-datebox-datetime";
|
|
597
790
|
var BaseDateEditor = class extends AbstractDXEditorWithInput {
|
|
598
791
|
constructor(parentCssSelector, elementCssSelector, driver) {
|
|
@@ -600,28 +793,46 @@ var BaseDateEditor = class extends AbstractDXEditorWithInput {
|
|
|
600
793
|
this.setClearStrategy(new InputClearStrategy());
|
|
601
794
|
}
|
|
602
795
|
async getIsAllowedTime() {
|
|
603
|
-
const dateField = await this.driver.findElement(
|
|
796
|
+
const dateField = await this.driver.findElement(By9.css(`${this.getFullCssSelector()}`));
|
|
604
797
|
const classString = await dateField.getAttribute("class");
|
|
605
798
|
return classString.includes(DATETIME_ALLOWED_SELECTOR);
|
|
606
799
|
}
|
|
607
|
-
async
|
|
608
|
-
const dateField = await this.driver.findElement(By8.css(`${this.getFullCssSelector()}`));
|
|
800
|
+
async initCalendar() {
|
|
609
801
|
const dateFieldDataTestID = await this.getDataTestId();
|
|
610
|
-
const
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
);
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
802
|
+
const calendar = new Calendar({
|
|
803
|
+
parentCssSelector: this.getFullCssSelector(),
|
|
804
|
+
dateFieldDataTestID,
|
|
805
|
+
driver: this.driver
|
|
806
|
+
});
|
|
807
|
+
await calendar.init();
|
|
808
|
+
return calendar;
|
|
809
|
+
}
|
|
810
|
+
async setValueForWeek(value) {
|
|
811
|
+
const calendar = await this.initCalendar();
|
|
812
|
+
await calendar.setValueForWeek(value);
|
|
813
|
+
}
|
|
814
|
+
async setValueForMonth(value) {
|
|
815
|
+
const calendar = await this.initCalendar();
|
|
816
|
+
await calendar.setValueForMonth(value);
|
|
817
|
+
}
|
|
818
|
+
async setArrayValue(value) {
|
|
819
|
+
const calendar = await this.initCalendar();
|
|
820
|
+
const dateFromInput = await calendar.getDateFromInput();
|
|
821
|
+
const dateToInput = await calendar.getDateToInput();
|
|
619
822
|
await this.setSingleValue(value[0], dateFromInput);
|
|
620
823
|
await this.setSingleValue(value[1], dateToInput);
|
|
621
|
-
|
|
622
|
-
await click(btnOk, this.driver);
|
|
824
|
+
await calendar.save();
|
|
623
825
|
}
|
|
624
826
|
async setSingleValue(value, inputEl) {
|
|
827
|
+
const dateMode = await this.getDataDateMode();
|
|
828
|
+
if (DateSelectMode.isWeek(dateMode)) {
|
|
829
|
+
await this.setValueForWeek(value);
|
|
830
|
+
return;
|
|
831
|
+
}
|
|
832
|
+
if (DateSelectMode.isMonth(dateMode)) {
|
|
833
|
+
await this.setValueForMonth(value);
|
|
834
|
+
return;
|
|
835
|
+
}
|
|
625
836
|
const actions = this.driver.actions({ async: true });
|
|
626
837
|
const isTimeAllowed = await this.getIsAllowedTime();
|
|
627
838
|
const formattedDate = formatDMYDate(value, isTimeAllowed);
|
|
@@ -645,7 +856,7 @@ var SingleDateEditor = class extends BaseDateEditor {
|
|
|
645
856
|
this.setClearStrategy(new InputClearStrategy());
|
|
646
857
|
}
|
|
647
858
|
async getDateElement() {
|
|
648
|
-
return this.driver.findElement(
|
|
859
|
+
return this.driver.findElement(By10.css(this.getFullCssSelector() + " .dx-dropdowneditor-input-wrapper input[type=hidden]"));
|
|
649
860
|
}
|
|
650
861
|
async getDateValue() {
|
|
651
862
|
const inputEl = await this.getDateElement();
|
|
@@ -668,14 +879,14 @@ var SingleDateEditor = class extends BaseDateEditor {
|
|
|
668
879
|
};
|
|
669
880
|
|
|
670
881
|
// src/pageObjects/elements/Editors/Date/DateRangeEditor.ts
|
|
671
|
-
import { By as
|
|
882
|
+
import { By as By11 } from "selenium-webdriver";
|
|
672
883
|
var DateRangeEditor = class extends BaseDateEditor {
|
|
673
884
|
constructor(parentCssSelector, elementCssSelector, driver) {
|
|
674
885
|
super(parentCssSelector, elementCssSelector, driver);
|
|
675
886
|
this.setClearStrategy(new InputClearStrategy());
|
|
676
887
|
}
|
|
677
888
|
async getDateElement() {
|
|
678
|
-
return this.driver.findElement(
|
|
889
|
+
return this.driver.findElement(By11.css(this.getFullCssSelector() + " .dx-texteditor-input"));
|
|
679
890
|
}
|
|
680
891
|
async getDateValue() {
|
|
681
892
|
const inputEl = await this.getDateElement();
|
|
@@ -733,7 +944,7 @@ var DateEditor = class extends AbstractDXEditorWithInput {
|
|
|
733
944
|
};
|
|
734
945
|
|
|
735
946
|
// src/pageObjects/elements/Editors/HeaderFilterDictionary.ts
|
|
736
|
-
import { By as
|
|
947
|
+
import { By as By12, Key as Key4 } from "selenium-webdriver";
|
|
737
948
|
var TAGS_SELECTOR2 = ".dx-tag .tag-text";
|
|
738
949
|
var DX_TAG_CONTAINER2 = "dx-tag-container";
|
|
739
950
|
var DX_TEXTEDITOR_EMPTY3 = "dx-texteditor-empty";
|
|
@@ -749,9 +960,9 @@ var dropDownHeaderFilterDictionaryOptionClick = async (optionValue, driver, data
|
|
|
749
960
|
driver,
|
|
750
961
|
timeout: delay ? void 0 : 600,
|
|
751
962
|
callback: async () => {
|
|
752
|
-
const calendarPopoverElement = await driver.findElement(
|
|
753
|
-
const customOptionList = calendarPopoverElement.findElement(
|
|
754
|
-
const optElement = await customOptionList.findElement(
|
|
963
|
+
const calendarPopoverElement = await driver.findElement(By12.css(calendarPopoverSelector));
|
|
964
|
+
const customOptionList = calendarPopoverElement.findElement(By12.css(`.${CUSTOM_OPTION_LIST_SELECTOR}`));
|
|
965
|
+
const optElement = await customOptionList.findElement(By12.xpath(combinedOptionHeaderFilterDictValueXpath(optionValue)));
|
|
755
966
|
await click(optElement, driver);
|
|
756
967
|
}
|
|
757
968
|
});
|
|
@@ -775,7 +986,7 @@ var HeaderFilterDictionary = class extends AbstractDXEditorWithInput {
|
|
|
775
986
|
}
|
|
776
987
|
}
|
|
777
988
|
async waitOptionSelection() {
|
|
778
|
-
await fixElementStaleError(
|
|
989
|
+
await fixElementStaleError(By12.css(TAG_BOX_LIST_ITEM_SELECTOR), this.driver);
|
|
779
990
|
}
|
|
780
991
|
async selectOption(inputEl, value, lastElement) {
|
|
781
992
|
try {
|
|
@@ -799,7 +1010,7 @@ var HeaderFilterDictionary = class extends AbstractDXEditorWithInput {
|
|
|
799
1010
|
return [];
|
|
800
1011
|
}
|
|
801
1012
|
const tags = await this.driver.findElements(
|
|
802
|
-
|
|
1013
|
+
By12.css(`${this.getFullCssSelector()} .${DX_TAG_CONTAINER2} ${TAGS_SELECTOR2}`)
|
|
803
1014
|
);
|
|
804
1015
|
const values = [];
|
|
805
1016
|
for (const tag of tags) {
|
|
@@ -1011,7 +1222,7 @@ var FormField = class extends AbstractEditor {
|
|
|
1011
1222
|
};
|
|
1012
1223
|
|
|
1013
1224
|
// src/pageObjects/elements/Forms/Form.ts
|
|
1014
|
-
import { By as
|
|
1225
|
+
import { By as By16 } from "selenium-webdriver";
|
|
1015
1226
|
|
|
1016
1227
|
// src/pageObjects/elements/AbstractButton.ts
|
|
1017
1228
|
var D5_BUTTON_IS_PRESSED = "d5-is-pressed";
|
|
@@ -1052,7 +1263,7 @@ var AbstractButton = class extends AbstractElementWithParent {
|
|
|
1052
1263
|
};
|
|
1053
1264
|
|
|
1054
1265
|
// src/pageObjects/elements/DXComponents/DXButton.ts
|
|
1055
|
-
import { By as
|
|
1266
|
+
import { By as By13 } from "selenium-webdriver";
|
|
1056
1267
|
var DXButton = class extends AbstractButton {
|
|
1057
1268
|
async getText() {
|
|
1058
1269
|
const classes = await this.getClasses();
|
|
@@ -1060,7 +1271,7 @@ var DXButton = class extends AbstractButton {
|
|
|
1060
1271
|
return null;
|
|
1061
1272
|
}
|
|
1062
1273
|
const el = await this.getElement();
|
|
1063
|
-
const textEl = el.findElement(
|
|
1274
|
+
const textEl = el.findElement(By13.className("dx-button-text"));
|
|
1064
1275
|
return await textEl.getText();
|
|
1065
1276
|
}
|
|
1066
1277
|
};
|
|
@@ -1093,7 +1304,7 @@ var Panel = class extends AbstractGroup {
|
|
|
1093
1304
|
};
|
|
1094
1305
|
|
|
1095
1306
|
// src/pageObjects/elements/Groups/TabPanel.ts
|
|
1096
|
-
import { By as
|
|
1307
|
+
import { By as By14 } from "selenium-webdriver";
|
|
1097
1308
|
var TabPanelItem = class extends AbstractGroup {
|
|
1098
1309
|
constructor(parentCssSelector, elementCssSelector, driver) {
|
|
1099
1310
|
super(parentCssSelector, elementCssSelector, driver);
|
|
@@ -1103,7 +1314,7 @@ var TabPanelItem = class extends AbstractGroup {
|
|
|
1103
1314
|
}
|
|
1104
1315
|
async isActive() {
|
|
1105
1316
|
const tabPanelItemElement = await this.getElement();
|
|
1106
|
-
const grandparentTab = await tabPanelItemElement.findElement(
|
|
1317
|
+
const grandparentTab = await tabPanelItemElement.findElement(By14.xpath('ancestor::div[@role="tab"][1]'));
|
|
1107
1318
|
return await grandparentTab.getAttribute("aria-selected") === "true";
|
|
1108
1319
|
}
|
|
1109
1320
|
async getTitle() {
|
|
@@ -1120,7 +1331,7 @@ var TabPanel = class extends AbstractGroup {
|
|
|
1120
1331
|
};
|
|
1121
1332
|
|
|
1122
1333
|
// src/pageObjects/elements/Groups/Accordion/AccordionItem.ts
|
|
1123
|
-
import { By as
|
|
1334
|
+
import { By as By15 } from "selenium-webdriver";
|
|
1124
1335
|
var ACCORDION_TITLE_CONTAINER = "accordion-title-container";
|
|
1125
1336
|
var AccordionItem = class extends AbstractGroup {
|
|
1126
1337
|
constructor(parentCssSelector, elementCssSelector, driver) {
|
|
@@ -1132,7 +1343,7 @@ var AccordionItem = class extends AbstractGroup {
|
|
|
1132
1343
|
}
|
|
1133
1344
|
async clickAccordionItemTitle() {
|
|
1134
1345
|
const accordionElement = await this.getElement();
|
|
1135
|
-
const accordTitleElement = await accordionElement.findElement(
|
|
1346
|
+
const accordTitleElement = await accordionElement.findElement(By15.className(ACCORDION_TITLE_CONTAINER));
|
|
1136
1347
|
await accordTitleElement.click();
|
|
1137
1348
|
}
|
|
1138
1349
|
async click() {
|
|
@@ -1328,15 +1539,15 @@ async function classDependencyInjector(formType) {
|
|
|
1328
1539
|
let SubFormFactoryClass;
|
|
1329
1540
|
switch (formType) {
|
|
1330
1541
|
case "1" /* LIST */:
|
|
1331
|
-
SubFormFactoryClass = (await import("./ListForm-
|
|
1542
|
+
SubFormFactoryClass = (await import("./ListForm-UBIG4ZP2.mjs")).default;
|
|
1332
1543
|
break;
|
|
1333
1544
|
case "3" /* TREE */:
|
|
1334
|
-
SubFormFactoryClass = (await import("./TreeView-
|
|
1545
|
+
SubFormFactoryClass = (await import("./TreeView-MIKFUI4Q.mjs")).default;
|
|
1335
1546
|
break;
|
|
1336
1547
|
case "2" /* EDIT */:
|
|
1337
1548
|
case "99" /* FREE_FORM */:
|
|
1338
1549
|
case "4" /* REPORT */:
|
|
1339
|
-
SubFormFactoryClass = (await import("./FormEdit-
|
|
1550
|
+
SubFormFactoryClass = (await import("./FormEdit-V2BBOANS.mjs")).default;
|
|
1340
1551
|
break;
|
|
1341
1552
|
default:
|
|
1342
1553
|
throw new Error(`Unsupported form type ${formType}`);
|
|
@@ -1366,7 +1577,7 @@ var Form = class extends AbstractForm {
|
|
|
1366
1577
|
*/
|
|
1367
1578
|
async getTitleText() {
|
|
1368
1579
|
if (await this.isModal()) {
|
|
1369
|
-
const titleEl2 = await this.driver.findElement(
|
|
1580
|
+
const titleEl2 = await this.driver.findElement(By16.css(`${this.popupContainerCssSelector} .popup-title`));
|
|
1370
1581
|
await waitElementIsVisible_default({
|
|
1371
1582
|
element: titleEl2,
|
|
1372
1583
|
driver: this.driver,
|
|
@@ -1374,7 +1585,7 @@ var Form = class extends AbstractForm {
|
|
|
1374
1585
|
});
|
|
1375
1586
|
return titleEl2.getText();
|
|
1376
1587
|
}
|
|
1377
|
-
let titleEl = await this.driver.findElement(
|
|
1588
|
+
let titleEl = await this.driver.findElement(By16.className("main-toolbar-form-title"));
|
|
1378
1589
|
return titleEl.getText();
|
|
1379
1590
|
}
|
|
1380
1591
|
setSubFormMode() {
|
|
@@ -1393,7 +1604,7 @@ var Form = class extends AbstractForm {
|
|
|
1393
1604
|
async subForm(name, options = {}) {
|
|
1394
1605
|
const { isDockPanel = false } = options;
|
|
1395
1606
|
const cssSelector = subformCssSelector(this.containerCssSelector, subFormTestId(name), isDockPanel);
|
|
1396
|
-
const byCssSelector =
|
|
1607
|
+
const byCssSelector = By16.css(cssSelector);
|
|
1397
1608
|
const subFormEl = await this.driver.findElement(byCssSelector);
|
|
1398
1609
|
await waitElementIsVisible_default({
|
|
1399
1610
|
element: subFormEl,
|