@umbraco/playwright-testhelpers 15.0.0-beta.5 → 15.0.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.
- package/dist/lib/helpers/ApiHelpers.d.ts +21 -3
- package/dist/lib/helpers/ApiHelpers.js +66 -17
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/ConstantHelper.d.ts +5 -0
- package/dist/lib/helpers/ConstantHelper.js +5 -0
- package/dist/lib/helpers/ConstantHelper.js.map +1 -1
- package/dist/lib/helpers/ContentRenderUiHelper.d.ts +9 -0
- package/dist/lib/helpers/ContentRenderUiHelper.js +30 -0
- package/dist/lib/helpers/ContentRenderUiHelper.js.map +1 -0
- package/dist/lib/helpers/ContentUiHelper.d.ts +71 -3
- package/dist/lib/helpers/ContentUiHelper.js +221 -7
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +2 -0
- package/dist/lib/helpers/DataTypeApiHelper.js +24 -0
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +7 -7
- package/dist/lib/helpers/DataTypeUiHelper.js +14 -14
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.d.ts +18 -1
- package/dist/lib/helpers/DocumentApiHelper.js +95 -2
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentBlueprintApiHelper.d.ts +1 -1
- package/dist/lib/helpers/DocumentBlueprintApiHelper.js +4 -5
- package/dist/lib/helpers/DocumentBlueprintApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +2 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js +51 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +0 -2
- package/dist/lib/helpers/DocumentTypeUiHelper.js +0 -5
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageApiHelper.d.ts +1 -0
- package/dist/lib/helpers/LanguageApiHelper.js +3 -0
- package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageUiHelper.js +2 -2
- package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
- package/dist/lib/helpers/LoginApiHelper.d.ts +3 -2
- package/dist/lib/helpers/LoginApiHelper.js +7 -9
- package/dist/lib/helpers/LoginApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaUiHelper.d.ts +5 -0
- package/dist/lib/helpers/MediaUiHelper.js +14 -0
- package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberGroupUiHelper.d.ts +0 -2
- package/dist/lib/helpers/MemberGroupUiHelper.js +0 -5
- package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/NotificationConstantHelper.d.ts +36 -0
- package/dist/lib/helpers/NotificationConstantHelper.js +41 -0
- package/dist/lib/helpers/NotificationConstantHelper.js.map +1 -0
- package/dist/lib/helpers/PackageUiHelper.d.ts +4 -2
- package/dist/lib/helpers/PackageUiHelper.js +32 -24
- package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewUiHelper.d.ts +0 -1
- package/dist/lib/helpers/PartialViewUiHelper.js +5 -7
- package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptApiHelper.d.ts +1 -1
- package/dist/lib/helpers/ScriptApiHelper.js +4 -5
- package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptUiHelper.d.ts +0 -1
- package/dist/lib/helpers/ScriptUiHelper.js +2 -4
- package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetApiHelper.d.ts +1 -0
- package/dist/lib/helpers/StylesheetApiHelper.js +10 -1
- package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateApiHelper.d.ts +6 -0
- package/dist/lib/helpers/TemplateApiHelper.js +77 -0
- package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateUiHelper.d.ts +0 -1
- package/dist/lib/helpers/TemplateUiHelper.js +5 -7
- package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +21 -3
- package/dist/lib/helpers/UiBaseLocators.js +72 -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/UserApiHelper.d.ts +9 -2
- package/dist/lib/helpers/UserApiHelper.js +51 -6
- package/dist/lib/helpers/UserApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupApiHelper.d.ts +31 -0
- package/dist/lib/helpers/UserGroupApiHelper.js +346 -0
- package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupUiHelper.d.ts +33 -7
- package/dist/lib/helpers/UserGroupUiHelper.js +93 -18
- package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.d.ts +2 -7
- package/dist/lib/helpers/UserUiHelper.js +5 -18
- package/dist/lib/helpers/UserUiHelper.js.map +1 -1
- package/dist/lib/helpers/index.d.ts +1 -0
- package/dist/lib/helpers/index.js +3 -1
- package/dist/lib/helpers/index.js.map +1 -1
- package/dist/lib/helpers/testExtension.js +2 -1
- package/dist/lib/helpers/testExtension.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,
|
|
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).click();\n await expect(this.enterAName).toHaveValue(templateName);\n } else {\n await this.clickCaretButtonForName(templateName);\n await this.page.getByLabel(childTemplateName).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}"]}
|
|
@@ -112,9 +112,15 @@ export declare class UiBaseLocators {
|
|
|
112
112
|
readonly gridBtn: Locator;
|
|
113
113
|
readonly listBtn: Locator;
|
|
114
114
|
readonly viewBundleBtn: Locator;
|
|
115
|
+
private readonly chooseDocumentInputBtn;
|
|
116
|
+
private readonly chooseMediaInputBtn;
|
|
117
|
+
readonly container: Locator;
|
|
115
118
|
readonly createDocumentBlueprintBtn: Locator;
|
|
119
|
+
readonly actionsBtn: Locator;
|
|
120
|
+
readonly mediaPickerModalSubmitBtn: Locator;
|
|
116
121
|
constructor(page: Page);
|
|
117
122
|
clickActionsMenuForName(name: string): Promise<void>;
|
|
123
|
+
isActionsMenuForNameVisible(name: string, isVisible?: boolean): Promise<void>;
|
|
118
124
|
clickCaretButtonForName(name: string): Promise<void>;
|
|
119
125
|
clickCaretButton(): Promise<void>;
|
|
120
126
|
reloadTree(treeName: string): Promise<void>;
|
|
@@ -169,16 +175,17 @@ export declare class UiBaseLocators {
|
|
|
169
175
|
clickDeleteExactButton(): Promise<void>;
|
|
170
176
|
isTreeItemVisible(name: string, isVisible?: boolean): Promise<void>;
|
|
171
177
|
doesTreeItemHaveTheCorrectIcon(name: string, icon: string): Promise<void>;
|
|
172
|
-
goToSection(sectionName: string): Promise<void>;
|
|
178
|
+
goToSection(sectionName: string, checkSections?: boolean): Promise<void>;
|
|
173
179
|
goToSettingsTreeItem(settingsTreeItemName: string): Promise<void>;
|
|
174
180
|
clickDataElement(elementName: string, options?: any): Promise<void>;
|
|
175
181
|
getDataElement(elementName: string): Promise<Locator>;
|
|
176
182
|
isButtonWithNameVisible(name: string): Promise<void>;
|
|
177
183
|
clickLabelWithName(name: string, isExact?: boolean, toForce?: boolean): Promise<void>;
|
|
178
|
-
clickButtonWithName(name: string): Promise<void>;
|
|
184
|
+
clickButtonWithName(name: string, isExact?: boolean): Promise<void>;
|
|
179
185
|
isSuccessNotificationVisible(isVisible?: boolean): Promise<void>;
|
|
180
186
|
doesSuccessNotificationsHaveCount(count: number): Promise<void>;
|
|
181
187
|
isErrorNotificationVisible(isVisible?: boolean): Promise<void>;
|
|
188
|
+
isTextWithMessageVisible(message: string, isVisible?: boolean): Promise<void>;
|
|
182
189
|
clickCreateThreeDotsButton(): Promise<void>;
|
|
183
190
|
clickCreateButton(toForceClick?: boolean): Promise<void>;
|
|
184
191
|
clickAddButton(): Promise<void>;
|
|
@@ -210,6 +217,7 @@ export declare class UiBaseLocators {
|
|
|
210
217
|
rename(newName: string): Promise<void>;
|
|
211
218
|
isSuccessButtonWithTextVisible(text: string): Promise<void>;
|
|
212
219
|
dragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset?: number, horizontalOffset?: number, steps?: number): Promise<void>;
|
|
220
|
+
getButtonWithName(name: string): Promise<Locator>;
|
|
213
221
|
clickCreateLink(): Promise<void>;
|
|
214
222
|
insertSystemFieldValue(fieldValue: string): Promise<void>;
|
|
215
223
|
insertPartialView(partialViewName: string): Promise<void>;
|
|
@@ -238,8 +246,18 @@ export declare class UiBaseLocators {
|
|
|
238
246
|
clickConfirmTrashButton(): Promise<void>;
|
|
239
247
|
reloadRecycleBin(containsItems?: boolean): Promise<void>;
|
|
240
248
|
clickRecycleBinButton(): Promise<void>;
|
|
241
|
-
isItemVisibleInRecycleBin(
|
|
249
|
+
isItemVisibleInRecycleBin(item: string, isVisible?: boolean, isReload?: boolean): Promise<void>;
|
|
242
250
|
changeToGridView(): Promise<void>;
|
|
243
251
|
changeToListView(): Promise<void>;
|
|
244
252
|
isViewBundleButtonVisible(isVisible?: boolean): Promise<void>;
|
|
253
|
+
doesSuccessNotificationHaveText(text: string, isVisible?: boolean): Promise<void>;
|
|
254
|
+
doesErrorNotificationHaveText(text: string, isVisible?: boolean): Promise<void>;
|
|
255
|
+
isSectionWithNameVisible(sectionName: string, isVisible?: boolean): Promise<void>;
|
|
256
|
+
clickMediaCardWithName(name: string): Promise<void>;
|
|
257
|
+
clickChooseContentStartNodeButton(): Promise<void>;
|
|
258
|
+
clickChooseMediaStartNodeButton(): Promise<void>;
|
|
259
|
+
clickActionsButton(): Promise<void>;
|
|
260
|
+
clickReferenceNodeLinkWithName(name: string): Promise<void>;
|
|
261
|
+
clickLinkWithName(name: string): Promise<void>;
|
|
262
|
+
clickMediaPickerModalSubmitButton(): Promise<void>;
|
|
245
263
|
}
|
|
@@ -116,7 +116,12 @@ class UiBaseLocators {
|
|
|
116
116
|
gridBtn;
|
|
117
117
|
listBtn;
|
|
118
118
|
viewBundleBtn;
|
|
119
|
+
chooseDocumentInputBtn;
|
|
120
|
+
chooseMediaInputBtn;
|
|
121
|
+
container;
|
|
119
122
|
createDocumentBlueprintBtn;
|
|
123
|
+
actionsBtn;
|
|
124
|
+
mediaPickerModalSubmitBtn;
|
|
120
125
|
constructor(page) {
|
|
121
126
|
this.page = page;
|
|
122
127
|
this.saveBtn = page.getByLabel('Save', { exact: true });
|
|
@@ -124,7 +129,7 @@ class UiBaseLocators {
|
|
|
124
129
|
this.deleteExactLabelBtn = page.getByLabel('Delete', { exact: true });
|
|
125
130
|
this.deleteExactBtn = page.getByRole('button', { name: 'Delete', exact: true });
|
|
126
131
|
this.deleteLabelBtn = page.getByLabel('Delete');
|
|
127
|
-
this.deleteBtn = page.
|
|
132
|
+
this.deleteBtn = page.getByLabel(/^Delete(\.\.\.)?$/);
|
|
128
133
|
this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');
|
|
129
134
|
this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');
|
|
130
135
|
this.breadcrumbBtn = page.getByLabel('Breadcrumb');
|
|
@@ -152,9 +157,9 @@ class UiBaseLocators {
|
|
|
152
157
|
this.renameThreeDotsBtn = page.getByLabel('Rename...', { exact: true });
|
|
153
158
|
this.newNameTxt = page.getByRole('textbox', { name: 'Enter new name...' });
|
|
154
159
|
this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');
|
|
155
|
-
this.createBtn = page.
|
|
160
|
+
this.createBtn = page.getByLabel(/^Create(\.\.\.)?$/, { exact: true });
|
|
156
161
|
this.successState = page.locator('[state="success"]');
|
|
157
|
-
this.chooseModalBtn =
|
|
162
|
+
this.chooseModalBtn = this.sidebarModal.locator('[look="primary"]').getByLabel('Choose');
|
|
158
163
|
this.addBtn = page.getByLabel('Add', { exact: true });
|
|
159
164
|
this.renameFolderThreeDotsBtn = page.getByLabel('Rename folder...');
|
|
160
165
|
this.renameFolderBtn = page.getByLabel('Rename folder');
|
|
@@ -183,7 +188,7 @@ class UiBaseLocators {
|
|
|
183
188
|
this.editorSettingsBtn = page.getByLabel('Editor settings');
|
|
184
189
|
this.labelAboveBtn = page.locator('button').filter({ hasText: 'Label above' });
|
|
185
190
|
this.unnamedTxt = page.getByRole('textbox', { name: 'Unnamed' });
|
|
186
|
-
this.deleteThreeDotsBtn = page.
|
|
191
|
+
this.deleteThreeDotsBtn = page.getByLabel('Delete...');
|
|
187
192
|
this.removeExactBtn = page.getByLabel('Remove', { exact: true });
|
|
188
193
|
this.confirmBtn = page.getByLabel('Confirm');
|
|
189
194
|
this.disableBtn = page.getByLabel('Disable', { exact: true });
|
|
@@ -207,13 +212,13 @@ class UiBaseLocators {
|
|
|
207
212
|
this.returnedItemsCount = page.locator('#results-count');
|
|
208
213
|
this.chooseRootContentBtn = page.getByLabel('Choose root document');
|
|
209
214
|
this.queryResults = page.locator('query-results');
|
|
210
|
-
this.reloadBtn = page.getByRole('button', { name: 'Reload' });
|
|
215
|
+
this.reloadBtn = page.getByRole('button', { name: 'Reload', exact: true });
|
|
211
216
|
this.confirmToRemoveBtn = page.locator('#confirm').getByLabel('Remove');
|
|
212
217
|
this.typeGroups = page.locator('umb-content-type-design-editor-group');
|
|
213
218
|
this.allowedChildNodesModal = page.locator('umb-tree-picker-modal');
|
|
214
219
|
this.configureAsACollectionBtn = page.getByLabel('Configure as a collection');
|
|
215
|
-
this.errorNotification = page.locator('uui-toast-notification
|
|
216
|
-
this.successNotification = page.locator('uui-toast-notification
|
|
220
|
+
this.errorNotification = page.locator('uui-toast-notification[open][color="danger"]');
|
|
221
|
+
this.successNotification = page.locator('uui-toast-notification[open][color="positive"]');
|
|
217
222
|
this.leftArrowBtn = page.locator('[name="icon-arrow-left"] svg');
|
|
218
223
|
this.clickToUploadBtn = page.locator('uui-file-dropzone').filter({ hasText: 'Click to upload' });
|
|
219
224
|
this.backOfficeHeader = page.locator('umb-backoffice-header');
|
|
@@ -229,13 +234,22 @@ class UiBaseLocators {
|
|
|
229
234
|
this.recycleBinMenuItemCaretBtn = this.recycleBinMenuItem.locator('#caret-button');
|
|
230
235
|
this.gridBtn = this.page.getByLabel('Grid');
|
|
231
236
|
this.listBtn = this.page.getByLabel('List');
|
|
232
|
-
this.viewBundleBtn = this.page.locator('umb-collection-view-bundle');
|
|
237
|
+
this.viewBundleBtn = this.page.locator('umb-collection-view-bundle uui-button svg');
|
|
233
238
|
this.createDocumentBlueprintBtn = page.getByLabel(/^Create Document Blueprint(\.\.\.)?$/);
|
|
239
|
+
this.chooseDocumentInputBtn = page.locator('umb-input-document').getByLabel('Choose');
|
|
240
|
+
this.chooseMediaInputBtn = page.locator('umb-input-media').getByLabel('Choose');
|
|
241
|
+
this.container = page.locator('#container');
|
|
242
|
+
this.actionsBtn = page.getByLabel('Actions', { exact: true });
|
|
243
|
+
this.mediaPickerModalSubmitBtn = page.locator('umb-media-picker-modal').getByLabel('Submit');
|
|
234
244
|
}
|
|
235
245
|
async clickActionsMenuForName(name) {
|
|
236
246
|
await this.page.locator('[label="' + name + '"]').click();
|
|
237
247
|
await this.page.locator('[label="' + name + '"] >> [label="Open actions menu"]').first().click();
|
|
238
248
|
}
|
|
249
|
+
async isActionsMenuForNameVisible(name, isVisible = true) {
|
|
250
|
+
await this.page.locator('[label="' + name + '"]').click();
|
|
251
|
+
await (0, test_1.expect)(this.page.locator('[label="' + name + '"] >> [label="Open actions menu"]')).toBeVisible({ visible: isVisible });
|
|
252
|
+
}
|
|
239
253
|
async clickCaretButtonForName(name) {
|
|
240
254
|
await this.page.locator('div').filter({ hasText: name }).locator('#caret-button').click();
|
|
241
255
|
}
|
|
@@ -462,9 +476,11 @@ class UiBaseLocators {
|
|
|
462
476
|
async doesTreeItemHaveTheCorrectIcon(name, icon) {
|
|
463
477
|
return await (0, test_1.expect)(this.page.locator('umb-tree-item').filter({ hasText: name }).locator('umb-icon').locator('[name="' + icon + '"]')).toBeVisible();
|
|
464
478
|
}
|
|
465
|
-
async goToSection(sectionName) {
|
|
466
|
-
|
|
467
|
-
|
|
479
|
+
async goToSection(sectionName, checkSections = true) {
|
|
480
|
+
if (checkSections) {
|
|
481
|
+
for (let section in ConstantHelper_1.ConstantHelper.sections) {
|
|
482
|
+
await (0, test_1.expect)(this.backOfficeHeader.getByRole('tab', { name: ConstantHelper_1.ConstantHelper.sections[section] })).toBeVisible({ timeout: 30000 });
|
|
483
|
+
}
|
|
468
484
|
}
|
|
469
485
|
await this.backOfficeHeader.getByRole('tab', { name: sectionName }).click();
|
|
470
486
|
}
|
|
@@ -485,8 +501,8 @@ class UiBaseLocators {
|
|
|
485
501
|
await (0, test_1.expect)(this.page.getByLabel(name, { exact: isExact })).toBeVisible();
|
|
486
502
|
await this.page.getByLabel(name, { exact: isExact }).click({ force: toForce });
|
|
487
503
|
}
|
|
488
|
-
async clickButtonWithName(name) {
|
|
489
|
-
await this.page.getByRole('button', { name: name }).click();
|
|
504
|
+
async clickButtonWithName(name, isExact = false) {
|
|
505
|
+
await this.page.getByRole('button', { name: name, exact: isExact }).click();
|
|
490
506
|
}
|
|
491
507
|
async isSuccessNotificationVisible(isVisible = true) {
|
|
492
508
|
return await (0, test_1.expect)(this.successNotification.first()).toBeVisible({ visible: isVisible });
|
|
@@ -497,6 +513,9 @@ class UiBaseLocators {
|
|
|
497
513
|
async isErrorNotificationVisible(isVisible = true) {
|
|
498
514
|
return await (0, test_1.expect)(this.errorNotification.first()).toBeVisible({ visible: isVisible });
|
|
499
515
|
}
|
|
516
|
+
async isTextWithMessageVisible(message, isVisible = true) {
|
|
517
|
+
return await (0, test_1.expect)(this.page.getByText(message)).toBeVisible({ visible: isVisible });
|
|
518
|
+
}
|
|
500
519
|
async clickCreateThreeDotsButton() {
|
|
501
520
|
await this.createThreeDotsBtn.click();
|
|
502
521
|
}
|
|
@@ -632,6 +651,9 @@ class UiBaseLocators {
|
|
|
632
651
|
await this.page.waitForTimeout(400);
|
|
633
652
|
await this.page.mouse.up();
|
|
634
653
|
}
|
|
654
|
+
async getButtonWithName(name) {
|
|
655
|
+
return this.page.getByRole('button', { name: name });
|
|
656
|
+
}
|
|
635
657
|
async clickCreateLink() {
|
|
636
658
|
await this.createLink.click();
|
|
637
659
|
}
|
|
@@ -761,21 +783,53 @@ class UiBaseLocators {
|
|
|
761
783
|
async clickRecycleBinButton() {
|
|
762
784
|
await this.recycleBinBtn.click();
|
|
763
785
|
}
|
|
764
|
-
async isItemVisibleInRecycleBin(
|
|
765
|
-
|
|
766
|
-
|
|
786
|
+
async isItemVisibleInRecycleBin(item, isVisible = true, isReload = true) {
|
|
787
|
+
if (isReload) {
|
|
788
|
+
await this.reloadRecycleBin(isVisible);
|
|
789
|
+
}
|
|
790
|
+
return (0, test_1.expect)(this.page.locator('[label="Recycle Bin"] [label="' + item + '"]')).toBeVisible({ visible: isVisible });
|
|
767
791
|
}
|
|
768
792
|
async changeToGridView() {
|
|
769
|
-
await this.viewBundleBtn.click();
|
|
793
|
+
await this.viewBundleBtn.click({ force: true });
|
|
770
794
|
await this.gridBtn.click();
|
|
771
795
|
}
|
|
772
796
|
async changeToListView() {
|
|
773
|
-
await this.viewBundleBtn.click();
|
|
797
|
+
await this.viewBundleBtn.click({ force: true });
|
|
774
798
|
await this.listBtn.click();
|
|
775
799
|
}
|
|
776
800
|
async isViewBundleButtonVisible(isVisible = true) {
|
|
777
801
|
return (0, test_1.expect)(this.viewBundleBtn).toBeVisible({ visible: isVisible });
|
|
778
802
|
}
|
|
803
|
+
async doesSuccessNotificationHaveText(text, isVisible = true) {
|
|
804
|
+
return await (0, test_1.expect)(this.successNotification.filter({ hasText: text })).toBeVisible({ visible: isVisible });
|
|
805
|
+
}
|
|
806
|
+
async doesErrorNotificationHaveText(text, isVisible = true) {
|
|
807
|
+
return await (0, test_1.expect)(this.errorNotification.filter({ hasText: text })).toBeVisible({ visible: isVisible });
|
|
808
|
+
}
|
|
809
|
+
async isSectionWithNameVisible(sectionName, isVisible = true) {
|
|
810
|
+
await (0, test_1.expect)(this.page.getByRole('tab', { name: sectionName })).toBeVisible({ visible: isVisible });
|
|
811
|
+
}
|
|
812
|
+
async clickMediaCardWithName(name) {
|
|
813
|
+
await this.mediaCardItems.filter({ hasText: name }).locator('umb-icon').click();
|
|
814
|
+
}
|
|
815
|
+
async clickChooseContentStartNodeButton() {
|
|
816
|
+
await this.chooseDocumentInputBtn.click();
|
|
817
|
+
}
|
|
818
|
+
async clickChooseMediaStartNodeButton() {
|
|
819
|
+
await this.chooseMediaInputBtn.click({ force: true });
|
|
820
|
+
}
|
|
821
|
+
async clickActionsButton() {
|
|
822
|
+
await this.actionsBtn.click();
|
|
823
|
+
}
|
|
824
|
+
async clickReferenceNodeLinkWithName(name) {
|
|
825
|
+
await this.page.locator('[name="' + name + '"] a#open-part').click();
|
|
826
|
+
}
|
|
827
|
+
async clickLinkWithName(name) {
|
|
828
|
+
await this.page.getByRole('link', { name: name }).click();
|
|
829
|
+
}
|
|
830
|
+
async clickMediaPickerModalSubmitButton() {
|
|
831
|
+
await this.mediaPickerModalSubmitBtn.click();
|
|
832
|
+
}
|
|
779
833
|
}
|
|
780
834
|
exports.UiBaseLocators = UiBaseLocators;
|
|
781
835
|
//# sourceMappingURL=UiBaseLocators.js.map
|