d5-testing-library 1.8.0-alpha.3 → 1.8.0-alpha.4

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-LLH235HI.mjs";
4
+ import "./chunk-JGX24TXO.mjs";
5
+ export {
6
+ FormEdit as default
7
+ };
@@ -0,0 +1,7 @@
1
+ import {
2
+ ListForm
3
+ } from "./chunk-TFKTH7JY.mjs";
4
+ import "./chunk-JGX24TXO.mjs";
5
+ export {
6
+ ListForm as default
7
+ };
@@ -0,0 +1,8 @@
1
+ import {
2
+ TreeView
3
+ } from "./chunk-HXXWTKEP.mjs";
4
+ import "./chunk-TFKTH7JY.mjs";
5
+ import "./chunk-JGX24TXO.mjs";
6
+ export {
7
+ TreeView as default
8
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ListForm
3
- } from "./chunk-MH6NCS6F.mjs";
3
+ } from "./chunk-TFKTH7JY.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)";
@@ -736,6 +736,44 @@ function createFormButtonTestId(formName, itemName) {
736
736
  function createSubSystemTestId(itemName) {
737
737
  return `${"subsystem-item" /* SUBSYSTEM_ITEM */}-${itemName}`;
738
738
  }
739
+ function createEditorButtonTestId(itemName) {
740
+ return `${"editor-button" /* EDITOR_BUTTON */}-${itemName}`;
741
+ }
742
+
743
+ // src/utils/waitElementIsClickable.ts
744
+ async function waitElementIsClickable({
745
+ element,
746
+ timeout,
747
+ errorMessage,
748
+ driver
749
+ }) {
750
+ driver = driver ?? config().driver;
751
+ await wait(async () => {
752
+ const isDisabled = await element.getCssValue("pointer-events") === "none";
753
+ return await element.isDisplayed() && !isDisabled;
754
+ }, driver, errorMessage, timeout ?? config().timeout);
755
+ }
756
+
757
+ // src/pageObjects/elements/EditorButton.ts
758
+ var EditorButton = class extends AbstractElementWithParent {
759
+ name;
760
+ constructor(parentCssSelector, name, driver) {
761
+ super(parentCssSelector, byTestIdCssSelector(createEditorButtonTestId(name)), driver);
762
+ this.name = name;
763
+ }
764
+ buttonNotDisplayedError() {
765
+ return `Editor Button ${this.name} cannot be clicked. It is not displayed or it is disabled`;
766
+ }
767
+ async click() {
768
+ const button = await this.getElement();
769
+ await waitElementIsClickable({
770
+ element: button,
771
+ errorMessage: this.buttonNotDisplayedError(),
772
+ driver: this.driver
773
+ });
774
+ await click(button, this.driver);
775
+ }
776
+ };
739
777
 
740
778
  // src/pageObjects/elements/AbstractEditor.ts
741
779
  var AbstractEditor = class extends AbstractElementWithParent {
@@ -802,6 +840,16 @@ var AbstractEditor = class extends AbstractElementWithParent {
802
840
  await this.initEditor();
803
841
  return this.editor.isReadonly();
804
842
  }
843
+ /**
844
+ * Находит кнопку на поле по имени
845
+ * @example
846
+ * const form= new MyForm();
847
+ * //...
848
+ * await form.field('Name').button('editorButton).click()
849
+ */
850
+ button(name) {
851
+ return new EditorButton(this.getFullCssSelector(), name, this.driver);
852
+ }
805
853
  };
806
854
 
807
855
  // src/pageObjects/elements/FormField.ts
@@ -814,20 +862,6 @@ var FormField = class extends AbstractEditor {
814
862
  // src/pageObjects/elements/Forms/Form.ts
815
863
  import { By as By14 } from "selenium-webdriver";
816
864
 
817
- // src/utils/waitElementIsClickable.ts
818
- async function waitElementIsClickable({
819
- element,
820
- timeout,
821
- errorMessage,
822
- driver
823
- }) {
824
- driver = driver ?? config().driver;
825
- await wait(async () => {
826
- const isDisabled = await element.getCssValue("pointer-events") === "none";
827
- return await element.isDisplayed() && !isDisabled;
828
- }, driver, errorMessage, timeout ?? config().timeout);
829
- }
830
-
831
865
  // src/pageObjects/elements/TableToolbar/AbstractButton.ts
832
866
  var AbstractButton = class extends AbstractElementWithParent {
833
867
  constructor(parentCssSelector, elementCssSelector, driver) {
@@ -1114,15 +1148,15 @@ async function classDependencyInjector(formType) {
1114
1148
  let SubFormFactoryClass;
1115
1149
  switch (formType) {
1116
1150
  case "1" /* LIST */:
1117
- SubFormFactoryClass = (await import("./ListForm-KXMIP4EA.mjs")).default;
1151
+ SubFormFactoryClass = (await import("./ListForm-FHAD7GLJ.mjs")).default;
1118
1152
  break;
1119
1153
  case "3" /* TREE */:
1120
- SubFormFactoryClass = (await import("./TreeView-5QQREFJ6.mjs")).default;
1154
+ SubFormFactoryClass = (await import("./TreeView-QDCXAJZ2.mjs")).default;
1121
1155
  break;
1122
1156
  case "2" /* EDIT */:
1123
1157
  case "99" /* FREE_FORM */:
1124
1158
  case "4" /* REPORT */:
1125
- SubFormFactoryClass = (await import("./FormEdit-2USHOJID.mjs")).default;
1159
+ SubFormFactoryClass = (await import("./FormEdit-VOA5OIJ2.mjs")).default;
1126
1160
  break;
1127
1161
  default:
1128
1162
  throw new Error(`Unsupported form type ${formType}`);
@@ -3,7 +3,7 @@ import {
3
3
  FormField,
4
4
  click,
5
5
  wait
6
- } from "./chunk-F57G2ZDW.mjs";
6
+ } from "./chunk-JGX24TXO.mjs";
7
7
 
8
8
  // src/pageObjects/elements/Forms/FormEdit.ts
9
9
  import { By } from "selenium-webdriver";
@@ -16,7 +16,7 @@ import {
16
16
  wait,
17
17
  waitElementIsClickable,
18
18
  waitElementIsVisible
19
- } from "./chunk-F57G2ZDW.mjs";
19
+ } from "./chunk-JGX24TXO.mjs";
20
20
 
21
21
  // src/pageObjects/elements/Table/Table.ts
22
22
  import { By as By5 } from "selenium-webdriver";
@@ -1003,6 +1003,9 @@ function createFormButtonTestId(formName, itemName) {
1003
1003
  function createSubSystemTestId(itemName) {
1004
1004
  return `${"subsystem-item" /* SUBSYSTEM_ITEM */}-${itemName}`;
1005
1005
  }
1006
+ function createEditorButtonTestId(itemName) {
1007
+ return `${"editor-button" /* EDITOR_BUTTON */}-${itemName}`;
1008
+ }
1006
1009
  var init_createDataTestId = __esm({
1007
1010
  "src/utils/createDataTestId.ts"() {
1008
1011
  "use strict";
@@ -1663,6 +1666,38 @@ var init_Column = __esm({
1663
1666
  }
1664
1667
  });
1665
1668
 
1669
+ // src/pageObjects/elements/EditorButton.ts
1670
+ var EditorButton;
1671
+ var init_EditorButton = __esm({
1672
+ "src/pageObjects/elements/EditorButton.ts"() {
1673
+ "use strict";
1674
+ init_locators();
1675
+ init_createDataTestId();
1676
+ init_AbstractElementWithParent();
1677
+ init_waitElementIsClickable();
1678
+ init_actions();
1679
+ EditorButton = class extends AbstractElementWithParent {
1680
+ name;
1681
+ constructor(parentCssSelector, name, driver) {
1682
+ super(parentCssSelector, byTestIdCssSelector(createEditorButtonTestId(name)), driver);
1683
+ this.name = name;
1684
+ }
1685
+ buttonNotDisplayedError() {
1686
+ return `Editor Button ${this.name} cannot be clicked. It is not displayed or it is disabled`;
1687
+ }
1688
+ async click() {
1689
+ const button = await this.getElement();
1690
+ await waitElementIsClickable({
1691
+ element: button,
1692
+ errorMessage: this.buttonNotDisplayedError(),
1693
+ driver: this.driver
1694
+ });
1695
+ await click(button, this.driver);
1696
+ }
1697
+ };
1698
+ }
1699
+ });
1700
+
1666
1701
  // src/pageObjects/elements/AbstractEditor.ts
1667
1702
  var AbstractEditor;
1668
1703
  var init_AbstractEditor2 = __esm({
@@ -1670,6 +1705,7 @@ var init_AbstractEditor2 = __esm({
1670
1705
  "use strict";
1671
1706
  init_AbstractElementWithParent();
1672
1707
  init_Editors();
1708
+ init_EditorButton();
1673
1709
  AbstractEditor = class extends AbstractElementWithParent {
1674
1710
  editor;
1675
1711
  constructor(parentCssSelector, elementCssSelector, driver) {
@@ -1734,6 +1770,16 @@ var init_AbstractEditor2 = __esm({
1734
1770
  await this.initEditor();
1735
1771
  return this.editor.isReadonly();
1736
1772
  }
1773
+ /**
1774
+ * Находит кнопку на поле по имени
1775
+ * @example
1776
+ * const form= new MyForm();
1777
+ * //...
1778
+ * await form.field('Name').button('editorButton).click()
1779
+ */
1780
+ button(name) {
1781
+ return new EditorButton(this.getFullCssSelector(), name, this.driver);
1782
+ }
1737
1783
  };
1738
1784
  }
1739
1785
  });
@@ -350,6 +350,13 @@ declare abstract class Form extends AbstractForm {
350
350
  subForm(name: string): Promise<unknown>;
351
351
  }
352
352
 
353
+ declare class EditorButton extends AbstractElementWithParent {
354
+ private readonly name;
355
+ constructor(parentCssSelector: string, name: string, driver?: WebDriver);
356
+ protected buttonNotDisplayedError(): string;
357
+ click(): Promise<void>;
358
+ }
359
+
353
360
  declare class AbstractEditor extends AbstractElementWithParent implements Editor {
354
361
  protected editor: Editor;
355
362
  constructor(parentCssSelector: string, elementCssSelector: string, driver?: WebDriver);
@@ -387,6 +394,14 @@ declare class AbstractEditor extends AbstractElementWithParent implements Editor
387
394
  * expect(await formEdit.field('TextFld').isReadonly()).toBe(false);
388
395
  */
389
396
  isReadonly(): Promise<boolean>;
397
+ /**
398
+ * Находит кнопку на поле по имени
399
+ * @example
400
+ * const form= new MyForm();
401
+ * //...
402
+ * await form.field('Name').button('editorButton).click()
403
+ */
404
+ button(name: string): EditorButton;
390
405
  }
391
406
 
392
407
  declare class FormField extends AbstractEditor {
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  TreeView
3
- } from "./chunk-R25O5O4T.mjs";
3
+ } from "./chunk-HXXWTKEP.mjs";
4
4
  import {
5
5
  FilterPanel,
6
6
  FormFilterField,
7
7
  ListForm,
8
8
  PanelFilterField
9
- } from "./chunk-MH6NCS6F.mjs";
9
+ } from "./chunk-TFKTH7JY.mjs";
10
10
  import {
11
11
  FormEdit
12
- } from "./chunk-2DQ5YCRB.mjs";
12
+ } from "./chunk-LLH235HI.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-F57G2ZDW.mjs";
33
+ } from "./chunk-JGX24TXO.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-R25O5O4T.mjs";
3
+ } from "./chunk-HXXWTKEP.mjs";
4
4
  import {
5
5
  FilterPanel,
6
6
  FormFilterField,
7
7
  ListForm,
8
8
  PanelFilterField
9
- } from "./chunk-MH6NCS6F.mjs";
9
+ } from "./chunk-TFKTH7JY.mjs";
10
10
  import {
11
11
  FormEdit
12
- } from "./chunk-2DQ5YCRB.mjs";
12
+ } from "./chunk-LLH235HI.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-F57G2ZDW.mjs";
33
+ } from "./chunk-JGX24TXO.mjs";
34
34
 
35
35
  // src/pageObjects/pages/LoginPage.ts
36
36
  var LOGIN_PATH = "/login";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "d5-testing-library",
3
- "version": "1.8.0-alpha.3",
3
+ "version": "1.8.0-alpha.4",
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-2DQ5YCRB.mjs";
4
- import "./chunk-F57G2ZDW.mjs";
5
- export {
6
- FormEdit as default
7
- };
@@ -1,7 +0,0 @@
1
- import {
2
- ListForm
3
- } from "./chunk-MH6NCS6F.mjs";
4
- import "./chunk-F57G2ZDW.mjs";
5
- export {
6
- ListForm as default
7
- };
@@ -1,8 +0,0 @@
1
- import {
2
- TreeView
3
- } from "./chunk-R25O5O4T.mjs";
4
- import "./chunk-MH6NCS6F.mjs";
5
- import "./chunk-F57G2ZDW.mjs";
6
- export {
7
- TreeView as default
8
- };