d5-testing-library 1.8.0-alpha.0 → 1.8.0-alpha.2

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-H3M6VBPP.mjs";
4
+ import "./chunk-ZT3B7BQ2.mjs";
5
+ export {
6
+ FormEdit as default
7
+ };
@@ -0,0 +1,7 @@
1
+ import {
2
+ ListForm
3
+ } from "./chunk-LTHDA5XH.mjs";
4
+ import "./chunk-ZT3B7BQ2.mjs";
5
+ export {
6
+ ListForm as default
7
+ };
@@ -0,0 +1,8 @@
1
+ import {
2
+ TreeView
3
+ } from "./chunk-4PUDCQM6.mjs";
4
+ import "./chunk-LTHDA5XH.mjs";
5
+ import "./chunk-ZT3B7BQ2.mjs";
6
+ export {
7
+ TreeView as default
8
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ListForm
3
- } from "./chunk-WUPIBFH7.mjs";
3
+ } from "./chunk-LTHDA5XH.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)";
@@ -3,7 +3,7 @@ import {
3
3
  FormField,
4
4
  click,
5
5
  wait
6
- } from "./chunk-JITTN2NY.mjs";
6
+ } from "./chunk-ZT3B7BQ2.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-JITTN2NY.mjs";
19
+ } from "./chunk-ZT3B7BQ2.mjs";
20
20
 
21
21
  // src/pageObjects/elements/Table/Table.ts
22
22
  import { By as By5 } from "selenium-webdriver";
@@ -463,10 +463,105 @@ var FormToolbar = class extends AbstractElementWithParent {
463
463
  }
464
464
  };
465
465
 
466
+ // src/pageObjects/elements/Filters/FilterOperation.ts
467
+ import { By as By7 } from "selenium-webdriver";
468
+ var FILTER_OPERATIONS = [
469
+ "=",
470
+ "<>",
471
+ "<",
472
+ ">",
473
+ "<=",
474
+ ">=",
475
+ "contains",
476
+ "between",
477
+ "isanyof",
478
+ "isnotanyof",
479
+ "isblank",
480
+ "isnotblank",
481
+ "startwith",
482
+ "bywords"
483
+ ];
484
+ var BUTTON_OPERATION_WIDGET = "operation-widget";
485
+ var OPERATIONS_WIDGET_POPUP = "operation-type-widget-popup";
486
+ var getWidgetInPopupSelector = (operationName) => `.dx-list-item [data-operation="${operationName}"]`;
487
+ var FilterOperation = class extends AbstractElementWithParent {
488
+ _testId;
489
+ constructor({ parentCssSelector, filterTestID, driver }) {
490
+ super(parentCssSelector, `${byTestIdCssSelector(`${BUTTON_OPERATION_WIDGET}-${filterTestID}`)}`, driver);
491
+ this._testId = filterTestID;
492
+ }
493
+ async initOperationWidget() {
494
+ const widgetButtonEl = await this.getElement();
495
+ await waitElementIsClickable({
496
+ element: widgetButtonEl,
497
+ errorMessage: "Widget operation is not clickable",
498
+ driver: this.driver
499
+ });
500
+ const clickableElement = await widgetButtonEl.findElement(By7.className("dx-icon"));
501
+ await click(clickableElement, this.driver);
502
+ try {
503
+ const widgetPopupEl = await this.driver.findElement(By7.css(`${byTestIdCssSelector(`${OPERATIONS_WIDGET_POPUP}-${this._testId}`)}`));
504
+ await waitElementIsVisible({
505
+ element: widgetPopupEl,
506
+ errorMessage: `Operation widget popup is not visible`,
507
+ driver: this.driver
508
+ });
509
+ } catch (_) {
510
+ throw `Operation widget popup is not visible`;
511
+ }
512
+ }
513
+ async setOperation(operationName) {
514
+ if (!FILTER_OPERATIONS.includes(operationName)) {
515
+ throw new Error(`Operation with name "${operationName}" is not correct.`);
516
+ }
517
+ await this.initOperationWidget();
518
+ const operationEl = await fixElementStaleError(By7.css(`${byTestIdCssSelector(`${OPERATIONS_WIDGET_POPUP}-${this._testId}`)} ${getWidgetInPopupSelector(operationName)}`), this.driver);
519
+ await click(operationEl, this.driver);
520
+ await wait(
521
+ async () => {
522
+ const currOperationName = await this.getAttribute("data-operation");
523
+ if (operationName === "isblank")
524
+ return true;
525
+ return currOperationName === operationName;
526
+ },
527
+ this.driver,
528
+ "Operation is not changed"
529
+ );
530
+ }
531
+ async getOperation() {
532
+ const result = await this.getAttribute("data-operation");
533
+ if (!result)
534
+ throw new Error("Operation not found");
535
+ return result;
536
+ }
537
+ async setIsBlank(value) {
538
+ const currValue = await this.getIsBlank();
539
+ if (currValue !== value) {
540
+ await this.setOperation("isblank");
541
+ await wait(
542
+ async () => {
543
+ const currIsBlank = await this.getIsBlank();
544
+ return currIsBlank === value;
545
+ },
546
+ this.driver,
547
+ "Operation is not changed"
548
+ );
549
+ }
550
+ }
551
+ async getIsBlank() {
552
+ const result = await this.getAttribute("data-hasblank");
553
+ return result === "true";
554
+ }
555
+ };
556
+
466
557
  // src/pageObjects/elements/Filters/FormFilterField.ts
