d5-testing-library 1.9.0-alpha.13 → 1.9.0-alpha.14

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-V7GHM2NF.mjs";
4
+ import "./chunk-CQXQ4R4T.mjs";
5
+ export {
6
+ FormEdit as default
7
+ };
@@ -0,0 +1,7 @@
1
+ import {
2
+ ListForm
3
+ } from "./chunk-V6E4WPJM.mjs";
4
+ import "./chunk-CQXQ4R4T.mjs";
5
+ export {
6
+ ListForm as default
7
+ };
@@ -0,0 +1,8 @@
1
+ import {
2
+ TreeView
3
+ } from "./chunk-D6IQ3ESA.mjs";
4
+ import "./chunk-V6E4WPJM.mjs";
5
+ import "./chunk-CQXQ4R4T.mjs";
6
+ export {
7
+ TreeView as default
8
+ };
@@ -572,9 +572,20 @@ import { By as By9 } from "selenium-webdriver";
572
572
  import { By as By8, Key as Key3 } from "selenium-webdriver";
573
573
 
574
574
  // src/pageObjects/elements/Editors/Date/utils.ts
575
- var formatDMYDate = (date) => {
576
- const [year, month, day] = date.toJSON().split("T")[0].split("-");
577
- return `${day}${month}${year}`;
575
+ var formatDMYDate = (date, isTimeAllowed = false) => {
576
+ const [year, month, day] = date.toISOString().split("T")[0].split("-");
577
+ if (!isTimeAllowed) {
578
+ return `${day}${month}${year}`;
579
+ }
580
+ const hours = String(date.getHours()).padStart(2, "0");
581
+ const minutes = String(date.getMinutes()).padStart(2, "0");
582
+ return `${day}${month}${year}${hours}${minutes}`;
583
+ };
584
+ var formatToDateTime = (dateString) => {
585
+ const [datePart, timePart] = dateString.split("T");
586
+ const [year, month, day] = datePart.split("-").map(Number);
587
+ const [hours, minutes] = timePart.split(":").map(Number);
588
+ return new Date(year, month - 1, day, hours, minutes, 0, 0);
578
589
  };
579
590
 
580
591
  // src/pageObjects/elements/Editors/Date/BaseDateEditor.ts
@@ -582,11 +593,17 @@ var BTN_CALENDAR_POPOVER_OPEN_SELECTOR = "calendar-popover-open-button";
582
593
  var BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR = "DateRange__inputs-item--dateFrom";
583
594
  var BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR = "DateRange__inputs-item--dateTo";
584
595
  var BTN_SAVE_SELECTOR = "DateRange__button-save";
596
+ var DATETIME_ALLOWED_SELECTOR = "dx-datebox-datetime";
585
597
  var BaseDateEditor = class extends AbstractDXEditorWithInput {
586
598
  constructor(parentCssSelector, elementCssSelector, driver) {
587
599
  super(parentCssSelector, elementCssSelector, driver);
588
600
  this.setClearStrategy(new InputClearStrategy());
589
601
  }
602
+ async getIsAllowedTime() {
603
+ const dateField = await this.driver.findElement(By8.css(`${this.getFullCssSelector()}`));
604
+ const classString = await dateField.getAttribute("class");
605
+ return classString.includes(DATETIME_ALLOWED_SELECTOR);
606
+ }
590
607
  async setArrayValue(value) {
591
608
  const dateField = await this.driver.findElement(By8.css(`${this.getFullCssSelector()}`));
592
609
  const dateFieldDataTestID = await this.getDataTestId();
@@ -606,7 +623,8 @@ var BaseDateEditor = class extends AbstractDXEditorWithInput {
606
623
  }
607
624
  async setSingleValue(value, inputEl) {
608
625
  const actions = this.driver.actions({ async: true });
609
- const formattedDate = formatDMYDate(value);
626
+ const isTimeAllowed = await this.getIsAllowedTime();
627
+ const formattedDate = formatDMYDate(value, isTimeAllowed);
610
628
  await click(inputEl, this.driver);
611
629
  await actions.move({ origin: inputEl }).sendKeys(Key3.HOME).perform();
612
630
  await actions.move({ origin: inputEl }).sendKeys(formattedDate, Key3.ENTER).perform();
@@ -635,6 +653,10 @@ var SingleDateEditor = class extends BaseDateEditor {
635
653
  }
636
654
  async getValue() {
637
655
  const value = await this.getDateValue();
656
+ const isTimeAllowed = await this.getIsAllowedTime();
657
+ if (isTimeAllowed) {
658
+ return value == "" ? null : formatToDateTime(value);
659
+ }
638
660
  return value == "" ? null : new Date(value);
639
661
  }
640
662
  setValue(value) {
@@ -1306,15 +1328,15 @@ async function classDependencyInjector(formType) {
1306
1328
  let SubFormFactoryClass;
1307
1329
  switch (formType) {
1308
1330
  case "1" /* LIST */:
1309
- SubFormFactoryClass = (await import("./ListForm-USO4QHZ7.mjs")).default;
1331
+ SubFormFactoryClass = (await import("./ListForm-RNTNKBTA.mjs")).default;
1310
1332
  break;
1311
1333
  case "3" /* TREE */:
1312
- SubFormFactoryClass = (await import("./TreeView-AIQ3JONR.mjs")).default;
1334
+ SubFormFactoryClass = (await import("./TreeView-FSF5ROFG.mjs")).default;
1313
1335
  break;
1314
1336
  case "2" /* EDIT */:
1315
1337
  case "99" /* FREE_FORM */:
1316
1338
  case "4" /* REPORT */:
1317
- SubFormFactoryClass = (await import("./FormEdit-IXS2Z4YR.mjs")).default;
1339
+ SubFormFactoryClass = (await import("./FormEdit-GJPMZVBD.mjs")).default;
1318
1340
  break;
1319
1341
  default:
1320
1342
  throw new Error(`Unsupported form type ${formType}`);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ListForm
3
- } from "./chunk-3BW4OQJU.mjs";
3
+ } from "./chunk-V6E4WPJM.mjs";
4
4
 
5
5
  // src/pageObjects/elements/Forms/TreeView.ts
6
6
  var TREELIST_HEADER_CSS_SELECTOR = ".dx-treelist-headers .dx-treelist-content .dx-treelist-table.dx-treelist-table-fixed";
@@ -19,7 +19,7 @@ import {
19
19
  waitElementIsClickable_default,
20
20
  waitElementIsVisible_default,
21
21
  withCustomTimeouts_default
22
- } from "./chunk-7Q4DN33H.mjs";
22
+ } from "./chunk-CQXQ4R4T.mjs";
23
23
 
24
24
  // src/pageObjects/elements/Table/Table.ts
25
25
  import { By as By6 } from "selenium-webdriver";
@@ -83,7 +83,7 @@ var Cell = class extends AbstractElementWithParent {
83
83
  const [datePart, timePart] = value.split(", ");
84
84
  const [day, month, year] = datePart.split(".").map(Number);
85
85
  const [hours, minutes] = timePart.split(":").map(Number);
86
- return new Date(Date.UTC(year, month - 1, day, hours, minutes));
86
+ return new Date(year, month - 1, day, hours, minutes, 0, 0);
87
87
  } else {
88
88
  const [day, month, year] = value.split(".").map(Number);
89
89
  return new Date(Date.UTC(year, month - 1, day));
@@ -3,7 +3,7 @@ import {
3
3
  FormField,
4
4
  click,
5
5
  safeWait
6
- } from "./chunk-7Q4DN33H.mjs";
6
+ } from "./chunk-CQXQ4R4T.mjs";
7
7
 
8
8
  // src/pageObjects/elements/Forms/FormEdit.ts
9
9
  import { By } from "selenium-webdriver";
@@ -781,19 +781,30 @@ var init_BooleanSelector = __esm({
781
781
  });
782
782
 
783
783
  // src/pageObjects/elements/Editors/Date/utils.ts
784
- var formatDMYDate;
784
+ var formatDMYDate, formatToDateTime;
785
785
  var init_utils = __esm({
786
786
  "src/pageObjects/elements/Editors/Date/utils.ts"() {
787
787
  "use strict";
788
- formatDMYDate = (date) => {
789
- const [year, month, day] = date.toJSON().split("T")[0].split("-");
790
- return `${day}${month}${year}`;
788
+ formatDMYDate = (date, isTimeAllowed = false) => {
789
+ const [year, month, day] = date.toISOString().split("T")[0].split("-");
790
+ if (!isTimeAllowed) {
791
+ return `${day}${month}${year}`;
792
+ }
793
+ const hours = String(date.getHours()).padStart(2, "0");
794
+ const minutes = String(date.getMinutes()).padStart(2, "0");
795
+ return `${day}${month}${year}${hours}${minutes}`;
796
+ };
797
+ formatToDateTime = (dateString) => {
798
+ const [datePart, timePart] = dateString.split("T");
799
+ const [year, month, day] = datePart.split("-").map(Number);
800
+ const [hours, minutes] = timePart.split(":").map(Number);
801
+ return new Date(year, month - 1, day, hours, minutes, 0, 0);
791
802
  };
792
803
  }
793
804
  });
794
805
 
795
806
  // src/pageObjects/elements/Editors/Date/BaseDateEditor.ts
796
- var import_selenium_webdriver12, BTN_CALENDAR_POPOVER_OPEN_SELECTOR, BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR, BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR, BTN_SAVE_SELECTOR, BaseDateEditor;
807
+ var import_selenium_webdriver12, BTN_CALENDAR_POPOVER_OPEN_SELECTOR, BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR, BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR, BTN_SAVE_SELECTOR, DATETIME_ALLOWED_SELECTOR, BaseDateEditor;
797
808
  var init_BaseDateEditor = __esm({
798
809
  "src/pageObjects/elements/Editors/Date/BaseDateEditor.ts"() {
799
810
  "use strict";
@@ -807,11 +818,17 @@ var init_BaseDateEditor = __esm({
807
818
  BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR = "DateRange__inputs-item--dateFrom";
808
819
  BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR = "DateRange__inputs-item--dateTo";
809
820
  BTN_SAVE_SELECTOR = "DateRange__button-save";
821
+ DATETIME_ALLOWED_SELECTOR = "dx-datebox-datetime";
810
822
  BaseDateEditor = class extends AbstractDXEditorWithInput {
811
823
  constructor(parentCssSelector, elementCssSelector, driver) {
812
824
  super(parentCssSelector, elementCssSelector, driver);
813
825
  this.setClearStrategy(new InputClearStrategy());
814
826
  }
827
+ async getIsAllowedTime() {
828
+ const dateField = await this.driver.findElement(import_selenium_webdriver12.By.css(`${this.getFullCssSelector()}`));
829
+ const classString = await dateField.getAttribute("class");
830
+ return classString.includes(DATETIME_ALLOWED_SELECTOR);
831
+ }
815
832
  async setArrayValue(value) {
816
833
  const dateField = await this.driver.findElement(import_selenium_webdriver12.By.css(`${this.getFullCssSelector()}`));
817
834
  const dateFieldDataTestID = await this.getDataTestId();
@@ -831,7 +848,8 @@ var init_BaseDateEditor = __esm({
831
848
  }
832
849
  async setSingleValue(value, inputEl) {
833
850
  const actions = this.driver.actions({ async: true });
834
- const formattedDate = formatDMYDate(value);
851
+ const isTimeAllowed = await this.getIsAllowedTime();
852
+ const formattedDate = formatDMYDate(value, isTimeAllowed);
835
853
  await click(inputEl, this.driver);
836
854
  await actions.move({ origin: inputEl }).sendKeys(import_selenium_webdriver12.Key.HOME).perform();
837
855
  await actions.move({ origin: inputEl }).sendKeys(formattedDate, import_selenium_webdriver12.Key.ENTER).perform();
@@ -855,6 +873,7 @@ var init_SingleDateEditor = __esm({
855
873
  import_selenium_webdriver13 = require("selenium-webdriver");
856
874
  init_InputClearStrategy();
857
875
  init_BaseDateEditor();
876
+ init_utils();
858
877
  SingleDateEditor = class extends BaseDateEditor {
859
878
  constructor(parentCssSelector, elementCssSelector, driver) {
860
879
  super(parentCssSelector, elementCssSelector, driver);
@@ -869,6 +888,10 @@ var init_SingleDateEditor = __esm({
869
888
  }
870
889
  async getValue() {
871
890
  const value = await this.getDateValue();
891
+ const isTimeAllowed = await this.getIsAllowedTime();
892
+ if (isTimeAllowed) {
893
+ return value == "" ? null : formatToDateTime(value);
894
+ }
872
895
  return value == "" ? null : new Date(value);
873
896
  }
874
897
  setValue(value) {
@@ -1639,7 +1662,7 @@ var init_Cell = __esm({
1639
1662
  const [datePart, timePart] = value.split(", ");
1640
1663
  const [day, month, year] = datePart.split(".").map(Number);
1641
1664
  const [hours, minutes] = timePart.split(":").map(Number);
1642
- return new Date(Date.UTC(year, month - 1, day, hours, minutes));
1665
+ return new Date(year, month - 1, day, hours, minutes, 0, 0);
1643
1666
  } else {
1644
1667
  const [day, month, year] = value.split(".").map(Number);
1645
1668
  return new Date(Date.UTC(year, month - 1, day));
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  TreeView
3
- } from "./chunk-EZHIWNAS.mjs";
3
+ } from "./chunk-D6IQ3ESA.mjs";
4
4
  import {
5
5
  FilterPanel,
6
6
  FormFilterField,
7
7
  ListForm,
8
8
  PanelFilterField
9
- } from "./chunk-3BW4OQJU.mjs";
9
+ } from "./chunk-V6E4WPJM.mjs";
10
10
  import {
11
11
  FormEdit
12
- } from "./chunk-GKKE46HC.mjs";
12
+ } from "./chunk-V7GHM2NF.mjs";
13
13
  import {
14
14
  AbstractButton,
15
15
  AbstractElement,
@@ -32,7 +32,7 @@ import {
32
32
  safeWait,
33
33
  waitElementIsClickable_default,
34
34
  waitElementIsVisible_default
35
- } from "./chunk-7Q4DN33H.mjs";
35
+ } from "./chunk-CQXQ4R4T.mjs";
36
36
 
37
37
  // src/pageObjects/pages/LoginPage.ts
38
38
  import { By } from "selenium-webdriver";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  TreeView
3
- } from "./chunk-EZHIWNAS.mjs";
3
+ } from "./chunk-D6IQ3ESA.mjs";
4
4
  import {
5
5
  FilterPanel,
6
6
  FormFilterField,
7
7
  ListForm,
8
8
  PanelFilterField
9
- } from "./chunk-3BW4OQJU.mjs";
9
+ } from "./chunk-V6E4WPJM.mjs";
10
10
  import {
11
11
  FormEdit
12
- } from "./chunk-GKKE46HC.mjs";
12
+ } from "./chunk-V7GHM2NF.mjs";
13
13
  import {
14
14
  AbstractButton,
15
15
  AbstractElement,
@@ -32,7 +32,7 @@ import {
32
32
  safeWait,
33
33
  waitElementIsClickable_default,
34
34
  waitElementIsVisible_default
35
- } from "./chunk-7Q4DN33H.mjs";
35
+ } from "./chunk-CQXQ4R4T.mjs";
36
36
 
37
37
  // src/pageObjects/pages/LoginPage.ts
38
38
  import { By } from "selenium-webdriver";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "d5-testing-library",
3
- "version": "1.9.0-alpha.13",
3
+ "version": "1.9.0-alpha.14",
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-GKKE46HC.mjs";
4
- import "./chunk-7Q4DN33H.mjs";
5
- export {
6
- FormEdit as default
7
- };
@@ -1,7 +0,0 @@
1
- import {
2
- ListForm
3
- } from "./chunk-3BW4OQJU.mjs";
4
- import "./chunk-7Q4DN33H.mjs";
5
- export {
6
- ListForm as default
7
- };
@@ -1,8 +0,0 @@
1
- import {
2
- TreeView
3
- } from "./chunk-EZHIWNAS.mjs";
4
- import "./chunk-3BW4OQJU.mjs";
5
- import "./chunk-7Q4DN33H.mjs";
6
- export {
7
- TreeView as default
8
- };