@umbraco/playwright-testhelpers 15.0.4 → 15.0.6

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":"DocumentApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {AliasHelper} from \"./AliasHelper\";\nimport {ApiHelpers} from \"./ApiHelpers\";\nimport {DocumentBuilder} from \"@umbraco/json-models-builders\";\n\nexport class DocumentApiHelper {\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 + '/umbraco/management/api/v1/document/' + id);\n return await response.json();\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id);\n return response.status() === 200;\n }\n\n async create(document) {\n if (document == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document', document);\n return response.headers().location.split(\"v1/document/\").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 + '/umbraco/management/api/v1/document/' + id);\n return response.status();\n }\n\n async update(id: string, document) {\n if (document == null) {\n return;\n }\n const variantsData = document.variants.map(variant => ({\n culture: variant.culture,\n segment: variant.segment,\n name: variant.name\n }));\n \n const updateData = {\n values: document.values,\n variants: variantsData,\n template: document.template\n };\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id, updateData);\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/document/root?skip=0&take=10000');\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/document/children?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}/umbraco/management/api/v1/tree/document/children?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.total;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return 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 for (const variant of child.variants) {\n if (variant.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n }\n }\n if (child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootDocuments = await this.getAllAtRoot();\n const jsonDocuments = await rootDocuments.json();\n\n for (const document of jsonDocuments.items) {\n for (const variant of document.variants) {\n if (variant.name === name) {\n return this.get(document.id);\n }\n }\n if (document.hasChildren) {\n const result = await this.recurseChildren(name, document.id, false);\n if (result) { \n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootDocuments = await this.getAllAtRoot();\n const jsonDocuments = await rootDocuments.json();\n\n for (const document of jsonDocuments.items) {\n for (const variant of document.variants) {\n if (variant.name === name) {\n if (document.hasChildren) {\n await this.recurseDeleteChildren(document.id);\n }\n await this.delete(document.id);\n } else {\n if (document.hasChildren) {\n await this.recurseChildren(name, document.id, true);\n }\n }\n }\n }\n }\n\n async publish(id: string, publishSchedulesData = {\"publishSchedules\":[{\"culture\":null}]}) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + 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 + '/umbraco/management/api/v1/document/' + id + '/move-to-recycle-bin');\n return response.status();\n }\n\n async createDefaultDocument(documentName: string, documentTypeId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithTextContent(documentName: string, documentTypeId: string, textContent: string, dataTypeName: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDefaultDocumentWithParent(documentName: string, documentTypeId: string, parentId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(documentName)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithTemplate(documentName: string, documentTypeId: string, templateId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .withTemplateId(templateId)\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithContentPicker(documentName: string, documentTypeId: string, contentPickerId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias('contentPicker')\n .withValue(contentPickerId)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithOneMediaPicker(documentName: string, documentTypeId: string, mediaPickerId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias('mediaPicker')\n .addMediaPickerValue()\n .withMediaKey(mediaPickerId)\n .done()\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithTwoMediaPicker(documentName: string, documentTypeId: string, firstMediaPickerId: string, secondMediaPickerId: string, alias: string = 'multipleMediaPicker') {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(alias)\n .addMediaPickerValue()\n .withMediaKey(firstMediaPickerId)\n .done()\n .addMediaPickerValue()\n .withMediaKey(secondMediaPickerId)\n .done()\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithMemberPicker(documentName: string, documentTypeId: string, memberId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias('memberPicker')\n .withValue(memberId)\n .done()\n .build();\n \n return await this.create(document);\n }\n\n async createDocumentWithTags(documentName: string, documentTypeId: string, tagsName: string[]) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias('tags')\n .withValue(tagsName)\n .done()\n .build();\n \n return await this.create(document);\n }\n\n async createDocumentWithExternalLinkURLPicker(documentName: string, documentTypeId: string, link: string, linkTitle: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias('multiUrlPicker')\n .addURLPickerValue()\n .withIcon('icon-link')\n .withName(linkTitle)\n .withType('external')\n .withUrl(link)\n .done()\n .done()\n .build();\n \n return await this.create(document);\n }\n\n // Domains\n async getDomains(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id + '/domains');\n return await response.json();\n }\n\n async updateDomains(id: string, domains) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id + '/domains', domains);\n }\n \n // Image Media Picker\n async createDocumentWithImageMediaPicker(documentName: string, documentTypeId: string, propertyAlias: string, mediaKey: string, focalPoint: {left: number, top: number} = {left: 0, top: 0}) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(propertyAlias)\n .addMediaPickerValue()\n .withMediaKey(mediaKey)\n .withFocalPoint(focalPoint)\n .done()\n .done()\n .build();\n\n return await this.create(document);\n }\n \n async doesImageMediaPickerContainImage(id: string, propertyAlias: string, mediaKey: string) {\n const contentData = await this.getByName(id);\n return contentData.values.some(value =>\n value.alias === propertyAlias && value.value.some(item => item.mediaKey === mediaKey)\n );\n }\n\n async doesImageMediaPickerContainImageWithFocalPoint(id: string, propertyAlias: string, mediaKey: string, focalPoint: {left: number, top: number}) {\n const contentData = await this.getByName(id);\n\n if (focalPoint.left <= 0 || focalPoint.top <= 0) {\n return contentData.values.some(value => value.alias === propertyAlias && value.value.some(item => {\n return item.mediaKey === mediaKey && item.focalPoint === null;\n }));\n }\n\n // When selecting a focalpoint, it is not exact down to the decimal, so we need a small tolerance to account for that.\n const tolerance = 0.02;\n\n return contentData.values.some(value =>\n value.alias === propertyAlias && value.value.some(item => {\n // Check if the mediaKey is the same and the focalPoint is within the tolerance\n return item.mediaKey === mediaKey &&\n Math.abs(item.focalPoint.left - focalPoint.left) <= tolerance * focalPoint.left &&\n Math.abs(item.focalPoint.top - focalPoint.top) <= tolerance * focalPoint.top;\n })\n );\n }\n\n async createDocumentWithUploadFile(documentName: string, documentTypeId: string, dataTypeName: string, uploadFileName: string, mineType: string) {\n await this.ensureNameNotExists(documentName);\n const temporaryFile = await this.api.temporaryFile.createTemporaryFile(uploadFileName, 'File', mineType);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDefaultDocumentWithEnglishCulture(documentName: string, documentTypeId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .withCulture('en-US')\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDefaultDocumentWithCulture(documentName: string, documentTypeId: string, isoCode: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .withCulture(isoCode)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithMultipleVariants(documentName: string, documentTypeId: string, dataTypeAlias: string, cultureVariants: {isoCode: string, name: string, value: string}[]) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .build();\n\n for (const variant of cultureVariants) {\n document.variants.push({\n name: variant.name,\n culture: variant.isoCode,\n segment: null\n });\n\n document.values.push({\n alias: dataTypeAlias,\n value: variant.value,\n culture: variant.isoCode,\n segment: null\n });\n }\n\n return await this.create(document);\n }\n\n async createDocumentWithEnglishCultureAndTextContent(documentName: string, documentTypeId: string, textContent: string, dataTypeName: string, varyByCultureForText: boolean = false) {\n await this.ensureNameNotExists(documentName);\n const cultureValue = varyByCultureForText ? 'en-US' : null;\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .withCulture('en-US')\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .withCulture(cultureValue)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createPublishedDocumentWithValue(documentName: string, value: any, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type') {\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .withValue(value)\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n const publishData = {\"publishSchedules\":[{\"culture\":null}]};\n await this.publish(documentId, publishData);\n return documentId;\n }\n \n async isDocumentPublished(id: string) {\n const document = await this.get(id);\n return document.variants[0].state === 'Published';\n }\n\n async createPublishedDocumentWithImageCropper(documentName: string, cropValue: any, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type', focalPoint: {left: number, top: number} = {left: 0.5, top: 0.5}) {\n // Create temporary file\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .addImageCropperValue()\n .withCrop(cropValue)\n .withFocalPoint(focalPoint)\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n await this.publish(documentId);\n return documentId;\n }\n\n async createPublishedDocumentWithUploadFile(documentName: string, uploadFileName: string, mineType: string, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type') {\n // Create temporary file\n const temporaryFile = await this.api.temporaryFile.createTemporaryFile(uploadFileName, 'File', mineType);\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName); \n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n await this.publish(documentId);\n return {'documentId': documentId, 'temporaryFileId': temporaryFile.temporaryFileId};\n }\n}"]}
1
+ {"version":3,"file":"DocumentApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {AliasHelper} from \"./AliasHelper\";\nimport {ApiHelpers} from \"./ApiHelpers\";\nimport {DocumentBuilder} from \"@umbraco/json-models-builders\";\n\nexport class DocumentApiHelper {\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 + '/umbraco/management/api/v1/document/' + id);\n return await response.json();\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id);\n return response.status() === 200;\n }\n\n async create(document) {\n if (document == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document', document);\n return response.headers().location.split(\"v1/document/\").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 + '/umbraco/management/api/v1/document/' + id);\n return response.status();\n }\n\n async update(id: string, document) {\n if (document == null) {\n return;\n }\n const variantsData = document.variants.map(variant => ({\n culture: variant.culture,\n segment: variant.segment,\n name: variant.name\n }));\n \n const updateData = {\n values: document.values,\n variants: variantsData,\n template: document.template\n };\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id, updateData);\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/document/root?skip=0&take=10000');\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/document/children?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}/umbraco/management/api/v1/tree/document/children?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.total;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return 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 for (const variant of child.variants) {\n if (variant.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n }\n }\n if (child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootDocuments = await this.getAllAtRoot();\n const jsonDocuments = await rootDocuments.json();\n\n for (const document of jsonDocuments.items) {\n for (const variant of document.variants) {\n if (variant.name === name) {\n return this.get(document.id);\n }\n }\n if (document.hasChildren) {\n const result = await this.recurseChildren(name, document.id, false);\n if (result) { \n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootDocuments = await this.getAllAtRoot();\n const jsonDocuments = await rootDocuments.json();\n\n for (const document of jsonDocuments.items) {\n for (const variant of document.variants) {\n if (variant.name === name) {\n if (document.hasChildren) {\n await this.recurseDeleteChildren(document.id);\n }\n await this.delete(document.id);\n } else {\n if (document.hasChildren) {\n await this.recurseChildren(name, document.id, true);\n }\n }\n }\n }\n }\n\n async publish(id: string, publishSchedulesData = {\"publishSchedules\":[{\"culture\":null}]}) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + 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 + '/umbraco/management/api/v1/document/' + id + '/move-to-recycle-bin');\n return response.status();\n }\n\n async createDefaultDocument(documentName: string, documentTypeId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithTextContent(documentName: string, documentTypeId: string, textContent: string, dataTypeName: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDefaultDocumentWithParent(documentName: string, documentTypeId: string, parentId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(documentName)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithTemplate(documentName: string, documentTypeId: string, templateId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .withTemplateId(templateId)\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithContentPicker(documentName: string, documentTypeId: string, contentPickerId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias('contentPicker')\n .withValue(contentPickerId)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithOneMediaPicker(documentName: string, documentTypeId: string, mediaPickerId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias('mediaPicker')\n .addMediaPickerValue()\n .withMediaKey(mediaPickerId)\n .done()\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithTwoMediaPicker(documentName: string, documentTypeId: string, firstMediaPickerId: string, secondMediaPickerId: string, alias: string = 'multipleMediaPicker') {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(alias)\n .addMediaPickerValue()\n .withMediaKey(firstMediaPickerId)\n .done()\n .addMediaPickerValue()\n .withMediaKey(secondMediaPickerId)\n .done()\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithMemberPicker(documentName: string, documentTypeId: string, memberId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias('memberPicker')\n .withValue(memberId)\n .done()\n .build();\n \n return await this.create(document);\n }\n\n async createDocumentWithTags(documentName: string, documentTypeId: string, tagsName: string[]) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias('tags')\n .withValue(tagsName)\n .done()\n .build();\n \n return await this.create(document);\n }\n\n async createDocumentWithExternalLinkURLPicker(documentName: string, documentTypeId: string, link: string, linkTitle: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias('multiUrlPicker')\n .addURLPickerValue()\n .withIcon('icon-link')\n .withName(linkTitle)\n .withType('external')\n .withUrl(link)\n .done()\n .done()\n .build();\n \n return await this.create(document);\n }\n\n // Domains\n async getDomains(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id + '/domains');\n return await response.json();\n }\n\n async updateDomains(id: string, domains) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id + '/domains', domains);\n }\n \n // Image Media Picker\n async createDocumentWithImageMediaPicker(documentName: string, documentTypeId: string, propertyAlias: string, mediaKey: string, focalPoint: {left: number, top: number} = {left: 0, top: 0}) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(propertyAlias)\n .addMediaPickerValue()\n .withMediaKey(mediaKey)\n .withFocalPoint(focalPoint)\n .done()\n .done()\n .build();\n\n return await this.create(document);\n }\n \n async doesImageMediaPickerContainImage(id: string, propertyAlias: string, mediaKey: string) {\n const contentData = await this.getByName(id);\n return contentData.values.some(value =>\n value.alias === propertyAlias && value.value.some(item => item.mediaKey === mediaKey)\n );\n }\n\n async doesImageMediaPickerContainImageWithFocalPoint(id: string, propertyAlias: string, mediaKey: string, focalPoint: {left: number, top: number}) {\n const contentData = await this.getByName(id);\n\n if (focalPoint.left <= 0 || focalPoint.top <= 0) {\n return contentData.values.some(value => value.alias === propertyAlias && value.value.some(item => {\n return item.mediaKey === mediaKey && item.focalPoint === null;\n }));\n }\n\n // When selecting a focalpoint, it is not exact down to the decimal, so we need a small tolerance to account for that.\n const tolerance = 0.02;\n\n return contentData.values.some(value =>\n value.alias === propertyAlias && value.value.some(item => {\n // Check if the mediaKey is the same and the focalPoint is within the tolerance\n return item.mediaKey === mediaKey &&\n Math.abs(item.focalPoint.left - focalPoint.left) <= tolerance * focalPoint.left &&\n Math.abs(item.focalPoint.top - focalPoint.top) <= tolerance * focalPoint.top;\n })\n );\n }\n\n async createDocumentWithUploadFile(documentName: string, documentTypeId: string, dataTypeName: string, uploadFileName: string, mineType: string) {\n await this.ensureNameNotExists(documentName);\n const temporaryFile = await this.api.temporaryFile.createTemporaryFile(uploadFileName, 'File', mineType);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDefaultDocumentWithEnglishCulture(documentName: string, documentTypeId: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .withCulture('en-US')\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDefaultDocumentWithCulture(documentName: string, documentTypeId: string, isoCode: string) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .withCulture(isoCode)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createDocumentWithMultipleVariants(documentName: string, documentTypeId: string, dataTypeAlias: string, cultureVariants: {isoCode: string, name: string, value: string}[]) {\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .build();\n\n for (const variant of cultureVariants) {\n document.variants.push({\n name: variant.name,\n culture: variant.isoCode,\n segment: null\n });\n\n document.values.push({\n alias: dataTypeAlias,\n value: variant.value,\n culture: variant.isoCode,\n segment: null\n });\n }\n\n return await this.create(document);\n }\n\n async createDocumentWithEnglishCultureAndTextContent(documentName: string, documentTypeId: string, textContent: string, dataTypeName: string, varyByCultureForText: boolean = false) {\n await this.ensureNameNotExists(documentName);\n const cultureValue = varyByCultureForText ? 'en-US' : null;\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .withCulture('en-US')\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .withCulture(cultureValue)\n .done()\n .build();\n\n return await this.create(document);\n }\n\n async createPublishedDocumentWithValue(documentName: string, value: any, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type') {\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .withValue(value)\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n const publishData = {\"publishSchedules\":[{\"culture\":null}]};\n await this.publish(documentId, publishData);\n return documentId;\n }\n \n async isDocumentPublished(id: string) {\n const document = await this.get(id);\n return document.variants[0].state === 'Published';\n }\n\n async createPublishedDocumentWithImageCropper(documentName: string, cropValue: any, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type', focalPoint: {left: number, top: number} = {left: 0.5, top: 0.5}) {\n // Create temporary file\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .addImageCropperValue()\n .withCrop(cropValue)\n .withFocalPoint(focalPoint)\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n await this.publish(documentId);\n return documentId;\n }\n\n async createPublishedDocumentWithUploadFile(documentName: string, uploadFileName: string, mineType: string, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type') {\n // Create temporary file\n const temporaryFile = await this.api.temporaryFile.createTemporaryFile(uploadFileName, 'File', mineType);\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName); \n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .withTemporaryFileId(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n await this.publish(documentId);\n return {'documentId': documentId, 'temporaryFileId': temporaryFile.temporaryFileId};\n }\n\n async createPublishedDocumentWithExternalLinkURLPicker(documentName: string, linkTitle: string, linkUrl: string, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type') {\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .addURLPickerValue()\n .withName(linkTitle)\n .withType('external')\n .withUrl(linkUrl)\n .done()\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n await this.publish(documentId);\n return documentId;\n }\n\n async createPublishedDocumentWithDocumentLinkURLPicker(documentName: string, linkedDocumentName: string, linkedDocumentId: string, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type') {\n // Get the url of the linked document\n const linkedDocumentData = await this.getByName(linkedDocumentName);\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName); \n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .addURLPickerValue()\n .withIcon('icon-document')\n .withName(linkedDocumentName)\n .withType('document')\n .withUnique(linkedDocumentId)\n .withUrl(linkedDocumentData.urls[0].url)\n .done()\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n await this.publish(documentId);\n return documentId;\n }\n\n async createPublishedDocumentWithImageLinkURLPicker(documentName: string, imageName: string, imageId: string, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type') {\n // Get the url of the linked document\n const mediaData = await this.api.media.getByName(imageName);\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName); \n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .addURLPickerValue()\n .withIcon('icon-picture')\n .withName(imageName)\n .withType('media')\n .withUnique(imageId)\n .withUrl(mediaData.urls[0].url)\n .done()\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n await this.publish(documentId);\n return documentId;\n }\n\n async createPublishedDocumentWithImageLinkAndExternalLink(documentName: string, imageName: string, imageId: string, externalLinkTitle: string, externalLinkUrl: string, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type') {\n // Get the url of the linked document\n const mediaData = await this.api.media.getByName(imageName);\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName); \n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .addURLPickerValue()\n .withIcon('icon-picture')\n .withName(imageName)\n .withType('media')\n .withUnique(imageId)\n .withUrl(mediaData.urls[0].url)\n .done()\n .addURLPickerValue()\n .withName(externalLinkTitle)\n .withType('external')\n .withUrl(externalLinkUrl)\n .done()\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n await this.publish(documentId);\n return documentId;\n }\n\n async createPublishedDocumentWithTwoMediaPicker(documentName: string, firstMediaPickerId: string, secondMediaPickerId: string, dataTypeId: string, templateId: string, propertyName: string = 'Test Property Name', documentTypeName: string = 'Test Document Type') {\n // Create document type\n let documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName, dataTypeId, propertyName, templateId);\n documentTypeId = documentTypeId === undefined ? '' : documentTypeId;\n await this.ensureNameNotExists(documentName);\n\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .addMediaPickerValue()\n .withMediaKey(firstMediaPickerId)\n .done()\n .addMediaPickerValue()\n .withMediaKey(secondMediaPickerId)\n .done()\n .done()\n .build();\n\n // Create document\n let documentId = await this.create(document);\n documentId = documentId === undefined ? '' : documentId;\n // Publish document\n await this.publish(documentId);\n return documentId;\n }\n}"]}
@@ -42,7 +42,6 @@ export declare class MediaUiHelper extends UiBaseLocators {
42
42
  doesMediaListNameValuesMatch(expectedValues: string[]): Promise<void>;
43
43
  isMediaGridViewVisible(isVisible?: boolean): Promise<void>;
44
44
  isMediaListViewVisible(isVisible?: boolean): Promise<void>;
45
- selectMediaByName(name: string): Promise<void>;
46
45
  clickBulkTrashButton(): Promise<void>;
47
46
  clickBulkMoveToButton(): Promise<void>;
48
47
  clickModalTextByName(name: string): Promise<void>;
@@ -122,9 +122,6 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
122
122
  async isMediaListViewVisible(isVisible = true) {
123
123
  return (0, test_1.expect)(this.mediaListView).toBeVisible({ visible: isVisible });
124
124
  }
125
- async selectMediaByName(name) {
126
- await this.mediaCardItems.filter({ hasText: name }).click();
127
- }
128
125
  async clickBulkTrashButton() {
129
126
  await this.bulkTrashBtn.click();
130
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MediaUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {expect, Locator, Page} from \"@playwright/test\";\n\nexport class MediaUiHelper extends UiBaseLocators {\n private readonly createMediaItemBtn: Locator;\n private readonly mediaNameTxt: Locator;\n private readonly actionModalCreateBtn: Locator;\n private readonly mediaSearchTxt: Locator;\n private readonly trashBtn: Locator;\n private readonly restoreThreeDotsBtn: Locator;\n private readonly restoreBtn: Locator;\n private readonly confirmEmptyRecycleBinBtn: Locator;\n private readonly mediaSectionCreateBtn: Locator;\n private readonly mediaListHeader: Locator;\n private readonly mediaCardItemsValues: Locator;\n private readonly mediaListView: Locator;\n private readonly mediaGridView: Locator;\n private readonly mediaListNameValues: Locator;\n private readonly bulkTrashBtn: Locator;\n private readonly bulkMoveToBtn: Locator;\n private readonly mediaHeader: Locator;\n private readonly mediaHeaderActionsMenu: Locator;\n private readonly emptyRecycleBinBtn: Locator;\n private readonly mediaTreeItem: Locator;\n\n constructor(page: Page) {\n super(page);\n this.createMediaItemBtn = page.locator('umb-create-media-collection-action').getByLabel('Create');\n this.mediaNameTxt = page.locator('#name-input #input');\n this.actionModalCreateBtn = page.locator('#action-modal').getByLabel('Create');\n this.mediaSearchTxt = page.getByLabel('Search', {exact: true});\n this.trashBtn = page.getByLabel(/^Trash(\\.\\.\\.)?$/);\n this.restoreThreeDotsBtn = page.getByRole('button', {name: 'Restore...'});\n this.restoreBtn = page.getByLabel('Restore', {exact: true});\n this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', {exact: true});\n this.mediaSectionCreateBtn = this.page.locator('#header').filter({hasText: 'Media'}).getByLabel('#actions_create');\n this.mediaListView = this.page.locator('umb-media-table-collection-view');\n this.mediaGridView = this.page.locator('umb-media-grid-collection-view');\n this.mediaListHeader = this.mediaListView.locator('uui-table-head-cell span');\n this.mediaCardItemsValues = this.mediaCardItems.locator('span');\n this.mediaListNameValues = this.mediaListView.locator('umb-media-table-column-name span');\n this.bulkTrashBtn = page.locator('umb-entity-bulk-action uui-button').filter({hasText: 'Trash'});\n this.bulkMoveToBtn = page.locator('umb-entity-bulk-action uui-button').filter({hasText: 'Move to'});\n this.mediaHeader = page.getByRole('heading', {name: 'Media'});\n this.mediaHeaderActionsMenu = page.locator('#header >> [label=\"Open actions menu\"]');\n this.emptyRecycleBinBtn = page.locator('[label=\"Empty Recycle Bin\"]').locator('svg');\n this.mediaTreeItem = page.locator('umb-media-tree-item');\n }\n\n async clickCreateMediaItemButton() {\n await this.createMediaItemBtn.click();\n }\n\n async enterMediaItemName(name: string) {\n await this.mediaNameTxt.clear();\n await this.mediaNameTxt.fill(name);\n }\n\n async clickMediaTypeWithNameButton(mediaTypeName: string) {\n await this.page.getByLabel(mediaTypeName, {exact: true}).click();\n }\n\n async searchForMediaItemByName(name: string) {\n await this.mediaSearchTxt.clear();\n await this.mediaSearchTxt.fill(name);\n }\n\n async doesMediaCardsContainAmount(count: number) {\n await expect(this.mediaCardItems).toHaveCount(count);\n }\n\n async doesMediaCardContainText(name: string) {\n await expect(this.mediaCardItems).toContainText(name);\n }\n\n async clickTrashButton() {\n await this.trashBtn.click();\n }\n\n async restoreMediaItem(name: string) {\n await this.clickActionsMenuForName(name);\n await this.restoreThreeDotsBtn.click();\n await this.page.waitForTimeout(1000);\n await this.restoreBtn.click();\n }\n\n async deleteMediaItem(name: string) {\n await this.clickActionsMenuForName(name);\n await this.clickDeleteButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickCreateMediaWithType(mediaTypeName: string) {\n await this.mediaSectionCreateBtn.click({force: true});\n await this.clickMediaTypeName(mediaTypeName);\n }\n\n async clickMediaTypeName(mediaTypeName: string) {\n await this.documentTypeNode.filter({hasText: mediaTypeName}).click();\n }\n\n async clickEmptyRecycleBinButton() {\n await this.recycleBinMenuItem.hover();\n await this.emptyRecycleBinBtn.click();\n }\n\n async clickConfirmEmptyRecycleBinButton() {\n await this.confirmEmptyRecycleBinBtn.click();\n }\n\n async clickCreateModalButton() {\n await this.actionModalCreateBtn.click();\n }\n\n async clickMediaCaretButtonForName(name: string) {\n await this.page.locator('umb-media-tree-item [label=\"' + name + '\"]').locator('#caret-button').click();\n }\n\n async doesMediaGridValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaCardItemsValues.nth(index)).toHaveText(text);\n });\n }\n\n async doesMediaListHeaderValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaListHeader.nth(index)).toHaveText(text);\n });\n }\n\n async doesMediaListNameValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaListNameValues.nth(index)).toHaveText(text);\n });\n }\n\n async isMediaGridViewVisible(isVisible: boolean = true) {\n return expect(this.mediaGridView).toBeVisible({visible: isVisible});\n }\n\n async isMediaListViewVisible(isVisible: boolean = true) {\n return expect(this.mediaListView).toBeVisible({visible: isVisible});\n }\n\n async selectMediaByName(name: string) {\n await this.mediaCardItems.filter({hasText: name}).click();\n }\n\n async clickBulkTrashButton() {\n await this.bulkTrashBtn.click();\n }\n\n async clickBulkMoveToButton() {\n await this.bulkMoveToBtn.click();\n }\n\n async clickModalTextByName(name: string) {\n await this.sidebarModal.getByLabel(name, {exact: true}).click();\n }\n\n async reloadMediaTree() {\n // Waits until the tree item is visible\n await expect(this.mediaHeader).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.mediaHeader.click();\n await this.mediaHeaderActionsMenu.click()\n await this.clickReloadButton();\n }\n\n async isMediaTreeItemVisible(name: string, isVisible: boolean = true) {\n return expect(this.mediaTreeItem.getByLabel(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isChildMediaVisible(parentName: string, childName: string, isVisible: boolean = true) {\n return expect(this.mediaTreeItem.filter({hasText: parentName}).getByLabel(childName)).toBeVisible({visible: isVisible});\n }\n\n async clickCaretButtonForMediaName(name: string) {\n await this.mediaTreeItem.filter({hasText: name}).last().locator('#caret-button').last().click();\n }\n\n async goToMediaWithName(mediaName: string) {\n await this.mediaTreeItem.getByText(mediaName, {exact: true}).click();\n }\n}"]}
1
+ {"version":3,"file":"MediaUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {expect, Locator, Page} from \"@playwright/test\";\n\nexport class MediaUiHelper extends UiBaseLocators {\n private readonly createMediaItemBtn: Locator;\n private readonly mediaNameTxt: Locator;\n private readonly actionModalCreateBtn: Locator;\n private readonly mediaSearchTxt: Locator;\n private readonly trashBtn: Locator;\n private readonly restoreThreeDotsBtn: Locator;\n private readonly restoreBtn: Locator;\n private readonly confirmEmptyRecycleBinBtn: Locator;\n private readonly mediaSectionCreateBtn: Locator;\n private readonly mediaListHeader: Locator;\n private readonly mediaCardItemsValues: Locator;\n private readonly mediaListView: Locator;\n private readonly mediaGridView: Locator;\n private readonly mediaListNameValues: Locator;\n private readonly bulkTrashBtn: Locator;\n private readonly bulkMoveToBtn: Locator;\n private readonly mediaHeader: Locator;\n private readonly mediaHeaderActionsMenu: Locator;\n private readonly emptyRecycleBinBtn: Locator;\n private readonly mediaTreeItem: Locator;\n\n constructor(page: Page) {\n super(page);\n this.createMediaItemBtn = page.locator('umb-create-media-collection-action').getByLabel('Create');\n this.mediaNameTxt = page.locator('#name-input #input');\n this.actionModalCreateBtn = page.locator('#action-modal').getByLabel('Create');\n this.mediaSearchTxt = page.getByLabel('Search', {exact: true});\n this.trashBtn = page.getByLabel(/^Trash(\\.\\.\\.)?$/);\n this.restoreThreeDotsBtn = page.getByRole('button', {name: 'Restore...'});\n this.restoreBtn = page.getByLabel('Restore', {exact: true});\n this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', {exact: true});\n this.mediaSectionCreateBtn = this.page.locator('#header').filter({hasText: 'Media'}).getByLabel('#actions_create');\n this.mediaListView = this.page.locator('umb-media-table-collection-view');\n this.mediaGridView = this.page.locator('umb-media-grid-collection-view');\n this.mediaListHeader = this.mediaListView.locator('uui-table-head-cell span');\n this.mediaCardItemsValues = this.mediaCardItems.locator('span');\n this.mediaListNameValues = this.mediaListView.locator('umb-media-table-column-name span');\n this.bulkTrashBtn = page.locator('umb-entity-bulk-action uui-button').filter({hasText: 'Trash'});\n this.bulkMoveToBtn = page.locator('umb-entity-bulk-action uui-button').filter({hasText: 'Move to'});\n this.mediaHeader = page.getByRole('heading', {name: 'Media'});\n this.mediaHeaderActionsMenu = page.locator('#header >> [label=\"Open actions menu\"]');\n this.emptyRecycleBinBtn = page.locator('[label=\"Empty Recycle Bin\"]').locator('svg');\n this.mediaTreeItem = page.locator('umb-media-tree-item');\n }\n\n async clickCreateMediaItemButton() {\n await this.createMediaItemBtn.click();\n }\n\n async enterMediaItemName(name: string) {\n await this.mediaNameTxt.clear();\n await this.mediaNameTxt.fill(name);\n }\n\n async clickMediaTypeWithNameButton(mediaTypeName: string) {\n await this.page.getByLabel(mediaTypeName, {exact: true}).click();\n }\n\n async searchForMediaItemByName(name: string) {\n await this.mediaSearchTxt.clear();\n await this.mediaSearchTxt.fill(name);\n }\n\n async doesMediaCardsContainAmount(count: number) {\n await expect(this.mediaCardItems).toHaveCount(count);\n }\n\n async doesMediaCardContainText(name: string) {\n await expect(this.mediaCardItems).toContainText(name);\n }\n\n async clickTrashButton() {\n await this.trashBtn.click();\n }\n\n async restoreMediaItem(name: string) {\n await this.clickActionsMenuForName(name);\n await this.restoreThreeDotsBtn.click();\n await this.page.waitForTimeout(1000);\n await this.restoreBtn.click();\n }\n\n async deleteMediaItem(name: string) {\n await this.clickActionsMenuForName(name);\n await this.clickDeleteButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickCreateMediaWithType(mediaTypeName: string) {\n await this.mediaSectionCreateBtn.click({force: true});\n await this.clickMediaTypeName(mediaTypeName);\n }\n\n async clickMediaTypeName(mediaTypeName: string) {\n await this.documentTypeNode.filter({hasText: mediaTypeName}).click();\n }\n\n async clickEmptyRecycleBinButton() {\n await this.recycleBinMenuItem.hover();\n await this.emptyRecycleBinBtn.click();\n }\n\n async clickConfirmEmptyRecycleBinButton() {\n await this.confirmEmptyRecycleBinBtn.click();\n }\n\n async clickCreateModalButton() {\n await this.actionModalCreateBtn.click();\n }\n\n async clickMediaCaretButtonForName(name: string) {\n await this.page.locator('umb-media-tree-item [label=\"' + name + '\"]').locator('#caret-button').click();\n }\n\n async doesMediaGridValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaCardItemsValues.nth(index)).toHaveText(text);\n });\n }\n\n async doesMediaListHeaderValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaListHeader.nth(index)).toHaveText(text);\n });\n }\n\n async doesMediaListNameValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaListNameValues.nth(index)).toHaveText(text);\n });\n }\n\n async isMediaGridViewVisible(isVisible: boolean = true) {\n return expect(this.mediaGridView).toBeVisible({visible: isVisible});\n }\n\n async isMediaListViewVisible(isVisible: boolean = true) {\n return expect(this.mediaListView).toBeVisible({visible: isVisible});\n }\n\n async clickBulkTrashButton() {\n await this.bulkTrashBtn.click();\n }\n\n async clickBulkMoveToButton() {\n await this.bulkMoveToBtn.click();\n }\n\n async clickModalTextByName(name: string) {\n await this.sidebarModal.getByLabel(name, {exact: true}).click();\n }\n\n async reloadMediaTree() {\n // Waits until the tree item is visible\n await expect(this.mediaHeader).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.mediaHeader.click();\n await this.mediaHeaderActionsMenu.click()\n await this.clickReloadButton();\n }\n\n async isMediaTreeItemVisible(name: string, isVisible: boolean = true) {\n return expect(this.mediaTreeItem.getByLabel(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isChildMediaVisible(parentName: string, childName: string, isVisible: boolean = true) {\n return expect(this.mediaTreeItem.filter({hasText: parentName}).getByLabel(childName)).toBeVisible({visible: isVisible});\n }\n\n async clickCaretButtonForMediaName(name: string) {\n await this.mediaTreeItem.filter({hasText: name}).last().locator('#caret-button').last().click();\n }\n\n async goToMediaWithName(mediaName: string) {\n await this.mediaTreeItem.getByText(mediaName, {exact: true}).click();\n }\n}"]}
@@ -15,7 +15,7 @@ class StylesheetUiHelper extends UiBaseLocators_1.UiBaseLocators {
15
15
  stylesheetTree;
16
16
  constructor(page) {
17
17
  super(page);
18
- this.stylesheetNameTxt = page.getByLabel('stylesheet name');
18
+ this.stylesheetNameTxt = page.getByLabel('Enter a name...');
19
19
  this.addRTEBtn = page.getByLabel('Add rule');
20
20
  this.styleNameTxt = page.getByLabel('Rule name');
21
21
  this.styleSelectorTxt = page.getByLabel('Rule selector');
@@ -1 +1 @@
1
- {"version":3,"file":"StylesheetUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/StylesheetUiHelper.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 StylesheetUiHelper extends UiBaseLocators{\n private readonly newStylesheetBtn: Locator;\n private readonly stylesheetNameTxt: Locator;\n private readonly addRTEBtn: Locator;\n private readonly styleNameTxt: Locator;\n private readonly styleSelectorTxt: Locator;\n private readonly styleStylesTxt: Locator;\n private readonly newRichTextEditorStylesheetBtn: Locator;\n private readonly stylesheetTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.stylesheetNameTxt = page.getByLabel('stylesheet name');\n this.addRTEBtn = page.getByLabel('Add rule');\n this.styleNameTxt = page.getByLabel('Rule name');\n this.styleSelectorTxt = page.getByLabel('Rule selector');\n this.styleStylesTxt = page.getByLabel('Rule styles');\n this.newStylesheetBtn = page.getByLabel('New Stylesheet');\n this.newRichTextEditorStylesheetBtn = page.getByLabel('New Rich Text Editor Stylesheet');\n this.stylesheetTree = page.locator('umb-tree[alias=\"Umb.Tree.Stylesheet\"]');\n }\n\n async clickActionsMenuForStylesheet(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForStylesheet('Stylesheets');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Stylesheets');\n }\n\n async clickNewStylesheetButton() {\n await this.newStylesheetBtn.click();\n }\n \n async clickNewRichTextEditorStylesheetButton() {\n await this.newRichTextEditorStylesheetBtn.click();\n }\n\n async enterStylesheetName(stylesheetName: string) {\n await expect(this.stylesheetNameTxt).toBeVisible();\n await this.stylesheetNameTxt.clear();\n await this.stylesheetNameTxt.fill(stylesheetName);\n }\n \n async enterStylesheetContent(stylesheetContent: string) {\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(stylesheetContent);\n }\n\n async addRTEStyle(styleName: string, styleSelector: string, styleStyles: string) {\n await this.addRTEBtn.click();\n await this.fillRTEStyleForm(styleName, styleSelector, styleStyles);\n }\n\n async openStylesheetByNameAtRoot(stylesheetName: string) {\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n\n async editRTEStyle(styleName: string, newStyleName: string, newStyleSelector: string, newStyleStyles: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Edit\"]').click();\n await this.fillRTEStyleForm(newStyleName, newStyleSelector, newStyleStyles);\n }\n\n async fillRTEStyleForm(styleName: string, styleSelector: string, styleStyles: string) {\n await expect(this.styleNameTxt).toBeVisible();\n await this.styleNameTxt.clear();\n await this.styleNameTxt.fill(styleName);\n await this.styleSelectorTxt.clear();\n await this.styleSelectorTxt.fill(styleSelector);\n await this.styleStylesTxt.clear();\n await this.styleStylesTxt.fill(styleStyles);\n await this.clickSubmitButton();\n }\n\n async removeRTEStyle(styleName: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Remove\"]').click();\n }\n\n async reloadStylesheetTree() {\n await this.reloadTree('Stylesheets');\n }\n\n async isStylesheetRootTreeItemVisible(stylesheetName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadStylesheetTree();\n }\n return expect(this.stylesheetTree.getByText(stylesheetName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async goToStylesheet(stylesheetName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n}"]}
1
+ {"version":3,"file":"StylesheetUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/StylesheetUiHelper.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 StylesheetUiHelper extends UiBaseLocators{\n private readonly newStylesheetBtn: Locator;\n private readonly stylesheetNameTxt: Locator;\n private readonly addRTEBtn: Locator;\n private readonly styleNameTxt: Locator;\n private readonly styleSelectorTxt: Locator;\n private readonly styleStylesTxt: Locator;\n private readonly newRichTextEditorStylesheetBtn: Locator;\n private readonly stylesheetTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.stylesheetNameTxt = page.getByLabel('Enter a name...');\n this.addRTEBtn = page.getByLabel('Add rule');\n this.styleNameTxt = page.getByLabel('Rule name');\n this.styleSelectorTxt = page.getByLabel('Rule selector');\n this.styleStylesTxt = page.getByLabel('Rule styles');\n this.newStylesheetBtn = page.getByLabel('New Stylesheet');\n this.newRichTextEditorStylesheetBtn = page.getByLabel('New Rich Text Editor Stylesheet');\n this.stylesheetTree = page.locator('umb-tree[alias=\"Umb.Tree.Stylesheet\"]');\n }\n\n async clickActionsMenuForStylesheet(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForStylesheet('Stylesheets');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Stylesheets');\n }\n\n async clickNewStylesheetButton() {\n await this.newStylesheetBtn.click();\n }\n \n async clickNewRichTextEditorStylesheetButton() {\n await this.newRichTextEditorStylesheetBtn.click();\n }\n\n async enterStylesheetName(stylesheetName: string) {\n await expect(this.stylesheetNameTxt).toBeVisible();\n await this.stylesheetNameTxt.clear();\n await this.stylesheetNameTxt.fill(stylesheetName);\n }\n \n async enterStylesheetContent(stylesheetContent: string) {\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(stylesheetContent);\n }\n\n async addRTEStyle(styleName: string, styleSelector: string, styleStyles: string) {\n await this.addRTEBtn.click();\n await this.fillRTEStyleForm(styleName, styleSelector, styleStyles);\n }\n\n async openStylesheetByNameAtRoot(stylesheetName: string) {\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n\n async editRTEStyle(styleName: string, newStyleName: string, newStyleSelector: string, newStyleStyles: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Edit\"]').click();\n await this.fillRTEStyleForm(newStyleName, newStyleSelector, newStyleStyles);\n }\n\n async fillRTEStyleForm(styleName: string, styleSelector: string, styleStyles: string) {\n await expect(this.styleNameTxt).toBeVisible();\n await this.styleNameTxt.clear();\n await this.styleNameTxt.fill(styleName);\n await this.styleSelectorTxt.clear();\n await this.styleSelectorTxt.fill(styleSelector);\n await this.styleStylesTxt.clear();\n await this.styleStylesTxt.fill(styleStyles);\n await this.clickSubmitButton();\n }\n\n async removeRTEStyle(styleName: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Remove\"]').click();\n }\n\n async reloadStylesheetTree() {\n await this.reloadTree('Stylesheets');\n }\n\n async isStylesheetRootTreeItemVisible(stylesheetName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadStylesheetTree();\n }\n return expect(this.stylesheetTree.getByText(stylesheetName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async goToStylesheet(stylesheetName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n}"]}
@@ -23,4 +23,7 @@ export declare class TemplateApiHelper {
23
23
  createTemplateWithDisplayingImageCropperValue(name: string, valueAlias: string, cropName: string): Promise<string>;
24
24
  createTemplateWithDisplayingContentPickerValue(name: string, valueAlias: string): Promise<string>;
25
25
  createTemplateWithDisplayingUploadedFileValue(name: string, valueAlias: string): Promise<string>;
26
+ createTemplateWithDisplayingMemberPickerValue(name: string, valueAlias: string): Promise<string>;
27
+ createTemplateWithDisplayingMultiURLPickerValue(name: string, valueAlias: string): Promise<string>;
28
+ createTemplateWithDisplayingMultipleMediaPickerValue(name: string, valueAlias: string): Promise<string>;
26
29
  }
