d5-testing-library 1.4.0 → 1.6.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.
@@ -154,14 +154,52 @@ declare class FormButton extends DXButton {
154
154
  protected buttonNotDisplayedError(): string;
155
155
  }
156
156
 
157
- declare abstract class AbstractForm extends AbstractPage {
157
+ interface Group<TItem = unknown> {
158
+ isDisplayed(): Promise<boolean>;
159
+ click?(): Promise<void>;
160
+ itemClick?(name: string): Promise<void>;
161
+ item?(name: string): TItem;
162
+ accordionClick?(): Promise<void>;
163
+ }
164
+
165
+ declare class FormGroup extends AbstractElementWithParent implements Group {
166
+ private groupInstance;
167
+ constructor(parentCssSelector: string, formName: string, name: string, driver?: WebDriver);
168
+ private initInstance;
169
+ /**
170
+ * Возвращает булевое значение доступна ли группа
171
+ * @example
172
+ * expect(await tableList.group('MainSuperPanel').isDisplayed();
173
+ */
174
+ isDisplayed(): Promise<boolean>;
175
+ /**
176
+ * Клик по элементам группы.
177
+ * Метод работает если у группы есть дочерние элементы, например элементы аккордеона или вкладки таб панели.
178
+ * @example
179
+ * expect(await tableList.group('TabPanel').itemClick('Tab');
180
+ * expect(await tableList.group('Accordion').itemClick('AccordionItem');
181
+ */
182
+ itemClick(name: string): Promise<void>;
183
+ /**
184
+ * Метод работает если группа - это элемент аккордеона или вкладка таб панели
185
+ * @example
186
+ * expect(await tableList.group('Tab').click();
187
+ * expect(await tableList.group('AccordionItem').click();
188
+ */
189
+ click(): Promise<void>;
190
+ collapse(): Promise<void>;
191
+ expand(): Promise<void>;
192
+ isExpanded(): Promise<boolean>;
193
+ isCollapsed(): Promise<boolean>;
194
+ }
195
+
196
+ declare class AbstractForm extends AbstractPage {
158
197
  protected containerCssSelector: string;
198
+ private _formName;
159
199
  protected containerBy: By;
160
- protected popupContainerCssSelector: string;
161
- protected constructor(driver?: WebDriver);
162
- protected isModal(): Promise<boolean>;
163
200
  protected getContainerElement: () => selenium_webdriver.WebElementPromise;
164
- protected get formName(): string;
201
+ set formName(name: string);
202
+ get formName(): string;
165
203
  /**
166
204
  * Возвращает true если форма есть в DOM
167
205
  * @example
@@ -171,6 +209,21 @@ declare abstract class AbstractForm extends AbstractPage {
171
209
  * expect(await formEdit.exists()).toBe(true);
172
210
  */
173
211
  exists(): Promise<boolean>;
212
+ button(name: string): FormButton;
213
+ /**
214
+ * Находит группу на форме по имени
215
+ * @example
216
+ * const formEdit = new MyForm();
217
+ * //...
218
+ * expect(await formEdit.group('Name');
219
+ */
220
+ group(name: string): FormGroup;
221
+ }
222
+
223
+ declare abstract class Form extends AbstractForm {
224
+ protected popupContainerCssSelector: string;
225
+ protected constructor(driver: WebDriver);
226
+ protected isModal(): Promise<boolean>;
174
227
  /**
175
228
  * Получение заголовка на формы
176
229
  * @example
@@ -179,7 +232,16 @@ declare abstract class AbstractForm extends AbstractPage {
179
232
  * expect(await listForm.getTitleText()).toBe('MyFormTitle');
180
233
  */
181
234
  getTitleText(): Promise<string>;
182
- button(name: string): FormButton;
235
+ protected setSubFormMode(): void;
236
+ /**
237
+ * Возвращает сабформу
238
+ * @returns {Promise<ListForm | TreeView | FormEdit>}
239
+ * @example
240
+ * const form = new MyForm();
241
+ * //...
242
+ * expect(await form.subForm(name));
243
+ */
244
+ subForm(name: string): Promise<unknown>;
183
245
  }
184
246
 
185
247
  interface Editor {
@@ -276,26 +338,10 @@ declare class FormField extends AbstractEditor {
276
338
  constructor(parentCssSelector: string, formName: string, name: string, driver?: WebDriver);
277
339
  }
278
340
 
279
- interface Group {
280
- isDisplayed(): Promise<boolean>;
281
- }
282
-
283
- declare class FormGroup extends AbstractElementWithParent implements Group {
284
- editor: Group;
285
- constructor(parentCssSelector: string, formName: string, name: string, driver?: WebDriver);
286
- private initEditor;
287
- /**
288
- * Возвращает булевое значение доступна ли группа
289
- * @example
290
- * expect(await tableList.group('MainSuperPanel').isDisplayed();
291
- */
292
- isDisplayed(): Promise<boolean>;
293
- }
294
-
295
- declare abstract class FormEdit extends AbstractForm {
341
+ declare class FormEdit extends Form {
296
342
  saveButtonBy: By;
297
343
  closeButtonBy: By;
298
- protected constructor(driver?: WebDriver);
344
+ constructor(driver: WebDriver);
299
345
  /**
300
346
  * Находит поле формы редактирования по имени
301
347
  * @example
@@ -312,14 +358,6 @@ declare abstract class FormEdit extends AbstractForm {
312
358
  * await formEdit.isSaveButtonDisabled();
313
359
  */
314
360
  isSaveButtonDisabled(): Promise<boolean>;
315
- /**
316
- * Находит группу формы редактирования по имени
317
- * @example
318
- * const formEdit = new MyForm();
319
- * //...
320
- * expect(await formEdit.group('Name');
321
- */
322
- group(name: string): FormGroup;
323
361
  /**
324
362
  * Нажатие на кнопку Сохранить
325
363
  * @example
@@ -341,10 +379,10 @@ declare abstract class FormEdit extends AbstractForm {
341
379
  declare class ToolbarMenu extends AbstractElementWithParent {
342
380
  private readonly _formName;
343
381
  constructor(parentCssSelector: string, formName: string, name: string, driver?: WebDriver);
344
- protected toggle(): Promise<void>;
345
- protected getCssSelectorToButton(name: string): By;
346
- protected buttonNotDisplayedError(name: string): string;
347
- protected goToButton(name: string, selector: By): Promise<void>;
382
+ private openDropdownMenu;
383
+ private getCssSelectorToButton;
384
+ private buttonNotDisplayedError;
385
+ private goToButton;
348
386
  clickButton(name: string | string[]): Promise<void>;
349
387
  clickButtonByTitle(title: string | string[]): Promise<void>;
350
388
  }
@@ -522,9 +560,9 @@ declare class FilterPanel extends AbstractElement {
522
560
  close(): Promise<void>;
523
561
  }
524
562
 
525
- declare abstract class ListForm extends AbstractForm {
563
+ declare class ListForm extends Form {
526
564
  protected headerCssSelector: string;
527
- protected constructor(driver?: WebDriver);
565
+ constructor(driver: WebDriver);
528
566
  /**
529
567
  * Находит таблицу
530
568
  * @example
@@ -533,14 +571,6 @@ declare abstract class ListForm extends AbstractForm {
533
571
  * expect(listForm.table());
534
572
  */
535
573
  table(): Table;
536
- /**
537
- * Находит группу на лист форме по имени
538
- * @example
539
- * const formEdit = new MyForm();
540
- * //...
541
- * expect(await formEdit.group('Name');
542
- */
543
- group(name: string): FormGroup;
544
574
  /**
545
575
  * Находит таблицу
546
576
  * @example
@@ -568,8 +598,20 @@ declare abstract class ListForm extends AbstractForm {
568
598
  get filterPanel(): FilterPanel;
569
599
  }
570
600
 
571
- declare abstract class TreeView extends ListForm {
572
- protected constructor(driver?: WebDriver);
601
+ declare class TreeView extends ListForm {
602
+ constructor(driver: WebDriver);
603
+ }
604
+
605
+ declare class ReportForm extends FormEdit {
606
+ constructor(driver: WebDriver);
607
+ /**
608
+ * Знаходить поле/фільтр у формі репорту за ім'ям
609
+ * @example
610
+ * const formReport = new MyForm();
611
+ * //...
612
+ * expect(await formReport.filterField('Name').getValue()).toBe('test value');
613
+ */
614
+ filterField(name: string): FormField;
573
615
  }
574
616
 
575
617
  declare class DialogButton extends AbstractButton implements Button {
@@ -588,4 +630,4 @@ declare class Dialog extends AbstractElement {
588
630
  button(text: string): DialogButton;
589
631
  }
590
632
 
591
- export { AbstractPage, ControlClass, Dialog, Editor, FilterPanel, FormEdit, FormField, FormFilterField, ListForm, LoginPage, NumberEditor, PanelFilterField, SubsystemsPanel, TextEditor, TreeView, byTestId, byTestIdCssSelector, click, config, createDriver, editorFactory, elementIsNotPresent, readonlyLocator, signIn, wait, waitElementIsVisible };
633
+ export { AbstractPage, ControlClass, Dialog, Editor, FilterPanel, FormEdit, FormField, FormFilterField, ListForm, LoginPage, NumberEditor, PanelFilterField, ReportForm, SubsystemsPanel, TextEditor, TreeView, byTestId, byTestIdCssSelector, click, config, createDriver, editorFactory, elementIsNotPresent, readonlyLocator, signIn, wait, waitElementIsVisible };