@umbraco/playwright-testhelpers 15.0.6 → 15.0.8
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/lib/helpers/ContentUiHelper.d.ts +5 -1
- package/dist/lib/helpers/ContentUiHelper.js +45 -8
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.js +22 -6
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.js +4 -4
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/FormsUiHelper.d.ts +123 -0
- package/dist/lib/helpers/FormsUiHelper.js +487 -0
- package/dist/lib/helpers/FormsUiHelper.js.map +1 -0
- package/dist/lib/helpers/LogViewerUiHelper.js +15 -3
- package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaUiHelper.d.ts +3 -1
- package/dist/lib/helpers/MediaUiHelper.js +13 -5
- package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberApiHelper.js +3 -3
- package/dist/lib/helpers/MemberApiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberUiHelper.js +5 -1
- package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
- package/dist/lib/helpers/PackageUiHelper.js +11 -5
- package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.js +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateUiHelper.js +2 -2
- package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +17 -6
- package/dist/lib/helpers/UiBaseLocators.js +75 -18
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UiHelpers.d.ts +2 -0
- package/dist/lib/helpers/UiHelpers.js +3 -0
- package/dist/lib/helpers/UiHelpers.js.map +1 -1
- package/dist/lib/helpers/UserGroupUiHelper.js +6 -2
- package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.js +4 -1
- package/dist/lib/helpers/UserUiHelper.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,qDAAgD;AAChD,qDAAgD;AAEhD,MAAa,gBAAiB,SAAQ,+BAAc;IACjC,uBAAuB,CAAU;IACjC,WAAW,CAAU;IACrB,uBAAuB,CAAU;IACjC,cAAc,CAAU;IACxB,YAAY,CAAU;IAEvC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,IAAY;QAC5C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,YAAoB,EAAE,oBAA4B,EAAE;QACrE,MAAM,IAAI,CAAC,WAAW,CAAC,+BAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,iBAAiB,KAAK,EAAE,EAAE;YAC5B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"TemplateUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class TemplateUiHelper extends UiBaseLocators {\n private readonly changeMasterTemplateBtn: Locator;\n private readonly sectionsBtn: Locator;\n private readonly removeMasterTemplateBtn: Locator;\n private readonly sectionNameTxt: Locator;\n private readonly templateTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.changeMasterTemplateBtn = page.locator('#master-template-button');\n this.sectionsBtn = page.locator('#sections-button', {hasText: 'Sections'});\n this.removeMasterTemplateBtn = page.locator('[name=\"icon-delete\"] svg');\n this.sectionNameTxt = page.getByLabel('Section Name');\n this.templateTree = page.locator('umb-tree[alias=\"Umb.Tree.Template\"]');\n }\n\n async clickActionsMenuForTemplate(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForTemplate('Templates');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Templates');\n }\n\n async goToTemplate(templateName: string, childTemplateName: string = '') {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadTemplateTree();\n if (childTemplateName === '') {\n await this.page.getByLabel(templateName, {exact: true}).click();\n await expect(this.enterAName).toHaveValue(templateName);\n } else {\n await this.clickCaretButtonForName(templateName);\n await this.page.getByLabel(childTemplateName , {exact: true}).click();\n await expect(this.enterAName).toHaveValue(childTemplateName);\n }\n await this.page.waitForTimeout(1000);\n }\n\n async clickSectionsButton() {\n await expect(this.sectionsBtn).toBeVisible();\n await this.sectionsBtn.click();\n }\n\n async clickChangeMasterTemplateButton() {\n await this.changeMasterTemplateBtn.click();\n }\n\n async enterTemplateName(templateName: string) {\n await expect(this.enterAName).toBeVisible();\n await this.enterAName.clear();\n await this.enterAName.fill(templateName);\n }\n\n async enterTemplateContent(templateContent: string) {\n // We need this wait, to be sure that the template content is loaded.\n await this.page.waitForTimeout(200);\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(templateContent);\n }\n\n async isMasterTemplateNameVisible(templateName: string, isVisible: boolean = true) {\n await expect(this.page.getByLabel('Master template: ' + templateName)).toBeVisible({visible: isVisible});\n }\n\n async clickRemoveMasterTemplateButton() {\n await this.removeMasterTemplateBtn.click();\n }\n\n async insertSection(sectionType: string, sectionName: string = '') {\n await this.clickSectionsButton();\n await expect(this.submitBtn).toBeVisible();\n await this.page.locator('[label=\"' + sectionType + '\"]').click();\n if (sectionName !== '') {\n await expect(this.sectionNameTxt).toBeVisible();\n await this.sectionNameTxt.fill(sectionName);\n }\n await this.clickSubmitButton();\n }\n\n async isTemplateTreeItemVisible(templateName: string, isVisible: boolean = true) {\n return expect(this.templateTree.getByText(templateName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async reloadTemplateTree() {\n await this.reloadTree('Templates');\n }\n\n async isTemplateRootTreeItemVisible(templateName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadTemplateTree();\n }\n return expect(this.templateTree.getByText(templateName, {exact: true})).toBeVisible({visible: isVisible});\n }\n}"]}
|
|
@@ -109,20 +109,26 @@ export declare class UiBaseLocators {
|
|
|
109
109
|
readonly gridBtn: Locator;
|
|
110
110
|
readonly listBtn: Locator;
|
|
111
111
|
readonly viewBundleBtn: Locator;
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
readonly chooseDocumentInputBtn: Locator;
|
|
113
|
+
readonly chooseMediaInputBtn: Locator;
|
|
114
114
|
readonly container: Locator;
|
|
115
115
|
readonly createDocumentBlueprintBtn: Locator;
|
|
116
116
|
readonly actionsBtn: Locator;
|
|
117
117
|
readonly mediaPickerModalSubmitBtn: Locator;
|
|
118
118
|
readonly deleteBtn: Locator;
|
|
119
|
+
readonly mediaCaptionAltTextModalSubmitBtn: Locator;
|
|
120
|
+
readonly embeddedMediaModal: Locator;
|
|
121
|
+
readonly embeddedURLTxt: Locator;
|
|
122
|
+
readonly embeddedRetrieveBtn: Locator;
|
|
123
|
+
readonly embeddedMediaModalConfirmBtn: Locator;
|
|
124
|
+
readonly embeddedPreview: Locator;
|
|
119
125
|
constructor(page: Page);
|
|
120
126
|
clickActionsMenuForName(name: string): Promise<void>;
|
|
121
127
|
isActionsMenuForNameVisible(name: string, isVisible?: boolean): Promise<void>;
|
|
122
128
|
clickCaretButtonForName(name: string): Promise<void>;
|
|
123
129
|
clickCaretButton(): Promise<void>;
|
|
124
130
|
reloadTree(treeName: string): Promise<void>;
|
|
125
|
-
clickReloadButton(
|
|
131
|
+
clickReloadButton(): Promise<void>;
|
|
126
132
|
clickSaveButton(): Promise<void>;
|
|
127
133
|
clickChooseButton(): Promise<void>;
|
|
128
134
|
clickChooseContainerButton(): Promise<void>;
|
|
@@ -151,7 +157,7 @@ export declare class UiBaseLocators {
|
|
|
151
157
|
clickRemoveExactButton(): Promise<void>;
|
|
152
158
|
clickRemoveButtonForName(name: string): Promise<void>;
|
|
153
159
|
clickTrashIconButtonForName(name: string): Promise<void>;
|
|
154
|
-
clickRemoveWithName(name: string
|
|
160
|
+
clickRemoveWithName(name: string): Promise<void>;
|
|
155
161
|
clickDisableButton(): Promise<void>;
|
|
156
162
|
clickConfirmDisableButton(): Promise<void>;
|
|
157
163
|
clickConfirmRemoveButton(): Promise<void>;
|
|
@@ -182,7 +188,7 @@ export declare class UiBaseLocators {
|
|
|
182
188
|
isErrorNotificationVisible(isVisible?: boolean): Promise<void>;
|
|
183
189
|
isTextWithMessageVisible(message: string, isVisible?: boolean): Promise<void>;
|
|
184
190
|
clickCreateThreeDotsButton(): Promise<void>;
|
|
185
|
-
clickCreateButton(
|
|
191
|
+
clickCreateButton(): Promise<void>;
|
|
186
192
|
clickAddButton(): Promise<void>;
|
|
187
193
|
clickNewFolderThreeDotsButton(): Promise<void>;
|
|
188
194
|
clickEditorSettingsButton(index?: number): Promise<void>;
|
|
@@ -230,7 +236,7 @@ export declare class UiBaseLocators {
|
|
|
230
236
|
clickConfigureAsACollectionButton(): Promise<void>;
|
|
231
237
|
doesReturnedItemsHaveCount(itemCount: number): Promise<void>;
|
|
232
238
|
doesQueryResultHaveContentName(contentName: string): Promise<void>;
|
|
233
|
-
deleteGroup(groupName: string
|
|
239
|
+
deleteGroup(groupName: string): Promise<void>;
|
|
234
240
|
clickRemoveTabWithName(name: string): Promise<void>;
|
|
235
241
|
clickLeftArrowButton(): Promise<void>;
|
|
236
242
|
clickToUploadButton(): Promise<void>;
|
|
@@ -257,4 +263,9 @@ export declare class UiBaseLocators {
|
|
|
257
263
|
clickLinkWithName(name: string): Promise<void>;
|
|
258
264
|
clickMediaPickerModalSubmitButton(): Promise<void>;
|
|
259
265
|
selectMediaWithName(mediaName: string): Promise<void>;
|
|
266
|
+
clickMediaCaptionAltTextModalSubmitButton(): Promise<void>;
|
|
267
|
+
enterEmbeddedURL(value: string): Promise<void>;
|
|
268
|
+
clickEmbeddedRetrieveButton(): Promise<void>;
|
|
269
|
+
clickEmbeddedMediaModalConfirmButton(): Promise<void>;
|
|
270
|
+
waitForEmbeddedPreviewVisible(): Promise<void>;
|
|
260
271
|
}
|
|
@@ -120,6 +120,12 @@ class UiBaseLocators {
|
|
|
120
120
|
actionsBtn;
|
|
121
121
|
mediaPickerModalSubmitBtn;
|
|
122
122
|
deleteBtn;
|
|
123
|
+
mediaCaptionAltTextModalSubmitBtn;
|
|
124
|
+
embeddedMediaModal;
|
|
125
|
+
embeddedURLTxt;
|
|
126
|
+
embeddedRetrieveBtn;
|
|
127
|
+
embeddedMediaModalConfirmBtn;
|
|
128
|
+
embeddedPreview;
|
|
123
129
|
constructor(page) {
|
|
124
130
|
this.page = page;
|
|
125
131
|
this.saveBtn = page.getByLabel('Save', { exact: true });
|
|
@@ -237,6 +243,12 @@ class UiBaseLocators {
|
|
|
237
243
|
this.actionsBtn = page.getByLabel('Actions', { exact: true });
|
|
238
244
|
this.mediaPickerModalSubmitBtn = page.locator('umb-media-picker-modal').getByLabel('Submit');
|
|
239
245
|
this.deleteBtn = page.getByRole('button', { name: /^Delete(\.\.\.)?$/ });
|
|
246
|
+
this.mediaCaptionAltTextModalSubmitBtn = page.locator('umb-media-caption-alt-text-modal').getByLabel('Submit');
|
|
247
|
+
this.embeddedMediaModal = page.locator('umb-embedded-media-modal');
|
|
248
|
+
this.embeddedURLTxt = this.embeddedMediaModal.locator('[label="URL"] #input');
|
|
249
|
+
this.embeddedRetrieveBtn = this.embeddedMediaModal.locator('[label="Retrieve"]');
|
|
250
|
+
this.embeddedMediaModalConfirmBtn = this.embeddedMediaModal.getByLabel('Confirm');
|
|
251
|
+
this.embeddedPreview = this.embeddedMediaModal.locator('[label="Preview"]');
|
|
240
252
|
}
|
|
241
253
|
async clickActionsMenuForName(name) {
|
|
242
254
|
await this.page.locator('[label="' + name + '"]').hover();
|
|
@@ -266,8 +278,9 @@ class UiBaseLocators {
|
|
|
266
278
|
await this.clickCaretButtonForName(treeName);
|
|
267
279
|
}
|
|
268
280
|
}
|
|
269
|
-
async clickReloadButton(
|
|
270
|
-
await this.reloadBtn.
|
|
281
|
+
async clickReloadButton() {
|
|
282
|
+
await (0, test_1.expect)(this.reloadBtn).toBeVisible();
|
|
283
|
+
await this.reloadBtn.click();
|
|
271
284
|
}
|
|
272
285
|
async clickSaveButton() {
|
|
273
286
|
// This wait is necessary to avoid the save button is ignored
|
|
@@ -276,6 +289,7 @@ class UiBaseLocators {
|
|
|
276
289
|
await this.saveBtn.click();
|
|
277
290
|
}
|
|
278
291
|
async clickChooseButton() {
|
|
292
|
+
await (0, test_1.expect)(this.chooseBtn).toBeVisible();
|
|
279
293
|
await this.chooseBtn.click();
|
|
280
294
|
}
|
|
281
295
|
async clickChooseContainerButton() {
|
|
@@ -310,7 +324,9 @@ class UiBaseLocators {
|
|
|
310
324
|
await this.changeBtn.click();
|
|
311
325
|
}
|
|
312
326
|
async clickExactLinkWithName(name) {
|
|
313
|
-
|
|
327
|
+
const exactLinkWithNameLocator = this.page.getByRole('link', { name: name, exact: true });
|
|
328
|
+
await (0, test_1.expect)(exactLinkWithNameLocator).toBeVisible();
|
|
329
|
+
await exactLinkWithNameLocator.click();
|
|
314
330
|
}
|
|
315
331
|
async enterAliasName(aliasName) {
|
|
316
332
|
// Unlocks alias
|
|
@@ -319,6 +335,8 @@ class UiBaseLocators {
|
|
|
319
335
|
await this.aliasNameTxt.fill(aliasName);
|
|
320
336
|
}
|
|
321
337
|
async updateIcon(iconName) {
|
|
338
|
+
await (0, test_1.expect)(this.iconBtn).toBeVisible();
|
|
339
|
+
// Force click is needed
|
|
322
340
|
await this.iconBtn.click({ force: true });
|
|
323
341
|
await this.searchForTypeToFilterValue(iconName);
|
|
324
342
|
await this.clickLabelWithName(iconName, true, true);
|
|
@@ -367,8 +385,10 @@ class UiBaseLocators {
|
|
|
367
385
|
async clickTrashIconButtonForName(name) {
|
|
368
386
|
await this.page.locator('[name="' + name + '"] [name="icon-trash"]').click();
|
|
369
387
|
}
|
|
370
|
-
async clickRemoveWithName(name
|
|
371
|
-
|
|
388
|
+
async clickRemoveWithName(name) {
|
|
389
|
+
const removeLabelWithNameLocator = this.page.getByLabel('Remove ' + name);
|
|
390
|
+
await (0, test_1.expect)(removeLabelWithNameLocator).toBeVisible();
|
|
391
|
+
await removeLabelWithNameLocator.click();
|
|
372
392
|
}
|
|
373
393
|
async clickDisableButton() {
|
|
374
394
|
await this.disableBtn.click();
|
|
@@ -400,7 +420,9 @@ class UiBaseLocators {
|
|
|
400
420
|
await this.orderByPropertyAliasBtn.click();
|
|
401
421
|
// Wait and choose property alias option
|
|
402
422
|
await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);
|
|
403
|
-
|
|
423
|
+
await (0, test_1.expect)(this.orderByPropertyAliasBtn).toBeVisible();
|
|
424
|
+
await this.orderByPropertyAliasBtn.click();
|
|
425
|
+
// Click to ascending button if isAscending is false
|
|
404
426
|
if (!isAscending) {
|
|
405
427
|
await this.ascendingBtn.click();
|
|
406
428
|
}
|
|
@@ -489,10 +511,13 @@ class UiBaseLocators {
|
|
|
489
511
|
await this.page.getByLabel(name, { exact: isExact }).click({ force: toForce });
|
|
490
512
|
}
|
|
491
513
|
async clickButtonWithName(name, isExact = false) {
|
|
492
|
-
|
|
514
|
+
const exactButtonWithNameLocator = this.page.getByRole('button', { name: name, exact: isExact });
|
|
515
|
+
await (0, test_1.expect)(exactButtonWithNameLocator).toBeVisible();
|
|
516
|
+
// Force click is needed
|
|
517
|
+
await exactButtonWithNameLocator.click({ force: true });
|
|
493
518
|
}
|
|
494
519
|
async isSuccessNotificationVisible(isVisible = true) {
|
|
495
|
-
return await (0, test_1.expect)(this.successNotification.first()).toBeVisible({ visible: isVisible });
|
|
520
|
+
return await (0, test_1.expect)(this.successNotification.first()).toBeVisible({ visible: isVisible, timeout: 10000 });
|
|
496
521
|
}
|
|
497
522
|
async doesSuccessNotificationsHaveCount(count) {
|
|
498
523
|
return await (0, test_1.expect)(this.successNotification).toHaveCount(count);
|
|
@@ -506,9 +531,9 @@ class UiBaseLocators {
|
|
|
506
531
|
async clickCreateThreeDotsButton() {
|
|
507
532
|
await this.createThreeDotsBtn.click();
|
|
508
533
|
}
|
|
509
|
-
async clickCreateButton(
|
|
534
|
+
async clickCreateButton() {
|
|
510
535
|
await (0, test_1.expect)(this.createBtn).toBeVisible();
|
|
511
|
-
await this.createBtn.click(
|
|
536
|
+
await this.createBtn.click();
|
|
512
537
|
}
|
|
513
538
|
async clickAddButton() {
|
|
514
539
|
await this.addBtn.click();
|
|
@@ -538,6 +563,7 @@ class UiBaseLocators {
|
|
|
538
563
|
await this.iAmDoneReorderingBtn.click();
|
|
539
564
|
}
|
|
540
565
|
async clickReorderButton() {
|
|
566
|
+
await (0, test_1.expect)(this.reorderBtn).toBeVisible();
|
|
541
567
|
await this.reorderBtn.click();
|
|
542
568
|
}
|
|
543
569
|
async clickLabelAboveButton() {
|
|
@@ -556,9 +582,11 @@ class UiBaseLocators {
|
|
|
556
582
|
await this.regexMessageTxt.fill(regExMessage);
|
|
557
583
|
}
|
|
558
584
|
async clickCompositionsButton() {
|
|
585
|
+
await (0, test_1.expect)(this.compositionsBtn).toBeVisible();
|
|
559
586
|
await this.compositionsBtn.click();
|
|
560
587
|
}
|
|
561
588
|
async clickAddTabButton() {
|
|
589
|
+
await (0, test_1.expect)(this.addTabBtn).toBeVisible();
|
|
562
590
|
await this.addTabBtn.click();
|
|
563
591
|
}
|
|
564
592
|
async enterTabName(tabName) {
|
|
@@ -596,6 +624,7 @@ class UiBaseLocators {
|
|
|
596
624
|
await this.addGroupBtn.click();
|
|
597
625
|
}
|
|
598
626
|
async clickChooseModalButton() {
|
|
627
|
+
await (0, test_1.expect)(this.chooseModalBtn).toBeVisible();
|
|
599
628
|
await this.chooseModalBtn.click();
|
|
600
629
|
}
|
|
601
630
|
async enterGroupName(groupName, index = 0) {
|
|
@@ -667,6 +696,8 @@ class UiBaseLocators {
|
|
|
667
696
|
// We need to hover over the Property Editor to make the delete button visible
|
|
668
697
|
const propertyEditor = this.page.locator('umb-content-type-design-editor-property', { hasText: name });
|
|
669
698
|
await propertyEditor.hover();
|
|
699
|
+
await (0, test_1.expect)(propertyEditor.getByLabel('Delete')).toBeVisible();
|
|
700
|
+
// Force click is needed
|
|
670
701
|
await propertyEditor.getByLabel('Delete').click({ force: true });
|
|
671
702
|
await this.clickConfirmToDeleteButton();
|
|
672
703
|
}
|
|
@@ -712,19 +743,24 @@ class UiBaseLocators {
|
|
|
712
743
|
async doesQueryResultHaveContentName(contentName) {
|
|
713
744
|
await (0, test_1.expect)(this.queryBuilderShowCode).toContainText(contentName);
|
|
714
745
|
}
|
|
715
|
-
async deleteGroup(groupName
|
|
746
|
+
async deleteGroup(groupName) {
|
|
716
747
|
await this.page.waitForTimeout(1000);
|
|
717
748
|
const groups = this.page.locator('umb-content-type-design-editor-group').all();
|
|
718
749
|
for (const group of await groups) {
|
|
719
750
|
if (await group.getByLabel('Group', { exact: true }).inputValue() === groupName) {
|
|
720
|
-
|
|
751
|
+
const headerActionsDeleteLocator = group.locator('[slot="header-actions"]').getByLabel('Delete');
|
|
752
|
+
await (0, test_1.expect)(headerActionsDeleteLocator).toBeVisible();
|
|
753
|
+
// Force click is needed
|
|
754
|
+
await headerActionsDeleteLocator.click({ force: true });
|
|
721
755
|
return;
|
|
722
756
|
}
|
|
723
757
|
}
|
|
724
758
|
}
|
|
725
759
|
async clickRemoveTabWithName(name) {
|
|
726
|
-
await this.page.locator('
|
|
727
|
-
|
|
760
|
+
await this.page.locator('uui-tab').filter({ hasText: name }).hover();
|
|
761
|
+
const removeTabWithNameLocator = this.page.locator('uui-tab').filter({ hasText: name }).locator('[label="Remove"]');
|
|
762
|
+
await (0, test_1.expect)(removeTabWithNameLocator).toBeVisible();
|
|
763
|
+
await removeTabWithNameLocator.click();
|
|
728
764
|
}
|
|
729
765
|
async clickLeftArrowButton() {
|
|
730
766
|
await this.leftArrowBtn.click();
|
|
@@ -772,20 +808,23 @@ class UiBaseLocators {
|
|
|
772
808
|
}
|
|
773
809
|
}
|
|
774
810
|
async clickRecycleBinButton() {
|
|
811
|
+
await (0, test_1.expect)(this.recycleBinBtn).toBeVisible();
|
|
775
812
|
await this.recycleBinBtn.click();
|
|
776
813
|
}
|
|
777
814
|
async isItemVisibleInRecycleBin(item, isVisible = true, isReload = true) {
|
|
778
815
|
if (isReload) {
|
|
779
816
|
await this.reloadRecycleBin(isVisible);
|
|
780
817
|
}
|
|
781
|
-
return (0, test_1.expect)(this.page.locator('[label="Recycle Bin"] [label="' + item + '"]')).toBeVisible({ visible: isVisible });
|
|
818
|
+
return await (0, test_1.expect)(this.page.locator('[label="Recycle Bin"] [label="' + item + '"]')).toBeVisible({ visible: isVisible });
|
|
782
819
|
}
|
|
783
820
|
async changeToGridView() {
|
|
784
|
-
await this.viewBundleBtn.
|
|
821
|
+
await (0, test_1.expect)(this.viewBundleBtn).toBeVisible();
|
|
822
|
+
await this.viewBundleBtn.click();
|
|
785
823
|
await this.gridBtn.click();
|
|
786
824
|
}
|
|
787
825
|
async changeToListView() {
|
|
788
|
-
await this.viewBundleBtn.
|
|
826
|
+
await (0, test_1.expect)(this.viewBundleBtn).toBeVisible();
|
|
827
|
+
await this.viewBundleBtn.click();
|
|
789
828
|
await this.listBtn.click();
|
|
790
829
|
}
|
|
791
830
|
async isViewBundleButtonVisible(isVisible = true) {
|
|
@@ -807,7 +846,8 @@ class UiBaseLocators {
|
|
|
807
846
|
await this.chooseDocumentInputBtn.click();
|
|
808
847
|
}
|
|
809
848
|
async clickChooseMediaStartNodeButton() {
|
|
810
|
-
await this.chooseMediaInputBtn.
|
|
849
|
+
await (0, test_1.expect)(this.chooseMediaInputBtn).toBeVisible();
|
|
850
|
+
await this.chooseMediaInputBtn.click();
|
|
811
851
|
}
|
|
812
852
|
async clickActionsButton() {
|
|
813
853
|
await this.actionsBtn.click();
|
|
@@ -824,6 +864,23 @@ class UiBaseLocators {
|
|
|
824
864
|
async selectMediaWithName(mediaName) {
|
|
825
865
|
await this.mediaCardItems.filter({ hasText: mediaName }).click({ position: { x: 0.5, y: 0.5 } });
|
|
826
866
|
}
|
|
867
|
+
async clickMediaCaptionAltTextModalSubmitButton() {
|
|
868
|
+
await this.mediaCaptionAltTextModalSubmitBtn.click();
|
|
869
|
+
}
|
|
870
|
+
// Embed Modal
|
|
871
|
+
async enterEmbeddedURL(value) {
|
|
872
|
+
await this.embeddedURLTxt.clear();
|
|
873
|
+
await this.embeddedURLTxt.fill(value);
|
|
874
|
+
}
|
|
875
|
+
async clickEmbeddedRetrieveButton() {
|
|
876
|
+
await this.embeddedRetrieveBtn.click();
|
|
877
|
+
}
|
|
878
|
+
async clickEmbeddedMediaModalConfirmButton() {
|
|
879
|
+
await this.embeddedMediaModalConfirmBtn.click();
|
|
880
|
+
}
|
|
881
|
+
async waitForEmbeddedPreviewVisible() {
|
|
882
|
+
await (0, test_1.expect)(this.embeddedPreview).toBeVisible();
|
|
883
|
+
}
|
|
827
884
|
}
|
|
828
885
|
exports.UiBaseLocators = UiBaseLocators;
|
|
829
886
|
//# sourceMappingURL=UiBaseLocators.js.map
|