@umbraco/playwright-testhelpers 18.0.0 → 18.0.1

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.
@@ -30,4 +30,5 @@ export declare class ElementApiHelper {
30
30
  isElementPublished(id: string): Promise<boolean>;
31
31
  createDefaultElementFolder(folderName: string, parentId?: string): Promise<string | undefined>;
32
32
  createElementWithElementPickers(elementName: string, elementTypeId: string, dataTypeName: string, elementPickerIds: string[]): Promise<string | undefined>;
33
+ createDefaultElementWithEnglishAndDanishVariants(elementTypeId: string, englishName: string, danishName: string, propertyName: string, englishTextContent: string, danishTextContent: string): Promise<string | undefined>;
33
34
  }
@@ -248,6 +248,32 @@ class ElementApiHelper {
248
248
  // Create element
249
249
  return await this.create(element);
250
250
  }
251
+ async createDefaultElementWithEnglishAndDanishVariants(elementTypeId, englishName, danishName, propertyName, englishTextContent, danishTextContent) {
252
+ await this.ensureNameNotExists(englishName);
253
+ await this.ensureNameNotExists(danishName);
254
+ const element = new json_models_builders_1.ElementBuilder()
255
+ .withDocumentTypeId(elementTypeId)
256
+ .addVariant()
257
+ .withName(englishName)
258
+ .withCulture('en-US')
259
+ .done()
260
+ .addVariant()
261
+ .withName(danishName)
262
+ .withCulture('da')
263
+ .done()
264
+ .addValue()
265
+ .withAlias(AliasHelper_1.AliasHelper.toAlias(propertyName))
266
+ .withValue(englishTextContent)
267
+ .withCulture('en-US')
268
+ .done()
269
+ .addValue()
270
+ .withAlias(AliasHelper_1.AliasHelper.toAlias(propertyName))
271
+ .withValue(danishTextContent)
272
+ .withCulture('da')
273
+ .done()
274
+ .build();
275
+ return await this.create(element);
276
+ }
251
277
  }
252
278
  exports.ElementApiHelper = ElementApiHelper;