@@ -217,6 +217,48 @@ class TemplateApiHelper {
217
217
  '\n}';
218
218
  return this.createTemplateWithDisplayingValue(name, templateContent);
219
219
  }
220
+ async createTemplateWithDisplayingMemberPickerValue(name, valueAlias) {
221
+ const templateContent = '\n@{' +
222
+ '\n\tif (Model.HasValue("' + valueAlias + '"))' +
223
+ '\n\t{' +
224
+ '\n\t\tvar member = Model.Value<IPublishedContent>("' + valueAlias + '");' +
225
+ '\n\t\t@member.Name' +
226
+ '\n\t}' +
227
+ '\n}';
228
+ return this.createTemplateWithDisplayingValue(name, templateContent);
229
+ }
230
+ async createTemplateWithDisplayingMultiURLPickerValue(name, valueAlias) {
231
+ const templateContent = '\n@using Umbraco.Cms.Core.Models' +
232
+ '\n@{' +
233
+ '\n\tvar links = Model.Value<IEnumerable<Link>>("' + valueAlias + '");' +
234
+ '\n\tif (links.Any())' +
235
+ '\n\t{' +
236
+ '\n\t\t<ul>' +
237
+ '\n\t\t\t@foreach (var link in links)' +
238
+ '\n\t\t\t{' +
239
+ '\n\t\t\t\t<li><a href="@link.Url" target="@link.Target">@link.Name</a></li>' +
240
+ '\n\t\t\t}' +
241
+ '\n\t\t</ul>' +
242
+ '\n\t}' +
243
+ '\n}';
244
+ return this.createTemplateWithDisplayingValue(name, templateContent);
245
+ }
246
+ async createTemplateWithDisplayingMultipleMediaPickerValue(name, valueAlias) {
247
+ const templateContent = '\n@using Umbraco.Cms.Core.Models;' +
248
+ '\n@{' +
249
+ '\n\tvar medias = Model.Value<IEnumerable<MediaWithCrops>>("' + valueAlias + '");' +
250
+ '\n\tif (medias.Any())' +
251
+ '\n\t{' +
252
+ '\n\t\t<ul>' +
253
+ '\n\t\t\t@foreach (var media in medias)' +
254
+ '\n\t\t\t{' +
255
+ '\n\t\t\t\t<li><a href="@media.MediaUrl()">@media.Name</a></li>' +
256
+ '\n\t\t\t}' +
257
+ '\n\t\t</ul>' +
258
+ '\n\t}' +
259
+ '\n}';
260
+ return this.createTemplateWithDisplayingValue(name, templateContent);
261
+ }
220
262
  }
