@thinkwise/testwise 0.2.103 → 0.2.111

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.
Files changed (103) hide show
  1. package/artifact-builder/CustomActionBarGenerator.ts +210 -0
  2. package/artifact-builder/InterfaceGenerator.ts +4 -1
  3. package/artifact-builder/ScreenInterfaceRefiner.ts +7 -1
  4. package/artifact-builder/SubjectComponentGenerator.ts +7 -1
  5. package/artifact-builder/SubjectRegistration.ts +4 -1
  6. package/artifact-builder/TaskDataBuilder.ts +71 -0
  7. package/artifact-builder/helpers/DataRetriever.ts +11 -0
  8. package/artifact-builder/helpers/PipelinePaths.ts +5 -0
  9. package/artifact-builder/index.ts +2 -0
  10. package/components/action-bar/ActionBarObjects.ts +3 -1
  11. package/components/filter/FilterPopup.ts +77 -14
  12. package/components/filter/FilterPopupObjects.ts +25 -4
  13. package/components/grid/Grid.ts +40 -2
  14. package/components/grid/GridObjects.ts +18 -3
  15. package/components/pop-up/AllRowsPopUp.ts +4 -1
  16. package/controls/DateControl.ts +26 -13
  17. package/controls/DateControlObjects.ts +1 -1
  18. package/controls/FormComboBoxObjects.ts +2 -2
  19. package/controls/GridColumnControl.ts +10 -0
  20. package/dist/artifact-builder/CustomActionBarGenerator.d.ts +82 -0
  21. package/dist/artifact-builder/CustomActionBarGenerator.js +175 -0
  22. package/dist/artifact-builder/CustomActionBarGenerator.js.map +1 -0
  23. package/dist/artifact-builder/InterfaceGenerator.js +4 -1
  24. package/dist/artifact-builder/InterfaceGenerator.js.map +1 -1
  25. package/dist/artifact-builder/ScreenInterfaceRefiner.js +7 -1
  26. package/dist/artifact-builder/ScreenInterfaceRefiner.js.map +1 -1
  27. package/dist/artifact-builder/SubjectComponentGenerator.js +5 -1
  28. package/dist/artifact-builder/SubjectComponentGenerator.js.map +1 -1
  29. package/dist/artifact-builder/SubjectRegistration.js +4 -1
  30. package/dist/artifact-builder/SubjectRegistration.js.map +1 -1
  31. package/dist/artifact-builder/TaskDataBuilder.d.ts +21 -0
  32. package/dist/artifact-builder/TaskDataBuilder.js +60 -0
  33. package/dist/artifact-builder/TaskDataBuilder.js.map +1 -0
  34. package/dist/artifact-builder/helpers/DataRetriever.d.ts +2 -0
  35. package/dist/artifact-builder/helpers/DataRetriever.js +7 -0
  36. package/dist/artifact-builder/helpers/DataRetriever.js.map +1 -1
  37. package/dist/artifact-builder/helpers/PipelinePaths.d.ts +2 -0
  38. package/dist/artifact-builder/helpers/PipelinePaths.js +4 -0
  39. package/dist/artifact-builder/helpers/PipelinePaths.js.map +1 -1
  40. package/dist/artifact-builder/index.d.ts +2 -0
  41. package/dist/artifact-builder/index.js +2 -0
  42. package/dist/artifact-builder/index.js.map +1 -1
  43. package/dist/components/action-bar/ActionBarObjects.js +2 -1
  44. package/dist/components/action-bar/ActionBarObjects.js.map +1 -1
  45. package/dist/components/filter/FilterPopup.d.ts +50 -2
  46. package/dist/components/filter/FilterPopup.js +69 -15
  47. package/dist/components/filter/FilterPopup.js.map +1 -1
  48. package/dist/components/filter/FilterPopupObjects.d.ts +4 -2
  49. package/dist/components/filter/FilterPopupObjects.js +18 -4
  50. package/dist/components/filter/FilterPopupObjects.js.map +1 -1
  51. package/dist/components/grid/Grid.d.ts +22 -0
  52. package/dist/components/grid/Grid.js +36 -2
  53. package/dist/components/grid/Grid.js.map +1 -1
  54. package/dist/components/grid/GridObjects.d.ts +2 -0
  55. package/dist/components/grid/GridObjects.js +12 -2
  56. package/dist/components/grid/GridObjects.js.map +1 -1
  57. package/dist/components/pop-up/AllRowsPopUp.js +4 -1
  58. package/dist/components/pop-up/AllRowsPopUp.js.map +1 -1
  59. package/dist/controls/DateControl.d.ts +18 -10
  60. package/dist/controls/DateControl.js +21 -8
  61. package/dist/controls/DateControl.js.map +1 -1
  62. package/dist/controls/DateControlObjects.js +1 -1
  63. package/dist/controls/DateControlObjects.js.map +1 -1
  64. package/dist/controls/FormComboBoxObjects.js +2 -2
  65. package/dist/controls/FormComboBoxObjects.js.map +1 -1
  66. package/dist/controls/GridColumnControl.d.ts +2 -0
  67. package/dist/controls/GridColumnControl.js +6 -0
  68. package/dist/controls/GridColumnControl.js.map +1 -1
  69. package/dist/helpers/DateFormat.d.ts +69 -0
  70. package/dist/helpers/DateFormat.js +100 -0
  71. package/dist/helpers/DateFormat.js.map +1 -0
  72. package/dist/helpers/DateLocaleHelper.d.ts +17 -0
  73. package/dist/helpers/DateLocaleHelper.js +52 -0
  74. package/dist/helpers/DateLocaleHelper.js.map +1 -0
  75. package/dist/helpers/LoginHelper.js +2 -1
  76. package/dist/helpers/LoginHelper.js.map +1 -1
  77. package/dist/helpers/Poll.d.ts +24 -2
  78. package/dist/helpers/Poll.js +87 -5
  79. package/dist/helpers/Poll.js.map +1 -1
  80. package/dist/helpers/UserSimulationHelper.js +2 -1
  81. package/dist/helpers/UserSimulationHelper.js.map +1 -1
  82. package/dist/interfaces/ITabTask.d.ts +21 -0
  83. package/dist/interfaces/ITabTask.js +2 -0
  84. package/dist/interfaces/ITabTask.js.map +1 -0
  85. package/dist/page-overrides/FillOverride.js +0 -15
  86. package/dist/page-overrides/FillOverride.js.map +1 -1
  87. package/dist/services/IndiciumApi.service.d.ts +7 -0
  88. package/dist/services/IndiciumApi.service.js +19 -0
  89. package/dist/services/IndiciumApi.service.js.map +1 -1
  90. package/dist/types/PollTypes.d.ts +5 -0
  91. package/helpers/DateFormat.ts +123 -0
  92. package/helpers/DateLocaleHelper.ts +57 -0
  93. package/helpers/LoginHelper.ts +2 -1
  94. package/helpers/Poll.ts +108 -5
  95. package/helpers/UserSimulationHelper.ts +2 -1
  96. package/interfaces/ITabTask.ts +21 -0
  97. package/package.json +4 -2
  98. package/page-overrides/FillOverride.ts +0 -18
  99. package/promptCredentials.js +124 -124
  100. package/scripts/checkPackageContents.js +39 -0
  101. package/scripts/sync.js +14 -0
  102. package/services/IndiciumApi.service.ts +21 -0
  103. package/types/PollTypes.ts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.js","sourceRoot":"","sources":["../../../components/grid/Grid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Grid.js","sourceRoot":"","sources":["../../../components/grid/Grid.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,11 @@ export declare class GridObjects extends BaseComponentObjects {
8
8
  menuIconByColumnHeaderName: (columnName: string) => Locator;
9
9
  rowByIndex: (row: number) => Locator;
10
10
  rowByRowId: (rowIdPattern: string) => Locator;
11
+ cellByRowIndexAndColumnId: (row: number, colId: string) => Locator;
11
12
  cellByValue: (value: RegExp) => Locator;
12
13
  rows: () => Locator;
13
14
  cellsByColumnId: (colId: string) => Locator;
15
+ summaryCellsByColumnId: (colId: string) => Locator;
14
16
  columnByRowLocator: (rowLocator: Locator) => Locator;
15
17
  gridCell: () => Locator;
16
18
  noRowsOverlay: () => Locator;
@@ -8,11 +8,21 @@ export class GridObjects extends BaseComponentObjects {
8
8
  this.menuIconByColumnHeaderName = (columnName) => this.columnHeaderByName(columnName).getByTestId('grid__custom__filter__icon');
9
9
  this.rowByIndex = (row) => this.context.locator(`[role="row"][row-index="${row}"]`);
10
10
  this.rowByRowId = (rowIdPattern) => this.context.locator(`[role="row"][row-id$="|${rowIdPattern}"]`);
11
+ this.cellByRowIndexAndColumnId = (row, colId) => this.rowByIndex(row).locator(`[col-id="${colId}"]`);
11
12
  this.cellByValue = (value) => this.context.locator('[role="button"]', {
12
13
  hasText: value
13
14
  });
14
- this.rows = () => this.context.locator('[role="row"]');
15
- this.cellsByColumnId = (colId) => this.context.locator(`[col-id="${colId}"] .value-renderer`);
15
+ // Body data rows only. `.ag-row` already excludes the header (which is `.ag-header-row`),
16
+ // and the `b-` row-index negation excludes the pinned bottom summary row while keeping
17
+ // pinned TOP rows, since the in-progress new row is what add-row flows count.
18
+ this.rows = () => this.context.locator('.ag-row:not([row-index^="b-"])');
19
+ // Scoped to body rows so AG Grid's pinned bottom summary row is not read as data.
20
+ // Pinned bottom rows carry `row-index="b-<n>"`; negating that prefix leaves pinned
21
+ // TOP rows (the in-progress new row) in place. Do not swap this for
22
+ // `:not(.ag-row-pinned)` — that covers top and bottom alike. See
23
+ // tests/components/grid/GridObjects.cellsByColumnId.test.ts
24
+ this.cellsByColumnId = (colId) => this.context.locator(`.ag-row:not([row-index^="b-"]) [col-id="${colId}"] .value-renderer`);
25
+ this.summaryCellsByColumnId = (colId) => this.context.locator(`.ag-floating-bottom [col-id="${colId}"] .value-renderer`);
16
26
  this.columnByRowLocator = (rowLocator) => rowLocator.locator('.ag-cell');
17
27
  this.gridCell = () => this.context.locator('[role="gridcell"]');
18
28
  this.noRowsOverlay = () => this.context.locator('.ag-overlay-no-rows-center');
@@ -1 +1 @@
1
- {"version":3,"file":"GridObjects.js","sourceRoot":"","sources":["../../../components/grid/GridObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,WAAY,SAAQ,oBAAoB;IACnD,YAAY,IAAU,EAAE,UAA0B,IAAI;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAGhB,uBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAExG,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAEpE,uBAAkB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAE1G,+BAA0B,GAAG,CAAC,UAAkB,EAAE,EAAE,CACzD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;QAEzE,eAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;QAEvF,eAAU,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,YAAY,IAAI,CAAC,CAAC;QAExG,gBAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACtC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEE,SAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAElD,oBAAe,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,oBAAoB,CAAC,CAAC;QAEjG,uBAAkB,GAAG,CAAC,UAAmB,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7E,aAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAE3D,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IA5BhF,CAAC;CA6BF"}
1
+ {"version":3,"file":"GridObjects.js","sourceRoot":"","sources":["../../../components/grid/GridObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,WAAY,SAAQ,oBAAoB;IACnD,YAAY,IAAU,EAAE,UAA0B,IAAI;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAGhB,uBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAExG,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAEpE,uBAAkB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAE1G,+BAA0B,GAAG,CAAC,UAAkB,EAAE,EAAE,CACzD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;QAEzE,eAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;QAEvF,eAAU,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,YAAY,IAAI,CAAC,CAAC;QAExG,8BAAyB,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAChE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC;QAE/C,gBAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACtC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEL,0FAA0F;QAC1F,uFAAuF;QACvF,8EAA8E;QACvE,SAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAE3E,kFAAkF;QAClF,mFAAmF;QACnF,oEAAoE;QACpE,iEAAiE;QACjE,4DAA4D;QACrD,oBAAe,GAAG,CAAC,KAAa,EAAE,EAAE,CACzC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2CAA2C,KAAK,oBAAoB,CAAC,CAAC;QAEtF,2BAAsB,GAAG,CAAC,KAAa,EAAE,EAAE,CAChD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAgC,KAAK,oBAAoB,CAAC,CAAC;QAE3E,uBAAkB,GAAG,CAAC,UAAmB,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7E,aAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAE3D,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IA3ChF,CAAC;CA4CF"}
@@ -25,7 +25,10 @@ export class AllRowsPopup {
25
25
  return this._allRowsPopupObjects.anchor(this.deletePopup);
26
26
  }
27
27
  async waitForOpen() {
28
- await pollUntil(() => this._allRowsPopupObjects.anchor(this.deletePopup).isVisible(), { predicate: Boolean });
28
+ await pollUntil(() => this._allRowsPopupObjects.anchor(this.deletePopup).isVisible(), {
29
+ predicate: Boolean,
30
+ description: 'the delete-all-rows popup to become visible'
31
+ });
29
32
  }
30
33
  }
31
34
  //# sourceMappingURL=AllRowsPopUp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AllRowsPopUp.js","sourceRoot":"","sources":["../../../components/pop-up/AllRowsPopUp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IAIvB,YAAY,IAAU,EAAE,WAAqB;QAatC,4BAAuB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;QAE7F,uBAAkB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;QAEnF,kBAAa,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;QAEzE,iBAAY,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;QAlB5E,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAChH,CAAC;CASF"}
1
+ {"version":3,"file":"AllRowsPopUp.js","sourceRoot":"","sources":["../../../components/pop-up/AllRowsPopUp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IAIvB,YAAY,IAAU,EAAE,WAAqB;QAgBtC,4BAAuB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;QAE7F,uBAAkB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;QAEnF,kBAAa,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;QAEzE,iBAAY,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;QArB5E,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,EAAE;YACpF,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,6CAA6C;SAC3D,CAAC,CAAC;IACL,CAAC;CASF"}
@@ -8,11 +8,11 @@ import type { Locator } from '@playwright/test';
8
8
  * field on the form:
9
9
  *
10
10
  * ```ts
11
- * // Fill accepts any common date format — numbers are extracted and entered
12
- * // sequentially so the date picker can apply its own formatting:
13
- * await subject.form.hireDateField.fill('15-03-2025');
14
- * await subject.form.hireDateField.fill('03/15/2025');
15
- * await subject.form.hireDateField.fill('20250315'); // also works
11
+ * // Fill accepts a canonical ISO date. Testwise reads the app's date locale
12
+ * // and types the digits in the picker's expected order, so the same value
13
+ * // enters the same real date under any locale:
14
+ * await subject.form.hireDateField.fill('2025-03-15'); // 15 March 2025
15
+ * await subject.form.hireDateField.fill('2025-03-15 09:46:09'); // with time
16
16
  *
17
17
  * const raw = await subject.form.hireDateField.inputValue();
18
18
  * await subject.form.hireDateField.clear();
@@ -32,11 +32,19 @@ export declare class DateControl implements IDateControlCore {
32
32
  private _objects;
33
33
  constructor(context: Locator, id: string);
34
34
  /**
35
- * Enter a date value in any common format (e.g., "MM/DD/YYYY", "YYYY-MM-DD", "DD-MM-YYYY").
36
- * The method will extract the numbers and input them sequentially, allowing the date picker to format it correctly.
37
- * For example, entering "01012025" will be interpreted as "01/01/2025".
38
- * This approach provides flexibility in how dates can be entered while ensuring compatibility with various date picker implementations.
39
- * @param value
35
+ * Enter a date value from a canonical ISO string (`YYYY-MM-DD` or
36
+ * `YYYY-MM-DD HH:mm:ss`). Testwise reads the app's active date locale, reorders
37
+ * the day/month/year digits to the picker's expected order, and types them
38
+ * sequentially so the picker applies its own formatting. This means the same
39
+ * ISO value enters the same real date regardless of the configured locale.
40
+ *
41
+ * For example, `"2025-01-01"` types `01012025` under a DD/MM/YYYY locale,
42
+ * `01012025` under MM/DD/YYYY, and `20250101` under YYYY/MM/DD.
43
+ *
44
+ * Any other value (e.g. `"15/03/2025"`) is typed the way it was before ISO
45
+ * support: its digits in the order given, separators removed. That only enters
46
+ * the intended date under the locale it was written for, so prefer ISO.
47
+ * @param value - Canonical ISO date or date-time string (recommended), or a date written in the picker's own order.
40
48
  */
41
49
  fill(value: string): Promise<void>;
42
50
  /**
@@ -1,19 +1,32 @@
1
+ import { isIsoDateTime, isoToLocaleDigits } from '../helpers/DateFormat.js';
2
+ import { getDateLocale } from '../helpers/DateLocaleHelper.js';
1
3
  import { DateControlObjects } from './DateControlObjects.js';
2
4
  export class DateControl {
3
5
  constructor(context, id) {
4
6
  this._objects = new DateControlObjects(context, id);
5
7
  }
6
8
  /**
7
- * Enter a date value in any common format (e.g., "MM/DD/YYYY", "YYYY-MM-DD", "DD-MM-YYYY").
8
- * The method will extract the numbers and input them sequentially, allowing the date picker to format it correctly.
9
- * For example, entering "01012025" will be interpreted as "01/01/2025".
10
- * This approach provides flexibility in how dates can be entered while ensuring compatibility with various date picker implementations.
11
- * @param value
9
+ * Enter a date value from a canonical ISO string (`YYYY-MM-DD` or
10
+ * `YYYY-MM-DD HH:mm:ss`). Testwise reads the app's active date locale, reorders
11
+ * the day/month/year digits to the picker's expected order, and types them
12
+ * sequentially so the picker applies its own formatting. This means the same
13
+ * ISO value enters the same real date regardless of the configured locale.
14
+ *
15
+ * For example, `"2025-01-01"` types `01012025` under a DD/MM/YYYY locale,
16
+ * `01012025` under MM/DD/YYYY, and `20250101` under YYYY/MM/DD.
17
+ *
18
+ * Any other value (e.g. `"15/03/2025"`) is typed the way it was before ISO
19
+ * support: its digits in the order given, separators removed. That only enters
20
+ * the intended date under the locale it was written for, so prefer ISO.
21
+ * @param value - Canonical ISO date or date-time string (recommended), or a date written in the picker's own order.
12
22
  */
13
23
  async fill(value) {
14
- const numbersOnlyValue = value.replace(/\D/g, '');
15
- await this._objects.fieldInput().click();
16
- await this._objects.fieldInput().pressSequentially(numbersOnlyValue);
24
+ const input = this._objects.fieldInput();
25
+ const digits = isIsoDateTime(value)
26
+ ? isoToLocaleDigits(value, await getDateLocale(input.page()))
27
+ : value.replace(/\D/g, '');
28
+ await input.click();
29
+ await input.pressSequentially(digits);
17
30
  }
18
31
  /**
19
32
  * Clears the date input by filling it with an empty string.
@@ -1 +1 @@
1
- {"version":3,"file":"DateControl.js","sourceRoot":"","sources":["../../controls/DateControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAiC7D,MAAM,OAAO,WAAW;IAGtB,YAAY,OAAgB,EAAE,EAAU;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CAAC,KAAa;QAC7B,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,EAAU;IAC5D,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEzD,OAAO,IAAI,KAAK,CAAC,iBAAiB,EAAE;QAClC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,KAAK,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;YAErC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAA4B,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"DateControl.js","sourceRoot":"","sources":["../../controls/DateControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAiC7D,MAAM,OAAO,WAAW;IAGtB,YAAY,OAAgB,EAAE,EAAU;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,IAAI,CAAC,KAAa;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE7B,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,EAAU;IAC5D,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEzD,OAAO,IAAI,KAAK,CAAC,iBAAiB,EAAE;QAClC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,KAAK,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;YAErC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAA4B,CAAC;AAChC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export class DateControlObjects {
2
2
  constructor(context, id) {
3
- this.fieldInput = () => this._context;
3
+ this.fieldInput = () => this.dateField().locator('input');
4
4
  this.dateField = () => this._context.getByTestId(`form-field__${this._id}`);
5
5
  this._context = context;
6
6
  this._id = id;
@@ -1 +1 @@
1
- {"version":3,"file":"DateControlObjects.js","sourceRoot":"","sources":["../../controls/DateControlObjects.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAkB;IAI7B,YAAY,OAAgB,EAAE,EAAU;QAKjC,eAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE1C,cAAS,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QANrF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;CAKF"}
1
+ {"version":3,"file":"DateControlObjects.js","sourceRoot":"","sources":["../../controls/DateControlObjects.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAkB;IAI7B,YAAY,OAAgB,EAAE,EAAU;QAKjC,eAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE9D,cAAS,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QANrF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;CAKF"}
@@ -3,8 +3,8 @@ export class FormComboBoxObjects {
3
3
  this.field = () => this._context.getByTestId(`form-field__${this._id}`);
4
4
  this.autoCompleteMenu = () => this._context.page().getByTestId(`form-field__${this._id}__select__options-list`);
5
5
  this.option = (optionText) => {
6
- const optionTextLowercase = optionText.toLowerCase();
7
- return this.autoCompleteMenu().getByTestId(`form-field__${this._id}__select__${optionTextLowercase}__text`);
6
+ const optionSlug = optionText.toLowerCase().replace(/\s+/g, '-');
7
+ return this.autoCompleteMenu().getByTestId(`form-field__${this._id}__select__${optionSlug}__text`);
8
8
  };
9
9
  this.clearButton = () => this.field().locator('Button[aria-label="Clear"]');
10
10
  this.validationMessage = () => this.field().locator('.TooltipContainer p');
@@ -1 +1 @@
1
- {"version":3,"file":"FormComboBoxObjects.js","sourceRoot":"","sources":["../../controls/FormComboBoxObjects.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IAI9B,YAAY,OAAgB,EAAE,EAAU;QAKjC,UAAK,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAE5E,qBAAgB,GAAG,GAAY,EAAE,CACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;QAE7E,WAAM,GAAG,CAAC,UAAkB,EAAW,EAAE;YAC9C,MAAM,mBAAmB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,aAAa,mBAAmB,QAAQ,CAAC,CAAC;QAC9G,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEhF,sBAAiB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE/E,eAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAlB/D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;CAiBF"}
1
+ {"version":3,"file":"FormComboBoxObjects.js","sourceRoot":"","sources":["../../controls/FormComboBoxObjects.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IAI9B,YAAY,OAAgB,EAAE,EAAU;QAKjC,UAAK,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAE5E,qBAAgB,GAAG,GAAY,EAAE,CACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;QAE7E,WAAM,GAAG,CAAC,UAAkB,EAAW,EAAE;YAC9C,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,aAAa,UAAU,QAAQ,CAAC,CAAC;QACrG,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEhF,sBAAiB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE/E,eAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAlB/D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;CAiBF"}
@@ -26,6 +26,8 @@ export type IGridColumnControlCore = {
26
26
  getColumnHeader(): Promise<Locator>;
27
27
  getCellByExactValue(value: string): Locator;
28
28
  getCellValues(): Promise<string[]>;
29
+ getSummaryCell(): Locator;
30
+ getSummaryValue(): Promise<string | null>;
29
31
  filterByColumnValueExcelStyle(value: string, deselectAll?: boolean): Promise<void>;
30
32
  openExcelStyleFilterPopup(): Promise<void>;
31
33
  };
@@ -20,6 +20,12 @@ class GridColumnControl {
20
20
  async getCellValues() {
21
21
  return await this._grid.getCellValuesByColId(this._id);
22
22
  }
23
+ getSummaryCell() {
24
+ return this._grid.getSummaryCellByColId(this._id);
25
+ }
26
+ async getSummaryValue() {
27
+ return await this._grid.getSummaryValueByColId(this._id);
28
+ }
23
29
  async filterByColumnValueExcelStyle(value, deselectAll) {
24
30
  await this._grid.filterByColumnValueExcelStyle(this._objects.columnHeader(), value, deselectAll);
25
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GridColumnControl.js","sourceRoot":"","sources":["../../controls/GridColumnControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAkCzE,MAAM,iBAAiB;IAKrB,YAAY,WAAoB,EAAE,EAAU;QAC1C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,yBAAyB;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAEM,mBAAmB,CAAC,KAAa;QACtC,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,6BAA6B,CAAC,KAAa,EAAE,WAAqB;QAC7E,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACnG,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAoB,EAAE,EAAU;IACtE,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,WAAW,IAAI,CAAC,CAAC;IAEjE,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE;QAC9B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,KAAK,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAkC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"GridColumnControl.js","sourceRoot":"","sources":["../../controls/GridColumnControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAoCzE,MAAM,iBAAiB;IAKrB,YAAY,WAAoB,EAAE,EAAU;QAC1C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,yBAAyB;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAEM,mBAAmB,CAAC,KAAa;QACtC,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,6BAA6B,CAAC,KAAa,EAAE,WAAqB;QAC7E,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACnG,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAoB,EAAE,EAAU;IACtE,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,WAAW,IAAI,CAAC,CAAC;IAEjE,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE;QAC9B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,KAAK,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAkC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Pure, page-independent helpers for turning a canonical ISO date/time into the
3
+ * digit sequence a Thinkwise date picker expects for a given locale.
4
+ *
5
+ * **Why this exists:** Thinkwise renders dates in the field order dictated by the
6
+ * logged-in user's `dateLocale` (e.g. `DD/MM/YYYY` for en-GB, `MM/DD/YYYY` for
7
+ * en-US, `YYYY-MM-DD` for sv-SE). The date picker applies its own separators when
8
+ * digits are typed sequentially, so all we must do is emit the day/month/year
9
+ * digits in the locale's order. These functions have no Playwright dependency and
10
+ * are unit-testable in isolation.
11
+ */
12
+ export type DateParts = {
13
+ year: string;
14
+ month: string;
15
+ day: string;
16
+ hour?: string;
17
+ minute?: string;
18
+ second?: string;
19
+ };
20
+ export type DateFieldOrder = ('year' | 'month' | 'day')[];
21
+ /**
22
+ * Parse a canonical ISO date/time string into its component parts.
23
+ *
24
+ * Accepts `YYYY-MM-DD` and `YYYY-MM-DD HH:mm[:ss]` (a `T` separator also works).
25
+ * Throws a descriptive error on any other input so test authors get a clear
26
+ * message rather than a silently wrong date.
27
+ *
28
+ * @param iso - Canonical ISO date or date-time string.
29
+ * @returns The parsed, zero-padded date (and optional time) parts.
30
+ */
31
+ export declare function parseIsoDateTime(iso: string): DateParts;
32
+ /**
33
+ * Whether a value is a canonical ISO date or date-time that {@link parseIsoDateTime} accepts.
34
+ *
35
+ * @param value - The value to test.
36
+ * @returns `true` for `YYYY-MM-DD` and `YYYY-MM-DD HH:mm[:ss]` (a `T` separator also works).
37
+ */
38
+ export declare function isIsoDateTime(value: string): boolean;
39
+ /**
40
+ * Determine the day/month/year ordering a locale uses to display dates.
41
+ *
42
+ * Derives the order from `Intl.DateTimeFormat` rather than a hardcoded table, so
43
+ * any locale the app supports is handled. Falls back to day/month/year when the
44
+ * locale is empty or unrecognised.
45
+ *
46
+ * @param locale - A BCP-47 locale tag (e.g. `en-GB`, `en-US`, `sv-SE`).
47
+ * @returns The order of date fields for that locale.
48
+ */
49
+ export declare function fieldOrderForLocale(locale: string): DateFieldOrder;
50
+ /**
51
+ * Produce the sequence of digits to type into a date picker for the given locale
52
+ * order. Date digits come first in `order`, followed by any time digits (always
53
+ * `HHmmss`). No separators are emitted — the picker inserts its own.
54
+ *
55
+ * @param parts - Parsed date/time parts.
56
+ * @param order - The locale's day/month/year ordering.
57
+ * @returns The digit string to type sequentially.
58
+ */
59
+ export declare function toDigitSequence(parts: DateParts, order: DateFieldOrder): string;
60
+ /**
61
+ * Convenience helper combining {@link parseIsoDateTime}, {@link fieldOrderForLocale}
62
+ * and {@link toDigitSequence}: turn a canonical ISO date into the digit sequence
63
+ * for a locale.
64
+ *
65
+ * @param iso - Canonical ISO date or date-time string.
66
+ * @param locale - A BCP-47 locale tag; empty falls back to day/month/year order.
67
+ * @returns The digit string to type sequentially into the picker.
68
+ */
69
+ export declare function isoToLocaleDigits(iso: string, locale: string): string;
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Pure, page-independent helpers for turning a canonical ISO date/time into the
3
+ * digit sequence a Thinkwise date picker expects for a given locale.
4
+ *
5
+ * **Why this exists:** Thinkwise renders dates in the field order dictated by the
6
+ * logged-in user's `dateLocale` (e.g. `DD/MM/YYYY` for en-GB, `MM/DD/YYYY` for
7
+ * en-US, `YYYY-MM-DD` for sv-SE). The date picker applies its own separators when
8
+ * digits are typed sequentially, so all we must do is emit the day/month/year
9
+ * digits in the locale's order. These functions have no Playwright dependency and
10
+ * are unit-testable in isolation.
11
+ */
12
+ // A fixed reference date whose parts are all distinct and unambiguous, used to
13
+ // probe a locale's field order via Intl. Day 7 / month 5 keeps it well inside
14
+ // valid ranges for every calendar.
15
+ const referenceDate = new Date(Date.UTC(2026, 4, 7));
16
+ const isoDateTimePattern = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})(?:[ T](?<hour>\d{2}):(?<minute>\d{2})(?::(?<second>\d{2}))?)?$/;
17
+ /**
18
+ * Parse a canonical ISO date/time string into its component parts.
19
+ *
20
+ * Accepts `YYYY-MM-DD` and `YYYY-MM-DD HH:mm[:ss]` (a `T` separator also works).
21
+ * Throws a descriptive error on any other input so test authors get a clear
22
+ * message rather than a silently wrong date.
23
+ *
24
+ * @param iso - Canonical ISO date or date-time string.
25
+ * @returns The parsed, zero-padded date (and optional time) parts.
26
+ */
27
+ export function parseIsoDateTime(iso) {
28
+ const match = isoDateTimePattern.exec(iso.trim());
29
+ if (!match?.groups) {
30
+ throw new Error(`Invalid date "${iso}". Expected canonical ISO format "YYYY-MM-DD" or "YYYY-MM-DD HH:mm:ss".`);
31
+ }
32
+ const { year, month, day, hour, minute, second } = match.groups;
33
+ return {
34
+ year,
35
+ month,
36
+ day,
37
+ ...(hour !== undefined ? { hour, minute, second: second ?? '00' } : {})
38
+ };
39
+ }
40
+ /**
41
+ * Whether a value is a canonical ISO date or date-time that {@link parseIsoDateTime} accepts.
42
+ *
43
+ * @param value - The value to test.
44
+ * @returns `true` for `YYYY-MM-DD` and `YYYY-MM-DD HH:mm[:ss]` (a `T` separator also works).
45
+ */
46
+ export function isIsoDateTime(value) {
47
+ return isoDateTimePattern.test(value.trim());
48
+ }
49
+ /**
50
+ * Determine the day/month/year ordering a locale uses to display dates.
51
+ *
52
+ * Derives the order from `Intl.DateTimeFormat` rather than a hardcoded table, so
53
+ * any locale the app supports is handled. Falls back to day/month/year when the
54
+ * locale is empty or unrecognised.
55
+ *
56
+ * @param locale - A BCP-47 locale tag (e.g. `en-GB`, `en-US`, `sv-SE`).
57
+ * @returns The order of date fields for that locale.
58
+ */
59
+ export function fieldOrderForLocale(locale) {
60
+ const fallback = ['day', 'month', 'year'];
61
+ if (!locale)
62
+ return fallback;
63
+ try {
64
+ const order = new Intl.DateTimeFormat(locale)
65
+ .formatToParts(referenceDate)
66
+ .map((part) => part.type)
67
+ .filter((type) => type === 'year' || type === 'month' || type === 'day');
68
+ return order.length === 3 ? order : fallback;
69
+ }
70
+ catch {
71
+ return fallback;
72
+ }
73
+ }
74
+ /**
75
+ * Produce the sequence of digits to type into a date picker for the given locale
76
+ * order. Date digits come first in `order`, followed by any time digits (always
77
+ * `HHmmss`). No separators are emitted — the picker inserts its own.
78
+ *
79
+ * @param parts - Parsed date/time parts.
80
+ * @param order - The locale's day/month/year ordering.
81
+ * @returns The digit string to type sequentially.
82
+ */
83
+ export function toDigitSequence(parts, order) {
84
+ const dateDigits = order.map((field) => parts[field]).join('');
85
+ const timeDigits = parts.hour !== undefined ? `${parts.hour}${parts.minute ?? '00'}${parts.second ?? '00'}` : '';
86
+ return `${dateDigits}${timeDigits}`;
87
+ }
88
+ /**
89
+ * Convenience helper combining {@link parseIsoDateTime}, {@link fieldOrderForLocale}
90
+ * and {@link toDigitSequence}: turn a canonical ISO date into the digit sequence
91
+ * for a locale.
92
+ *
93
+ * @param iso - Canonical ISO date or date-time string.
94
+ * @param locale - A BCP-47 locale tag; empty falls back to day/month/year order.
95
+ * @returns The digit string to type sequentially into the picker.
96
+ */
97
+ export function isoToLocaleDigits(iso, locale) {
98
+ return toDigitSequence(parseIsoDateTime(iso), fieldOrderForLocale(locale));
99
+ }
100
+ //# sourceMappingURL=DateFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateFormat.js","sourceRoot":"","sources":["../../helpers/DateFormat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAaH,+EAA+E;AAC/E,8EAA8E;AAC9E,mCAAmC;AACnC,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAErD,MAAM,kBAAkB,GACtB,8GAA8G,CAAC;AAEjH;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAElD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,yEAAyE,CAAC,CAAC;IACjH,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IAEhE,OAAO;QACL,IAAI;QACJ,KAAK;QACL,GAAG;QACH,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,QAAQ,GAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAE1D,IAAI,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;aAC1C,aAAa,CAAC,aAAa,CAAC;aAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,MAAM,CAAC,CAAC,IAAI,EAAoC,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC;QAE7G,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,KAAgB,EAAE,KAAqB;IACrE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjH,OAAO,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,MAAc;IAC3D,OAAO,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Page } from '@playwright/test';
2
+ /**
3
+ * Retrieve the app's active date locale (e.g. `en-GB`, `sv-SE`), caching the
4
+ * result per page. Returns `''` when the Redux store is not yet available or does
5
+ * not expose a locale.
6
+ *
7
+ * @param page - The Playwright page bound to a logged-in Thinkwise session.
8
+ * @returns The BCP-47 date locale tag, or `''` if it cannot be determined.
9
+ */
10
+ export declare function getDateLocale(page: Page): Promise<string>;
11
+ /**
12
+ * Clear any cached date locale for a page. Useful after a re-login or a user
13
+ * preference change that alters the active `dateLocale` within the same page.
14
+ *
15
+ * @param page - The page whose cached locale should be discarded.
16
+ */
17
+ export declare function clearDateLocaleCache(page: Page): void;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Reads the logged-in user's active date locale from the Thinkwise web app.
3
+ *
4
+ * **Why this exists:** Date pickers render dates in the field order dictated by the
5
+ * user's `dateLocale` preference. Testwise needs that locale to type dates in the
6
+ * correct order regardless of the browser locale. The value lives in the Redux
7
+ * store the app exposes on `window.__REDUX_STORE__` (see the front-end change that
8
+ * added it):
9
+ *
10
+ * ```ts
11
+ * window.__REDUX_STORE__.getState().auth.user.dateLocale
12
+ * ```
13
+ *
14
+ * The store is populated asynchronously after config load and login, so callers
15
+ * must only rely on this once past the login screen. Before then (or if the shape
16
+ * ever changes) this resolves to an empty string, letting callers fall back to a
17
+ * sensible default order.
18
+ */
19
+ // Cache the resolved locale per page so repeated date fills don't re-evaluate.
20
+ const localeCache = new WeakMap();
21
+ /**
22
+ * Retrieve the app's active date locale (e.g. `en-GB`, `sv-SE`), caching the
23
+ * result per page. Returns `''` when the Redux store is not yet available or does
24
+ * not expose a locale.
25
+ *
26
+ * @param page - The Playwright page bound to a logged-in Thinkwise session.
27
+ * @returns The BCP-47 date locale tag, or `''` if it cannot be determined.
28
+ */
29
+ export async function getDateLocale(page) {
30
+ const cached = localeCache.get(page);
31
+ if (cached !== undefined)
32
+ return cached;
33
+ const locale = await page
34
+ .evaluate(() => {
35
+ const store = window.__REDUX_STORE__;
36
+ const state = store?.getState();
37
+ return state?.auth?.user?.dateLocale ?? '';
38
+ })
39
+ .catch(() => '');
40
+ localeCache.set(page, locale);
41
+ return locale;
42
+ }
43
+ /**
44
+ * Clear any cached date locale for a page. Useful after a re-login or a user
45
+ * preference change that alters the active `dateLocale` within the same page.
46
+ *
47
+ * @param page - The page whose cached locale should be discarded.
48
+ */
49
+ export function clearDateLocaleCache(page) {
50
+ localeCache.delete(page);
51
+ }
52
+ //# sourceMappingURL=DateLocaleHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateLocaleHelper.js","sourceRoot":"","sources":["../../helpers/DateLocaleHelper.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,+EAA+E;AAC/E,MAAM,WAAW,GAAG,IAAI,OAAO,EAAgB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAU;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAExC,MAAM,MAAM,GAAG,MAAM,IAAI;SACtB,QAAQ,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAI,MAAmE,CAAC,eAAe,CAAC;QACnG,MAAM,KAAK,GAAG,KAAK,EAAE,QAAQ,EAA+D,CAAC;QAC7F,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;IAC7C,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAEnB,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
@@ -74,7 +74,8 @@ export class LoginHelper {
74
74
  await pollUntil(async () => this._page.url().includes('#application='), {
75
75
  timeout,
76
76
  interval: 200,
77
- predicate: (ok) => ok === true
77
+ predicate: (ok) => ok === true,
78
+ description: 'the URL to carry #application= after login'
78
79
  });
79
80
  }
80
81
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"LoginHelper.js","sourceRoot":"","sources":["../../helpers/LoginHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginHelper.js","sourceRoot":"","sources":["../../helpers/LoginHelper.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,36 @@
1
1
  import type { PollOptions } from '../types/PollTypes.js';
2
+ /**
3
+ * Thrown when `pollUntil` exceeds its timeout.
4
+ *
5
+ * The message states what was awaited, how many attempts were made and the last value
6
+ * the polled function returned, so a timeout is diagnosable from a test report alone.
7
+ * The same details are exposed as properties for programmatic inspection.
8
+ */
9
+ export declare class PollTimeoutError extends Error {
10
+ readonly timeout: number;
11
+ readonly elapsedMs: number;
12
+ readonly attempts: number;
13
+ readonly lastValue: unknown;
14
+ readonly description?: string;
15
+ constructor(details: {
16
+ timeout: number;
17
+ elapsedMs: number;
18
+ attempts: number;
19
+ lastValue: unknown;
20
+ description?: string;
21
+ });
22
+ }
2
23
  /**
3
24
  * Repeatedly calls `fn` at a configurable interval until the optional `predicate` returns
4
- * truthy or the `timeout` is exceeded, at which point it throws.
25
+ * truthy or the `timeout` is exceeded, at which point it throws a {@link PollTimeoutError}.
5
26
  * `onTick` is called with the last value and elapsed time after each failing attempt.
6
27
  * @param fn - The async or sync function to poll.
7
28
  * @param opts.timeout - Maximum wait time in milliseconds (default `10 000`).
8
29
  * @param opts.interval - Polling interval in milliseconds (default `200`).
9
30
  * @param opts.predicate - Returns `true` when the result is acceptable (default: truthy check).
10
31
  * @param opts.onTick - Called after each failing attempt with the last value and elapsed ms.
32
+ * @param opts.description - What is being waited for, quoted in the timeout message.
11
33
  * @returns The first value for which `predicate` returns `true`.
12
- * @throws If `timeout` is exceeded before `predicate` returns `true`.
34
+ * @throws {PollTimeoutError} If `timeout` is exceeded before `predicate` returns `true`.
13
35
  */
14
36
  export declare function pollUntil<T>(fn: () => Promise<T> | T, opts?: PollOptions<T>): Promise<T>;