d5-testing-library 1.9.0-alpha.9 → 1.9.0

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.
@@ -25,6 +25,7 @@ declare abstract class AbstractElement {
25
25
  getAttribute(attr: string): Promise<string>;
26
26
  getClasses(): Promise<string>;
27
27
  getDataTestId(): Promise<string>;
28
+ getDataDateMode(): Promise<string>;
28
29
  }
29
30
 
30
31
  declare abstract class AbstractPage extends AbstractElement {
@@ -61,6 +62,7 @@ declare const byTestIdCssSelector: (testId: string, element?: string) => string;
61
62
  */
62
63
  declare const byTestId: (testId: string, element?: string) => By;
63
64
  declare const readonlyLocator = "readonly";
65
+ declare const disabledLocator = "disabled";
64
66
 
65
67
  /**
66
68
  * Creates a WebDriver instance for the specified browser.
@@ -132,6 +134,7 @@ interface Editor {
132
134
  remove?(itemText: string): Promise<void>;
133
135
  clear?(): Promise<void>;
134
136
  isReadonly?(): Promise<boolean>;
137
+ isDisabled?(): Promise<boolean>;
135
138
  }
136
139
  declare enum ControlClass {
137
140
  Text = "text-control",
@@ -157,6 +160,7 @@ declare abstract class AbstractElementWithParent extends AbstractElement {
157
160
  constructor(parentCssSelector: string, elementCssSelector: string, driver: WebDriver);
158
161
  protected getFullCssSelector(): string;
159
162
  isReadonly(): Promise<boolean>;
163
+ isDisabled(): Promise<boolean>;
160
164
  }
161
165
 
162
166
  declare abstract class AbstractDXEditorWithInput extends AbstractElementWithParent implements Editor {
@@ -250,7 +254,7 @@ interface Button {
250
254
  isDisabled(): Promise<boolean>;
251
255
  isDisplayed(): Promise<boolean>;
252
256
  getTitle(): Promise<string>;
253
- isPressed(): Promise<boolean>;
257
+ isPressed?(): Promise<boolean>;
254
258
  }
255
259
  declare abstract class AbstractButton extends AbstractElementWithParent implements Button {
256
260
  protected constructor(parentCssSelector: string, elementCssSelector: string, driver: WebDriver);
@@ -347,6 +351,7 @@ declare abstract class Form extends AbstractForm {
347
351
  protected popupContainerCssSelector: string;
348
352
  protected constructor(driver: WebDriver);
349
353
  protected isModal(): Promise<boolean>;
354
+ protected isFullScreen(): Promise<boolean>;
350
355
  /**
351
356
  * Получение заголовка на формы
352
357
  * @example
@@ -412,6 +417,13 @@ declare class AbstractEditor extends AbstractElementWithParent implements Editor
412
417
  * expect(await formEdit.field('TextFld').isReadonly()).toBe(false);
413
418
  */
414
419
  isReadonly(): Promise<boolean>;
420
+ /**
421
+ * Возвращает значение true|false в зависимости isDisabled поле или нет
422
+ * @example
423
+ * expect(await formEdit.field('NumberFld').isDisabled()).toBe(true);
424
+ * expect(await formEdit.field('TextFld').isDisabled()).toBe(false);
425
+ */
426
+ isDisabled(): Promise<boolean>;
415
427
  /**
416
428
  * Возвращает значение true|false в зависимости isDisplayed поле или нет
417
429
  * @example
@@ -534,7 +546,7 @@ declare class Cell extends AbstractElementWithParent {
534
546
  private getNumberValue;
535
547
  private getDateValue;
536
548
  getElement(): Promise<WebElement>;
537
- getValue(): Promise<string | number | 1 | 0 | string[] | Date>;
549
+ getValue(): Promise<string | number | 1 | 0 | string[] | Date | Date[]>;
538
550
  getIndex(): number;
539
551
  }
540
552
 
@@ -655,6 +667,7 @@ declare class Table extends AbstractElementWithParent {
655
667
  * @param indexes починається з 0
656
668
  */
657
669
  selectRowsByIndexes(indexes: number[]): Promise<void>;
670
+ protected getRowElements(timeout?: number): Promise<selenium_webdriver.WebElement[]>;
658
671
  getRows(): Promise<Row[]>;
659
672
  getColumns(): Promise<Column[]>;
660
673
  element(): Promise<selenium_webdriver.WebElement>;
@@ -688,6 +701,54 @@ declare class Table extends AbstractElementWithParent {
688
701
  * await form.contextMenu('FieldName', 3).clickButton(['Group', 'ButtonInGroup']);
689
702
  */
690
703
  contextMenu(fieldName: string, rowIndex?: number): ContextMenu;
704
+ /**
705
+ * Отримує значення комірки таблиці за ім'ям комірки та індексом рядка.
706
+ *
707
+ * @param {string} cellName - Ім'я комірки (поля) в таблиці
708
+ * @param {number} rowIndex - Індекс рядка (починається з 0)
709
+ * @throws {Error} Викидає помилку, якщо rowIndex не вказано
710
+ * @returns {Promise<string>} Повертає значення комірки
711
+ *
712
+ * @example
713
+ * const table = new Table(driver);
714
+ *
715
+ * // Отримання значення комірки 'Name' в першому рядку (індекс 0)
716
+ * const cellValue = await table.getCellValueByCellName('Name', 0);
717
+ * expect(cellValue).toBe('Очікуване значення');
718
+ */
719
+ getCellValueByCellName(cellName: string, rowIndex: number): Promise<string | number | string[] | Date | Date[]>;
720
+ /**
721
+ * Перевіряє, чи є таблиця порожньою (не містить жодного рядка з даними).
722
+ *
723
+ * @returns {Promise<boolean>} Повертає true, якщо таблиця порожня, false - якщо містить рядки
724
+ *
725
+ * @example
726
+ * const table = new Table(driver);
727
+ *
728
+ * // Перевірка чи порожня таблиця
729
+ * const empty = await table.isEmpty();
730
+ * expect(empty).toBe(true);
731
+ */
732
+ isEmpty(): Promise<boolean>;
733
+ /**
734
+ * Очікує, поки кількість рядків у таблиці не стане рівною заданому значенню.
735
+ * Використовується для синхронізації тестів з динамічним завантаженням даних.
736
+ *
737
+ * @param {number} count - Очікувана кількість рядків у таблиці
738
+ * @returns {Promise<void>} Повертає Promise, який виконується, коли кількість рядків відповідає очікуваній
739
+ * @throws {Error} Викидає помилку, якщо очікування перевищує тайм-аут
740
+ *
741
+ * @example
742
+ * const table = new Table(driver);
743
+ *
744
+ * // Очікування, поки таблиця не стане порожньою
745
+ * await table.waitRowsCount(0);
746
+ *
747
+ * // Очікування, поки в таблиці не з'явиться 5 рядків
748
+ * await table.waitRowsCount(5);
749
+ * console.log('Таблиця містить 5 рядків');
750
+ */
751
+ waitRowsCount(count: number): Promise<void>;
691
752
  }
692
753
 
693
754
  declare class FormFilterField extends AbstractEditor {
@@ -749,6 +810,8 @@ declare class FormFilterField extends AbstractEditor {
749
810
  * expect(await form.formFilter('NumberFld').getIsBlank()).toBe(false);
750
811
  */
751
812
  getIsBlank(): Promise<boolean>;
813
+ isReadonly(): Promise<boolean>;
814
+ isDisabled(): Promise<boolean>;
752
815
  }
753
816
 
754
817
  declare class PanelFilterField extends AbstractEditor {
@@ -810,6 +873,8 @@ declare class PanelFilterField extends AbstractEditor {
810
873
  * expect(await form.filterPanel.filterField('NumberFld').getIsBlank()).toBe(false);
811
874
  */
812
875
  getIsBlank(): Promise<boolean>;
876
+ isReadonly(): Promise<boolean>;
877
+ isDisabled(): Promise<boolean>;
813
878
  }
814
879
 
815
880
  declare class FilterPanel extends AbstractElement {
@@ -836,6 +901,8 @@ declare class HeaderFilterField extends AbstractEditor {
836
901
  setValue(value: any): Promise<void>;
837
902
  clear(): Promise<void>;
838
903
  remove(itemText: string): Promise<void>;
904
+ isReadonly(): Promise<boolean>;
905
+ isDisabled(): Promise<boolean>;
839
906
  }
840
907
 
841
908
  interface IFilterOperations {
@@ -918,6 +985,8 @@ declare class ColumnFilter extends AbstractElement {
918
985
  * expect(await form.columnFilter('NumberFld').getIsBlank()).toBe(false);
919
986
  */
920
987
  getIsBlank(): Promise<boolean>;
988
+ isReadonly(): Promise<boolean>;
989
+ isDisabled(): Promise<boolean>;
921
990
  }
922
991
 
923
992
  declare class ListForm extends Form {
@@ -995,4 +1064,6 @@ declare class Dialog extends AbstractElement {
995
1064
  button(text: string): DialogButton;
996
1065
  }
997
1066
 
998
- export { AbstractPage, ControlClass, Dialog, type Editor, FilterPanel, FormEdit, FormField, FormFilterField, ListForm, LoginPage, NumberEditor, PanelFilterField, ReportForm, SubsystemsPanel, TextEditor, TreeView, byTestId, byTestIdCssSelector, click, config, contextMenu, createDriver, editorFactory, elementIsNotPresent, readonlyLocator, signIn, safeWait as wait, waitElementIsClickable, waitElementIsVisible };
1067
+ declare function ApiRequest(objectName: string, operation: string): any;
1068
+
1069
+ export { AbstractPage, ApiRequest, ControlClass, Dialog, type Editor, FilterPanel, FormEdit, FormField, FormFilterField, ListForm, LoginPage, NumberEditor, PanelFilterField, ReportForm, SubsystemsPanel, TextEditor, TreeView, byTestId, byTestIdCssSelector, click, config, contextMenu, createDriver, disabledLocator, editorFactory, elementIsNotPresent, readonlyLocator, signIn, safeWait as wait, waitElementIsClickable, waitElementIsVisible };
@@ -25,6 +25,7 @@ declare abstract class AbstractElement {
25
25
  getAttribute(attr: string): Promise<string>;
26
26
  getClasses(): Promise<string>;
27
27
  getDataTestId(): Promise<string>;
28
+ getDataDateMode(): Promise<string>;
28
29
  }
29
30
 
30
31
  declare abstract class AbstractPage extends AbstractElement {
@@ -61,6 +62,7 @@ declare const byTestIdCssSelector: (testId: string, element?: string) => string;
61
62
  */
62
63
  declare const byTestId: (testId: string, element?: string) => By;
63
64
  declare const readonlyLocator = "readonly";
65
+ declare const disabledLocator = "disabled";
64
66
 
65
67
  /**
66
68
  * Creates a WebDriver instance for the specified browser.
@@ -132,6 +134,7 @@ interface Editor {
132
134
  remove?(itemText: string): Promise<void>;
133
135
  clear?(): Promise<void>;
134
136
  isReadonly?(): Promise<boolean>;
137
+ isDisabled?(): Promise<boolean>;
135
138
  }
136
139
  declare enum ControlClass {
137
140
  Text = "text-control",
@@ -157,6 +160,7 @@ declare abstract class AbstractElementWithParent extends AbstractElement {
157
160
  constructor(parentCssSelector: string, elementCssSelector: string, driver: WebDriver);
158
161
  protected getFullCssSelector(): string;
159
162
  isReadonly(): Promise<boolean>;
163
+ isDisabled(): Promise<boolean>;
160
164
  }
161
165
 
162
166
  declare abstract class AbstractDXEditorWithInput extends AbstractElementWithParent implements Editor {
@@ -250,7 +254,7 @@ interface Button {
250
254
  isDisabled(): Promise<boolean>;
251
255
  isDisplayed(): Promise<boolean>;
252
256
  getTitle(): Promise<string>;
253
- isPressed(): Promise<boolean>;
257
+ isPressed?(): Promise<boolean>;
254
258
  }
255
259
  declare abstract class AbstractButton extends AbstractElementWithParent implements Button {
256
260
  protected constructor(parentCssSelector: string, elementCssSelector: string, driver: WebDriver);
@@ -347,6 +351,7 @@ declare abstract class Form extends AbstractForm {
347
351
  protected popupContainerCssSelector: string;
348
352
  protected constructor(driver: WebDriver);
349
353
  protected isModal(): Promise<boolean>;
354
+ protected isFullScreen(): Promise<boolean>;
350
355
  /**
351
356
  * Получение заголовка на формы
352
357
  * @example
@@ -412,6 +417,13 @@ declare class AbstractEditor extends AbstractElementWithParent implements Editor
412
417
  * expect(await formEdit.field('TextFld').isReadonly()).toBe(false);
413
418
  */
414
419
  isReadonly(): Promise<boolean>;
420
+ /**
421
+ * Возвращает значение true|false в зависимости isDisabled поле или нет
422
+ * @example
423
+ * expect(await formEdit.field('NumberFld').isDisabled()).toBe(true);
424
+ * expect(await formEdit.field('TextFld').isDisabled()).toBe(false);
425
+ */
426
+ isDisabled(): Promise<boolean>;
415
427
  /**
416
428
  * Возвращает значение true|false в зависимости isDisplayed поле или нет
417
429
  * @example
@@ -534,7 +546,7 @@ declare class Cell extends AbstractElementWithParent {
534
546
  private getNumberValue;
535
547
  private getDateValue;
536
548
  getElement(): Promise<WebElement>;
537
- getValue(): Promise<string | number | 1 | 0 | string[] | Date>;
549
+ getValue(): Promise<string | number | 1 | 0 | string[] | Date | Date[]>;
538
550
  getIndex(): number;
539
551
  }
540
552
 
@@ -655,6 +667,7 @@ declare class Table extends AbstractElementWithParent {
655
667
  * @param indexes починається з 0
656
668
  */
657
669
  selectRowsByIndexes(indexes: number[]): Promise<void>;
670
+ protected getRowElements(timeout?: number): Promise<selenium_webdriver.WebElement[]>;
658
671
  getRows(): Promise<Row[]>;
659
672
  getColumns(): Promise<Column[]>;
660
673
  element(): Promise<selenium_webdriver.WebElement>;
@@ -688,6 +701,54 @@ declare class Table extends AbstractElementWithParent {
688
701
  * await form.contextMenu('FieldName', 3).clickButton(['Group', 'ButtonInGroup']);
689
702
  */
690
703
  contextMenu(fieldName: string, rowIndex?: number): ContextMenu;
704
+ /**
705
+ * Отримує значення комірки таблиці за ім'ям комірки та індексом рядка.
706
+ *
707
+ * @param {string} cellName - Ім'я комірки (поля) в таблиці
708
+ * @param {number} rowIndex - Індекс рядка (починається з 0)
709
+ * @throws {Error} Викидає помилку, якщо rowIndex не вказано
710
+ * @returns {Promise<string>} Повертає значення комірки
711
+ *
712
+ * @example
713
+ * const table = new Table(driver);
714
+ *
715
+ * // Отримання значення комірки 'Name' в першому рядку (індекс 0)
716
+ * const cellValue = await table.getCellValueByCellName('Name', 0);
717
+ * expect(cellValue).toBe('Очікуване значення');
718
+ */
719
+ getCellValueByCellName(cellName: string, rowIndex: number): Promise<string | number | string[] | Date | Date[]>;
720
+ /**
721
+ * Перевіряє, чи є таблиця порожньою (не містить жодного рядка з даними).
722
+ *
723
+ * @returns {Promise<boolean>} Повертає true, якщо таблиця порожня, false - якщо містить рядки
724
+ *
725
+ * @example
726
+ * const table = new Table(driver);
727
+ *
728
+ * // Перевірка чи порожня таблиця
729
+ * const empty = await table.isEmpty();
730
+ * expect(empty).toBe(true);
731
+ */
732
+ isEmpty(): Promise<boolean>;
733
+ /**
734
+ * Очікує, поки кількість рядків у таблиці не стане рівною заданому значенню.
735
+ * Використовується для синхронізації тестів з динамічним завантаженням даних.
736
+ *
737
+ * @param {number} count - Очікувана кількість рядків у таблиці
738
+ * @returns {Promise<void>} Повертає Promise, який виконується, коли кількість рядків відповідає очікуваній
739
+ * @throws {Error} Викидає помилку, якщо очікування перевищує тайм-аут
740
+ *
741
+ * @example
742
+ * const table = new Table(driver);
743
+ *
744
+ * // Очікування, поки таблиця не стане порожньою
745
+ * await table.waitRowsCount(0);
746
+ *
747
+ * // Очікування, поки в таблиці не з'явиться 5 рядків
748
+ * await table.waitRowsCount(5);
749
+ * console.log('Таблиця містить 5 рядків');
750
+ */
751
+ waitRowsCount(count: number): Promise<void>;
691
752
  }
692
753
 
693
754
  declare class FormFilterField extends AbstractEditor {
@@ -749,6 +810,8 @@ declare class FormFilterField extends AbstractEditor {
749
810
  * expect(await form.formFilter('NumberFld').getIsBlank()).toBe(false);
750
811
  */
751
812
  getIsBlank(): Promise<boolean>;
813
+ isReadonly(): Promise<boolean>;
814
+ isDisabled(): Promise<boolean>;
752
815
  }
753
816
 
754
817
  declare class PanelFilterField extends AbstractEditor {
@@ -810,6 +873,8 @@ declare class PanelFilterField extends AbstractEditor {
810
873
  * expect(await form.filterPanel.filterField('NumberFld').getIsBlank()).toBe(false);
811
874
  */
812
875
  getIsBlank(): Promise<boolean>;
876
+ isReadonly(): Promise<boolean>;
877
+ isDisabled(): Promise<boolean>;
813
878
  }
814
879
 
815
880
  declare class FilterPanel extends AbstractElement {
@@ -836,6 +901,8 @@ declare class HeaderFilterField extends AbstractEditor {
836
901
  setValue(value: any): Promise<void>;
837
902
  clear(): Promise<void>;
838
903
  remove(itemText: string): Promise<void>;
904
+ isReadonly(): Promise<boolean>;
905
+ isDisabled(): Promise<boolean>;
839
906
  }
840
907
 
841
908
  interface IFilterOperations {
@@ -918,6 +985,8 @@ declare class ColumnFilter extends AbstractElement {
918
985
  * expect(await form.columnFilter('NumberFld').getIsBlank()).toBe(false);
919
986
  */
920
987
  getIsBlank(): Promise<boolean>;
988
+ isReadonly(): Promise<boolean>;
989
+ isDisabled(): Promise<boolean>;
921
990
  }
922
991
 
923
992
  declare class ListForm extends Form {
@@ -995,4 +1064,6 @@ declare class Dialog extends AbstractElement {
995
1064
  button(text: string): DialogButton;
996
1065
  }
997
1066
 
998
- export { AbstractPage, ControlClass, Dialog, type Editor, FilterPanel, FormEdit, FormField, FormFilterField, ListForm, LoginPage, NumberEditor, PanelFilterField, ReportForm, SubsystemsPanel, TextEditor, TreeView, byTestId, byTestIdCssSelector, click, config, contextMenu, createDriver, editorFactory, elementIsNotPresent, readonlyLocator, signIn, safeWait as wait, waitElementIsClickable, waitElementIsVisible };
1067
+ declare function ApiRequest(objectName: string, operation: string): any;
1068
+
1069
+ export { AbstractPage, ApiRequest, ControlClass, Dialog, type Editor, FilterPanel, FormEdit, FormField, FormFilterField, ListForm, LoginPage, NumberEditor, PanelFilterField, ReportForm, SubsystemsPanel, TextEditor, TreeView, byTestId, byTestIdCssSelector, click, config, contextMenu, createDriver, disabledLocator, editorFactory, elementIsNotPresent, readonlyLocator, signIn, safeWait as wait, waitElementIsClickable, waitElementIsVisible };