@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.
@@ -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 actionsBtn: Locator;
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
- clickActionsButton(): Promise<void>;
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
- actionsBtn;
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.actionsBtn = page.getByLabel('Actions', { exact: true });
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 clickActionsButton() {
941
- await (0, test_1.expect)(this.actionsBtn).toBeVisible();
942
- await this.actionsBtn.click();
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();