d5-testing-library 1.8.0-alpha.7 → 1.8.0-alpha.8

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.
@@ -0,0 +1,7 @@
1
+ import {
2
+ FormEdit
3
+ } from "./chunk-43FE34WA.mjs";
4
+ import "./chunk-K6JEWF3Y.mjs";
5
+ export {
6
+ FormEdit as default
7
+ };
@@ -0,0 +1,7 @@
1
+ import {
2
+ ListForm
3
+ } from "./chunk-7TTKFTZM.mjs";
4
+ import "./chunk-K6JEWF3Y.mjs";
5
+ export {
6
+ ListForm as default
7
+ };
@@ -0,0 +1,8 @@
1
+ import {
2
+ TreeView
3
+ } from "./chunk-S6ZF7DZF.mjs";
4
+ import "./chunk-7TTKFTZM.mjs";
5
+ import "./chunk-K6JEWF3Y.mjs";
6
+ export {
7
+ TreeView as default
8
+ };
@@ -3,16 +3,22 @@ import {
3
3
  FormField,
4
4
  click,
5
5
  wait
6
- } from "./chunk-XIXI3XKT.mjs";
6
+ } from "./chunk-K6JEWF3Y.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
- saveButtonBy = By.id("button-save");
12
- closeButtonBy = By.id("button-cancel");
11
+ saveButtonId = "#button-save";
12
+ closeButtonId = "#button-cancel";
13
13
  constructor(driver) {
14
14
  super(driver);
15
- this.popupContainerCssSelector = `.popup .form-edit-${this.formName}`;
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 saveButton = await this.driver.findElement(this.saveButtonBy);
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 saveButton = await this.driver.findElement(this.saveButtonBy);
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 closeButton = await this.driver.findElement(this.closeButtonBy);
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
  };
@@ -16,7 +16,7 @@ import {
16
16
  wait,
17
17
  waitElementIsClickable,
18
18
  waitElementIsVisible
19
- } from "./chunk-XIXI3XKT.mjs";
19
+ } from "./chunk-K6JEWF3Y.mjs";
20
20
 
21
21
  // src/pageObjects/elements/Table/Table.ts
22
22
  import { By as By5 } from "selenium-webdriver";