253
279
  //# sourceMappingURL=ElementApiHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElementApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ElementApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {AliasHelper} from \"./AliasHelper\";\nimport {ApiHelpers} from \"./ApiHelpers\";\nimport {ConstantHelper} from \"./ConstantHelper\";\nimport {ElementBuilder} from \"@umbraco/json-models-builders\";\n\nexport class ElementApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return await response.json();\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return response.status() === 200;\n }\n\n async create(element: any) {\n if (element == null) {\n return;\n }\n const response = await this.api.post(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}`, element);\n return response.headers().location.split(\"v1/element/\").pop();\n }\n\n async delete(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return response.status();\n }\n\n async update(id: string, element) {\n if (element == null) {\n return;\n }\n const variantsData = element.variants.map(variant => ({\n culture: variant.culture,\n segment: variant.segment,\n name: variant.name\n }));\n\n const updateData = {\n values: element.values,\n variants: variantsData\n };\n return await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`, updateData);\n }\n\n async getAllAtRoot() {\n return await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementRoot}?skip=0&take=10000&foldersOnly=false`);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementChildren}?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async getChildrenAmount(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementChildren}?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.total;\n }\n\n async doesNameExist(name: string) {\n const result = await this.getByName(name);\n return result !== false;\n }\n\n private async recurseDeleteChildren(id: string, isFolder: boolean = false) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child.id, child.isFolder);\n } else {\n child.isFolder ? await this.deleteFolder(child.id) : await this.delete(child.id);\n }\n }\n // Delete parent using the correct method\n return isFolder ? await this.deleteFolder(id) : await this.delete(id);\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 // Use root level 'name' property for both folders and elements\n if (child.name === name) {\n if (!toDelete) {\n return child.isFolder ? await this.getFolder(child.id) : await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child.id, child.isFolder);\n } else {\n return child.isFolder ? await this.deleteFolder(child.id) : await this.delete(child.id);\n }\n }\n\n if (child.hasChildren) {\n const result = await this.recurseChildren(name, child.id, toDelete);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootElements = await this.getAllAtRoot();\n const jsonElements = await rootElements.json();\n\n for (const element of jsonElements.items) {\n // Use root level 'name' property for both folders and elements\n if (element.name === name) {\n return element.isFolder ? await this.getFolder(element.id) : await this.get(element.id);\n }\n\n // Recursively search children\n if (element.hasChildren) {\n const result = await this.recurseChildren(name, element.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootElements = await this.getAllAtRoot();\n const jsonElements = await rootElements.json();\n\n for (const element of jsonElements.items) {\n // Use root level 'name' property for both folders and elements\n if (element.name === name) {\n if (element.hasChildren) {\n await this.recurseDeleteChildren(element.id, element.isFolder);\n } else {\n element.isFolder ? await this.deleteFolder(element.id) : await this.delete(element.id);\n }\n } else if (element.hasChildren) {\n // Search in children\n await this.recurseChildren(name, element.id, true);\n }\n }\n }\n\n async publish(id: string, publishSchedulesData: any = {\"publishSchedules\": [{\"culture\": null}]}) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}/publish`, publishSchedulesData);\n return response.status();\n }\n\n async moveToRecycleBin(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}/move-to-recycle-bin`);\n return response.status();\n }\n\n async getAllRecycleBinItems() {\n return await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.recycleBinElement}/root?skip=0&take=10000`);\n }\n\n async emptyRecycleBin() {\n return await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.recycleBinElement}`);\n }\n\n async doesItemExistInRecycleBin(elementName: string) {\n const recycleBin = await this.getAllRecycleBinItems();\n const jsonRecycleBin = await recycleBin.json();\n for (const element of jsonRecycleBin.items) {\n if (element.name === elementName) {\n return true;\n }\n }\n return false;\n }\n\n // Folder\n async getFolder(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${id}`);\n return await response.json();\n }\n\n async deleteFolder(id: string) {\n return await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${id}`);\n }\n\n async createFolder(name: string, parentId?: string) {\n const folder = {\n name: name,\n parent: parentId ? {id: parentId} : null\n\n }\n const response = await this.api.post(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}`, folder);\n return response.headers().location.split(\"/\").pop();\n }\n\n async renameFolder(folderId: string, folderName: string) {\n const folder = {\n name: folderName\n }\n return await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${folderId}`, folder);\n }\n\n // Create Elements\n async createDefaultElement(elementName: string, elementTypeId: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async createElementWithTextContent(elementName: string, elementTypeId: string, textContent: string, dataTypeName: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async createDefaultElementWithParent(elementName: string, elementTypeId: string, parentId: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(elementName)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async isElementPublished(id: string) {\n const element = await this.get(id);\n return element.variants[0].state === 'Published';\n }\n\n async createDefaultElementFolder(folderName: string, parentId?: string) {\n await this.ensureNameNotExists(folderName);\n\n return await this.createFolder(folderName, parentId);\n }\n\n async createElementWithElementPickers(elementName: string, elementTypeId: string, dataTypeName: string, elementPickerIds: string[]) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(elementPickerIds)\n .done()\n .build();\n\n // Create element\n return await this.create(element);\n }\n}"]}
