d5-testing-library 1.8.0-alpha.7 → 1.8.0-alpha.9
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-ELCXSD63.mjs +7 -0
- package/dist/ListForm-A7HQKGCR.mjs +7 -0
- package/dist/TreeView-ANBLGS27.mjs +8 -0
- package/dist/{chunk-JPBRK2XM.mjs → chunk-4JWY3XDX.mjs} +11 -4
- package/dist/{chunk-XIXI3XKT.mjs → chunk-R3BWDLN3.mjs} +3 -3
- package/dist/{chunk-SLLHWNFA.mjs → chunk-VPTIEIX5.mjs} +4 -2
- package/dist/{chunk-OFRHOWHJ.mjs → chunk-XQTIDP34.mjs} +16 -7
- package/dist/cjs/d5-testing-library.cjs +36 -19
- package/dist/d5-testing-library.d.ts +6 -3
- package/dist/d5-testing-library.legacy-esm.js +10 -11
- package/dist/d5-testing-library.mjs +10 -11
- package/package.json +1 -1
- package/dist/FormEdit-CWMK45SG.mjs +0 -7
- package/dist/ListForm-5DCDM5MB.mjs +0 -7
- package/dist/TreeView-X5OAX5BH.mjs +0 -8
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
wait,
|
|
17
17
|
waitElementIsClickable,
|
|
18
18
|
waitElementIsVisible
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-R3BWDLN3.mjs";
|
|
20
20
|
|
|
21
21
|
// src/pageObjects/elements/Table/Table.ts
|
|
22
22
|
import { By as By5 } from "selenium-webdriver";
|
|
@@ -241,11 +241,13 @@ var Table = class extends AbstractElementWithParent {
|
|
|
241
241
|
formName;
|
|
242
242
|
headerCssSelector;
|
|
243
243
|
fixedTableContentCssSelector;
|
|
244
|
-
|
|
244
|
+
tableContentCssSelector;
|
|
245
|
+
constructor(parentCssSelector, headerCssSelector, tableContentCssSelector, fixedTableContentCssSelector, formName, driver) {
|
|
245
246
|
super(parentCssSelector, `#${createTableId(formName)}`, driver);
|
|
246
247
|
this.formName = formName;
|
|
247
248
|
this.headerCssSelector = headerCssSelector;
|
|
248
249
|
this.fixedTableContentCssSelector = fixedTableContentCssSelector;
|
|
250
|
+
this.tableContentCssSelector = tableContentCssSelector;
|
|
249
251
|
}
|
|
250
252
|
getColumnBy = (args) => {
|
|
251
253
|
if (args.title) {
|
|
@@ -283,7 +285,8 @@ var Table = class extends AbstractElementWithParent {
|
|
|
283
285
|
return this.getRowByIndex(index).select();
|
|
284
286
|
}
|
|
285
287
|
async getRows() {
|
|
286
|
-
const
|
|
288
|
+
const rowsFullCssSelector = `${this.getFullCssSelector()} ${this.tableContentCssSelector} .dx-row.dx-data-row`;
|
|
289
|
+
const rows = await this.driver.findElements(By5.css(rowsFullCssSelector));
|
|
287
290
|
const result = [];
|
|
288
291
|
rows.forEach((_, index) => {
|
|
289
292
|
const newRow = new Row(
|
|
@@ -1016,15 +1019,18 @@ var ColumnFilter = class extends AbstractElement {
|
|
|
1016
1019
|
|
|
1017
1020
|
// src/pageObjects/elements/Forms/ListForm.ts
|
|
1018
1021
|
var DATAGRID_HEADER_CSS_SELECTOR = ".dx-datagrid-headers .dx-datagrid-content:not(.dx-datagrid-content-fixed)";
|
|
1022
|
+
var DATAGRID_CONTENT_CSS_SELECTOR = ".dx-datagrid-content:not(.dx-datagrid-content-fixed)";
|
|
1019
1023
|
var FIXED_DATAGRID_CONTENT_CSS_SELECTOR = ".dx-fixed-columns .dx-datagrid-content.dx-datagrid-content-fixed";
|
|
1020
1024
|
var ListForm = class extends Form {
|
|
1021
1025
|
headerCssSelector;
|
|
1022
1026
|
fixedTableContentCssSelector;
|
|
1027
|
+
tableContentCssSelector;
|
|
1023
1028
|
constructor(driver) {
|
|
1024
1029
|
super(driver);
|
|
1025
|
-
this.popupContainerCssSelector = `.popup
|
|
1030
|
+
this.popupContainerCssSelector = `.popup.form-inline-${this.formName}`;
|
|
1026
1031
|
this.headerCssSelector = DATAGRID_HEADER_CSS_SELECTOR;
|
|
1027
1032
|
this.fixedTableContentCssSelector = FIXED_DATAGRID_CONTENT_CSS_SELECTOR;
|
|
1033
|
+
this.tableContentCssSelector = DATAGRID_CONTENT_CSS_SELECTOR;
|
|
1028
1034
|
}
|
|
1029
1035
|
/**
|
|
1030
1036
|
* Находит таблицу
|
|
@@ -1037,6 +1043,7 @@ var ListForm = class extends Form {
|
|
|
1037
1043
|
return new Table(
|
|
1038
1044
|
this.containerCssSelector,
|
|
1039
1045
|
this.headerCssSelector,
|
|
1046
|
+
this.tableContentCssSelector,
|
|
1040
1047
|
this.fixedTableContentCssSelector,
|
|
1041
1048
|
this.formName,
|
|
1042
1049
|
this.driver
|
|
@@ -1254,15 +1254,15 @@ async function classDependencyInjector(formType) {
|
|
|
1254
1254
|
let SubFormFactoryClass;
|
|
1255
1255
|
switch (formType) {
|
|
1256
1256
|
case "1" /* LIST */:
|
|
1257
|
-
SubFormFactoryClass = (await import("./ListForm-
|
|
1257
|
+
SubFormFactoryClass = (await import("./ListForm-A7HQKGCR.mjs")).default;
|
|
1258
1258
|
break;
|
|
1259
1259
|
case "3" /* TREE */:
|
|
1260
|
-
SubFormFactoryClass = (await import("./TreeView-
|
|
1260
|
+
SubFormFactoryClass = (await import("./TreeView-ANBLGS27.mjs")).default;
|
|
1261
1261
|
break;
|
|
1262
1262
|
case "2" /* EDIT */:
|
|
1263
1263
|
case "99" /* FREE_FORM */:
|
|
1264
1264
|
case "4" /* REPORT */:
|
|
1265
|
-
SubFormFactoryClass = (await import("./FormEdit-
|
|
1265
|
+
SubFormFactoryClass = (await import("./FormEdit-ELCXSD63.mjs")).default;
|
|
1266
1266
|
break;
|
|
1267
1267
|
default:
|
|
1268
1268
|
throw new Error(`Unsupported form type ${formType}`);
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ListForm
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4JWY3XDX.mjs";
|
|
4
4
|
|
|
5
5
|
// src/pageObjects/elements/Forms/TreeView.ts
|
|
6
6
|
var TREELIST_HEADER_CSS_SELECTOR = ".dx-treelist-headers .dx-treelist-content:not(.dx-datagrid-content-fixed)";
|
|
7
|
+
var TREELIST_CONTENT_CSS_SELECTOR = ".dx-treelist-content:not(.dx-datagrid-content-fixed)";
|
|
7
8
|
var FIXED_TREELIST_CONTENT_CSS_SELECTOR = ".dx-fixed-columns .dx-treelist-content.dx-treelist-content-fixed";
|
|
8
9
|
var TreeView = class extends ListForm {
|
|
9
10
|
constructor(driver) {
|
|
10
11
|
super(driver);
|
|
11
|
-
this.popupContainerCssSelector = `.popup
|
|
12
|
+
this.popupContainerCssSelector = `.popup.wrapper-tree-view-${this.formName}`;
|
|
12
13
|
this.headerCssSelector = TREELIST_HEADER_CSS_SELECTOR;
|
|
13
14
|
this.fixedTableContentCssSelector = FIXED_TREELIST_CONTENT_CSS_SELECTOR;
|
|
15
|
+
this.tableContentCssSelector = TREELIST_CONTENT_CSS_SELECTOR;
|
|
14
16
|
}
|
|
15
17
|
};
|
|
16
18
|
|
|
@@ -3,16 +3,22 @@ import {
|
|
|
3
3
|
FormField,
|
|
4
4
|
click,
|
|
5
5
|
wait
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-R3BWDLN3.mjs";
|
|
7
7
|
|
|
8
8
|
// src/pageObjects/elements/Forms/FormEdit.ts
|
|
9
9
|
import { By } from "selenium-webdriver";
|
|
10
10
|
var FormEdit = class extends Form {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
saveButtonId = "#button-save";
|
|
12
|
+
closeButtonId = "#button-cancel";
|
|
13
13
|
constructor(driver) {
|
|
14
14
|
super(driver);
|
|
15
|
-
this.popupContainerCssSelector = `.popup
|
|
15
|
+
this.popupContainerCssSelector = `.popup.form-edit-${this.formName}`;
|
|
16
|
+
}
|
|
17
|
+
async getButtonCssSelector(buttonId) {
|
|
18
|
+
if (await this.isModal()) {
|
|
19
|
+
return `${this.popupContainerCssSelector} ${buttonId}`;
|
|
20
|
+
}
|
|
21
|
+
return buttonId;
|
|
16
22
|
}
|
|
17
23
|
/**
|
|
18
24
|
* Находит поле формы редактирования по имени
|
|
@@ -32,7 +38,8 @@ var FormEdit = class extends Form {
|
|
|
32
38
|
* await formEdit.isSaveButtonDisabled();
|
|
33
39
|
*/
|
|
34
40
|
async isSaveButtonDisabled() {
|
|
35
|
-
const
|
|
41
|
+
const saveButtonCssSelector = await this.getButtonCssSelector(this.saveButtonId);
|
|
42
|
+
const saveButton = await this.driver.findElement(By.css(saveButtonCssSelector));
|
|
36
43
|
const result = await saveButton.getAttribute("aria-disabled");
|
|
37
44
|
return result === "true";
|
|
38
45
|
}
|
|
@@ -44,7 +51,8 @@ var FormEdit = class extends Form {
|
|
|
44
51
|
* await formEdit.saveButtonClick();
|
|
45
52
|
*/
|
|
46
53
|
async saveButtonClick() {
|
|
47
|
-
const
|
|
54
|
+
const saveButtonCssSelector = await this.getButtonCssSelector(this.saveButtonId);
|
|
55
|
+
const saveButton = await this.driver.findElement(By.css(saveButtonCssSelector));
|
|
48
56
|
await wait(async () => !await this.isSaveButtonDisabled(), this.driver, "Button is disabled");
|
|
49
57
|
await click(saveButton, this.driver);
|
|
50
58
|
}
|
|
@@ -56,7 +64,8 @@ var FormEdit = class extends Form {
|
|
|
56
64
|
* await formEdit.closeButtonClick();
|
|
57
65
|
*/
|
|
58
66
|
async closeButtonClick() {
|
|
59
|
-
const
|
|
67
|
+
const closeButtonCssSelector = await this.getButtonCssSelector(this.closeButtonId);
|
|
68
|
+
const closeButton = await this.driver.findElement(By.css(closeButtonCssSelector));
|
|
60
69
|
await click(closeButton, this.driver);
|
|
61
70
|
}
|
|
62
71
|
};
|
|
@@ -1933,11 +1933,13 @@ var init_Table = __esm({
|
|
|
1933
1933
|
formName;
|
|
1934
1934
|
headerCssSelector;
|
|
1935
1935
|
fixedTableContentCssSelector;
|
|
1936
|
-
|
|
1936
|
+
tableContentCssSelector;
|
|
1937
|
+
constructor(parentCssSelector, headerCssSelector, tableContentCssSelector, fixedTableContentCssSelector, formName, driver) {
|
|
1937
1938
|
super(parentCssSelector, `#${createTableId(formName)}`, driver);
|
|
1938
1939
|
this.formName = formName;
|
|
1939
1940
|
this.headerCssSelector = headerCssSelector;
|
|
1940
1941
|
this.fixedTableContentCssSelector = fixedTableContentCssSelector;
|
|
1942
|
+
this.tableContentCssSelector = tableContentCssSelector;
|
|
1941
1943
|
}
|
|
1942
1944
|
getColumnBy = (args) => {
|
|
1943
1945
|
if (args.title) {
|
|
@@ -1975,7 +1977,8 @@ var init_Table = __esm({
|
|
|
1975
1977
|
return this.getRowByIndex(index).select();
|
|
1976
1978
|
}
|
|
1977
1979
|
async getRows() {
|
|
1978
|
-
const
|
|
1980
|
+
const rowsFullCssSelector = `${this.getFullCssSelector()} ${this.tableContentCssSelector} .dx-row.dx-data-row`;
|
|
1981
|
+
const rows = await this.driver.findElements(import_selenium_webdriver24.By.css(rowsFullCssSelector));
|
|
1979
1982
|
const result = [];
|
|
1980
1983
|
rows.forEach((_, index) => {
|
|
1981
1984
|
const newRow = new Row(
|
|
@@ -2822,7 +2825,7 @@ var ListForm_exports = {};
|
|
|
2822
2825
|
__export(ListForm_exports, {
|
|
2823
2826
|
default: () => ListForm
|
|
2824
2827
|
});
|
|
2825
|
-
var DATAGRID_HEADER_CSS_SELECTOR, FIXED_DATAGRID_CONTENT_CSS_SELECTOR, ListForm;
|
|
2828
|
+
var DATAGRID_HEADER_CSS_SELECTOR, DATAGRID_CONTENT_CSS_SELECTOR, FIXED_DATAGRID_CONTENT_CSS_SELECTOR, ListForm;
|
|
2826
2829
|
var init_ListForm = __esm({
|
|
2827
2830
|
"src/pageObjects/elements/Forms/ListForm.ts"() {
|
|
2828
2831
|
"use strict";
|
|
@@ -2833,15 +2836,18 @@ var init_ListForm = __esm({
|
|
|
2833
2836
|
init_FilterPanel();
|
|
2834
2837
|
init_ColumnFilter();
|
|
2835
2838
|
DATAGRID_HEADER_CSS_SELECTOR = ".dx-datagrid-headers .dx-datagrid-content:not(.dx-datagrid-content-fixed)";
|
|
2839
|
+
DATAGRID_CONTENT_CSS_SELECTOR = ".dx-datagrid-content:not(.dx-datagrid-content-fixed)";
|
|
2836
2840
|
FIXED_DATAGRID_CONTENT_CSS_SELECTOR = ".dx-fixed-columns .dx-datagrid-content.dx-datagrid-content-fixed";
|
|
2837
2841
|
ListForm = class extends Form {
|
|
2838
2842
|
headerCssSelector;
|
|
2839
2843
|
fixedTableContentCssSelector;
|
|
2844
|
+
tableContentCssSelector;
|
|
2840
2845
|
constructor(driver) {
|
|
2841
2846
|
super(driver);
|
|
2842
|
-
this.popupContainerCssSelector = `.popup
|
|
2847
|
+
this.popupContainerCssSelector = `.popup.form-inline-${this.formName}`;
|
|
2843
2848
|
this.headerCssSelector = DATAGRID_HEADER_CSS_SELECTOR;
|
|
2844
2849
|
this.fixedTableContentCssSelector = FIXED_DATAGRID_CONTENT_CSS_SELECTOR;
|
|
2850
|
+
this.tableContentCssSelector = DATAGRID_CONTENT_CSS_SELECTOR;
|
|
2845
2851
|
}
|
|
2846
2852
|
/**
|
|
2847
2853
|
* Находит таблицу
|
|
@@ -2854,6 +2860,7 @@ var init_ListForm = __esm({
|
|
|
2854
2860
|
return new Table(
|
|
2855
2861
|
this.containerCssSelector,
|
|
2856
2862
|
this.headerCssSelector,
|
|
2863
|
+
this.tableContentCssSelector,
|
|
2857
2864
|
this.fixedTableContentCssSelector,
|
|
2858
2865
|
this.formName,
|
|
2859
2866
|
this.driver
|
|
@@ -2904,19 +2911,21 @@ var TreeView_exports = {};
|
|
|
2904
2911
|
__export(TreeView_exports, {
|
|
2905
2912
|
default: () => TreeView
|
|
2906
2913
|
});
|
|
2907
|
-
var TREELIST_HEADER_CSS_SELECTOR, FIXED_TREELIST_CONTENT_CSS_SELECTOR, TreeView;
|
|
2914
|
+
var TREELIST_HEADER_CSS_SELECTOR, TREELIST_CONTENT_CSS_SELECTOR, FIXED_TREELIST_CONTENT_CSS_SELECTOR, TreeView;
|
|
2908
2915
|
var init_TreeView = __esm({
|
|
2909
2916
|
"src/pageObjects/elements/Forms/TreeView.ts"() {
|
|
2910
2917
|
"use strict";
|
|
2911
2918
|
init_ListForm();
|
|
2912
2919
|
TREELIST_HEADER_CSS_SELECTOR = ".dx-treelist-headers .dx-treelist-content:not(.dx-datagrid-content-fixed)";
|
|
2920
|
+
TREELIST_CONTENT_CSS_SELECTOR = ".dx-treelist-content:not(.dx-datagrid-content-fixed)";
|
|
2913
2921
|
FIXED_TREELIST_CONTENT_CSS_SELECTOR = ".dx-fixed-columns .dx-treelist-content.dx-treelist-content-fixed";
|
|
2914
2922
|
TreeView = class extends ListForm {
|
|
2915
2923
|
constructor(driver) {
|
|
2916
2924
|
super(driver);
|
|
2917
|
-
this.popupContainerCssSelector = `.popup
|
|
2925
|
+
this.popupContainerCssSelector = `.popup.wrapper-tree-view-${this.formName}`;
|
|
2918
2926
|
this.headerCssSelector = TREELIST_HEADER_CSS_SELECTOR;
|
|
2919
2927
|
this.fixedTableContentCssSelector = FIXED_TREELIST_CONTENT_CSS_SELECTOR;
|
|
2928
|
+
this.tableContentCssSelector = TREELIST_CONTENT_CSS_SELECTOR;
|
|
2920
2929
|
}
|
|
2921
2930
|
};
|
|
2922
2931
|
}
|
|
@@ -3047,11 +3056,17 @@ var init_FormEdit = __esm({
|
|
|
3047
3056
|
init_actions();
|
|
3048
3057
|
init_wait();
|
|
3049
3058
|
FormEdit = class extends Form {
|
|
3050
|
-
|
|
3051
|
-
|
|
3059
|
+
saveButtonId = "#button-save";
|
|
3060
|
+
closeButtonId = "#button-cancel";
|
|
3052
3061
|
constructor(driver) {
|
|
3053
3062
|
super(driver);
|
|
3054
|
-
this.popupContainerCssSelector = `.popup
|
|
3063
|
+
this.popupContainerCssSelector = `.popup.form-edit-${this.formName}`;
|
|
3064
|
+
}
|
|
3065
|
+
async getButtonCssSelector(buttonId) {
|
|
3066
|
+
if (await this.isModal()) {
|
|
3067
|
+
return `${this.popupContainerCssSelector} ${buttonId}`;
|
|
3068
|
+
}
|
|
3069
|
+
return buttonId;
|
|
3055
3070
|
}
|
|
3056
3071
|
/**
|
|
3057
3072
|
* Находит поле формы редактирования по имени
|
|
@@ -3071,7 +3086,8 @@ var init_FormEdit = __esm({
|
|
|
3071
3086
|
* await formEdit.isSaveButtonDisabled();
|
|
3072
3087
|
*/
|
|
3073
3088
|
async isSaveButtonDisabled() {
|
|
3074
|
-
const
|
|
3089
|
+
const saveButtonCssSelector = await this.getButtonCssSelector(this.saveButtonId);
|
|
3090
|
+
const saveButton = await this.driver.findElement(import_selenium_webdriver30.By.css(saveButtonCssSelector));
|
|
3075
3091
|
const result = await saveButton.getAttribute("aria-disabled");
|
|
3076
3092
|
return result === "true";
|
|
3077
3093
|
}
|
|
@@ -3083,7 +3099,8 @@ var init_FormEdit = __esm({
|
|
|
3083
3099
|
* await formEdit.saveButtonClick();
|
|
3084
3100
|
*/
|
|
3085
3101
|
async saveButtonClick() {
|
|
3086
|
-
const
|
|
3102
|
+
const saveButtonCssSelector = await this.getButtonCssSelector(this.saveButtonId);
|
|
3103
|
+
const saveButton = await this.driver.findElement(import_selenium_webdriver30.By.css(saveButtonCssSelector));
|
|
3087
3104
|
await wait(async () => !await this.isSaveButtonDisabled(), this.driver, "Button is disabled");
|
|
3088
3105
|
await click(saveButton, this.driver);
|
|
3089
3106
|
}
|
|
@@ -3095,7 +3112,8 @@ var init_FormEdit = __esm({
|
|
|
3095
3112
|
* await formEdit.closeButtonClick();
|
|
3096
3113
|
*/
|
|
3097
3114
|
async closeButtonClick() {
|
|
3098
|
-
const
|
|
3115
|
+
const closeButtonCssSelector = await this.getButtonCssSelector(this.closeButtonId);
|
|
3116
|
+
const closeButton = await this.driver.findElement(import_selenium_webdriver30.By.css(closeButtonCssSelector));
|
|
3099
3117
|
await click(closeButton, this.driver);
|
|
3100
3118
|
}
|
|
3101
3119
|
};
|
|
@@ -3364,13 +3382,12 @@ init_ListForm();
|
|
|
3364
3382
|
init_TreeView();
|
|
3365
3383
|
|
|
3366
3384
|
// src/pageObjects/elements/Forms/ReportForm.ts
|
|
3367
|
-
var import_selenium_webdriver31 = require("selenium-webdriver");
|
|
3368
3385
|
init_FormEdit();
|
|
3369
3386
|
var ReportForm = class extends FormEdit {
|
|
3370
3387
|
constructor(driver) {
|
|
3371
3388
|
super(driver);
|
|
3372
|
-
this.popupContainerCssSelector = `.popup
|
|
3373
|
-
this.
|
|
3389
|
+
this.popupContainerCssSelector = `.popup.form-report-${this.formName}`;
|
|
3390
|
+
this.saveButtonId = "#button-apply";
|
|
3374
3391
|
}
|
|
3375
3392
|
/**
|
|
3376
3393
|
* Знаходить поле/фільтр у формі репорту за ім'ям
|
|
@@ -3393,7 +3410,7 @@ init_FilterPanel();
|
|
|
3393
3410
|
|
|
3394
3411
|
// src/pageObjects/elements/Dialog.ts
|
|
3395
3412
|
init_AbstractElement();
|
|
3396
|
-
var
|
|
3413
|
+
var import_selenium_webdriver31 = require("selenium-webdriver");
|
|
3397
3414
|
init_AbstractButton();
|
|
3398
3415
|
var DIALOG_CLASS = ".d5-dialog";
|
|
3399
3416
|
var DIALOG_TITLE_CLASS = ".dialog__title";
|
|
@@ -3408,7 +3425,7 @@ var DialogButton = class extends AbstractButton {
|
|
|
3408
3425
|
}
|
|
3409
3426
|
async getElement() {
|
|
3410
3427
|
const panel = await super.getElement();
|
|
3411
|
-
return panel.findElement(
|
|
3428
|
+
return panel.findElement(import_selenium_webdriver31.By.xpath(buttonByTextXpath2(this.text)));
|
|
3412
3429
|
}
|
|
3413
3430
|
buttonNotDisplayedError() {
|
|
3414
3431
|
return `Dialog button ${this.text} cannot be clicked. It is not displayed or it is disabled`;
|
|
@@ -3428,11 +3445,11 @@ var Dialog = class extends AbstractElement {
|
|
|
3428
3445
|
return this.joinRelativeCssSelectors([DIALOG_CLASS, DIALOG_BUTTONS_PANEL_CLASS]);
|
|
3429
3446
|
}
|
|
3430
3447
|
async title() {
|
|
3431
|
-
const el = await this.driver.findElement(
|
|
3448
|
+
const el = await this.driver.findElement(import_selenium_webdriver31.By.css(this.titleSelector));
|
|
3432
3449
|
return await el.getText();
|
|
3433
3450
|
}
|
|
3434
3451
|
async text() {
|
|
3435
|
-
const el = await this.driver.findElement(
|
|
3452
|
+
const el = await this.driver.findElement(import_selenium_webdriver31.By.css(this.textSelector));
|
|
3436
3453
|
return await el.getText();
|
|
3437
3454
|
}
|
|
3438
3455
|
button(text) {
|
|
@@ -413,9 +413,10 @@ declare class FormField extends AbstractEditor {
|
|
|
413
413
|
}
|
|
414
414
|
|
|
415
415
|
declare class FormEdit extends Form {
|
|
416
|
-
|
|
417
|
-
|
|
416
|
+
saveButtonId: string;
|
|
417
|
+
closeButtonId: string;
|
|
418
418
|
constructor(driver: WebDriver);
|
|
419
|
+
private getButtonCssSelector;
|
|
419
420
|
/**
|
|
420
421
|
* Находит поле формы редактирования по имени
|
|
421
422
|
* @example
|
|
@@ -539,7 +540,8 @@ declare class Table extends AbstractElementWithParent {
|
|
|
539
540
|
protected formName: string;
|
|
540
541
|
protected headerCssSelector: string;
|
|
541
542
|
protected fixedTableContentCssSelector: string;
|
|
542
|
-
|
|
543
|
+
protected tableContentCssSelector: string;
|
|
544
|
+
constructor(parentCssSelector: string, headerCssSelector: string, tableContentCssSelector: string, fixedTableContentCssSelector: string, formName: string, driver?: WebDriver);
|
|
543
545
|
private getColumnBy;
|
|
544
546
|
getRowByIndex(index: number): Row;
|
|
545
547
|
getColumnByIndex(index: number): Column;
|
|
@@ -792,6 +794,7 @@ declare class ColumnFilter extends AbstractElement {
|
|
|
792
794
|
declare class ListForm extends Form {
|
|
793
795
|
protected headerCssSelector: string;
|
|
794
796
|
protected fixedTableContentCssSelector: string;
|
|
797
|
+
protected tableContentCssSelector: string;
|
|
795
798
|
constructor(driver: WebDriver);
|
|
796
799
|
/**
|
|
797
800
|
* Находит таблицу
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TreeView
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VPTIEIX5.mjs";
|
|
4
4
|
import {
|
|
5
5
|
FilterPanel,
|
|
6
6
|
FormFilterField,
|
|
7
7
|
ListForm,
|
|
8
8
|
PanelFilterField
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4JWY3XDX.mjs";
|
|
10
10
|
import {
|
|
11
11
|
FormEdit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XQTIDP34.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-R3BWDLN3.mjs";
|
|
34
34
|
|
|
35
35
|
// src/pageObjects/pages/LoginPage.ts
|
|
36
36
|
var LOGIN_PATH = "/login";
|
|
@@ -225,12 +225,11 @@ var SubsystemsPanel = class extends AbstractElement {
|
|
|
225
225
|
};
|
|
226
226
|
|
|
227
227
|
// src/pageObjects/elements/Forms/ReportForm.ts
|
|
228
|
-
import { By as By4 } from "selenium-webdriver";
|
|
229
228
|
var ReportForm = class extends FormEdit {
|
|
230
229
|
constructor(driver) {
|
|
231
230
|
super(driver);
|
|
232
|
-
this.popupContainerCssSelector = `.popup
|
|
233
|
-
this.
|
|
231
|
+
this.popupContainerCssSelector = `.popup.form-report-${this.formName}`;
|
|
232
|
+
this.saveButtonId = "#button-apply";
|
|
234
233
|
}
|
|
235
234
|
/**
|
|
236
235
|
* Знаходить поле/фільтр у формі репорту за ім'ям
|
|
@@ -245,7 +244,7 @@ var ReportForm = class extends FormEdit {
|
|
|
245
244
|
};
|
|
246
245
|
|
|
247
246
|
// src/pageObjects/elements/Dialog.ts
|
|
248
|
-
import { By as
|
|
247
|
+
import { By as By4 } from "selenium-webdriver";
|
|
249
248
|
var DIALOG_CLASS = ".d5-dialog";
|
|
250
249
|
var DIALOG_TITLE_CLASS = ".dialog__title";
|
|
251
250
|
var DIALOG_TEXT_CLASS = ".dialog__text";
|
|
@@ -259,7 +258,7 @@ var DialogButton = class extends AbstractButton {
|
|
|
259
258
|
}
|
|
260
259
|
async getElement() {
|
|
261
260
|
const panel = await super.getElement();
|
|
262
|
-
return panel.findElement(
|
|
261
|
+
return panel.findElement(By4.xpath(buttonByTextXpath(this.text)));
|
|
263
262
|
}
|
|
264
263
|
buttonNotDisplayedError() {
|
|
265
264
|
return `Dialog button ${this.text} cannot be clicked. It is not displayed or it is disabled`;
|
|
@@ -279,11 +278,11 @@ var Dialog = class extends AbstractElement {
|
|
|
279
278
|
return this.joinRelativeCssSelectors([DIALOG_CLASS, DIALOG_BUTTONS_PANEL_CLASS]);
|
|
280
279
|
}
|
|
281
280
|
async title() {
|
|
282
|
-
const el = await this.driver.findElement(
|
|
281
|
+
const el = await this.driver.findElement(By4.css(this.titleSelector));
|
|
283
282
|
return await el.getText();
|
|
284
283
|
}
|
|
285
284
|
async text() {
|
|
286
|
-
const el = await this.driver.findElement(
|
|
285
|
+
const el = await this.driver.findElement(By4.css(this.textSelector));
|
|
287
286
|
return await el.getText();
|
|
288
287
|
}
|
|
289
288
|
button(text) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TreeView
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VPTIEIX5.mjs";
|
|
4
4
|
import {
|
|
5
5
|
FilterPanel,
|
|
6
6
|
FormFilterField,
|
|
7
7
|
ListForm,
|
|
8
8
|
PanelFilterField
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4JWY3XDX.mjs";
|
|
10
10
|
import {
|
|
11
11
|
FormEdit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XQTIDP34.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-R3BWDLN3.mjs";
|
|
34
34
|
|
|
35
35
|
// src/pageObjects/pages/LoginPage.ts
|
|
36
36
|
var LOGIN_PATH = "/login";
|
|
@@ -225,12 +225,11 @@ var SubsystemsPanel = class extends AbstractElement {
|
|
|
225
225
|
};
|
|
226
226
|
|
|
227
227
|
// src/pageObjects/elements/Forms/ReportForm.ts
|
|
228
|
-
import { By as By4 } from "selenium-webdriver";
|
|
229
228
|
var ReportForm = class extends FormEdit {
|
|
230
229
|
constructor(driver) {
|
|
231
230
|
super(driver);
|
|
232
|
-
this.popupContainerCssSelector = `.popup
|
|
233
|
-
this.
|
|
231
|
+
this.popupContainerCssSelector = `.popup.form-report-${this.formName}`;
|
|
232
|
+
this.saveButtonId = "#button-apply";
|
|
234
233
|
}
|
|
235
234
|
/**
|
|
236
235
|
* Знаходить поле/фільтр у формі репорту за ім'ям
|
|
@@ -245,7 +244,7 @@ var ReportForm = class extends FormEdit {
|
|
|
245
244
|
};
|
|
246
245
|
|
|
247
246
|
// src/pageObjects/elements/Dialog.ts
|
|
248
|
-
import { By as
|
|
247
|
+
import { By as By4 } from "selenium-webdriver";
|
|
249
248
|
var DIALOG_CLASS = ".d5-dialog";
|
|
250
249
|
var DIALOG_TITLE_CLASS = ".dialog__title";
|
|
251
250
|
var DIALOG_TEXT_CLASS = ".dialog__text";
|
|
@@ -259,7 +258,7 @@ var DialogButton = class extends AbstractButton {
|
|
|
259
258
|
}
|
|
260
259
|
async getElement() {
|
|
261
260
|
const panel = await super.getElement();
|
|
262
|
-
return panel.findElement(
|
|
261
|
+
return panel.findElement(By4.xpath(buttonByTextXpath(this.text)));
|
|
263
262
|
}
|
|
264
263
|
buttonNotDisplayedError() {
|
|
265
264
|
return `Dialog button ${this.text} cannot be clicked. It is not displayed or it is disabled`;
|
|
@@ -279,11 +278,11 @@ var Dialog = class extends AbstractElement {
|
|
|
279
278
|
return this.joinRelativeCssSelectors([DIALOG_CLASS, DIALOG_BUTTONS_PANEL_CLASS]);
|
|
280
279
|
}
|
|
281
280
|
async title() {
|
|
282
|
-
const el = await this.driver.findElement(
|
|
281
|
+
const el = await this.driver.findElement(By4.css(this.titleSelector));
|
|
283
282
|
return await el.getText();
|
|
284
283
|
}
|
|
285
284
|
async text() {
|
|
286
|
-
const el = await this.driver.findElement(
|
|
285
|
+
const el = await this.driver.findElement(By4.css(this.textSelector));
|
|
287
286
|
return await el.getText();
|
|
288
287
|
}
|
|
289
288
|
button(text) {
|
package/package.json
CHANGED