@@ -1022,7 +1022,7 @@ var ListForm = class extends Form {
1022
1022
  fixedTableContentCssSelector;
1023
1023
  constructor(driver) {
1024
1024
  super(driver);
1025
- this.popupContainerCssSelector = `.popup .form-inline-${this.formName}`;
1025
+ this.popupContainerCssSelector = `.popup.form-inline-${this.formName}`;
1026
1026
  this.headerCssSelector = DATAGRID_HEADER_CSS_SELECTOR;
1027
1027
  this.fixedTableContentCssSelector = FIXED_DATAGRID_CONTENT_CSS_SELECTOR;
1028
1028
  }
@@ -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-5DCDM5MB.mjs")).default;
1257
+ SubFormFactoryClass = (await import("./ListForm-RYJQQ7PK.mjs")).default;
1258
1258
  break;
1259
1259
  case "3" /* TREE */:
1260
- SubFormFactoryClass = (await import("./TreeView-X5OAX5BH.mjs")).default;
1260
+ SubFormFactoryClass = (await import("./TreeView-YRHW5YVA.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-CWMK45SG.mjs")).default;
1265
+ SubFormFactoryClass = (await import("./FormEdit-5JMOGDF5.mjs")).default;
1266
1266
  break;
1267
1267
  default:
1268
1268
  throw new Error(`Unsupported form type ${formType}`);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ListForm
3
- } from "./chunk-JPBRK2XM.mjs";
3
+ } from "./chunk-7TTKFTZM.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)";
@@ -8,7 +8,7 @@ var FIXED_TREELIST_CONTENT_CSS_SELECTOR = ".dx-fixed-columns .dx-treelist-conten
8
8
  var TreeView = class extends ListForm {
9
9
  constructor(driver) {
10
10
  super(driver);
11
- this.popupContainerCssSelector = `.popup .wrapper-tree-view-${this.formName}`;
11
+ this.popupContainerCssSelector = `.popup.wrapper-tree-view-${this.formName}`;
12
12
  this.headerCssSelector = TREELIST_HEADER_CSS_SELECTOR;
13
13
  this.fixedTableContentCssSelector = FIXED_TREELIST_CONTENT_CSS_SELECTOR;
14
14
  }
@@ -2839,7 +2839,7 @@ var init_ListForm = __esm({
2839
2839
  fixedTableContentCssSelector;
2840
2840
  constructor(driver) {
2841
2841
  super(driver);
2842
- this.popupContainerCssSelector = `.popup .form-inline-${this.formName}`;
2842
+ this.popupContainerCssSelector = `.popup.form-inline-${this.formName}`;
2843
2843
  this.headerCssSelector = DATAGRID_HEADER_CSS_SELECTOR;
2844
2844
  this.fixedTableContentCssSelector = FIXED_DATAGRID_CONTENT_CSS_SELECTOR;
2845
2845
  }
@@ -2914,7 +2914,7 @@ var init_TreeView = __esm({
2914
2914
  TreeView = class extends ListForm {
2915
2915
  constructor(driver) {
2916
2916
  super(driver);
2917
- this.popupContainerCssSelector = `.popup .wrapper-tree-view-${this.formName}`;
2917
+ this.popupContainerCssSelector = `.popup.wrapper-tree-view-${this.formName}`;
2918
2918
  this.headerCssSelector = TREELIST_HEADER_CSS_SELECTOR;
2919
2919
  this.fixedTableContentCssSelector = FIXED_TREELIST_CONTENT_CSS_SELECTOR;
2920
2920
  }
@@ -3047,11 +3047,17 @@ var init_FormEdit = __esm({
3047
3047
  init_actions();
3048
3048
  init_wait();
3049
3049
  FormEdit = class extends Form {
3050
- saveButtonBy = import_selenium_webdriver30.By.id("button-save");
3051
- closeButtonBy = import_selenium_webdriver30.By.id("button-cancel");
3050
+ saveButtonId = "#button-save";
3051
+ closeButtonId = "#button-cancel";
3052
3052
  constructor(driver) {
3053
3053
  super(driver);
3054
- this.popupContainerCssSelector = `.popup .form-edit-${this.formName}`;
3054
+ this.popupContainerCssSelector = `.popup.form-edit-${this.formName}`;
3055
+ }
3056
+ async getButtonCssSelector(buttonId) {
3057
+ if (await this.isModal()) {
3058
+ return `${this.popupContainerCssSelector} ${buttonId}`;
3059
+ }
3060
+ return buttonId;
3055
3061
  }
3056
3062
  /**
3057
3063
  * Находит поле формы редактирования по имени
@@ -3071,7 +3077,8 @@ var init_FormEdit = __esm({
3071
3077
  * await formEdit.isSaveButtonDisabled();
3072
3078
  */
3073
3079
  async isSaveButtonDisabled() {
3074
- const saveButton = await this.driver.findElement(this.saveButtonBy);
3080
+ const saveButtonCssSelector = await this.getButtonCssSelector(this.saveButtonId);
3081
+ const saveButton = await this.driver.findElement(import_selenium_webdriver30.By.css(saveButtonCssSelector));
3075
3082
  const result = await saveButton.getAttribute("aria-disabled");
3076
3083
  return result === "true";
3077
3084
  }
@@ -3083,7 +3090,8 @@ var init_FormEdit = __esm({
3083
3090
  * await formEdit.saveButtonClick();
3084
3091
  */
3085
3092
  async saveButtonClick() {
3086
- const saveButton = await this.driver.findElement(this.saveButtonBy);
3093
+ const saveButtonCssSelector = await this.getButtonCssSelector(this.saveButtonId);
3094
+ const saveButton = await this.driver.findElement(import_selenium_webdriver30.By.css(saveButtonCssSelector));
3087
3095
  await wait(async () => !await this.isSaveButtonDisabled(), this.driver, "Button is disabled");
3088
3096
  await click(saveButton, this.driver);
3089
3097
  }
@@ -3095,7 +3103,8 @@ var init_FormEdit = __esm({
3095
3103
  * await formEdit.closeButtonClick();
3096
3104
  */
3097
3105
  async closeButtonClick() {
3098
- const closeButton = await this.driver.findElement(this.closeButtonBy);
3106
+ const closeButtonCssSelector = await this.getButtonCssSelector(this.closeButtonId);
3107
+ const closeButton = await this.driver.findElement(import_selenium_webdriver30.By.css(closeButtonCssSelector));
3099
3108
  await click(closeButton, this.driver);
3100
3109
  }
3101
3110
  };
@@ -3364,13 +3373,12 @@ init_ListForm();
3364
3373
  init_TreeView();
3365
3374
 
3366
3375
  // src/pageObjects/elements/Forms/ReportForm.ts
3367
- var import_selenium_webdriver31 = require("selenium-webdriver");
3368
3376
  init_FormEdit();
3369
3377
  var ReportForm = class extends FormEdit {
3370
3378
  constructor(driver) {
3371
3379
  super(driver);
3372
- this.popupContainerCssSelector = `.popup .form-report-${this.formName}`;
3373
- this.saveButtonBy = import_selenium_webdriver31.By.id("button-apply");
3380
+ this.popupContainerCssSelector = `.popup.form-report-${this.formName}`;
3381
+ this.saveButtonId = "#button-apply";
3374
3382
  }
3375
3383
  /**
3376
3384
  * Знаходить поле/фільтр у формі репорту за ім'ям
@@ -3393,7 +3401,7 @@ init_FilterPanel();
3393
3401
 
3394
3402
  // src/pageObjects/elements/Dialog.ts
3395
3403
  init_AbstractElement();
3396
- var import_selenium_webdriver32 = require("selenium-webdriver");
3404
+ var import_selenium_webdriver31 = require("selenium-webdriver");
3397
3405
  init_AbstractButton();
3398
3406
  var DIALOG_CLASS = ".d5-dialog";
3399
3407
  var DIALOG_TITLE_CLASS = ".dialog__title";
@@ -3408,7 +3416,7 @@ var DialogButton = class extends AbstractButton {
3408
3416
  }
3409
3417
  async getElement() {
3410
3418
  const panel = await super.getElement();
3411
- return panel.findElement(import_selenium_webdriver32.By.xpath(buttonByTextXpath2(this.text)));
3419
+ return panel.findElement(import_selenium_webdriver31.By.xpath(buttonByTextXpath2(this.text)));
3412
3420
  }
3413
3421
  buttonNotDisplayedError() {
3414
3422
  return `Dialog button ${this.text} cannot be clicked. It is not displayed or it is disabled`;
@@ -3428,11 +3436,11 @@ var Dialog = class extends AbstractElement {
3428
3436
  return this.joinRelativeCssSelectors([DIALOG_CLASS, DIALOG_BUTTONS_PANEL_CLASS]);
3429
3437
  }
3430
3438
  async title() {
3431
- const el = await this.driver.findElement(import_selenium_webdriver32.By.css(this.titleSelector));
3439
+ const el = await this.driver.findElement(import_selenium_webdriver31.By.css(this.titleSelector));
3432
3440
  return await el.getText();
3433
3441
  }
3434
3442
  async text() {
3435
- const el = await this.driver.findElement(import_selenium_webdriver32.By.css(this.textSelector));
3443
+ const el = await this.driver.findElement(import_selenium_webdriver31.By.css(this.textSelector));
3436
3444
  return await el.getText();
3437
3445
  }
3438
3446
  button(text) {
@@ -413,9 +413,10 @@ declare class FormField extends AbstractEditor {
413
413
  }
414
414
 
415
415
  declare class FormEdit extends Form {
416
- saveButtonBy: By;
417
- closeButtonBy: By;
416
+ saveButtonId: string;
417
+ closeButtonId: string;
418
418
  constructor(driver: WebDriver);
419
+ private getButtonCssSelector;
419
420
  /**
420
421
  * Находит поле формы редактирования по имени
421
422
  * @example
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  TreeView
3
- } from "./chunk-SLLHWNFA.mjs";
3
+ } from "./chunk-S6ZF7DZF.mjs";
4
4
  import {
5
5
  FilterPanel,
6
6
  FormFilterField,
7
7
  ListForm,
8
8
  PanelFilterField
9
- } from "./chunk-JPBRK2XM.mjs";
9
+ } from "./chunk-7TTKFTZM.mjs";
10
10
  import {
11
11
  FormEdit
12
- } from "./chunk-OFRHOWHJ.mjs";
12
+ } from "./chunk-43FE34WA.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-XIXI3XKT.mjs";
33
+ } from "./chunk-K6JEWF3Y.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 .form-report-${this.formName}`;
233
- this.saveButtonBy = By4.id("button-apply");
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 By5 } from "selenium-webdriver";
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(By5.xpath(buttonByTextXpath(this.text)));
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(By5.css(this.titleSelector));
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(By5.css(this.textSelector));
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-SLLHWNFA.mjs";
3
+ } from "./chunk-S6ZF7DZF.mjs";
4
4
  import {
5
5
  FilterPanel,
6
6
  FormFilterField,
7
7
  ListForm,
8
8
  PanelFilterField
9
- } from "./chunk-JPBRK2XM.mjs";
9
+ } from "./chunk-7TTKFTZM.mjs";
10
10
  import {
11
11
  FormEdit
12
- } from "./chunk-OFRHOWHJ.mjs";
12
+ } from "./chunk-43FE34WA.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-XIXI3XKT.mjs";
33
+ } from "./chunk-K6JEWF3Y.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 .form-report-${this.formName}`;
233
- this.saveButtonBy = By4.id("button-apply");
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 By5 } from "selenium-webdriver";
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(By5.xpath(buttonByTextXpath(this.text)));
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(By5.css(this.titleSelector));
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(By5.css(this.textSelector));
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "d5-testing-library",
3
- "version": "1.8.0-alpha.7",
3
+ "version": "1.8.0-alpha.8",
4
4
  "description": "e2e testing D5 projects",
5
5
  "main": "dist/cjs/d5-testing-library.cjs",
6
6
  "module": "dist/d5-testing-library.legacy-esm.js",
@@ -1,7 +0,0 @@
1
- import {
2
- FormEdit
3
- } from "./chunk-OFRHOWHJ.mjs";
4
- import "./chunk-XIXI3XKT.mjs";
5
- export {
6
- FormEdit as default
7
- };
@@ -1,7 +0,0 @@
1
- import {
2
- ListForm
3
- } from "./chunk-JPBRK2XM.mjs";
4
- import "./chunk-XIXI3XKT.mjs";
5
- export {
6
- ListForm as default
7
- };
@@ -1,8 +0,0 @@
1
- import {
2
- TreeView
3
- } from "./chunk-SLLHWNFA.mjs";
4
- import "./chunk-JPBRK2XM.mjs";
5
- import "./chunk-XIXI3XKT.mjs";
6
- export {
7
- TreeView as default
8
- };