d5-testing-library 2.0.0-alpha.5 → 2.0.0-alpha.6
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.
- package/dist/{FormEdit-252GXW3Z.mjs → FormEdit-KTRSSTSI.mjs} +1 -1
- package/dist/{ListForm-SD2263JC.mjs → ListForm-H7E4GQWM.mjs} +1 -1
- package/dist/{TreeView-2EXBXJQK.mjs → TreeView-Q7YDCHQZ.mjs} +1 -1
- package/dist/{chunk-WFIWSDDW.mjs → chunk-N4PDOG6U.mjs} +68 -9
- package/dist/cjs/d5-testing-library.cjs +74 -6
- package/dist/cjs/d5-testing-library.d.ts +14 -1
- package/dist/d5-testing-library.d.mts +14 -1
- package/dist/d5-testing-library.legacy-esm.js +1 -1
- package/dist/d5-testing-library.mjs +1 -1
- package/package.json +1 -1
|
@@ -2941,6 +2941,15 @@ function createSubSystemTestId(itemName) {
|
|
|
2941
2941
|
function createEditorButtonTestId(itemName) {
|
|
2942
2942
|
return `${"editor-button" /* EDITOR_BUTTON */}-${itemName}`;
|
|
2943
2943
|
}
|
|
2944
|
+
function createLabelFieldTestId(formName, itemName) {
|
|
2945
|
+
return `${"label" /* LABEL */}-${createFieldTestId(formName, itemName)}`;
|
|
2946
|
+
}
|
|
2947
|
+
function createLabelDocFilterTestId(formName, itemName) {
|
|
2948
|
+
return `${"label" /* LABEL */}-${createDocFilterTestId(formName, itemName)}`;
|
|
2949
|
+
}
|
|
2950
|
+
function createLabelLayoutFilterTestId(formName, itemName) {
|
|
2951
|
+
return `${"label" /* LABEL */}-${createLayoutFilterTestId(formName, itemName)}`;
|
|
2952
|
+
}
|
|
2944
2953
|
|
|
2945
2954
|
// src/pageObjects/AbstractElementWithParent.ts
|
|
2946
2955
|
var AbstractElementWithParent = class extends AbstractElement {
|
|
@@ -3308,15 +3317,15 @@ async function classDependencyInjector(formType) {
|
|
|
3308
3317
|
let SubFormFactoryClass;
|
|
3309
3318
|
switch (formType) {
|
|
3310
3319
|
case "1" /* LIST */:
|
|
3311
|
-
SubFormFactoryClass = (await import("./ListForm-
|
|
3320
|
+
SubFormFactoryClass = (await import("./ListForm-H7E4GQWM.mjs")).default;
|
|
3312
3321
|
break;
|
|
3313
3322
|
case "3" /* TREE */:
|
|
3314
|
-
SubFormFactoryClass = (await import("./TreeView-
|
|
3323
|
+
SubFormFactoryClass = (await import("./TreeView-Q7YDCHQZ.mjs")).default;
|
|
3315
3324
|
break;
|
|
3316
3325
|
case "2" /* EDIT */:
|
|
3317
3326
|
case "99" /* FREE_FORM */:
|
|
3318
3327
|
case "4" /* REPORT */:
|
|
3319
|
-
SubFormFactoryClass = (await import("./FormEdit-
|
|
3328
|
+
SubFormFactoryClass = (await import("./FormEdit-KTRSSTSI.mjs")).default;
|
|
3320
3329
|
break;
|
|
3321
3330
|
default:
|
|
3322
3331
|
throw new Error(`Unsupported form type ${formType}`);
|
|
@@ -4157,7 +4166,12 @@ var FormFilterField = class extends AbstractEditor {
|
|
|
4157
4166
|
formName;
|
|
4158
4167
|
name;
|
|
4159
4168
|
constructor(parentCssSelector, formName, name, page) {
|
|
4160
|
-
super(
|
|
4169
|
+
super({
|
|
4170
|
+
parentCssSelector,
|
|
4171
|
+
elementCssSelector: byTestIdCssSelector(createLayoutFilterTestId(formName, name)),
|
|
4172
|
+
titleCssSelector: byTestIdCssSelector(createLabelLayoutFilterTestId(formName, name)),
|
|
4173
|
+
page
|
|
4174
|
+
});
|
|
4161
4175
|
this.formName = formName;
|
|
4162
4176
|
this.name = name;
|
|
4163
4177
|
}
|
|
@@ -4261,7 +4275,12 @@ var PanelFilterField = class extends AbstractEditor {
|
|
|
4261
4275
|
formName;
|
|
4262
4276
|
name;
|
|
4263
4277
|
constructor(parentCssSelector, formName, name, page) {
|
|
4264
|
-
super(
|
|
4278
|
+
super({
|
|
4279
|
+
parentCssSelector,
|
|
4280
|
+
elementCssSelector: byTestIdCssSelector(createDocFilterTestId(formName, name)),
|
|
4281
|
+
titleCssSelector: byTestIdCssSelector(createLabelDocFilterTestId(formName, name)),
|
|
4282
|
+
page
|
|
4283
|
+
});
|
|
4265
4284
|
this.formName = formName;
|
|
4266
4285
|
this.name = name;
|
|
4267
4286
|
}
|
|
@@ -5203,11 +5222,25 @@ var EditorButton = class extends AbstractElementWithParent {
|
|
|
5203
5222
|
}
|
|
5204
5223
|
};
|
|
5205
5224
|
|
|
5225
|
+
// src/pageObjects/elements/EditorTitle.ts
|
|
5226
|
+
var CAPTION_TEXT_CLASS = " .caption-text";
|
|
5227
|
+
var EditorTitle = class extends AbstractElementWithParent {
|
|
5228
|
+
constructor({ parentCssSelector, elementCssSelector, page }) {
|
|
5229
|
+
super(parentCssSelector, elementCssSelector, page);
|
|
5230
|
+
}
|
|
5231
|
+
async getTitle() {
|
|
5232
|
+
const captionElement = this.getLocator().locator(CAPTION_TEXT_CLASS);
|
|
5233
|
+
return captionElement.innerText();
|
|
5234
|
+
}
|
|
5235
|
+
};
|
|
5236
|
+
|
|
5206
5237
|
// src/pageObjects/elements/AbstractEditor.ts
|
|
5207
5238
|
var AbstractEditor = class extends AbstractElementWithParent {
|
|
5208
5239
|
editor;
|
|
5209
|
-
|
|
5240
|
+
_titleCssSelector;
|
|
5241
|
+
constructor({ parentCssSelector, elementCssSelector, titleCssSelector, page }) {
|
|
5210
5242
|
super(parentCssSelector, elementCssSelector, page);
|
|
5243
|
+
this._titleCssSelector = titleCssSelector;
|
|
5211
5244
|
}
|
|
5212
5245
|
async initEditor() {
|
|
5213
5246
|
if (!this.editor) {
|
|
@@ -5303,12 +5336,30 @@ var AbstractEditor = class extends AbstractElementWithParent {
|
|
|
5303
5336
|
button(name) {
|
|
5304
5337
|
return new EditorButton(this.getFullCssSelector(), name, this.page);
|
|
5305
5338
|
}
|
|
5339
|
+
/**
|
|
5340
|
+
* Повертає загловок едітора
|
|
5341
|
+
* @example
|
|
5342
|
+
* expect(await formEdit.field('NumberFld').title()).toBe('Title1');
|
|
5343
|
+
* expect(await formEdit.field('TextFld').title()).toBe('Title2`);
|
|
5344
|
+
*/
|
|
5345
|
+
async title() {
|
|
5346
|
+
return new EditorTitle({
|
|
5347
|
+
elementCssSelector: this._titleCssSelector,
|
|
5348
|
+
parentCssSelector: this.parentCssSelector,
|
|
5349
|
+
page: this.page
|
|
5350
|
+
}).getTitle();
|
|
5351
|
+
}
|
|
5306
5352
|
};
|
|
5307
5353
|
|
|
5308
5354
|
// src/pageObjects/elements/FormField.ts
|
|
5309
5355
|
var FormField = class extends AbstractEditor {
|
|
5310
5356
|
constructor(parentCssSelector, formName, name, page) {
|
|
5311
|
-
super(
|
|
5357
|
+
super({
|
|
5358
|
+
parentCssSelector,
|
|
5359
|
+
elementCssSelector: byTestIdCssSelector(createFieldTestId(formName, name)),
|
|
5360
|
+
titleCssSelector: byTestIdCssSelector(createLabelFieldTestId(formName, name)),
|
|
5361
|
+
page
|
|
5362
|
+
});
|
|
5312
5363
|
}
|
|
5313
5364
|
};
|
|
5314
5365
|
|
|
@@ -5846,7 +5897,10 @@ var ToolbarItem = class extends AbstractElementWithParent {
|
|
|
5846
5897
|
async click() {
|
|
5847
5898
|
try {
|
|
5848
5899
|
await this.init();
|
|
5849
|
-
await
|
|
5900
|
+
await wait(async () => {
|
|
5901
|
+
const element = this._button.getLocator();
|
|
5902
|
+
return await element.isEnabled() && await element.isVisible();
|
|
5903
|
+
}, this.page);
|
|
5850
5904
|
await this._button.click();
|
|
5851
5905
|
} catch (error) {
|
|
5852
5906
|
throw new Error(`Cannot click on toolbar item: ${this._itemName}`);
|
|
@@ -5906,7 +5960,12 @@ var FormToolbar = class extends AbstractElementWithParent {
|
|
|
5906
5960
|
// src/pageObjects/elements/Filters/HeaderFilterField.ts
|
|
5907
5961
|
var HeaderFilterField = class extends AbstractEditor {
|
|
5908
5962
|
constructor(parentCssSelector, formName, name, page) {
|
|
5909
|
-
super(
|
|
5963
|
+
super({
|
|
5964
|
+
parentCssSelector,
|
|
5965
|
+
elementCssSelector: byTestIdCssSelector(createHeaderFilterTestId(formName, name)),
|
|
5966
|
+
titleCssSelector: "",
|
|
5967
|
+
page
|
|
5968
|
+
});
|
|
5910
5969
|
}
|
|
5911
5970
|
async getValue() {
|
|
5912
5971
|
return super.getValue();
|
|
@@ -1380,6 +1380,15 @@ function createSubSystemTestId(itemName) {
|
|
|
1380
1380
|
function createEditorButtonTestId(itemName) {
|
|
1381
1381
|
return `${"editor-button" /* EDITOR_BUTTON */}-${itemName}`;
|
|
1382
1382
|
}
|
|
1383
|
+
function createLabelFieldTestId(formName, itemName) {
|
|
1384
|
+
return `${"label" /* LABEL */}-${createFieldTestId(formName, itemName)}`;
|
|
1385
|
+
}
|
|
1386
|
+
function createLabelDocFilterTestId(formName, itemName) {
|
|
1387
|
+
return `${"label" /* LABEL */}-${createDocFilterTestId(formName, itemName)}`;
|
|
1388
|
+
}
|
|
1389
|
+
function createLabelLayoutFilterTestId(formName, itemName) {
|
|
1390
|
+
return `${"label" /* LABEL */}-${createLayoutFilterTestId(formName, itemName)}`;
|
|
1391
|
+
}
|
|
1383
1392
|
var init_createDataTestId = __esm({
|
|
1384
1393
|
"src/utils/createDataTestId.ts"() {
|
|
1385
1394
|
"use strict";
|
|
@@ -2225,6 +2234,25 @@ var init_EditorButton = __esm({
|
|
|
2225
2234
|
}
|
|
2226
2235
|
});
|
|
2227
2236
|
|
|
2237
|
+
// src/pageObjects/elements/EditorTitle.ts
|
|
2238
|
+
var CAPTION_TEXT_CLASS, EditorTitle;
|
|
2239
|
+
var init_EditorTitle = __esm({
|
|
2240
|
+
"src/pageObjects/elements/EditorTitle.ts"() {
|
|
2241
|
+
"use strict";
|
|
2242
|
+
init_AbstractElementWithParent();
|
|
2243
|
+
CAPTION_TEXT_CLASS = " .caption-text";
|
|
2244
|
+
EditorTitle = class extends AbstractElementWithParent {
|
|
2245
|
+
constructor({ parentCssSelector, elementCssSelector, page }) {
|
|
2246
|
+
super(parentCssSelector, elementCssSelector, page);
|
|
2247
|
+
}
|
|
2248
|
+
async getTitle() {
|
|
2249
|
+
const captionElement = this.getLocator().locator(CAPTION_TEXT_CLASS);
|
|
2250
|
+
return captionElement.innerText();
|
|
2251
|
+
}
|
|
2252
|
+
};
|
|
2253
|
+
}
|
|
2254
|
+
});
|
|
2255
|
+
|
|
2228
2256
|
// src/pageObjects/elements/AbstractEditor.ts
|
|
2229
2257
|
var AbstractEditor;
|
|
2230
2258
|
var init_AbstractEditor2 = __esm({
|
|
@@ -2233,10 +2261,13 @@ var init_AbstractEditor2 = __esm({
|
|
|
2233
2261
|
init_AbstractElementWithParent();
|
|
2234
2262
|
init_Editors();
|
|
2235
2263
|
init_EditorButton();
|
|
2264
|
+
init_EditorTitle();
|
|
2236
2265
|
AbstractEditor = class extends AbstractElementWithParent {
|
|
2237
2266
|
editor;
|
|
2238
|
-
|
|
2267
|
+
_titleCssSelector;
|
|
2268
|
+
constructor({ parentCssSelector, elementCssSelector, titleCssSelector, page }) {
|
|
2239
2269
|
super(parentCssSelector, elementCssSelector, page);
|
|
2270
|
+
this._titleCssSelector = titleCssSelector;
|
|
2240
2271
|
}
|
|
2241
2272
|
async initEditor() {
|
|
2242
2273
|
if (!this.editor) {
|
|
@@ -2332,6 +2363,19 @@ var init_AbstractEditor2 = __esm({
|
|
|
2332
2363
|
button(name) {
|
|
2333
2364
|
return new EditorButton(this.getFullCssSelector(), name, this.page);
|
|
2334
2365
|
}
|
|
2366
|
+
/**
|
|
2367
|
+
* Повертає загловок едітора
|
|
2368
|
+
* @example
|
|
2369
|
+
* expect(await formEdit.field('NumberFld').title()).toBe('Title1');
|
|
2370
|
+
* expect(await formEdit.field('TextFld').title()).toBe('Title2`);
|
|
2371
|
+
*/
|
|
2372
|
+
async title() {
|
|
2373
|
+
return new EditorTitle({
|
|
2374
|
+
elementCssSelector: this._titleCssSelector,
|
|
2375
|
+
parentCssSelector: this.parentCssSelector,
|
|
2376
|
+
page: this.page
|
|
2377
|
+
}).getTitle();
|
|
2378
|
+
}
|
|
2335
2379
|
};
|
|
2336
2380
|
}
|
|
2337
2381
|
});
|
|
@@ -2346,7 +2390,12 @@ var init_FormField = __esm({
|
|
|
2346
2390
|
init_AbstractEditor2();
|
|
2347
2391
|
FormField = class extends AbstractEditor {
|
|
2348
2392
|
constructor(parentCssSelector, formName, name, page) {
|
|
2349
|
-
super(
|
|
2393
|
+
super({
|
|
2394
|
+
parentCssSelector,
|
|
2395
|
+
elementCssSelector: byTestIdCssSelector(createFieldTestId(formName, name)),
|
|
2396
|
+
titleCssSelector: byTestIdCssSelector(createLabelFieldTestId(formName, name)),
|
|
2397
|
+
page
|
|
2398
|
+
});
|
|
2350
2399
|
}
|
|
2351
2400
|
};
|
|
2352
2401
|
}
|
|
@@ -2951,6 +3000,7 @@ var init_ToolbarItem = __esm({
|
|
|
2951
3000
|
init_locators();
|
|
2952
3001
|
init_ToolbarMenu();
|
|
2953
3002
|
init_waitElementIsVisible();
|
|
3003
|
+
init_wait();
|
|
2954
3004
|
GROUP_BUTTON_CLASS = "toolbar-group-button";
|
|
2955
3005
|
toolbarItemSelector = (form, name) => byTestIdCssSelector(`ftb-${form}-${name}`);
|
|
2956
3006
|
ToolbarItem = class extends AbstractElementWithParent {
|
|
@@ -2974,7 +3024,10 @@ var init_ToolbarItem = __esm({
|
|
|
2974
3024
|
async click() {
|
|
2975
3025
|
try {
|
|
2976
3026
|
await this.init();
|
|
2977
|
-
await
|
|
3027
|
+
await wait(async () => {
|
|
3028
|
+
const element = this._button.getLocator();
|
|
3029
|
+
return await element.isEnabled() && await element.isVisible();
|
|
3030
|
+
}, this.page);
|
|
2978
3031
|
await this._button.click();
|
|
2979
3032
|
} catch (error) {
|
|
2980
3033
|
throw new Error(`Cannot click on toolbar item: ${this._itemName}`);
|
|
@@ -3149,7 +3202,12 @@ var init_FormFilterField = __esm({
|
|
|
3149
3202
|
formName;
|
|
3150
3203
|
name;
|
|
3151
3204
|
constructor(parentCssSelector, formName, name, page) {
|
|
3152
|
-
super(
|
|
3205
|
+
super({
|
|
3206
|
+
parentCssSelector,
|
|
3207
|
+
elementCssSelector: byTestIdCssSelector(createLayoutFilterTestId(formName, name)),
|
|
3208
|
+
titleCssSelector: byTestIdCssSelector(createLabelLayoutFilterTestId(formName, name)),
|
|
3209
|
+
page
|
|
3210
|
+
});
|
|
3153
3211
|
this.formName = formName;
|
|
3154
3212
|
this.name = name;
|
|
3155
3213
|
}
|
|
@@ -3263,7 +3321,12 @@ var init_PanelFilterField = __esm({
|
|
|
3263
3321
|
formName;
|
|
3264
3322
|
name;
|
|
3265
3323
|
constructor(parentCssSelector, formName, name, page) {
|
|
3266
|
-
super(
|
|
3324
|
+
super({
|
|
3325
|
+
parentCssSelector,
|
|
3326
|
+
elementCssSelector: byTestIdCssSelector(createDocFilterTestId(formName, name)),
|
|
3327
|
+
titleCssSelector: byTestIdCssSelector(createLabelDocFilterTestId(formName, name)),
|
|
3328
|
+
page
|
|
3329
|
+
});
|
|
3267
3330
|
this.formName = formName;
|
|
3268
3331
|
this.name = name;
|
|
3269
3332
|
}
|
|
@@ -3431,7 +3494,12 @@ var init_HeaderFilterField = __esm({
|
|
|
3431
3494
|
init_AbstractEditor2();
|
|
3432
3495
|
HeaderFilterField = class extends AbstractEditor {
|
|
3433
3496
|
constructor(parentCssSelector, formName, name, page) {
|
|
3434
|
-
super(
|
|
3497
|
+
super({
|
|
3498
|
+
parentCssSelector,
|
|
3499
|
+
elementCssSelector: byTestIdCssSelector(createHeaderFilterTestId(formName, name)),
|
|
3500
|
+
titleCssSelector: "",
|
|
3501
|
+
page
|
|
3502
|
+
});
|
|
3435
3503
|
}
|
|
3436
3504
|
async getValue() {
|
|
3437
3505
|
return super.getValue();
|
|
@@ -347,7 +347,13 @@ declare class EditorButton extends AbstractElementWithParent {
|
|
|
347
347
|
|
|
348
348
|
declare class AbstractEditor extends AbstractElementWithParent implements Editor {
|
|
349
349
|
protected editor: Editor;
|
|
350
|
-
|
|
350
|
+
protected _titleCssSelector: string;
|
|
351
|
+
constructor({ parentCssSelector, elementCssSelector, titleCssSelector, page }: {
|
|
352
|
+
parentCssSelector: string;
|
|
353
|
+
elementCssSelector: string;
|
|
354
|
+
titleCssSelector: string;
|
|
355
|
+
page: Page;
|
|
356
|
+
});
|
|
351
357
|
protected initEditor(): Promise<void>;
|
|
352
358
|
/**
|
|
353
359
|
* Возвращает значение в поле
|
|
@@ -404,6 +410,13 @@ declare class AbstractEditor extends AbstractElementWithParent implements Editor
|
|
|
404
410
|
* await form.field('Name').button('editorButton).click()
|
|
405
411
|
*/
|
|
406
412
|
button(name: string): EditorButton;
|
|
413
|
+
/**
|
|
414
|
+
* Повертає загловок едітора
|
|
415
|
+
* @example
|
|
416
|
+
* expect(await formEdit.field('NumberFld').title()).toBe('Title1');
|
|
417
|
+
* expect(await formEdit.field('TextFld').title()).toBe('Title2`);
|
|
418
|
+
*/
|
|
419
|
+
title(): Promise<string>;
|
|
407
420
|
}
|
|
408
421
|
|
|
409
422
|
declare class FormField extends AbstractEditor {
|
|
@@ -347,7 +347,13 @@ declare class EditorButton extends AbstractElementWithParent {
|
|
|
347
347
|
|
|
348
348
|
declare class AbstractEditor extends AbstractElementWithParent implements Editor {
|
|
349
349
|
protected editor: Editor;
|
|
350
|
-
|
|
350
|
+
protected _titleCssSelector: string;
|
|
351
|
+
constructor({ parentCssSelector, elementCssSelector, titleCssSelector, page }: {
|
|
352
|
+
parentCssSelector: string;
|
|
353
|
+
elementCssSelector: string;
|
|
354
|
+
titleCssSelector: string;
|
|
355
|
+
page: Page;
|
|
356
|
+
});
|
|
351
357
|
protected initEditor(): Promise<void>;
|
|
352
358
|
/**
|
|
353
359
|
* Возвращает значение в поле
|
|
@@ -404,6 +410,13 @@ declare class AbstractEditor extends AbstractElementWithParent implements Editor
|
|
|
404
410
|
* await form.field('Name').button('editorButton).click()
|
|
405
411
|
*/
|
|
406
412
|
button(name: string): EditorButton;
|
|
413
|
+
/**
|
|
414
|
+
* Повертає загловок едітора
|
|
415
|
+
* @example
|
|
416
|
+
* expect(await formEdit.field('NumberFld').title()).toBe('Title1');
|
|
417
|
+
* expect(await formEdit.field('TextFld').title()).toBe('Title2`);
|
|
418
|
+
*/
|
|
419
|
+
title(): Promise<string>;
|
|
407
420
|
}
|
|
408
421
|
|
|
409
422
|
declare class FormField extends AbstractEditor {
|