221
263
  exports.TemplateApiHelper = TemplateApiHelper;
222
264
  //# sourceMappingURL=TemplateApiHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class TemplateApiHelper {\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 + '/umbraco/management/api/v1/template/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n return response.status() === 200;\n }\n\n async create(name: string, alias: string, content: string) {\n const templateData = {\n \"name\": name,\n \"alias\": alias,\n \"content\": content\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/template', templateData);\n // Returns the id of the created template\n return response.headers().location.split(\"/\").pop();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n }\n\n async update(id: string, template: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id, template);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/template/children?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async getItems(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.isContainer || child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return 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 if (child.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.isContainer || child.hasChildren) {\n return await this.recurseDeleteChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n } else if (child.isContainer || child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n return this.get(template.id);\n } else if (template.isContainer || template.hasChildren) {\n const result = await this.recurseChildren(name, template.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n if (template.isContainer || template.hasChildren) {\n await this.recurseDeleteChildren(template.id);\n }\n await this.delete(template.id);\n } else {\n if (template.isContainer || template.hasChildren) {\n await this.recurseChildren(name, template.id, true);\n }\n }\n }\n }\n\n async createDefaultTemplate(name: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n return await this.create(name, alias, '');\n }\n\n async createTemplateWithDisplayingValue(name: string, templateContent: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n const content =\n '@using Umbraco.Cms.Web.Common.PublishedModels;' +\n '\\n@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage' +\n '\\n@{' +\n '\\n\\tLayout = null;' +\n '\\n}' + \n '\\n<div data-mark=\"content-render-value\">' + \n templateContent +\n '\\n</div>\\n';\n\n const templateId = await this.create(name, alias, content);\n return templateId === undefined ? '' : templateId;\n }\n\n async createTemplateWithDisplayingStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\")){' +\n '\\n\\t\\t<p>@(Model.Value<string>(\"' + valueAlias + '\"))</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMulitpleStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@if(Model.HasValue(\"' + valueAlias +'\"))' +\n '\\n{' +\n '\\nvar items = Model.Value<IEnumerable<string>>(\"' + valueAlias + '\");' +\n '\\n\\t<ul>' +\n '\\n\\t\\t@foreach(var item in items)' +\n '\\n\\t\\t{' +\n '\\n\\t\\t\\t<li>@item</li>' +\n '\\n\\t\\t}' +\n '\\n\\t</ul>' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingApprovedColorValue(name: string, valueAlias: string, useLabel: boolean = true) {\n let templateContent = '';\n if (useLabel) {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tvar colorLabel = Model.Value<ColorPickerValueConverter.PickedColor>(\"' + valueAlias + '\").Label;' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@colorLabel</div>' +\n '\\n\\t}' +\n '\\n}';\n } else {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@hexColor</div>' +\n '\\n\\t}' +\n '\\n}';\n } \n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingImageCropperValue(name: string, valueAlias: string, cropName: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n\\t<img src=\"@Url.GetCropUrl(Model.Value<ImageCropperValue>(\"' + valueAlias + '\"), \"' + cropName + '\")\" />';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingContentPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tIPublishedContent typedContentPicker = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\tif (typedContentPicker != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<p>@typedContentPicker.Name</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingUploadedFileValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using System.IO;' +\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar myFile = Model.Value<string>(\"' + valueAlias + '\");' +\n '\\n\\t\\t<a href=\"@myFile\">@System.IO.Path.GetFileName(myFile)</a>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n}"]}
