d5-testing-library 1.8.0-alpha.10 → 1.8.0-alpha.12
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-WIXYJKA7.mjs +7 -0
- package/dist/ListForm-3HJGPSX3.mjs +7 -0
- package/dist/TreeView-NDBZ6ZAP.mjs +8 -0
- package/dist/{chunk-PS3VVRTQ.mjs → chunk-HPGRT5LR.mjs} +33 -4
- package/dist/{chunk-6RIWBBNU.mjs → chunk-LNBAZKTC.mjs} +1 -1
- package/dist/{chunk-NXQ4TYFN.mjs → chunk-NAFA4MCF.mjs} +12 -7
- package/dist/{chunk-MZW4BBF3.mjs → chunk-WZAU5CMO.mjs} +1 -1
- package/dist/cjs/d5-testing-library.cjs +41 -7
- package/dist/d5-testing-library.d.ts +4 -2
- 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-ZFZMJYWV.mjs +0 -7
- package/dist/ListForm-FXCLXRJW.mjs +0 -7
- package/dist/TreeView-DE2BPJG2.mjs +0 -8
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
wait,
|
|
17
17
|
waitElementIsClickable,
|
|
18
18
|
waitElementIsVisible
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-NAFA4MCF.mjs";
|
|
20
20
|
|
|
21
21
|
// src/pageObjects/elements/Table/Table.ts
|
|
22
22
|
import { By as By5 } from "selenium-webdriver";
|
|
@@ -65,7 +65,31 @@ var Cell = class extends AbstractElementWithParent {
|
|
|
65
65
|
for (const tag of tags) {
|
|
66
66
|
values.push(await tag.getAttribute("textContent"));
|
|
67
67
|
}
|
|
68
|
-
return values;
|
|
68
|
+
return values.length ? values : null;
|
|
69
|
+
}
|
|
70
|
+
async getNumberValue(cellEl) {
|
|
71
|
+
const value = (await cellEl.getText()).trim();
|
|
72
|
+
return value == "" ? null : Number.parseFloat(value);
|
|
73
|
+
}
|
|
74
|
+
async getDateValue(cellEl, cellElClass) {
|
|
75
|
+
const value = (await cellEl.getText()).trim();
|
|
76
|
+
if (value === "")
|
|
77
|
+
return null;
|
|
78
|
+
const isWithTime = cellElClass.includes("with-time");
|
|
79
|
+
try {
|
|
80
|
+
if (isWithTime) {
|
|
81
|
+
const [datePart, timePart] = value.split(", ");
|
|
82
|
+
const [day, month, year] = datePart.split(".").map(Number);
|
|
83
|
+
const [hours, minutes] = timePart.split(":").map(Number);
|
|
84
|
+
return new Date(Date.UTC(year, month - 1, day, hours, minutes));
|
|
85
|
+
} else {
|
|
86
|
+
const [day, month, year] = value.split(".").map(Number);
|
|
87
|
+
return new Date(Date.UTC(year, month - 1, day));
|
|
88
|
+
}
|
|
89
|
+
} catch (error) {
|
|
90
|
+
console.error(`Error parsing date value "${value}":`, error);
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
69
93
|
}
|
|
70
94
|
async getElement() {
|
|
71
95
|
if (this._index == null) {
|
|
@@ -80,7 +104,12 @@ var Cell = class extends AbstractElementWithParent {
|
|
|
80
104
|
return this.getBooleanValue(cellEl);
|
|
81
105
|
if (cellElClass.includes("tags-column" /* Tags */))
|
|
82
106
|
return this.getTagsValue(cellEl);
|
|
83
|
-
|
|
107
|
+
if (cellElClass.includes("number-column" /* Number */))
|
|
108
|
+
return this.getNumberValue(cellEl);
|
|
109
|
+
if (cellElClass.includes("date-column" /* Date */))
|
|
110
|
+
return this.getDateValue(cellEl, cellElClass);
|
|
111
|
+
const cellText = await cellEl.getText();
|
|
112
|
+
return cellText == "" ? null : cellText;
|
|
84
113
|
}
|
|
85
114
|
getIndex() {
|
|
86
115
|
return this._index;
|
|
@@ -302,7 +331,7 @@ var Table = class extends AbstractElementWithParent {
|
|
|
302
331
|
}
|
|
303
332
|
async getColumns() {
|
|
304
333
|
const columns = await this.driver.findElements(
|
|
305
|
-
By5.css(`${this.getFullCssSelector()} ${this.headerCssSelector} td[role="columnheader"]`)
|
|
334
|
+
By5.css(`${this.getFullCssSelector()} ${this.headerCssSelector} td[role="columnheader"] .header-template-text`)
|
|
306
335
|
);
|
|
307
336
|
const result = [];
|
|
308
337
|
columns.forEach((_, index) => {
|
|
@@ -226,8 +226,9 @@ var TextEditor = class extends AbstractDXEditorWithInput {
|
|
|
226
226
|
super(parentCssSelector, elementCssSelector, driver);
|
|
227
227
|
this.setClearStrategy(new InputClearStrategy());
|
|
228
228
|
}
|
|
229
|
-
getValue() {
|
|
230
|
-
|
|
229
|
+
async getValue() {
|
|
230
|
+
const value = await super.getInputValue();
|
|
231
|
+
return value == "" ? null : value;
|
|
231
232
|
}
|
|
232
233
|
setValue(value) {
|
|
233
234
|
return this.setInputValue(value);
|
|
@@ -559,8 +560,12 @@ var BaseDateEditor = class extends AbstractDXEditorWithInput {
|
|
|
559
560
|
const button = await dateField.findElement(By8.css(`.${BTN_CALENDAR_POPOVER_OPEN_SELECTOR}`));
|
|
560
561
|
await button.click();
|
|
561
562
|
const calendarPopoverElement = await this.driver.findElement(By8.css(calendarPopoverSelector));
|
|
562
|
-
const dateFromInput = await calendarPopoverElement.findElement(
|
|
563
|
-
|
|
563
|
+
const dateFromInput = await calendarPopoverElement.findElement(
|
|
564
|
+
By8.css(`.${BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR} .dx-texteditor-input`)
|
|
565
|
+
);
|
|
566
|
+
const dateToInput = await calendarPopoverElement.findElement(
|
|
567
|
+
By8.css(`.${BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR} .dx-texteditor-input`)
|
|
568
|
+
);
|
|
564
569
|
await dateFromInput.click();
|
|
565
570
|
await dateFromInput.sendKeys(formattedDates[0]);
|
|
566
571
|
await dateToInput.click();
|
|
@@ -1254,15 +1259,15 @@ async function classDependencyInjector(formType) {
|
|
|
1254
1259
|
let SubFormFactoryClass;
|
|
1255
1260
|
switch (formType) {
|
|
1256
1261
|
case "1" /* LIST */:
|
|
1257
|
-
SubFormFactoryClass = (await import("./ListForm-
|
|
1262
|
+
SubFormFactoryClass = (await import("./ListForm-3HJGPSX3.mjs")).default;
|
|
1258
1263
|
break;
|
|
1259
1264
|
case "3" /* TREE */:
|
|
1260
|
-
SubFormFactoryClass = (await import("./TreeView-
|
|
1265
|
+
SubFormFactoryClass = (await import("./TreeView-NDBZ6ZAP.mjs")).default;
|
|
1261
1266
|
break;
|
|
1262
1267
|
case "2" /* EDIT */:
|
|
1263
1268
|
case "99" /* FREE_FORM */:
|
|
1264
1269
|
case "4" /* REPORT */:
|
|
1265
|
-
SubFormFactoryClass = (await import("./FormEdit-
|
|
1270
|
+
SubFormFactoryClass = (await import("./FormEdit-WIXYJKA7.mjs")).default;
|
|
1266
1271
|
break;
|
|
1267
1272
|
default:
|
|
1268
1273
|
throw new Error(`Unsupported form type ${formType}`);
|
|
@@ -337,8 +337,9 @@ var init_TextEditor = __esm({
|
|
|
337
337
|
super(parentCssSelector, elementCssSelector, driver);
|
|
338
338
|
this.setClearStrategy(new InputClearStrategy());
|
|
339
339
|
}
|
|
340
|
-
getValue() {
|
|
341
|
-
|
|
340
|
+
async getValue() {
|
|
341
|
+
const value = await super.getInputValue();
|
|
342
|
+
return value == "" ? null : value;
|
|
342
343
|
}
|
|
343
344
|
setValue(value) {
|
|
344
345
|
return this.setInputValue(value);
|
|
@@ -768,8 +769,12 @@ var init_BaseDateEditor = __esm({
|
|
|
768
769
|
const button = await dateField.findElement(import_selenium_webdriver12.By.css(`.${BTN_CALENDAR_POPOVER_OPEN_SELECTOR}`));
|
|
769
770
|
await button.click();
|
|
770
771
|
const calendarPopoverElement = await this.driver.findElement(import_selenium_webdriver12.By.css(calendarPopoverSelector));
|
|
771
|
-
const dateFromInput = await calendarPopoverElement.findElement(
|
|
772
|
-
|
|
772
|
+
const dateFromInput = await calendarPopoverElement.findElement(
|
|
773
|
+
import_selenium_webdriver12.By.css(`.${BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR} .dx-texteditor-input`)
|
|
774
|
+
);
|
|
775
|
+
const dateToInput = await calendarPopoverElement.findElement(
|
|
776
|
+
import_selenium_webdriver12.By.css(`.${BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR} .dx-texteditor-input`)
|
|
777
|
+
);
|
|
773
778
|
await dateFromInput.click();
|
|
774
779
|
await dateFromInput.sendKeys(formattedDates[0]);
|
|
775
780
|
await dateToInput.click();
|
|
@@ -1581,7 +1586,31 @@ var init_Cell = __esm({
|
|
|
1581
1586
|
for (const tag of tags) {
|
|
1582
1587
|
values.push(await tag.getAttribute("textContent"));
|
|
1583
1588
|
}
|
|
1584
|
-
return values;
|
|
1589
|
+
return values.length ? values : null;
|
|
1590
|
+
}
|
|
1591
|
+
async getNumberValue(cellEl) {
|
|
1592
|
+
const value = (await cellEl.getText()).trim();
|
|
1593
|
+
return value == "" ? null : Number.parseFloat(value);
|
|
1594
|
+
}
|
|
1595
|
+
async getDateValue(cellEl, cellElClass) {
|
|
1596
|
+
const value = (await cellEl.getText()).trim();
|
|
1597
|
+
if (value === "")
|
|
1598
|
+
return null;
|
|
1599
|
+
const isWithTime = cellElClass.includes("with-time");
|
|
1600
|
+
try {
|
|
1601
|
+
if (isWithTime) {
|
|
1602
|
+
const [datePart, timePart] = value.split(", ");
|
|
1603
|
+
const [day, month, year] = datePart.split(".").map(Number);
|
|
1604
|
+
const [hours, minutes] = timePart.split(":").map(Number);
|
|
1605
|
+
return new Date(Date.UTC(year, month - 1, day, hours, minutes));
|
|
1606
|
+
} else {
|
|
1607
|
+
const [day, month, year] = value.split(".").map(Number);
|
|
1608
|
+
return new Date(Date.UTC(year, month - 1, day));
|
|
1609
|
+
}
|
|
1610
|
+
} catch (error) {
|
|
1611
|
+
console.error(`Error parsing date value "${value}":`, error);
|
|
1612
|
+
return null;
|
|
1613
|
+
}
|
|
1585
1614
|
}
|
|
1586
1615
|
async getElement() {
|
|
1587
1616
|
if (this._index == null) {
|
|
@@ -1596,7 +1625,12 @@ var init_Cell = __esm({
|
|
|
1596
1625
|
return this.getBooleanValue(cellEl);
|
|
1597
1626
|
if (cellElClass.includes("tags-column" /* Tags */))
|
|
1598
1627
|
return this.getTagsValue(cellEl);
|
|
1599
|
-
|
|
1628
|
+
if (cellElClass.includes("number-column" /* Number */))
|
|
1629
|
+
return this.getNumberValue(cellEl);
|
|
1630
|
+
if (cellElClass.includes("date-column" /* Date */))
|
|
1631
|
+
return this.getDateValue(cellEl, cellElClass);
|
|
1632
|
+
const cellText = await cellEl.getText();
|
|
1633
|
+
return cellText == "" ? null : cellText;
|
|
1600
1634
|
}
|
|
1601
1635
|
getIndex() {
|
|
1602
1636
|
return this._index;
|
|
@@ -1994,7 +2028,7 @@ var init_Table = __esm({
|
|
|
1994
2028
|
}
|
|
1995
2029
|
async getColumns() {
|
|
1996
2030
|
const columns = await this.driver.findElements(
|
|
1997
|
-
import_selenium_webdriver24.By.css(`${this.getFullCssSelector()} ${this.headerCssSelector} td[role="columnheader"]`)
|
|
2031
|
+
import_selenium_webdriver24.By.css(`${this.getFullCssSelector()} ${this.headerCssSelector} td[role="columnheader"] .header-template-text`)
|
|
1998
2032
|
);
|
|
1999
2033
|
const result = [];
|
|
2000
2034
|
columns.forEach((_, index) => {
|
|
@@ -167,7 +167,7 @@ declare abstract class AbstractDXEditorWithInput extends AbstractElementWithPare
|
|
|
167
167
|
|
|
168
168
|
declare class TextEditor extends AbstractDXEditorWithInput {
|
|
169
169
|
constructor(parentCssSelector: string, elementCssSelector: string, driver?: WebDriver);
|
|
170
|
-
getValue(): Promise<string>;
|
|
170
|
+
getValue(): Promise<string | null>;
|
|
171
171
|
setValue(value: string): Promise<void>;
|
|
172
172
|
}
|
|
173
173
|
|
|
@@ -481,8 +481,10 @@ declare class Cell extends AbstractElementWithParent {
|
|
|
481
481
|
private set index(value);
|
|
482
482
|
private getBooleanValue;
|
|
483
483
|
private getTagsValue;
|
|
484
|
+
private getNumberValue;
|
|
485
|
+
private getDateValue;
|
|
484
486
|
getElement(): Promise<WebElement>;
|
|
485
|
-
getValue(): Promise<string | 1 | 0 | string[]>;
|
|
487
|
+
getValue(): Promise<string | number | 1 | 0 | string[] | Date>;
|
|
486
488
|
getIndex(): number;
|
|
487
489
|
}
|
|
488
490
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TreeView
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LNBAZKTC.mjs";
|
|
4
4
|
import {
|
|
5
5
|
FilterPanel,
|
|
6
6
|
FormFilterField,
|
|
7
7
|
ListForm,
|
|
8
8
|
PanelFilterField
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HPGRT5LR.mjs";
|
|
10
10
|
import {
|
|
11
11
|
FormEdit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WZAU5CMO.mjs";
|
|
13
13
|
import {
|
|
14
14
|
AbstractButton,
|
|
15
15
|
AbstractElement,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
readonlyLocator,
|
|
31
31
|
wait,
|
|
32
32
|
waitElementIsVisible
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-NAFA4MCF.mjs";
|
|
34
34
|
|
|
35
35
|
// src/pageObjects/pages/LoginPage.ts
|
|
36
36
|
var LOGIN_PATH = "/login";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TreeView
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LNBAZKTC.mjs";
|
|
4
4
|
import {
|
|
5
5
|
FilterPanel,
|
|
6
6
|
FormFilterField,
|
|
7
7
|
ListForm,
|
|
8
8
|
PanelFilterField
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HPGRT5LR.mjs";
|
|
10
10
|
import {
|
|
11
11
|
FormEdit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WZAU5CMO.mjs";
|
|
13
13
|
import {
|
|
14
14
|
AbstractButton,
|
|
15
15
|
AbstractElement,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
readonlyLocator,
|
|
31
31
|
wait,
|
|
32
32
|
waitElementIsVisible
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-NAFA4MCF.mjs";
|
|
34
34
|
|
|
35
35
|
// src/pageObjects/pages/LoginPage.ts
|
|
36
36
|
var LOGIN_PATH = "/login";
|
package/package.json
CHANGED