467
558
  var FormFilterField = class extends AbstractEditor {
559
+ formName;
560
+ name;
468
561
  constructor(parentCssSelector, formName, name, driver) {
469
562
  super(parentCssSelector, byTestIdCssSelector(createLayoutFilterTestId(formName, name)), driver);
563
+ this.formName = formName;
564
+ this.name = name;
470
565
  }
471
566
  /**
472
567
  * Возвращает значение в поле
@@ -502,15 +597,64 @@ var FormFilterField = class extends AbstractEditor {
502
597
  async remove(itemText) {
503
598
  return super.remove(itemText);
504
599
  }
600
+ /**
601
+ * Инициализация операции фильтра
602
+ */
603
+ async initOperation() {
604
+ return new FilterOperation({
605
+ parentCssSelector: this.parentCssSelector,
606
+ filterTestID: createLayoutFilterTestId(this.formName, this.name)
607
+ });
608
+ }
609
+ /**
610
+ * Устанавливает операцию для фильтра
611
+ * @example
612
+ * await form.formFilter('TagBox').setOperation("=");
613
+ */
614
+ async setOperation(operationName) {
615
+ const filterOperation = await this.initOperation();
616
+ await filterOperation.setOperation(operationName);
617
+ }
618
+ /**
619
+ * Возвращает операцию фильтра
620
+ * @example
621
+ * expect(await form.formFilter('NumberFld').getOperation()).toBe("=");
622
+ */
623
+ async getOperation() {
624
+ const filterOperation = await this.initOperation();
625
+ return await filterOperation.getOperation();
626
+ }
627
+ /**
628
+ * Устанавливает операцию 'isblank' для фильтра
629
+ * @example
630
+ * await form.formFilter('TagBox').setIsBlank(true);
631
+ */
632
+ async setIsBlank(value) {
633
+ const filterOperation = await this.initOperation();
634
+ await filterOperation.setIsBlank(value);
635
+ }
636
+ /**
637
+ * Возвращает true|false, если операция 'isblank' установлена для фильтра
638
+ * @example
639
+ * expect(await form.formFilter('NumberFld').getIsBlank()).toBe(false);
640
+ */
641
+ async getIsBlank() {
642
+ const filterOperation = await this.initOperation();
643
+ return await filterOperation.getIsBlank();
644
+ }
505
645
  };
506
646
 
507
647
  // src/pageObjects/elements/Filters/FilterPanel.ts
508
- import { By as By7 } from "selenium-webdriver";
648
+ import { By as By8 } from "selenium-webdriver";
509
649
 
510
650
  // src/pageObjects/elements/Filters/PanelFilterField.ts
511
651
  var PanelFilterField = class extends AbstractEditor {
652
+ formName;
653
+ name;
512
654
  constructor(parentCssSelector, formName, name, driver) {
513
655
  super(parentCssSelector, byTestIdCssSelector(createDocFilterTestId(formName, name)), driver);
656
+ this.formName = formName;
657
+ this.name = name;
514
658
  }
515
659
  /**
516
660
  * Возвращает значение в поле
@@ -546,6 +690,51 @@ var PanelFilterField = class extends AbstractEditor {
546
690
  async remove(itemText) {
547
691
  return super.remove(itemText);
548
692
  }
693
+ /**
694
+ * Инициализация операции фильтра
695
+ */
696
+ async initOperation() {
697
+ return new FilterOperation({
698
+ parentCssSelector: this.parentCssSelector,
699
+ filterTestID: createDocFilterTestId(this.formName, this.name)
700
+ });
701
+ }
702
+ /**
703
+ * Устанавливает операцию для фильтра
704
+ * @example
705
+ * await form.filterPanel.filterField('TagBox').setOperation("=");
706
+ */
707
+ async setOperation(operationName) {
708
+ const filterOperation = await this.initOperation();
709
+ await filterOperation.setOperation(operationName);
710
+ }
711
+ /**
712
+ * Возвращает операцию фильтра
713
+ * @example
714
+ * expect(await form.filterPanel.filterField('NumberFld').getOperation()).toBe("=");
715
+ */
716
+ async getOperation() {
717
+ const filterOperation = await this.initOperation();
718
+ return await filterOperation.getOperation();
719
+ }
720
+ /**
721
+ * Устанавливает операцию 'isblank' для фильтра
722
+ * @example
723
+ * await form.filterPanel.filterField('TagBox').setIsBlank(true);
724
+ */
725
+ async setIsBlank(value) {
726
+ const filterOperation = await this.initOperation();
727
+ await filterOperation.setIsBlank(value);
728
+ }
729
+ /**
730
+ * Возвращает true|false, если операция 'isblank' установлена для фильтра
731
+ * @example
732
+ * expect(await form.filterPanel.filterField('NumberFld').getIsBlank()).toBe(false);
733
+ */
734
+ async getIsBlank() {
735
+ const filterOperation = await this.initOperation();
736
+ return await filterOperation.getIsBlank();
737
+ }
549
738
  };
550
739
 
551
740
  // src/pageObjects/elements/Filters/FilterPanel.ts