1
+ {"version":3,"file":"TemplateApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class TemplateApiHelper {\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 + '/umbraco/management/api/v1/template/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n return response.status() === 200;\n }\n\n async create(name: string, alias: string, content: string) {\n const templateData = {\n \"name\": name,\n \"alias\": alias,\n \"content\": content\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/template', templateData);\n // Returns the id of the created template\n return response.headers().location.split(\"/\").pop();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n }\n\n async update(id: string, template: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id, template);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/template/children?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async getItems(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.isContainer || child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return 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 if (child.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.isContainer || child.hasChildren) {\n return await this.recurseDeleteChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n } else if (child.isContainer || child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n return this.get(template.id);\n } else if (template.isContainer || template.hasChildren) {\n const result = await this.recurseChildren(name, template.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n if (template.isContainer || template.hasChildren) {\n await this.recurseDeleteChildren(template.id);\n }\n await this.delete(template.id);\n } else {\n if (template.isContainer || template.hasChildren) {\n await this.recurseChildren(name, template.id, true);\n }\n }\n }\n }\n\n async createDefaultTemplate(name: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n return await this.create(name, alias, '');\n }\n\n async createTemplateWithDisplayingValue(name: string, templateContent: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n const content =\n '@using Umbraco.Cms.Web.Common.PublishedModels;' +\n '\\n@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage' +\n '\\n@{' +\n '\\n\\tLayout = null;' +\n '\\n}' + \n '\\n<div data-mark=\"content-render-value\">' + \n templateContent +\n '\\n</div>\\n';\n\n const templateId = await this.create(name, alias, content);\n return templateId === undefined ? '' : templateId;\n }\n\n async createTemplateWithDisplayingStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\")){' +\n '\\n\\t\\t<p>@(Model.Value<string>(\"' + valueAlias + '\"))</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMulitpleStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@if(Model.HasValue(\"' + valueAlias +'\"))' +\n '\\n{' +\n '\\nvar items = Model.Value<IEnumerable<string>>(\"' + valueAlias + '\");' +\n '\\n\\t<ul>' +\n '\\n\\t\\t@foreach(var item in items)' +\n '\\n\\t\\t{' +\n '\\n\\t\\t\\t<li>@item</li>' +\n '\\n\\t\\t}' +\n '\\n\\t</ul>' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingApprovedColorValue(name: string, valueAlias: string, useLabel: boolean = true) {\n let templateContent = '';\n if (useLabel) {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tvar colorLabel = Model.Value<ColorPickerValueConverter.PickedColor>(\"' + valueAlias + '\").Label;' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@colorLabel</div>' +\n '\\n\\t}' +\n '\\n}';\n } else {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@hexColor</div>' +\n '\\n\\t}' +\n '\\n}';\n } \n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingImageCropperValue(name: string, valueAlias: string, cropName: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n\\t<img src=\"@Url.GetCropUrl(Model.Value<ImageCropperValue>(\"' + valueAlias + '\"), \"' + cropName + '\")\" />';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingContentPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tIPublishedContent typedContentPicker = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\tif (typedContentPicker != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<p>@typedContentPicker.Name</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingUploadedFileValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using System.IO;' +\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar myFile = Model.Value<string>(\"' + valueAlias + '\");' +\n '\\n\\t\\t<a href=\"@myFile\">@System.IO.Path.GetFileName(myFile)</a>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMemberPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar member = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\t\\t@member.Name' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMultiURLPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models' +\n '\\n@{' +\n '\\n\\tvar links = Model.Value<IEnumerable<Link>>(\"' + valueAlias + '\");' +\n '\\n\\tif (links.Any())' +\n '\\n\\t{' +\n '\\n\\t\\t<ul>' +\n '\\n\\t\\t\\t@foreach (var link in links)' +\n '\\n\\t\\t\\t{' +\n '\\n\\t\\t\\t\\t<li><a href=\"@link.Url\" target=\"@link.Target\">@link.Name</a></li>' +\n '\\n\\t\\t\\t}' +\n '\\n\\t\\t</ul>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n \n async createTemplateWithDisplayingMultipleMediaPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models;' +\n '\\n@{' +\n '\\n\\tvar medias = Model.Value<IEnumerable<MediaWithCrops>>(\"' + valueAlias + '\");' +\n '\\n\\tif (medias.Any())' +\n '\\n\\t{' +\n '\\n\\t\\t<ul>' +\n '\\n\\t\\t\\t@foreach (var media in medias)' +\n '\\n\\t\\t\\t{' +\n '\\n\\t\\t\\t\\t<li><a href=\"@media.MediaUrl()\">@media.Name</a></li>' +\n '\\n\\t\\t\\t}' +\n '\\n\\t\\t</ul>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n}"]}
@@ -256,4 +256,5 @@ export declare class UiBaseLocators {
256
256
  clickReferenceNodeLinkWithName(name: string): Promise<void>;
257
257
  clickLinkWithName(name: string): Promise<void>;
258
258
  clickMediaPickerModalSubmitButton(): Promise<void>;
259
+ selectMediaWithName(mediaName: string): Promise<void>;
259
260
  }
@@ -723,6 +723,7 @@ class UiBaseLocators {
723
723
  }
724
724
  }
725
725
  async clickRemoveTabWithName(name) {
726
+ await this.page.locator('[label="' + name + '"]').hover();
726
727
  await this.page.locator('[label="' + name + '"] [label="Remove"]').click();
727
728
  }
728
729
  async clickLeftArrowButton() {
@@ -820,6 +821,9 @@ class UiBaseLocators {
820
821
  async clickMediaPickerModalSubmitButton() {
821
822
  await this.mediaPickerModalSubmitBtn.click();
822
823
  }
824
+ async selectMediaWithName(mediaName) {
825
+ await this.mediaCardItems.filter({ hasText: mediaName }).click({ position: { x: 0.5, y: 0.5 } });
826
+ }
823
827
  }
824
828
  exports.UiBaseLocators = UiBaseLocators;
825
829
  //# sourceMappingURL=UiBaseLocators.js.map