@umbraco/playwright-testhelpers 16.0.7 → 16.0.9
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/ConstantHelper.d.ts +5 -0
- package/dist/lib/helpers/ConstantHelper.js +14 -9
- package/dist/lib/helpers/ConstantHelper.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.d.ts +6 -1
- package/dist/lib/helpers/ContentUiHelper.js +17 -3
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +2 -0
- package/dist/lib/helpers/DataTypeApiHelper.js +23 -0
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +4 -0
- package/dist/lib/helpers/DataTypeUiHelper.js +15 -0
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.d.ts +1 -0
- package/dist/lib/helpers/DocumentApiHelper.js +29 -0
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaApiHelper.js +7 -0
- package/dist/lib/helpers/MediaApiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +2 -2
- package/dist/lib/helpers/UiBaseLocators.js +6 -6
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.d.ts +0 -2
- package/dist/lib/helpers/UserUiHelper.js +0 -7
- 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":"MediaApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {MediaBuilder} from \"@umbraco/json-models-builders\";\n\nexport class MediaApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const rootMedia = await this.getAllAtRoot();\n const jsonMedia = await rootMedia.json();\n\n for (const media of jsonMedia.items) {\n if (media.variants[0].name === name) {\n if (media.hasChildren) {\n return await this.recurseDeleteChildren(media);\n }\n return await this.delete(media.id);\n } else if (media.hasChildren) {\n await this.recurseChildren(name, media.id, true);\n }\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/root?skip=0&take=10000');\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.variants[0].name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child);\n }\n return await this.delete(child.id);\n } else if (child.hasChildren) {\n return await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n private async recurseDeleteChildren(media) {\n if (!media.hasChildren) {\n return await this.delete(media.id);\n }\n const items = await this.getChildren(media.id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(media.id);\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);\n return await response.json();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/children?parentId=' + id + '&skip=0&take=10000');\n const items = await response.json();\n return items.items;\n }\n\n async create(media) {\n if (media == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/media', media);\n return response.headers().location.split(\"/\").pop();\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async getByName(name: string) {\n const rootMedia = await this.getAllAtRoot();\n const jsonMedia = await rootMedia.json();\n\n for (const media of jsonMedia.items) {\n if (media.variants[0].name === name) {\n return await this.get(media.id);\n } else if (media.hasChildren) {\n await this.recurseChildren(name, media.id, false);\n }\n }\n return null;\n }\n\n async getMediaUrl(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/media/urls?id=' + id);\n const urls = await response.json();\n\n return urls[0].urlInfos[0].url;\n }\n \n async getRecycleBinItems() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media/root?skip=0&take=10000');\n }\n\n async emptyRecycleBin() {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media');\n }\n\n async doesMediaItemExistInRecycleBin(mediaItemName: string) {\n const recycleBin = await this.getRecycleBinItems();\n const jsonRecycleBin = await recycleBin.json();\n for (const media of jsonRecycleBin.items) {\n if (media.variants[0].name === mediaItemName) {\n return true;\n }\n }\n return false;\n }\n\n async trashMediaItem(mediaItemName: string) {\n const media = await this.getByName(mediaItemName);\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/media/' + media.id + '/move-to-recycle-bin');\n }\n\n async getMediaPathByName(name: string) {\n const media = await this.getByName(name);\n const mediaUrl = await this.getMediaUrl(media.id);\n \n if (media && mediaUrl > 0) {\n // Gets the random mediaPath for the media\n const mediaPath = mediaUrl.split('/media/').pop()?.split('/')[0];\n // Gets the file name from the mediaUrl\n const fileName = mediaUrl.split('/').pop();\n\n return {\n mediaPath: mediaPath,\n fileName: fileName\n };\n }\n\n return null;\n }\n\n async createDefaultMediaFile(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .addValueData()\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFileAndParentId(mediaName: string, parentId: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .addValueData()\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFolder(mediaFolderName: string) {\n const mediaType = await this.api.mediaType.getByName('Folder');\n \n const media = new MediaBuilder()\n .withMediaTypeId(mediaType.id)\n .addVariant()\n .withName(mediaFolderName)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFolderAndParentId(mediaName: string, parentId: string) {\n const mediaType = await this.api.mediaType.getByName('Folder');\n \n const media = new MediaBuilder()\n .withMediaTypeId(mediaType.id)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .build();\n\n return await this.create(media);\n }\n \n async createDefaultMediaWithImage(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .addValueData()\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n \n return await this.create(media);\n }\n\n async createDefaultMediaWithArticle(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryArticleFile();\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .addValueData()\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n\n return await this.create(media);\n }\n \n async createDefaultMediaWithImageAndParentId(mediaName: string, parentId: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .addValueData()\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async getAllMediaNames(orderBy: string = 'updateDate', orderDirection: string = 'Descending') {\n let mediaNames: string[] = [];\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/collection/media?id=&dataTypeId=&orderBy=' + orderBy + '&orderDirection=' + orderDirection + '&skip=0&take=100');\n const mediaItems = await response.json();\n for (const media of mediaItems.items) {\n mediaNames.push(media.variants[0].name);\n }\n return mediaNames;\n }\n\n async doesMediaItemHaveChildName(mediaId: string, childName: string) {\n const childrenItems = await this.getChildren(mediaId);\n for (const child of childrenItems) {\n if (child.variants[0].name === childName) {\n return true;\n }\n }\n return false;\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"MediaApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {MediaBuilder} from \"@umbraco/json-models-builders\";\n\nexport class MediaApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const rootMedia = await this.getAllAtRoot();\n const jsonMedia = await rootMedia.json();\n\n for (const media of jsonMedia.items) {\n if (media.variants[0].name === name) {\n if (media.hasChildren) {\n return await this.recurseDeleteChildren(media);\n }\n return await this.delete(media.id);\n } else if (media.hasChildren) {\n await this.recurseChildren(name, media.id, true);\n }\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/root?skip=0&take=10000');\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.variants[0].name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child);\n }\n return await this.delete(child.id);\n } else if (child.hasChildren) {\n return await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n private async recurseDeleteChildren(media) {\n if (!media.hasChildren) {\n return await this.delete(media.id);\n }\n const items = await this.getChildren(media.id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(media.id);\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);\n return await response.json();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/children?parentId=' + id + '&skip=0&take=10000');\n const items = await response.json();\n return items.items;\n }\n\n async create(media) {\n if (media == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/media', media);\n return response.headers().location.split(\"/\").pop();\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async getByName(name: string) {\n const rootMedia = await this.getAllAtRoot();\n const jsonMedia = await rootMedia.json();\n\n for (const media of jsonMedia.items) {\n if (media.variants[0].name === name) {\n return await this.get(media.id);\n } else if (media.hasChildren) {\n await this.recurseChildren(name, media.id, false);\n }\n }\n return null;\n }\n\n async getMediaUrl(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/media/urls?id=' + id);\n const urls = await response.json();\n\n return urls[0].urlInfos[0].url;\n }\n \n async getRecycleBinItems() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media/root?skip=0&take=10000');\n }\n\n async emptyRecycleBin() {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media');\n }\n\n async doesMediaItemExistInRecycleBin(mediaItemName: string) {\n const recycleBin = await this.getRecycleBinItems();\n const jsonRecycleBin = await recycleBin.json();\n for (const media of jsonRecycleBin.items) {\n if (media.variants[0].name === mediaItemName) {\n return true;\n }\n }\n return false;\n }\n\n async trashMediaItem(mediaItemName: string) {\n const media = await this.getByName(mediaItemName);\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/media/' + media.id + '/move-to-recycle-bin');\n }\n\n async getMediaPathByName(name: string) {\n const media = await this.getByName(name);\n const mediaUrl = await this.getMediaUrl(media.id);\n \n if (media && mediaUrl > 0) {\n // Gets the random mediaPath for the media\n const mediaPath = mediaUrl.split('/media/').pop()?.split('/')[0];\n // Gets the file name from the mediaUrl\n const fileName = mediaUrl.split('/').pop();\n\n return {\n mediaPath: mediaPath,\n fileName: fileName\n };\n }\n\n return null;\n }\n\n async createDefaultMediaFile(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();\n await this.ensureNameNotExists(mediaName);\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .addValueData()\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFileAndParentId(mediaName: string, parentId: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();\n await this.ensureNameNotExists(mediaName);\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .addValueData()\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFolder(mediaFolderName: string) {\n const mediaType = await this.api.mediaType.getByName('Folder');\n await this.ensureNameNotExists(mediaFolderName);\n\n const media = new MediaBuilder()\n .withMediaTypeId(mediaType.id)\n .addVariant()\n .withName(mediaFolderName)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFolderAndParentId(mediaName: string, parentId: string) {\n const mediaType = await this.api.mediaType.getByName('Folder');\n await this.ensureNameNotExists(mediaName);\n\n const media = new MediaBuilder()\n .withMediaTypeId(mediaType.id)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .build();\n\n return await this.create(media);\n }\n \n async createDefaultMediaWithImage(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n await this.ensureNameNotExists(mediaName);\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .addValueData()\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n \n return await this.create(media);\n }\n\n async createDefaultMediaWithArticle(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryArticleFile();\n await this.ensureNameNotExists(mediaName);\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .addValueData()\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n\n return await this.create(media);\n }\n \n async createDefaultMediaWithImageAndParentId(mediaName: string, parentId: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n await this.ensureNameNotExists(mediaName);\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .addValueData()\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async getAllMediaNames(orderBy: string = 'updateDate', orderDirection: string = 'Descending') {\n let mediaNames: string[] = [];\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/collection/media?id=&dataTypeId=&orderBy=' + orderBy + '&orderDirection=' + orderDirection + '&skip=0&take=100');\n const mediaItems = await response.json();\n for (const media of mediaItems.items) {\n mediaNames.push(media.variants[0].name);\n }\n return mediaNames;\n }\n\n async doesMediaItemHaveChildName(mediaId: string, childName: string) {\n const childrenItems = await this.getChildren(mediaId);\n for (const child of childrenItems) {\n if (child.variants[0].name === childName) {\n return true;\n }\n }\n return false;\n }\n}"]}
|
|
@@ -113,7 +113,7 @@ export declare class UiBaseLocators {
|
|
|
113
113
|
readonly chooseMediaInputBtn: Locator;
|
|
114
114
|
readonly container: Locator;
|
|
115
115
|
readonly createDocumentBlueprintBtn: Locator;
|
|
116
|
-
readonly
|
|
116
|
+
readonly actionBtn: Locator;
|
|
117
117
|
readonly mediaPickerModalSubmitBtn: Locator;
|
|
118
118
|
readonly deleteBtn: Locator;
|
|
119
119
|
readonly createModalBtn: Locator;
|
|
@@ -281,7 +281,7 @@ export declare class UiBaseLocators {
|
|
|
281
281
|
clickMediaCardWithName(name: string): Promise<void>;
|
|
282
282
|
clickChooseContentStartNodeButton(): Promise<void>;
|
|
283
283
|
clickChooseMediaStartNodeButton(): Promise<void>;
|
|
284
|
-
|
|
284
|
+
clickActionButton(): Promise<void>;
|
|
285
285
|
clickReferenceNodeLinkWithName(name: string): Promise<void>;
|
|
286
286
|
clickLinkWithName(name: string): Promise<void>;
|
|
287
287
|
clickMediaPickerModalSubmitButton(): Promise<void>;
|
|
@@ -117,7 +117,7 @@ class UiBaseLocators {
|
|
|
117
117
|
chooseMediaInputBtn;
|
|
118
118
|
container;
|
|
119
119
|
createDocumentBlueprintBtn;
|
|
120
|
-
|
|
120
|
+
actionBtn;
|
|
121
121
|
mediaPickerModalSubmitBtn;
|
|
122
122
|
deleteBtn;
|
|
123
123
|
createModalBtn;
|
|
@@ -261,7 +261,7 @@ class UiBaseLocators {
|
|
|
261
261
|
this.chooseDocumentInputBtn = page.locator('umb-input-document').getByLabel('Choose');
|
|
262
262
|
this.chooseMediaInputBtn = page.locator('umb-input-media').getByLabel('Choose');
|
|
263
263
|
this.container = page.locator('#container');
|
|
264
|
-
this.
|
|
264
|
+
this.actionBtn = page.locator('[data-mark="workspace:action-menu-button"]');
|
|
265
265
|
this.mediaPickerModalSubmitBtn = page.locator('umb-media-picker-modal').getByLabel('Submit');
|
|
266
266
|
this.deleteBtn = page.getByRole('button', { name: /^Delete(…)?$/ });
|
|
267
267
|
this.createModalBtn = this.sidebarModal.getByLabel('Create', { exact: true });
|
|
@@ -284,7 +284,7 @@ class UiBaseLocators {
|
|
|
284
284
|
this.collectionTreeItemTableRow = this.page.locator('umb-collection-workspace-view umb-table uui-table-row');
|
|
285
285
|
this.folderBtn = this.createOptionActionListModal.locator('[name="Folder"]');
|
|
286
286
|
this.reloadChildrenBtn = page.getByRole('button', { name: 'Reload children' });
|
|
287
|
-
this.confirmActionModalEntityReferences = page.locator('umb-confirm-action-modal-entity-references');
|
|
287
|
+
this.confirmActionModalEntityReferences = page.locator('umb-confirm-action-modal-entity-references,umb-confirm-bulk-action-modal-entity-references');
|
|
288
288
|
this.referenceHeadline = this.confirmActionModalEntityReferences.locator('#reference-headline');
|
|
289
289
|
this.entityItemRef = this.confirmActionModalEntityReferences.locator('umb-entity-item-ref');
|
|
290
290
|
this.validationMessage = page.locator('umb-form-validation-message').locator('#messages');
|
|
@@ -937,9 +937,9 @@ class UiBaseLocators {
|
|
|
937
937
|
await (0, test_1.expect)(this.chooseMediaInputBtn).toBeVisible();
|
|
938
938
|
await this.chooseMediaInputBtn.click();
|
|
939
939
|
}
|
|
940
|
-
async
|
|
941
|
-
await (0, test_1.expect)(this.
|
|
942
|
-
await this.
|
|
940
|
+
async clickActionButton() {
|
|
941
|
+
await (0, test_1.expect)(this.actionBtn).toBeVisible();
|
|
942
|
+
await this.actionBtn.click();
|
|
943
943
|
}
|
|
944
944
|
async clickReferenceNodeLinkWithName(name) {
|
|
945
945
|
await (0, test_1.expect)(this.page.locator('[name="' + name + '"] a#open-part')).toBeVisible();
|