@@ -560,7 +749,7 @@ var FilterPanel = class extends AbstractElement {
560
749
  async filterPanelButtons() {
561
750
  const selector = `${this.elementCssSelector} ${FILTER_PANEL_SELECTOR} .filter-panel__buttons-panel .dx-button-text`;
562
751
  const el = await this.getElement();
563
- return el.findElements(By7.css(selector));
752
+ return el.findElements(By8.css(selector));
564
753
  }
565
754
  constructor(formName, driver) {
566
755
  super(driver, drawerSelector(formName));
@@ -593,13 +782,13 @@ var FilterPanel = class extends AbstractElement {
593
782
  await this.driver.sleep(300);
594
783
  }
595
784
  async close() {
596
- const btn = await this.driver.findElement(By7.css(`${this.elementCssSelector} ${CLOSE_SELECTOR}`));
785
+ const btn = await this.driver.findElement(By8.css(`${this.elementCssSelector} ${CLOSE_SELECTOR}`));
597
786
  await click(btn, this.driver);
598
787
  }
599
788
  };
600
789
 
601
790
  // src/pageObjects/elements/Filters/ColumnFilter.ts
602
- import { By as By8 } from "selenium-webdriver";
791
+ import { By as By9 } from "selenium-webdriver";
603
792
 
604
793
  // src/pageObjects/elements/Filters/HeaderFilterField.ts
605
794
  var HeaderFilterField = class extends AbstractEditor {
@@ -639,11 +828,11 @@ var ColumnFilter = class extends AbstractElement {
639
828
  }
640
829
  async getApplyButton() {
641
830
  const selector = `${HEADER_FILTER_CONTAINER} ${HEADER_FILTER_BUTTONS} ${APPLY_SELECTOR}`;
642
- return this.driver.findElement(By8.css(selector));
831
+ return this.driver.findElement(By9.css(selector));
643
832
  }
644
833
  async getCancelButton() {
645
834
  const selector = `${HEADER_FILTER_CONTAINER} ${HEADER_FILTER_BUTTONS} ${CANCEL_SELECTOR}`;
646
- return this.driver.findElement(By8.css(selector));
835
+ return this.driver.findElement(By9.css(selector));
647
836
  }
648
837
  async apply() {
649
838
  const btn = await this.getApplyButton();
@@ -657,17 +846,34 @@ var ColumnFilter = class extends AbstractElement {
657
846
  const columnEl = await this._column.getElement();
658
847
  const actions = this.driver.actions({ async: true });
659
848
  await actions.move({ origin: columnEl }).perform();
660
- const elements = await columnEl.findElements(By8.css(HEADER_FILTER_ICON));
661
- const headerFilterIcon = elements[1];
662
- await waitElementIsVisible({
663
- element: headerFilterIcon,
664
- driver: this.driver,
665
- errorMessage: `HeaderFilter "${this._name}" is not visible`
666
- });
849
+ const elements = await columnEl.findElements(By9.css(HEADER_FILTER_ICON));
850
+ let headerFilterIcon = null;
851
+ await wait(
852
+ async () => {
853
+ let result = false;
854
+ for (let element of elements) {
855
+ if (await element.isDisplayed()) {
856
+ headerFilterIcon = element;
857
+ result = true;
858
+ break;
859
+ }
860
+ }
861
+ return result;
862
+ },
863
+ this.driver,
864
+ `HeaderFilter "${this._name}" is not visible`
865
+ );
667
866
  if (!headerFilterIcon)
668
867
  throw new Error(`HeaderFilter "${this._name}" is not visible`);
669
868
  await headerFilterIcon.click();
670
- return new HeaderFilterField("", this._formName, this._name, this.driver);
869
+ const filter = new HeaderFilterField("", this._formName, this._name, this.driver);
870
+ const filterEl = await filter.getElement();
871
+ await waitElementIsVisible({
872
+ element: filterEl,
873
+ driver: this.driver,
874
+ errorMessage: `Header filter is not visible`
875
+ });
876
+ return filter;
671
877
  }
672
878
  /**
673
879
  * Возвращает значение в поле
@@ -712,6 +918,36 @@ var ColumnFilter = class extends AbstractElement {
712
918
  await filter.remove(itemText);
713
919
  return this.apply();
714
920
  }
921
+ // ToDo: Треба доробити після того, як буде реалізована логіка з editor buttons
922
+ async initOperation() {
923
+ await this.initFilter();
924
+ return new FilterOperation({
925
+ parentCssSelector: HEADER_FILTER_CONTAINER,
926
+ filterTestID: createHeaderFilterTestId(this._formName, this._name)
927
+ });
928
+ }
929
+ // ToDo: Треба доробити після того, як буде реалізована логіка з editor buttons
930
+ async setOperation(operationName) {
931
+ const filterOperation = await this.initOperation();
932
+ await filterOperation.setOperation(operationName);
933
+ await this.apply();
934
+ }
935
+ // ToDo: Треба доробити після того, як буде реалізована логіка з editor buttons
936
+ async getOperation() {
937
+ const filterOperation = await this.initOperation();
938
+ return await filterOperation.getOperation();
939
+ }
940
+ // ToDo: Треба доробити після того, як буде реалізована логіка з editor buttons
941
+ async setIsBlank(value) {
942
+ const filterOperation = await this.initOperation();
943
+ await filterOperation.setIsBlank(value);
944
+ await this.apply();
945
+ }
946
+ // ToDo: Треба доробити після того, як буде реалізована логіка з editor buttons
947
+ async getIsBlank() {
948
+ const filterOperation = await this.initOperation();
949
+ return await filterOperation.getIsBlank();
950
+ }
715
951
  };
716
952
 
717
953
  // src/pageObjects/elements/Forms/ListForm.ts
@@ -1114,15 +1114,15 @@ async function classDependencyInjector(formType) {
1114
1114
  let SubFormFactoryClass;
1115
1115
  switch (formType) {
1116
1116
  case "1" /* LIST */:
1117
- SubFormFactoryClass = (await import("./ListForm-R7WQIGBI.mjs")).default;
1117
+ SubFormFactoryClass = (await import("./ListForm-N6QNZXQE.mjs")).default;
1118
1118
  break;
1119
1119
  case "3" /* TREE */:
1120
- SubFormFactoryClass = (await import("./TreeView-STUAAR65.mjs")).default;
1120
+ SubFormFactoryClass = (await import("./TreeView-JOHAYS2S.mjs")).default;
1121
1121
  break;
1122
1122
  case "2" /* EDIT */:
1123
1123
  case "99" /* FREE_FORM */:
1124
1124
  case "4" /* REPORT */:
1125
- SubFormFactoryClass = (await import("./FormEdit-XOCYARDX.mjs")).default;
1125
+ SubFormFactoryClass = (await import("./FormEdit-PRX4TB67.mjs")).default;
1126
1126
  break;
1127
1127
  default:
1128
1128
  throw new Error(`Unsupported form type ${formType}`);
@@ -2042,6 +2042,110 @@ var init_FormToolbar = __esm({
2042
2042
  }
2043
2043
  });
2044
2044
 
2045
+ // src/pageObjects/elements/Filters/FilterOperation.ts
2046
+ var import_selenium_webdriver25, FILTER_OPERATIONS, BUTTON_OPERATION_WIDGET, OPERATIONS_WIDGET_POPUP, getWidgetInPopupSelector, FilterOperation;
2047
+ var init_FilterOperation = __esm({
2048
+ "src/pageObjects/elements/Filters/FilterOperation.ts"() {
2049
+ "use strict";
2050
+ import_selenium_webdriver25 = require("selenium-webdriver");
2051
+ init_fixElementStaleError();
2052
+ init_AbstractElementWithParent();
2053
+ init_locators();
2054
+ init_actions();
2055
+ init_wait();
2056
+ init_waitElementIsClickable();
2057
+ init_waitElementIsVisible();
2058
+ FILTER_OPERATIONS = [
2059
+ "=",
2060
+ "<>",
2061
+ "<",
2062
+ ">",
2063
+ "<=",
2064
+ ">=",
2065
+ "contains",
2066
+ "between",
2067
+ "isanyof",
2068
+ "isnotanyof",
2069
+ "isblank",
2070
+ "isnotblank",
2071
+ "startwith",
2072
+ "bywords"
2073
+ ];
2074
+ BUTTON_OPERATION_WIDGET = "operation-widget";
2075
+ OPERATIONS_WIDGET_POPUP = "operation-type-widget-popup";
2076
+ getWidgetInPopupSelector = (operationName) => `.dx-list-item [data-operation="${operationName}"]`;
2077
+ FilterOperation = class extends AbstractElementWithParent {
2078
+ _testId;
2079
+ constructor({ parentCssSelector, filterTestID, driver }) {
2080
+ super(parentCssSelector, `${byTestIdCssSelector(`${BUTTON_OPERATION_WIDGET}-${filterTestID}`)}`, driver);
2081
+ this._testId = filterTestID;
2082
+ }
2083
+ async initOperationWidget() {
2084
+ const widgetButtonEl = await this.getElement();
2085
+ await waitElementIsClickable({
2086
+ element: widgetButtonEl,
2087
+ errorMessage: "Widget operation is not clickable",
2088
+ driver: this.driver
2089
+ });
2090
+ const clickableElement = await widgetButtonEl.findElement(import_selenium_webdriver25.By.className("dx-icon"));
2091
+ await click(clickableElement, this.driver);
2092
+ try {
2093
+ const widgetPopupEl = await this.driver.findElement(import_selenium_webdriver25.By.css(`${byTestIdCssSelector(`${OPERATIONS_WIDGET_POPUP}-${this._testId}`)}`));
2094
+ await waitElementIsVisible({
2095
+ element: widgetPopupEl,
2096
+ errorMessage: `Operation widget popup is not visible`,
2097
+ driver: this.driver
2098
+ });
2099
+ } catch (_) {
2100
+ throw `Operation widget popup is not visible`;
2101
+ }
2102
+ }
2103
+ async setOperation(operationName) {
2104
+ if (!FILTER_OPERATIONS.includes(operationName)) {
2105
+ throw new Error(`Operation with name "${operationName}" is not correct.`);
2106
+ }
2107
+ await this.initOperationWidget();
2108
+ const operationEl = await fixElementStaleError(import_selenium_webdriver25.By.css(`${byTestIdCssSelector(`${OPERATIONS_WIDGET_POPUP}-${this._testId}`)} ${getWidgetInPopupSelector(operationName)}`), this.driver);
2109
+ await click(operationEl, this.driver);
2110
+ await wait(
2111
+ async () => {
2112
+ const currOperationName = await this.getAttribute("data-operation");
2113
+ if (operationName === "isblank")
2114
+ return true;
2115
+ return currOperationName === operationName;
2116
+ },
2117
+ this.driver,
2118
+ "Operation is not changed"
2119
+ );
2120
+ }
2121
+ async getOperation() {
2122
+ const result = await this.getAttribute("data-operation");
2123
+ if (!result)
2124
+ throw new Error("Operation not found");
2125
+ return result;
2126
+ }
2127
+ async setIsBlank(value) {
2128
+ const currValue = await this.getIsBlank();
2129
+ if (currValue !== value) {
2130
+ await this.setOperation("isblank");
2131
+ await wait(
2132
+ async () => {
2133
+ const currIsBlank = await this.getIsBlank();
2134
+ return currIsBlank === value;
2135
+ },
2136
+ this.driver,
2137
+ "Operation is not changed"
2138
+ );
2139
+ }
2140
+ }
2141
+ async getIsBlank() {
2142
+ const result = await this.getAttribute("data-hasblank");
2143
+ return result === "true";
2144
+ }
2145
+ };
2146
+ }
2147
+ });
2148
+
2045
2149
  // src/pageObjects/elements/Filters/FormFilterField.ts
2046
2150
  var FormFilterField;
2047
2151
  var init_FormFilterField = __esm({
@@ -2050,9 +2154,14 @@ var init_FormFilterField = __esm({
2050
2154
  init_locators();
2051
2155
  init_createDataTestId();
2052
2156
  init_AbstractEditor2();
2157
+ init_FilterOperation();
2053
2158
  FormFilterField = class extends AbstractEditor {
2159
+ formName;
2160
+ name;
2054
2161
  constructor(parentCssSelector, formName, name, driver) {
2055
2162
  super(parentCssSelector, byTestIdCssSelector(createLayoutFilterTestId(formName, name)), driver);
2163
+ this.formName = formName;
2164
+ this.name = name;
2056
2165
  }
2057
2166
  /**
2058
2167
  * Возвращает значение в поле
@@ -2088,6 +2197,51 @@ var init_FormFilterField = __esm({
2088
2197
  async remove(itemText) {
2089
2198
  return super.remove(itemText);
2090
2199
  }
2200
+ /**
2201
+ * Инициализация операции фильтра
2202
+ */
2203
+ async initOperation() {
2204
+ return new FilterOperation({
2205
+ parentCssSelector: this.parentCssSelector,
2206
+ filterTestID: createLayoutFilterTestId(this.formName, this.name)
2207
+ });
2208
+ }
2209
+ /**
2210
+ * Устанавливает операцию для фильтра
2211
+ * @example
2212
+ * await form.formFilter('TagBox').setOperation("=");
2213
+ */
2214
+ async setOperation(operationName) {
2215
+ const filterOperation = await this.initOperation();
2216
+ await filterOperation.setOperation(operationName);
2217
+ }
2218
+ /**
2219
+ * Возвращает операцию фильтра
2220
+ * @example
2221
+ * expect(await form.formFilter('NumberFld').getOperation()).toBe("=");
2222
+ */
2223
+ async getOperation() {
2224
+ const filterOperation = await this.initOperation();
2225
+ return await filterOperation.getOperation();
2226
+ }
2227
+ /**
2228
+ * Устанавливает операцию 'isblank' для фильтра
2229
+ * @example
2230
+ * await form.formFilter('TagBox').setIsBlank(true);
2231
+ */
2232
+ async setIsBlank(value) {
2233
+ const filterOperation = await this.initOperation();
2234
+ await filterOperation.setIsBlank(value);
2235
+ }
2236
+ /**
2237
+ * Возвращает true|false, если операция 'isblank' установлена для фильтра
2238
+ * @example
2239
+ * expect(await form.formFilter('NumberFld').getIsBlank()).toBe(false);
2240
+ */
2241
+ async getIsBlank() {
2242
+ const filterOperation = await this.initOperation();
2243
+ return await filterOperation.getIsBlank();
2244
+ }
2091
2245
  };
2092
2246
  }
2093
2247
  });
@@ -2100,9 +2254,14 @@ var init_PanelFilterField = __esm({
2100
2254
  init_locators();
2101
2255
  init_createDataTestId();
2102
2256
  init_AbstractEditor2();
2257
+ init_FilterOperation();
2103
2258
  PanelFilterField = class extends AbstractEditor {
2259
+ formName;
2260
+ name;
2104
2261
  constructor(parentCssSelector, formName, name, driver) {
2105
2262
  super(parentCssSelector, byTestIdCssSelector(createDocFilterTestId(formName, name)), driver);
2263
+ this.formName = formName;
2264
+ this.name = name;
2106
2265
  }
2107
2266
  /**
2108
2267
  * Возвращает значение в поле
@@ -2138,16 +2297,61 @@ var init_PanelFilterField = __esm({
2138
2297
  async remove(itemText) {
2139
2298
  return super.remove(itemText);
2140
2299
  }
2300
+ /**
2301
+ * Инициализация операции фильтра
2302
+ */
2303
+ async initOperation() {
2304
+ return new FilterOperation({
2305
+ parentCssSelector: this.parentCssSelector,
2306
+ filterTestID: createDocFilterTestId(this.formName, this.name)
2307
+ });
2308
+ }
2309
+ /**
2310
+ * Устанавливает операцию для фильтра
2311
+ * @example
2312
+ * await form.filterPanel.filterField('TagBox').setOperation("=");
2313
+ */
2314
+ async setOperation(operationName) {
2315
+ const filterOperation = await this.initOperation();
2316
+ await filterOperation.setOperation(operationName);
2317
+ }
2318
+ /**
2319
+ * Возвращает операцию фильтра
2320
+ * @example
2321
+ * expect(await form.filterPanel.filterField('NumberFld').getOperation()).toBe("=");
2322
+ */
2323
+ async getOperation() {
2324
+ const filterOperation = await this.initOperation();
2325
+ return await filterOperation.getOperation();
2326
+ }
2327
+ /**
2328
+ * Устанавливает операцию 'isblank' для фильтра
2329
+ * @example
2330
+ * await form.filterPanel.filterField('TagBox').setIsBlank(true);
2331
+ */
2332
+ async setIsBlank(value) {
2333
+ const filterOperation = await this.initOperation();
2334
+ await filterOperation.setIsBlank(value);
2335
+ }
2336
+ /**
2337
+ * Возвращает true|false, если операция 'isblank' установлена для фильтра
2338
+ * @example
2339
+ * expect(await form.filterPanel.filterField('NumberFld').getIsBlank()).toBe(false);
2340
+ */
2341
+ async getIsBlank() {
2342
+ const filterOperation = await this.initOperation();
2343
+ return await filterOperation.getIsBlank();
2344
+ }
2141
2345
  };
2142
2346
  }
2143
2347
  });
2144
2348
 
2145
2349
  // src/pageObjects/elements/Filters/FilterPanel.ts
2146
- var import_selenium_webdriver25, drawerSelector, FILTER_PANEL_SELECTOR, CLOSE_SELECTOR, FilterPanel;
2350
+ var import_selenium_webdriver26, drawerSelector, FILTER_PANEL_SELECTOR, CLOSE_SELECTOR, FilterPanel;
2147
2351
  var init_FilterPanel = __esm({
2148
2352
  "src/pageObjects/elements/Filters/FilterPanel.ts"() {
2149
2353
  "use strict";
2150
- import_selenium_webdriver25 = require("selenium-webdriver");
2354
+ import_selenium_webdriver26 = require("selenium-webdriver");
2151
2355
  init_AbstractElement();
2152
2356
  init_PanelFilterField();
2153
2357
  init_actions();
@@ -2162,7 +2366,7 @@ var init_FilterPanel = __esm({
2162
2366
  async filterPanelButtons() {
2163
2367
  const selector = `${this.elementCssSelector} ${FILTER_PANEL_SELECTOR} .filter-panel__buttons-panel .dx-button-text`;
2164
2368
  const el = await this.getElement();
2165
- return el.findElements(import_selenium_webdriver25.By.css(selector));
2369
+ return el.findElements(import_selenium_webdriver26.By.css(selector));
2166
2370
  }
2167
2371
  constructor(formName, driver) {
2168
2372
  super(driver, drawerSelector(formName));
@@ -2195,7 +2399,7 @@ var init_FilterPanel = __esm({
2195
2399
  await this.driver.sleep(300);
2196
2400
  }
2197
2401
  async close() {
2198
- const btn = await this.driver.findElement(import_selenium_webdriver25.By.css(`${this.elementCssSelector} ${CLOSE_SELECTOR}`));
2402
+ const btn = await this.driver.findElement(import_selenium_webdriver26.By.css(`${this.elementCssSelector} ${CLOSE_SELECTOR}`));
2199
2403
  await click(btn, this.driver);
2200
2404
  }
2201
2405
  };
@@ -2231,15 +2435,18 @@ var init_HeaderFilterField = __esm({
2231
2435
  });
2232
2436
 
2233
2437
  // src/pageObjects/elements/Filters/ColumnFilter.ts
2234
- var import_selenium_webdriver26, APPLY_SELECTOR, CANCEL_SELECTOR, HEADER_FILTER_ICON, HEADER_FILTER_CONTAINER, HEADER_FILTER_BUTTONS, ColumnFilter;
2438
+ var import_selenium_webdriver27, APPLY_SELECTOR, CANCEL_SELECTOR, HEADER_FILTER_ICON, HEADER_FILTER_CONTAINER, HEADER_FILTER_BUTTONS, ColumnFilter;
2235
2439
  var init_ColumnFilter = __esm({
2236
2440
  "src/pageObjects/elements/Filters/ColumnFilter.ts"() {
2237
2441
  "use strict";
2238
2442
  init_actions();
2239
- import_selenium_webdriver26 = require("selenium-webdriver");
2443
+ import_selenium_webdriver27 = require("selenium-webdriver");
2240
2444
  init_HeaderFilterField();
2241
2445
  init_waitElementIsVisible();
2242
2446
  init_AbstractElement();
2447
+ init_FilterOperation();
2448
+ init_createDataTestId();
2449
+ init_wait();
2243
2450
  APPLY_SELECTOR = ".apply-button";
2244
2451
  CANCEL_SELECTOR = ".cancel-button";
2245
2452
  HEADER_FILTER_ICON = ".dx-column-indicators .dx-header-filter";
@@ -2258,11 +2465,11 @@ var init_ColumnFilter = __esm({
2258
2465
  }
2259
2466
  async getApplyButton() {
2260
2467
  const selector = `${HEADER_FILTER_CONTAINER} ${HEADER_FILTER_BUTTONS} ${APPLY_SELECTOR}`;
2261
- return this.driver.findElement(import_selenium_webdriver26.By.css(selector));
2468
+ return this.driver.findElement(import_selenium_webdriver27.By.css(selector));
2262
2469
  }
2263
2470
  async getCancelButton() {
2264
2471
  const selector = `${HEADER_FILTER_CONTAINER} ${HEADER_FILTER_BUTTONS} ${CANCEL_SELECTOR}`;
2265
- return this.driver.findElement(import_selenium_webdriver26.By.css(selector));
2472
+ return this.driver.findElement(import_selenium_webdriver27.By.css(selector));
2266
2473
  }
2267
2474
  async apply() {
2268
2475
  const btn = await this.getApplyButton();
@@ -2276,17 +2483,34 @@ var init_ColumnFilter = __esm({
2276
2483
  const columnEl = await this._column.getElement();
2277
2484
  const actions = this.driver.actions({ async: true });
2278
2485
  await actions.move({ origin: columnEl }).perform();
2279
- const elements = await columnEl.findElements(import_selenium_webdriver26.By.css(HEADER_FILTER_ICON));
2280
- const headerFilterIcon = elements[1];
2281
- await waitElementIsVisible({
2282
- element: headerFilterIcon,
2283
- driver: this.driver,
2284
- errorMessage: `HeaderFilter "${this._name}" is not visible`
2285
- });
2486
+ const elements = await columnEl.findElements(import_selenium_webdriver27.By.css(HEADER_FILTER_ICON));
2487
+ let headerFilterIcon = null;
2488
+ await wait(
2489
+ async () => {
2490
+ let result = false;
2491
+ for (let element of elements) {
2492
+ if (await element.isDisplayed()) {
2493
+ headerFilterIcon = element;
2494
+ result = true;
2495
+ break;
2496
+ }
2497
+ }
2498
+ return result;
2499
+ },
2500
+ this.driver,
2501
+ `HeaderFilter "${this._name}" is not visible`
2502
+ );
2286
2503
  if (!headerFilterIcon)
2287
2504
  throw new Error(`HeaderFilter "${this._name}" is not visible`);
2288
2505
  await headerFilterIcon.click();
2289
- return new HeaderFilterField("", this._formName, this._name, this.driver);
2506
+ const filter = new HeaderFilterField("", this._formName, this._name, this.driver);
2507
+ const filterEl = await filter.getElement();
2508
+ await waitElementIsVisible({
2509
+ element: filterEl,
2510
+ driver: this.driver,
2511
+ errorMessage: `Header filter is not visible`
2512
+ });
2513
+ return filter;
2290
2514
  }
2291
2515
  /**
2292
2516
  * Возвращает значение в поле
@@ -2331,6 +2555,36 @@ var init_ColumnFilter = __esm({
2331
2555
  await filter.remove(itemText);
2332
2556
  return this.apply();
2333
2557
  }
2558
+ // ToDo: Треба доробити після того, як буде реалізована логіка з editor buttons
2559
+ async initOperation() {
2560
+ await this.initFilter();
2561
+ return new FilterOperation({
2562
+ parentCssSelector: HEADER_FILTER_CONTAINER,
2563
+ filterTestID: createHeaderFilterTestId(this._formName, this._name)
2564
+ });
2565
+ }
2566
+ // ToDo: Треба доробити після того, як буде реалізована логіка з editor buttons
2567
+ async setOperation(operationName) {
2568
+ const filterOperation = await this.initOperation();
2569
+ await filterOperation.setOperation(operationName);
2570
+ await this.apply();
2571
+ }
2572
+ // ToDo: Треба доробити після того, як буде реалізована логіка з editor buttons
2573
+ async getOperation() {
2574
+ const filterOperation = await this.initOperation();
2575
+ return await filterOperation.getOperation();
2576
+ }
2577
+ // ToDo: Треба доробити після того, як буде реалізована логіка з editor buttons
2578
+ async setIsBlank(value) {
2579
+ const filterOperation = await this.initOperation();
2580
+ await filterOperation.setIsBlank(value);
2581
+ await this.apply();
2582
+ }
2583
+ // ToDo: Треба доробити після того, як буде реалізована логіка з editor buttons
2584
+ async getIsBlank() {
2585
+ const filterOperation = await this.initOperation();
2586
+ return await filterOperation.getIsBlank();
2587
+ }
2334
2588
  };
2335
2589
  }
2336
2590
  });
@@ -2463,12 +2717,12 @@ var init_createSubFormInstance = __esm({
2463
2717
  });
2464
2718
 
2465
2719
  // src/pageObjects/elements/Forms/Form.ts
2466
- var import_selenium_webdriver27, formTestId, Form;
2720
+ var import_selenium_webdriver28, formTestId, Form;
2467
2721
  var init_Form = __esm({
2468
2722
  "src/pageObjects/elements/Forms/Form.ts"() {
2469
2723
  "use strict";
2470
2724
  init_locators();
2471
- import_selenium_webdriver27 = require("selenium-webdriver");
2725
+ import_selenium_webdriver28 = require("selenium-webdriver");
2472
2726
  init_AbstractForm();
2473
2727
  init_waitElementIsVisible();
2474
2728
  init_createSubFormInstance();
@@ -2493,10 +2747,10 @@ var init_Form = __esm({
2493
2747
  */
2494
2748
  async getTitleText() {
2495
2749
  if (await this.isModal()) {
2496
- const titleEl2 = await this.driver.findElement(import_selenium_webdriver27.By.css(`${this.popupContainerCssSelector} .popup-title`));
2750
+ const titleEl2 = await this.driver.findElement(import_selenium_webdriver28.By.css(`${this.popupContainerCssSelector} .popup-title`));
2497
2751
  return titleEl2.getText();
2498
2752
  }
2499
- let titleEl = await this.driver.findElement(import_selenium_webdriver27.By.className("main-toolbar-form-title"));
2753
+ let titleEl = await this.driver.findElement(import_selenium_webdriver28.By.className("main-toolbar-form-title"));
2500
2754
  return titleEl.getText();
2501
2755
  }
2502
2756
  setSubFormMode() {
@@ -2514,7 +2768,7 @@ var init_Form = __esm({
2514
2768
  */
2515
2769
  async subForm(name) {
2516
2770
  const cssSelector = subformCssSelector(this.containerCssSelector, subFormTestId(name));
2517
- const byCssSelector = import_selenium_webdriver27.By.css(cssSelector);
2771
+ const byCssSelector = import_selenium_webdriver28.By.css(cssSelector);
2518
2772
  const subFormEl = await this.driver.findElement(byCssSelector);
2519
2773
  await waitElementIsVisible({
2520
2774
  element: subFormEl,
@@ -2544,18 +2798,18 @@ var FormEdit_exports = {};
2544
2798
  __export(FormEdit_exports, {
2545
2799
  default: () => FormEdit
2546
2800
  });
2547
- var import_selenium_webdriver28, FormEdit;
2801
+ var import_selenium_webdriver29, FormEdit;
2548
2802
  var init_FormEdit = __esm({
2549
2803
  "src/pageObjects/elements/Forms/FormEdit.ts"() {
2550
2804
  "use strict";
2551
2805
  init_Form();
2552
- import_selenium_webdriver28 = require("selenium-webdriver");
2806
+ import_selenium_webdriver29 = require("selenium-webdriver");
2553
2807
  init_FormField();
2554
2808
  init_actions();
2555
2809
  init_wait();
2556
2810
  FormEdit = class extends Form {
2557
- saveButtonBy = import_selenium_webdriver28.By.id("button-save");
2558
- closeButtonBy = import_selenium_webdriver28.By.id("button-cancel");
2811
+ saveButtonBy = import_selenium_webdriver29.By.id("button-save");
2812
+ closeButtonBy = import_selenium_webdriver29.By.id("button-cancel");
2559
2813
  constructor(driver) {
2560
2814
  super(driver);
2561
2815
  this.popupContainerCssSelector = `.popup .form-edit-${this.formName}`;
@@ -2871,13 +3125,13 @@ init_ListForm();
2871
3125
  init_TreeView();
2872
3126
 
2873
3127
  // src/pageObjects/elements/Forms/ReportForm.ts
2874
- var import_selenium_webdriver29 = require("selenium-webdriver");
3128
+ var import_selenium_webdriver30 = require("selenium-webdriver");
2875
3129
  init_FormEdit();
2876
3130
  var ReportForm = class extends FormEdit {
2877
3131
  constructor(driver) {
2878
3132
  super(driver);
2879
3133
  this.popupContainerCssSelector = `.popup .form-report-${this.formName}`;
2880
- this.saveButtonBy = import_selenium_webdriver29.By.id("button-apply");
3134
+ this.saveButtonBy = import_selenium_webdriver30.By.id("button-apply");
2881
3135
  }
2882
3136
  /**
2883
3137
  * Знаходить поле/фільтр у формі репорту за ім'ям
@@ -2900,7 +3154,7 @@ init_FilterPanel();
2900
3154
 
2901
3155
  // src/pageObjects/elements/Dialog.ts
2902
3156
  init_AbstractElement();
2903
- var import_selenium_webdriver30 = require("selenium-webdriver");
3157
+ var import_selenium_webdriver31 = require("selenium-webdriver");
2904
3158
  init_AbstractButton();
2905
3159
  var DIALOG_CLASS = ".d5-dialog";
2906
3160
  var DIALOG_TITLE_CLASS = ".dialog__title";
@@ -2915,7 +3169,7 @@ var DialogButton = class extends AbstractButton {
2915
3169
  }
2916
3170
  async getElement() {
2917
3171
  const panel = await super.getElement();
2918
- return panel.findElement(import_selenium_webdriver30.By.xpath(buttonByTextXpath2(this.text)));
3172
+ return panel.findElement(import_selenium_webdriver31.By.xpath(buttonByTextXpath2(this.text)));
2919
3173
  }
2920
3174
  buttonNotDisplayedError() {
2921
3175
  return `Dialog button ${this.text} cannot be clicked. It is not displayed or it is disabled`;
@@ -2935,11 +3189,11 @@ var Dialog = class extends AbstractElement {
2935
3189
  return this.joinRelativeCssSelectors([DIALOG_CLASS, DIALOG_BUTTONS_PANEL_CLASS]);
2936
3190
  }
2937
3191
  async title() {
2938
- const el = await this.driver.findElement(import_selenium_webdriver30.By.css(this.titleSelector));
3192
+ const el = await this.driver.findElement(import_selenium_webdriver31.By.css(this.titleSelector));
2939
3193
  return await el.getText();
2940
3194
  }
2941
3195
  async text() {
2942
- const el = await this.driver.findElement(import_selenium_webdriver30.By.css(this.textSelector));
3196
+ const el = await this.driver.findElement(import_selenium_webdriver31.By.css(this.textSelector));
2943
3197
  return await el.getText();
2944
3198
  }
2945
3199
  button(text) {
@@ -538,6 +538,8 @@ declare class Table extends AbstractElementWithParent {
538
538
  }
539
539
 
540
540
  declare class FormFilterField extends AbstractEditor {
541
+ private readonly formName;
542
+ private readonly name;
541
543
  constructor(parentCssSelector: string, formName: string, name: string, driver?: WebDriver);
542
544
  /**
543
545
  * Возвращает значение в поле
@@ -565,9 +567,39 @@ declare class FormFilterField extends AbstractEditor {
565
567
  * await form.formFilter('TagBox').remove('test');
566
568
  */
567
569
  remove(itemText: string): Promise<void>;
570
+ /**
571
+ * Инициализация операции фильтра
572
+ */
573
+ private initOperation;
574
+ /**
575
+ * Устанавливает операцию для фильтра
576
+ * @example
577
+ * await form.formFilter('TagBox').setOperation("=");
578
+ */
579
+ setOperation(operationName: string): Promise<void>;
580
+ /**
581
+ * Возвращает операцию фильтра
582
+ * @example
583
+ * expect(await form.formFilter('NumberFld').getOperation()).toBe("=");
584
+ */
585
+ getOperation(): Promise<any>;
586
+ /**
587
+ * Устанавливает операцию 'isblank' для фильтра
588
+ * @example
589
+ * await form.formFilter('TagBox').setIsBlank(true);
590
+ */
591
+ setIsBlank(value: boolean): Promise<void>;
592
+ /**
593
+ * Возвращает true|false, если операция 'isblank' установлена для фильтра
594
+ * @example
595
+ * expect(await form.formFilter('NumberFld').getIsBlank()).toBe(false);
596
+ */
597
+ getIsBlank(): Promise<boolean>;
568
598
  }
569
599
 
570
600
  declare class PanelFilterField extends AbstractEditor {
601
+ private readonly formName;
602
+ private readonly name;
571
603
  constructor(parentCssSelector: string, formName: string, name: string, driver?: WebDriver);
572
604
  /**
573
605
  * Возвращает значение в поле
@@ -595,6 +627,34 @@ declare class PanelFilterField extends AbstractEditor {
595
627
  * await form.filterPanel.filterField('TagBox').remove('test');
596
628
  */
597
629
  remove(itemText: string): Promise<void>;
630
+ /**
631
+ * Инициализация операции фильтра
632
+ */
633
+ private initOperation;
634
+ /**
635
+ * Устанавливает операцию для фильтра
636
+ * @example
637
+ * await form.filterPanel.filterField('TagBox').setOperation("=");
638
+ */
639
+ setOperation(operationName: string): Promise<void>;
640
+ /**
641
+ * Возвращает операцию фильтра
642
+ * @example
643
+ * expect(await form.filterPanel.filterField('NumberFld').getOperation()).toBe("=");
644
+ */
645
+ getOperation(): Promise<any>;
646
+ /**
647
+ * Устанавливает операцию 'isblank' для фильтра
648
+ * @example
649
+ * await form.filterPanel.filterField('TagBox').setIsBlank(true);
650
+ */
651
+ setIsBlank(value: boolean): Promise<void>;
652
+ /**
653
+ * Возвращает true|false, если операция 'isblank' установлена для фильтра
654
+ * @example
655
+ * expect(await form.filterPanel.filterField('NumberFld').getIsBlank()).toBe(false);
656
+ */
657
+ getIsBlank(): Promise<boolean>;
598
658
  }
599
659
 
600
660
  declare class FilterPanel extends AbstractElement {
@@ -623,6 +683,21 @@ declare class HeaderFilterField extends AbstractEditor {
623
683
  remove(itemText: string): Promise<void>;
624
684
  }
625
685
 
686
+ interface IFilterOperations {
687
+ parentCssSelector: string;
688
+ filterTestID: string;
689
+ driver?: WebDriver;
690
+ }
691
+ declare class FilterOperation extends AbstractElementWithParent {
692
+ private readonly _testId;
693
+ constructor({ parentCssSelector, filterTestID, driver, }: IFilterOperations);
694
+ private initOperationWidget;
695
+ setOperation(operationName: string): Promise<void>;
696
+ getOperation(): Promise<any>;
697
+ setIsBlank(value: boolean): Promise<void>;
698
+ getIsBlank(): Promise<boolean>;
699
+ }
700
+
626
701
  declare class ColumnFilter extends AbstractElement {
627
702
  private readonly _formName;
628
703
  private readonly _name;
@@ -659,6 +734,11 @@ declare class ColumnFilter extends AbstractElement {
659
734
  * await form.columnFilter('TagBox').remove('test');
660
735
  */
661
736
  remove(itemText: string): Promise<void>;
737
+ initOperation(): Promise<FilterOperation>;
738
+ setOperation(operationName: string): Promise<void>;
739
+ getOperation(): Promise<any>;
740
+ setIsBlank(value: boolean): Promise<void>;
741
+ getIsBlank(): Promise<boolean>;
662
742
  }
663
743
 
664
744
  declare class ListForm extends Form {
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  TreeView
3
- } from "./chunk-Q67RHZDP.mjs";
3
+ } from "./chunk-4PUDCQM6.mjs";
4
4
  import {
5
5
  FilterPanel,
6
6
  FormFilterField,
7
7
  ListForm,
8
8
  PanelFilterField
9
- } from "./chunk-WUPIBFH7.mjs";
9
+ } from "./chunk-LTHDA5XH.mjs";
10
10
  import {
11
11
  FormEdit
12
- } from "./chunk-CKCSBNKD.mjs";
12
+ } from "./chunk-H3M6VBPP.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-JITTN2NY.mjs";
33
+ } from "./chunk-ZT3B7BQ2.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-Q67RHZDP.mjs";
3
+ } from "./chunk-4PUDCQM6.mjs";
4
4
  import {
5
5
  FilterPanel,
6
6
  FormFilterField,
7
7
  ListForm,
8
8
  PanelFilterField
9
- } from "./chunk-WUPIBFH7.mjs";
9
+ } from "./chunk-LTHDA5XH.mjs";
10
10
  import {
11
11
  FormEdit
12
- } from "./chunk-CKCSBNKD.mjs";
12
+ } from "./chunk-H3M6VBPP.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-JITTN2NY.mjs";
33
+ } from "./chunk-ZT3B7BQ2.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.0",
3
+ "version": "1.8.0-alpha.2",
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",
@@ -32,19 +32,19 @@
32
32
  "author": "",
33
33
  "license": "ISC",
34
34
  "dependencies": {
35
- "selenium-webdriver": "^4.17.0",
35
+ "selenium-webdriver": "4.25.0",
36
36
  "typescript": "5.3.3"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@babel/core": "^7.23.9",
40
40
  "@types/node": "^20.11.16",
41
- "@types/selenium-webdriver": "^4.1.21",
41
+ "@types/selenium-webdriver": "4.1.26",
42
42
  "commander": "12.0.0",
43
43
  "esbuild-extra": "^0.3.1",
44
44
  "rimraf": "^5.0.5",
45
45
  "tsup": "7.0.0"
46
46
  },
47
47
  "peerDependencies": {
48
- "selenium-webdriver": "^4.17.0"
48
+ "selenium-webdriver": "4.25.0"
49
49
  }
50
50
  }
@@ -1,7 +0,0 @@
1
- import {
2
- FormEdit
3
- } from "./chunk-CKCSBNKD.mjs";
4
- import "./chunk-JITTN2NY.mjs";
5
- export {
6
- FormEdit as default
7
- };
@@ -1,7 +0,0 @@
1
- import {
2
- ListForm
3
- } from "./chunk-WUPIBFH7.mjs";
4
- import "./chunk-JITTN2NY.mjs";
5
- export {
6
- ListForm as default
7
- };
@@ -1,8 +0,0 @@
1
- import {
2
- TreeView
3
- } from "./chunk-Q67RHZDP.mjs";
4
- import "./chunk-WUPIBFH7.mjs";
5
- import "./chunk-JITTN2NY.mjs";
6
- export {
7
- TreeView as default
8
- };