1
+ {"version":3,"file":"ElementApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ElementApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {AliasHelper} from \"./AliasHelper\";\nimport {ApiHelpers} from \"./ApiHelpers\";\nimport {ConstantHelper} from \"./ConstantHelper\";\nimport {ElementBuilder} from \"@umbraco/json-models-builders\";\n\nexport class ElementApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return await response.json();\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return response.status() === 200;\n }\n\n async create(element: any) {\n if (element == null) {\n return;\n }\n const response = await this.api.post(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}`, element);\n return response.headers().location.split(\"v1/element/\").pop();\n }\n\n async delete(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return response.status();\n }\n\n async update(id: string, element) {\n if (element == null) {\n return;\n }\n const variantsData = element.variants.map(variant => ({\n culture: variant.culture,\n segment: variant.segment,\n name: variant.name\n }));\n\n const updateData = {\n values: element.values,\n variants: variantsData\n };\n return await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`, updateData);\n }\n\n async getAllAtRoot() {\n return await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementRoot}?skip=0&take=10000&foldersOnly=false`);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementChildren}?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async getChildrenAmount(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementChildren}?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.total;\n }\n\n async doesNameExist(name: string) {\n const result = await this.getByName(name);\n return result !== false;\n }\n\n private async recurseDeleteChildren(id: string, isFolder: boolean = false) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child.id, child.isFolder);\n } else {\n child.isFolder ? await this.deleteFolder(child.id) : await this.delete(child.id);\n }\n }\n // Delete parent using the correct method\n return isFolder ? await this.deleteFolder(id) : await this.delete(id);\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 // Use root level 'name' property for both folders and elements\n if (child.name === name) {\n if (!toDelete) {\n return child.isFolder ? await this.getFolder(child.id) : await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child.id, child.isFolder);\n } else {\n return child.isFolder ? await this.deleteFolder(child.id) : await this.delete(child.id);\n }\n }\n\n if (child.hasChildren) {\n const result = await this.recurseChildren(name, child.id, toDelete);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootElements = await this.getAllAtRoot();\n const jsonElements = await rootElements.json();\n\n for (const element of jsonElements.items) {\n // Use root level 'name' property for both folders and elements\n if (element.name === name) {\n return element.isFolder ? await this.getFolder(element.id) : await this.get(element.id);\n }\n\n // Recursively search children\n if (element.hasChildren) {\n const result = await this.recurseChildren(name, element.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootElements = await this.getAllAtRoot();\n const jsonElements = await rootElements.json();\n\n for (const element of jsonElements.items) {\n // Use root level 'name' property for both folders and elements\n if (element.name === name) {\n if (element.hasChildren) {\n await this.recurseDeleteChildren(element.id, element.isFolder);\n } else {\n element.isFolder ? await this.deleteFolder(element.id) : await this.delete(element.id);\n }\n } else if (element.hasChildren) {\n // Search in children\n await this.recurseChildren(name, element.id, true);\n }\n }\n }\n\n async publish(id: string, publishSchedulesData: any = {\"publishSchedules\": [{\"culture\": null}]}) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}/publish`, publishSchedulesData);\n return response.status();\n }\n\n async moveToRecycleBin(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}/move-to-recycle-bin`);\n return response.status();\n }\n\n async getAllRecycleBinItems() {\n return await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.recycleBinElement}/root?skip=0&take=10000`);\n }\n\n async emptyRecycleBin() {\n return await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.recycleBinElement}`);\n }\n\n async doesItemExistInRecycleBin(elementName: string) {\n const recycleBin = await this.getAllRecycleBinItems();\n const jsonRecycleBin = await recycleBin.json();\n for (const element of jsonRecycleBin.items) {\n if (element.name === elementName) {\n return true;\n }\n }\n return false;\n }\n\n // Folder\n async getFolder(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${id}`);\n return await response.json();\n }\n\n async deleteFolder(id: string) {\n return await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${id}`);\n }\n\n async createFolder(name: string, parentId?: string) {\n const folder = {\n name: name,\n parent: parentId ? {id: parentId} : null\n\n }\n const response = await this.api.post(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}`, folder);\n return response.headers().location.split(\"/\").pop();\n }\n\n async renameFolder(folderId: string, folderName: string) {\n const folder = {\n name: folderName\n }\n return await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${folderId}`, folder);\n }\n\n // Create Elements\n async createDefaultElement(elementName: string, elementTypeId: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async createElementWithTextContent(elementName: string, elementTypeId: string, textContent: string, dataTypeName: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async createDefaultElementWithParent(elementName: string, elementTypeId: string, parentId: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(elementName)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async isElementPublished(id: string) {\n const element = await this.get(id);\n return element.variants[0].state === 'Published';\n }\n\n async createDefaultElementFolder(folderName: string, parentId?: string) {\n await this.ensureNameNotExists(folderName);\n\n return await this.createFolder(folderName, parentId);\n }\n\n async createElementWithElementPickers(elementName: string, elementTypeId: string, dataTypeName: string, elementPickerIds: string[]) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(elementPickerIds)\n .done()\n .build();\n\n // Create element\n return await this.create(element);\n }\n\n async createDefaultElementWithEnglishAndDanishVariants(elementTypeId: string, englishName: string, danishName: string, propertyName: string, englishTextContent: string, danishTextContent: string) {\n await this.ensureNameNotExists(englishName);\n await this.ensureNameNotExists(danishName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(englishName)\n .withCulture('en-US')\n .done()\n .addVariant()\n .withName(danishName)\n .withCulture('da')\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .withValue(englishTextContent)\n .withCulture('en-US')\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .withValue(danishTextContent)\n .withCulture('da')\n .done()\n .build();\n\n return await this.create(element);\n }\n}"]}
@@ -273,7 +273,7 @@ class LibraryUiHelper extends UiBaseLocators_1.UiBaseLocators {
273
273
  this.elementFolderCollectionView = page.locator('umb-element-folder-workspace-view-collection');
274
274
  this.elementWorkspaceEditor = page.locator('umb-workspace-editor');
275
275
  this.emptyRecycleBinBtn = page.getByTestId('entity-action:Umb.EntityAction.Element.RecycleBin.Empty').locator('#button');
276
- this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', { exact: true });
276
+ this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty recycle bin', { exact: true });
277
277
  this.duplicateToBtn = page.getByRole('button', { name: 'Duplicate to' });
278
278
  this.moveToBtn = page.getByRole('button', { name: 'Move to' });
279
279
  this.duplicateBtn = page.getByLabel('Duplicate', { exact: true });
@@ -347,7 +347,7 @@ class LibraryUiHelper extends UiBaseLocators_1.UiBaseLocators {
347
347
  this.lastPublished = this.generalItem.filter({ hasText: 'Last published' }).locator('umb-localize-date');
348
348
  this.publishAt = this.generalItem.filter({ hasText: 'Publish at' }).locator('umb-localize-date');
349
349
  this.removeAt = this.generalItem.filter({ hasText: 'Remove at' }).locator('umb-localize-date');
350
- this.selectAllCheckbox = this.elementScheduleModal.locator('[label="Select all"]');
350
+ this.selectAllCheckbox = page.locator('[label="Select all"]');
351
351
  this.confirmToPublishBtn = this.backofficeModalContainer.getByLabel('Publish');
352
352
  // Publish with descendants
353
353
  this.elementPublishWithDescendantsModal = page.locator('umb-element-publish-with-descendants-modal');
@@ -371,7 +371,7 @@ class LibraryUiHelper extends UiBaseLocators_1.UiBaseLocators {
371
371
  this.collectionMenu = page.locator('umb-collection-menu');
372
372
  this.entityPickerTree = page.locator('umb-tree[alias="Umb.Tree.EntityDataPicker"]');
373
373
  this.languageToggle = page.getByTestId('input:entity-name').locator('#toggle');
374
- this.elementVariantDropdown = page.locator('umb-element-workspace-split-view-variant-selector uui-popover-container #dropdown');
374
+ this.elementVariantDropdown = page.locator('umb-workspace-split-view-variant-selector uui-popover-container #dropdown');
375
375
  this.blockProperty = page.locator('umb-block-workspace-view-edit-property');
376
376
  // Multi URL Picker
377
377
  this.linkPickerAddBtn = this.linkPickerModal.getByRole('button', { name: 'Add', exact: true });