@umbraco/playwright-testhelpers 15.0.20 → 15.0.22
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 +16 -2
- package/dist/lib/helpers/ContentUiHelper.js +76 -29
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +8 -0
- package/dist/lib/helpers/DataTypeApiHelper.js +49 -1
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +2 -2
- package/dist/lib/helpers/DataTypeUiHelper.js +11 -11
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryUiHelper.js +3 -3
- package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.d.ts +3 -0
- package/dist/lib/helpers/DocumentApiHelper.js +33 -0
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.js +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/FormsUiHelper.js +4 -4
- package/dist/lib/helpers/FormsUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeUiHelper.js +1 -1
- package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaUiHelper.js +2 -2
- package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewUiHelper.d.ts +2 -0
- package/dist/lib/helpers/PartialViewUiHelper.js +8 -0
- package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptUiHelper.d.ts +2 -0
- package/dist/lib/helpers/ScriptUiHelper.js +8 -0
- package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.d.ts +2 -0
- package/dist/lib/helpers/StylesheetUiHelper.js +8 -0
- package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.js +10 -8
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.d.ts +1 -1
- package/dist/lib/helpers/UserUiHelper.js +4 -3
- package/dist/lib/helpers/UserUiHelper.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -134,6 +134,12 @@ export declare class ContentUiHelper extends UiBaseLocators {
|
|
|
134
134
|
private readonly insertBlockBtn;
|
|
135
135
|
private readonly validationMessage;
|
|
136
136
|
private readonly blockWorkspace;
|
|
137
|
+
private readonly saveContentBtn;
|
|
138
|
+
private readonly splitView;
|
|
139
|
+
private readonly tiptapInput;
|
|
140
|
+
private readonly rteBlockInline;
|
|
141
|
+
private readonly backofficeModalContainer;
|
|
142
|
+
private readonly rteBlock;
|
|
137
143
|
constructor(page: Page);
|
|
138
144
|
enterContentName(name: string): Promise<void>;
|
|
139
145
|
clickSaveAndPublishButton(): Promise<void>;
|
|
@@ -147,6 +153,7 @@ export declare class ContentUiHelper extends UiBaseLocators {
|
|
|
147
153
|
clickCaretButtonForContentName(name: string): Promise<void>;
|
|
148
154
|
waitForModalVisible(): Promise<void>;
|
|
149
155
|
waitForModalHidden(): Promise<void>;
|
|
156
|
+
clickSaveButtonForContent(): Promise<void>;
|
|
150
157
|
enterTextstring(text: string): Promise<void>;
|
|
151
158
|
doesContentTreeHaveName(contentName: string): Promise<void>;
|
|
152
159
|
enterRichTextArea(value: string): Promise<void>;
|
|
@@ -154,7 +161,7 @@ export declare class ContentUiHelper extends UiBaseLocators {
|
|
|
154
161
|
clickConfirmToUnpublishButton(): Promise<void>;
|
|
155
162
|
clickCreateDocumentBlueprintButton(): Promise<void>;
|
|
156
163
|
clickInfoTab(): Promise<void>;
|
|
157
|
-
|
|
164
|
+
doesDocumentHaveLink(link: string): Promise<void>;
|
|
158
165
|
doesHistoryHaveText(text: string): Promise<void>;
|
|
159
166
|
doesPublicationStatusHaveText(text: string): Promise<void>;
|
|
160
167
|
doesCreatedDateHaveText(text: string): Promise<void>;
|
|
@@ -256,6 +263,7 @@ export declare class ContentUiHelper extends UiBaseLocators {
|
|
|
256
263
|
clickConfirmEmptyRecycleBinButton(): Promise<void>;
|
|
257
264
|
isDocumentPropertyEditable(propertyName: string, isEditable?: boolean): Promise<void>;
|
|
258
265
|
doesDocumentPropertyHaveValue(propertyName: string, value: string): Promise<void>;
|
|
266
|
+
clickContentTab(): Promise<void>;
|
|
259
267
|
isDocumentTreeEmpty(): Promise<void>;
|
|
260
268
|
doesDocumentWorkspaceContainName(name: string): Promise<void>;
|
|
261
269
|
doesDocumentWorkspaceHaveText(text: string): Promise<void>;
|
|
@@ -283,7 +291,7 @@ export declare class ContentUiHelper extends UiBaseLocators {
|
|
|
283
291
|
clickManualLinkButton(): Promise<void>;
|
|
284
292
|
clickAddBlockElementButton(): Promise<void>;
|
|
285
293
|
isAddBlockElementButtonVisible(isVisible?: boolean): Promise<void>;
|
|
286
|
-
isAddBlockElementButtonWithLabelVisible(label: string, isVisible?: boolean): Promise<void>;
|
|
294
|
+
isAddBlockElementButtonWithLabelVisible(blockName: string, label: string, isVisible?: boolean): Promise<void>;
|
|
287
295
|
doesFormValidationMessageContainText(text: string): Promise<void>;
|
|
288
296
|
doesBlockElementHaveName(name: string): Promise<void>;
|
|
289
297
|
clickAddBlockSettingsTabButton(): Promise<void>;
|
|
@@ -323,4 +331,10 @@ export declare class ContentUiHelper extends UiBaseLocators {
|
|
|
323
331
|
enterRTETipTapEditor(value: string): Promise<void>;
|
|
324
332
|
clickTipTapToolbarIconWithTitle(iconTitle: string): Promise<void>;
|
|
325
333
|
doesUploadedSvgThumbnailHaveSrc(imageSrc: string): Promise<void>;
|
|
334
|
+
doesRichTextEditorBlockContainLabel(richTextEditorAlias: string, label: string): Promise<void>;
|
|
335
|
+
doesBlockEditorModalContainEditorSize(editorSize: string, elementName: string): Promise<void>;
|
|
336
|
+
doesBlockEditorModalContainInline(richTextEditorAlias: string, elementName: string): Promise<void>;
|
|
337
|
+
doesBlockHaveBackgroundColor(elementName: string, backgroundColor: string): Promise<void>;
|
|
338
|
+
doesBlockHaveIconColor(elementName: string, backgroundColor: string): Promise<void>;
|
|
339
|
+
addDocumentDomain(domainName: string, languageName: string): Promise<void>;
|
|
326
340
|
}
|
|
@@ -138,18 +138,25 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
138
138
|
insertBlockBtn;
|
|
139
139
|
validationMessage;
|
|
140
140
|
blockWorkspace;
|
|
141
|
+
saveContentBtn;
|
|
142
|
+
splitView;
|
|
143
|
+
tiptapInput;
|
|
144
|
+
rteBlockInline;
|
|
145
|
+
backofficeModalContainer;
|
|
146
|
+
rteBlock;
|
|
141
147
|
constructor(page) {
|
|
142
148
|
super(page);
|
|
149
|
+
this.saveContentBtn = page.locator('[data-mark="workspace-action:Umb.WorkspaceAction.Document.Save"]');
|
|
143
150
|
this.closeBtn = page.getByRole('button', { name: 'Close', exact: true });
|
|
144
151
|
this.linkPickerModal = page.locator('umb-link-picker-modal');
|
|
145
152
|
this.contentNameTxt = page.locator('#name-input input');
|
|
146
153
|
this.saveAndPublishBtn = page.getByLabel('Save And Publish');
|
|
147
|
-
this.publishBtn = page.getByLabel(/^Publish(
|
|
148
|
-
this.unpublishBtn = page.getByLabel(/^Unpublish(
|
|
154
|
+
this.publishBtn = page.getByLabel(/^Publish(…)?$/);
|
|
155
|
+
this.unpublishBtn = page.getByLabel(/^Unpublish(…)?$/);
|
|
149
156
|
this.actionMenuForContentBtn = page.locator('#header [label="Open actions menu"]');
|
|
150
157
|
this.openedModal = page.locator('uui-modal-container[backdrop]');
|
|
151
158
|
this.textstringTxt = page.locator('umb-property-editor-ui-text-box #input');
|
|
152
|
-
this.reloadChildrenThreeDotsBtn = page.getByRole('button', { name: 'Reload children
|
|
159
|
+
this.reloadChildrenThreeDotsBtn = page.getByRole('button', { name: 'Reload children…' });
|
|
153
160
|
this.contentTree = page.locator('umb-tree[alias="Umb.Tree.Document"]');
|
|
154
161
|
this.richTextAreaTxt = page.frameLocator('iframe[title="Rich Text Area"]').locator('#tinymce');
|
|
155
162
|
this.textAreaTxt = page.locator('umb-property-editor-ui-textarea textarea');
|
|
@@ -158,12 +165,13 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
158
165
|
this.menuItemTree = page.locator('umb-menu-item-tree-default');
|
|
159
166
|
this.confirmToUnpublishBtn = page.locator('umb-document-unpublish-modal').getByLabel('Unpublish');
|
|
160
167
|
this.dropdown = page.locator('select#native');
|
|
161
|
-
this.
|
|
168
|
+
this.splitView = page.locator('#splitViews');
|
|
169
|
+
this.setADateTxt = page.getByLabel('Set a date…');
|
|
162
170
|
this.chooseMediaPickerBtn = page.locator('umb-property-editor-ui-media-picker #btn-add');
|
|
163
171
|
this.chooseMemberPickerBtn = page.locator('umb-property-editor-ui-member-picker #btn-add');
|
|
164
172
|
this.numericTxt = page.locator('umb-property-editor-ui-number input');
|
|
165
173
|
this.addMultiURLPickerBtn = page.locator('umb-property-editor-ui-multi-url-picker #btn-add');
|
|
166
|
-
this.linkTxt = page.getByLabel('Enter a URL
|
|
174
|
+
this.linkTxt = page.getByLabel('Enter a URL…', { exact: true });
|
|
167
175
|
this.anchorQuerystringTxt = page.getByLabel('#value or ?key=value');
|
|
168
176
|
this.linkTitleTxt = this.linkPickerModal.getByLabel('Title');
|
|
169
177
|
this.tagItems = page.locator('uui-tag');
|
|
@@ -187,8 +195,8 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
187
195
|
this.documentLanguageSelectPopover = page.locator('umb-popover-layout');
|
|
188
196
|
this.documentReadOnly = this.documentWorkspace.locator('#name-input').getByText('Read-only');
|
|
189
197
|
// Info tab
|
|
190
|
-
this.infoTab = page.
|
|
191
|
-
this.linkContent = page.locator('
|
|
198
|
+
this.infoTab = page.locator('uui-tab[data-mark="workspace:view-link:Umb.WorkspaceView.Document.Info"]');
|
|
199
|
+
this.linkContent = page.locator('umb-document-links-workspace-info-app');
|
|
192
200
|
this.historyItems = page.locator('umb-history-item');
|
|
193
201
|
this.generalItem = page.locator('.general-item');
|
|
194
202
|
this.publicationStatus = this.generalItem.filter({ hasText: 'Publication Status' }).locator('uui-tag');
|
|
@@ -197,7 +205,7 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
197
205
|
this.addTemplateBtn = this.generalItem.filter({ hasText: 'Template' }).locator('#button');
|
|
198
206
|
this.id = this.generalItem.filter({ hasText: 'Id' }).locator('span');
|
|
199
207
|
// Culture and Hostname
|
|
200
|
-
this.cultureAndHostnamesBtn = page.getByLabel(/^Culture and Hostnames(
|
|
208
|
+
this.cultureAndHostnamesBtn = page.getByLabel(/^Culture and Hostnames(…)?$/);
|
|
201
209
|
this.cultureLanguageDropdownBox = page.locator('[headline="Culture"]').getByLabel('combobox-input');
|
|
202
210
|
this.addNewDomainBtn = page.getByLabel('Add new domain');
|
|
203
211
|
this.domainTxt = page.getByLabel('Domain', { exact: true });
|
|
@@ -205,19 +213,19 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
205
213
|
this.deleteDomainBtn = page.locator('[headline="Domains"] [name="icon-trash"] svg');
|
|
206
214
|
this.domainComboBox = page.locator('#domains uui-combobox');
|
|
207
215
|
this.saveModalBtn = this.sidebarModal.getByLabel('Save', { exact: true });
|
|
208
|
-
this.resetFocalPointBtn =
|
|
216
|
+
this.resetFocalPointBtn = page.getByLabel('Reset focal point');
|
|
209
217
|
// List View
|
|
210
|
-
this.enterNameInContainerTxt = this.container.getByLabel('Enter a name
|
|
218
|
+
this.enterNameInContainerTxt = this.container.getByLabel('Enter a name…');
|
|
211
219
|
this.listView = page.locator('umb-document-table-collection-view');
|
|
212
220
|
this.nameBtn = page.getByRole('button', { name: 'Name' });
|
|
213
221
|
this.listViewTableRow = this.listView.locator('uui-table-row');
|
|
214
|
-
this.publishSelectedListItems = page.getByRole('button', { name: /^Publish(
|
|
215
|
-
this.unpublishSelectedListItems = page.getByRole('button', { name: /^Unpublish(
|
|
216
|
-
this.duplicateToSelectedListItems = page.getByRole('button', { name: /^Duplicate to(
|
|
217
|
-
this.moveToSelectedListItems = page.getByRole('button', { name: /^Move to(
|
|
218
|
-
this.trashSelectedListItems = page.getByRole('button', { name: /^Trash(
|
|
222
|
+
this.publishSelectedListItems = page.getByRole('button', { name: /^Publish(…)?$/ });
|
|
223
|
+
this.unpublishSelectedListItems = page.getByRole('button', { name: /^Unpublish(…)?$/ });
|
|
224
|
+
this.duplicateToSelectedListItems = page.getByRole('button', { name: /^Duplicate to(…)?$/ });
|
|
225
|
+
this.moveToSelectedListItems = page.getByRole('button', { name: /^Move to(…)?$/ });
|
|
226
|
+
this.trashSelectedListItems = page.getByRole('button', { name: /^Trash(…)?$/ });
|
|
219
227
|
this.modalContent = page.locator('umb-tree-picker-modal');
|
|
220
|
-
this.trashBtn = page.getByLabel(/^Trash(
|
|
228
|
+
this.trashBtn = page.getByLabel(/^Trash(…)?$/);
|
|
221
229
|
this.exactTrashBtn = page.getByRole('button', { name: 'Trash', exact: true });
|
|
222
230
|
this.documentListView = page.locator('umb-document-table-collection-view');
|
|
223
231
|
this.documentGridView = page.locator('umb-document-grid-collection-view');
|
|
@@ -226,13 +234,13 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
226
234
|
this.documentBlueprintModalEnterNameTxt = this.documentBlueprintModal.locator('input');
|
|
227
235
|
this.documentBlueprintSaveBtn = this.documentBlueprintModal.getByLabel('Save');
|
|
228
236
|
this.emptyRecycleBinBtn = page.getByLabel('Empty Recycle Bin');
|
|
229
|
-
this.confirmEmptyRecycleBinBtn =
|
|
237
|
+
this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', { exact: true });
|
|
230
238
|
this.duplicateToBtn = page.getByRole('button', { name: 'Duplicate to' });
|
|
231
239
|
this.moveToBtn = page.getByRole('button', { name: 'Move to' });
|
|
232
240
|
this.duplicateBtn = page.getByLabel('Duplicate', { exact: true });
|
|
233
241
|
this.contentTreeRefreshBtn = page.locator('#header').getByLabel('#actions_refreshNode');
|
|
234
242
|
this.sortChildrenBtn = page.getByRole('button', { name: 'Sort children' });
|
|
235
|
-
this.rollbackBtn = page.getByRole('button', { name: 'Rollback' });
|
|
243
|
+
this.rollbackBtn = page.getByRole('button', { name: 'Rollback', exact: true });
|
|
236
244
|
this.rollbackContainerBtn = this.container.getByLabel('Rollback');
|
|
237
245
|
this.publicAccessBtn = page.getByRole('button', { name: 'Public Access' });
|
|
238
246
|
this.uuiCheckbox = page.locator('uui-checkbox');
|
|
@@ -253,7 +261,7 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
253
261
|
this.umbDocumentCollection = page.locator('umb-document-collection');
|
|
254
262
|
this.documentTableColumnName = this.listView.locator('umb-document-table-column-name');
|
|
255
263
|
//Block Grid - Block List
|
|
256
|
-
this.addBlockElementBtn = page.locator('uui-button-group uui-button').first().locator('a#button');
|
|
264
|
+
this.addBlockElementBtn = page.locator('uui-button-group uui-button').first().filter({ has: page.locator('a#button') });
|
|
257
265
|
this.formValidationMessage = page.locator('#splitViews umb-form-validation-message #messages');
|
|
258
266
|
this.blockName = page.locator('#editor [slot="name"]');
|
|
259
267
|
this.addBlockSettingsTabBtn = page.locator('umb-body-layout').getByRole('tab', { name: 'Settings' });
|
|
@@ -274,15 +282,20 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
274
282
|
// TipTap
|
|
275
283
|
this.tipTapPropertyEditor = page.locator('umb-property-editor-ui-tiptap');
|
|
276
284
|
this.tipTapEditor = this.tipTapPropertyEditor.locator('#editor .tiptap');
|
|
277
|
-
this.uploadedSvgThumbnail =
|
|
278
|
-
this.insertBlockBtn =
|
|
279
|
-
this.validationMessage =
|
|
285
|
+
this.uploadedSvgThumbnail = page.locator('umb-input-upload-field-svg img');
|
|
286
|
+
this.insertBlockBtn = page.locator('[title="Insert Block"]');
|
|
287
|
+
this.validationMessage = page.locator('umb-form-validation-message').locator('#messages');
|
|
280
288
|
this.blockWorkspace = page.locator('umb-block-workspace-editor');
|
|
289
|
+
this.tiptapInput = page.locator('umb-input-tiptap');
|
|
290
|
+
this.rteBlockInline = page.locator('umb-rte-block-inline');
|
|
291
|
+
this.backofficeModalContainer = page.locator('umb-backoffice-modal-container');
|
|
292
|
+
this.rteBlock = page.locator('umb-rte-block');
|
|
281
293
|
}
|
|
282
294
|
async enterContentName(name) {
|
|
283
295
|
await (0, test_1.expect)(this.contentNameTxt).toBeVisible();
|
|
284
296
|
await this.contentNameTxt.clear();
|
|
285
297
|
await this.contentNameTxt.fill(name);
|
|
298
|
+
await (0, test_1.expect)(this.contentNameTxt).toHaveValue(name);
|
|
286
299
|
}
|
|
287
300
|
async clickSaveAndPublishButton() {
|
|
288
301
|
await (0, test_1.expect)(this.saveAndPublishBtn).toBeVisible();
|
|
@@ -321,6 +334,10 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
321
334
|
async waitForModalHidden() {
|
|
322
335
|
await this.openedModal.waitFor({ state: 'hidden' });
|
|
323
336
|
}
|
|
337
|
+
async clickSaveButtonForContent() {
|
|
338
|
+
await (0, test_1.expect)(this.saveContentBtn).toBeVisible();
|
|
339
|
+
await this.saveContentBtn.click();
|
|
340
|
+
}
|
|
324
341
|
async enterTextstring(text) {
|
|
325
342
|
await (0, test_1.expect)(this.textstringTxt).toBeVisible();
|
|
326
343
|
await this.textstringTxt.clear();
|
|
@@ -350,8 +367,8 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
350
367
|
await (0, test_1.expect)(this.infoTab).toBeVisible();
|
|
351
368
|
await this.infoTab.click();
|
|
352
369
|
}
|
|
353
|
-
async
|
|
354
|
-
await (0, test_1.expect)(this.linkContent).
|
|
370
|
+
async doesDocumentHaveLink(link) {
|
|
371
|
+
await (0, test_1.expect)(this.linkContent).toContainText(link);
|
|
355
372
|
}
|
|
356
373
|
async doesHistoryHaveText(text) {
|
|
357
374
|
await (0, test_1.expect)(this.historyItems).toHaveText(text);
|
|
@@ -461,7 +478,7 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
461
478
|
await (0, test_1.expect)(this.documentTreeItem.locator('[label="' + parentName + '"]').getByLabel(childName)).toBeVisible({ visible: isVisible });
|
|
462
479
|
}
|
|
463
480
|
async removeContentPicker(contentPickerName) {
|
|
464
|
-
const contentPickerLocator = this.page.locator('[name="' + contentPickerName + '"]');
|
|
481
|
+
const contentPickerLocator = this.page.locator('umb-entity-item-ref').filter({ has: this.page.locator('[name="' + contentPickerName + '"]') });
|
|
465
482
|
await contentPickerLocator.hover();
|
|
466
483
|
await contentPickerLocator.getByLabel('Remove').click();
|
|
467
484
|
await this.clickConfirmRemoveButton();
|
|
@@ -519,7 +536,9 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
519
536
|
await this.sidebarModal.getByText(memberName, { exact: true }).click();
|
|
520
537
|
}
|
|
521
538
|
async removeMemberPickerByName(memberName) {
|
|
522
|
-
|
|
539
|
+
const mediaPickerLocator = this.page.locator('umb-entity-item-ref').filter({ has: this.page.locator('[name="' + memberName + '"]') });
|
|
540
|
+
await mediaPickerLocator.hover();
|
|
541
|
+
await mediaPickerLocator.getByLabel('Remove').click();
|
|
523
542
|
await this.clickConfirmRemoveButton();
|
|
524
543
|
}
|
|
525
544
|
// Numeric
|
|
@@ -540,6 +559,7 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
540
559
|
await this.enterTagTxt.press('Enter');
|
|
541
560
|
}
|
|
542
561
|
async removeTagByName(tagName) {
|
|
562
|
+
await (0, test_1.expect)(this.tagItems.filter({ hasText: tagName }).locator('svg')).toBeVisible();
|
|
543
563
|
await this.tagItems.filter({ hasText: tagName }).locator('svg').click();
|
|
544
564
|
}
|
|
545
565
|
// Multi URL Picker
|
|
@@ -585,11 +605,13 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
585
605
|
}
|
|
586
606
|
// Upload
|
|
587
607
|
async clickRemoveFilesButton() {
|
|
608
|
+
await (0, test_1.expect)(this.removeFilesBtn).toBeVisible();
|
|
588
609
|
await this.removeFilesBtn.click();
|
|
589
610
|
}
|
|
590
611
|
// True/false
|
|
591
612
|
async clickToggleButton() {
|
|
592
|
-
await this.toggleBtn.
|
|
613
|
+
await (0, test_1.expect)(this.toggleBtn).toBeVisible();
|
|
614
|
+
await this.toggleBtn.click({ force: true });
|
|
593
615
|
}
|
|
594
616
|
async doesToggleHaveLabel(label) {
|
|
595
617
|
return await (0, test_1.expect)(this.toggleInput).toHaveAttribute('aria-label', label);
|
|
@@ -768,6 +790,9 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
768
790
|
const propertyLocator = this.documentWorkspace.locator(this.property).filter({ hasText: propertyName }).locator('#input');
|
|
769
791
|
await (0, test_1.expect)(propertyLocator).toHaveValue(value);
|
|
770
792
|
}
|
|
793
|
+
async clickContentTab() {
|
|
794
|
+
await this.splitView.getByRole('tab', { name: 'Content' }).click();
|
|
795
|
+
}
|
|
771
796
|
async isDocumentTreeEmpty() {
|
|
772
797
|
await (0, test_1.expect)(this.documentTreeItem).toHaveCount(0);
|
|
773
798
|
}
|
|
@@ -898,8 +923,8 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
898
923
|
async isAddBlockElementButtonVisible(isVisible = true) {
|
|
899
924
|
await (0, test_1.expect)(this.addBlockElementBtn).toBeVisible({ visible: isVisible });
|
|
900
925
|
}
|
|
901
|
-
async isAddBlockElementButtonWithLabelVisible(label, isVisible = true) {
|
|
902
|
-
await (0, test_1.expect)(this.addBlockElementBtn.
|
|
926
|
+
async isAddBlockElementButtonWithLabelVisible(blockName, label, isVisible = true) {
|
|
927
|
+
await (0, test_1.expect)(this.property.filter({ hasText: blockName }).locator(this.addBlockElementBtn).filter({ hasText: label })).toBeVisible({ visible: isVisible });
|
|
903
928
|
}
|
|
904
929
|
async doesFormValidationMessageContainText(text) {
|
|
905
930
|
await (0, test_1.expect)(this.formValidationMessage).toContainText(text);
|
|
@@ -1072,6 +1097,28 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
1072
1097
|
await (0, test_1.expect)(this.uploadedSvgThumbnail).toBeVisible();
|
|
1073
1098
|
await (0, test_1.expect)(this.uploadedSvgThumbnail).toHaveAttribute('src', imageSrc);
|
|
1074
1099
|
}
|
|
1100
|
+
async doesRichTextEditorBlockContainLabel(richTextEditorAlias, label) {
|
|
1101
|
+
await (0, test_1.expect)(this.page.locator('[data-mark="property:' + richTextEditorAlias + '"]').locator(this.rteBlock)).toContainText(label);
|
|
1102
|
+
}
|
|
1103
|
+
async doesBlockEditorModalContainEditorSize(editorSize, elementName) {
|
|
1104
|
+
await (0, test_1.expect)(this.backofficeModalContainer.locator('[size="' + editorSize + '"]').locator('[headline="Add ' + elementName + '"]')).toBeVisible();
|
|
1105
|
+
}
|
|
1106
|
+
async doesBlockEditorModalContainInline(richTextEditorAlias, elementName) {
|
|
1107
|
+
await (0, test_1.expect)(this.page.locator('[data-mark="property:' + richTextEditorAlias + '"]').locator(this.tiptapInput).locator(this.rteBlockInline)).toContainText(elementName);
|
|
1108
|
+
}
|
|
1109
|
+
async doesBlockHaveBackgroundColor(elementName, backgroundColor) {
|
|
1110
|
+
await (0, test_1.expect)(this.page.locator('umb-block-type-card', { hasText: elementName }).locator('[style="background-color:' + backgroundColor + ';"]')).toBeVisible();
|
|
1111
|
+
}
|
|
1112
|
+
async doesBlockHaveIconColor(elementName, backgroundColor) {
|
|
1113
|
+
await (0, test_1.expect)(this.page.locator('umb-block-type-card', { hasText: elementName }).locator('[color="' + backgroundColor + '"]')).toBeVisible();
|
|
1114
|
+
}
|
|
1115
|
+
async addDocumentDomain(domainName, languageName) {
|
|
1116
|
+
await this.clickCultureAndHostnamesButton();
|
|
1117
|
+
await this.clickAddNewDomainButton();
|
|
1118
|
+
await this.enterDomain(domainName);
|
|
1119
|
+
await this.selectDomainLanguageOption(languageName);
|
|
1120
|
+
await this.clickSaveModalButton();
|
|
1121
|
+
}
|
|
1075
1122
|
}
|
|
1076
1123
|
exports.ContentUiHelper = ContentUiHelper;
|
|
1077
1124
|
//# sourceMappingURL=ContentUiHelper.js.map
|