@umbraco/playwright-testhelpers 15.0.5 → 15.0.7

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.
Files changed (34) hide show
  1. package/dist/lib/helpers/ContentUiHelper.d.ts +5 -1
  2. package/dist/lib/helpers/ContentUiHelper.js +45 -8
  3. package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
  4. package/dist/lib/helpers/DataTypeUiHelper.js +22 -6
  5. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  6. package/dist/lib/helpers/DocumentApiHelper.js +1 -0
  7. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
  8. package/dist/lib/helpers/DocumentTypeUiHelper.js +4 -4
  9. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
  10. package/dist/lib/helpers/LogViewerUiHelper.js +15 -3
  11. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
  12. package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -1
  13. package/dist/lib/helpers/MediaUiHelper.d.ts +3 -1
  14. package/dist/lib/helpers/MediaUiHelper.js +13 -5
  15. package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
  16. package/dist/lib/helpers/MemberApiHelper.js +3 -3
  17. package/dist/lib/helpers/MemberApiHelper.js.map +1 -1
  18. package/dist/lib/helpers/MemberUiHelper.js +5 -1
  19. package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
  20. package/dist/lib/helpers/PackageUiHelper.js +11 -5
  21. package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
  22. package/dist/lib/helpers/StylesheetUiHelper.js +1 -1
  23. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
  24. package/dist/lib/helpers/TemplateUiHelper.js +2 -2
  25. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
  26. package/dist/lib/helpers/UiBaseLocators.d.ts +17 -6
  27. package/dist/lib/helpers/UiBaseLocators.js +75 -18
  28. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  29. package/dist/lib/helpers/UserGroupUiHelper.js +6 -2
  30. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
  31. package/dist/lib/helpers/UserUiHelper.js +4 -1
  32. package/dist/lib/helpers/UserUiHelper.js.map +1 -1
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +1 -1
@@ -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\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 .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}"]}
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}"]}
@@ -49,14 +49,14 @@ class DocumentTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
49
49
  async clickDocumentTypeSettingsTab() {
50
50
  // The wait is necessary, because we have to wait until the document is loaded, otherwise we won't be navigated to the settings tab
51
51
  await this.page.waitForTimeout(1000);
52
- await this.documentTypeSettingsTabBtn.waitFor({ state: 'visible' });
53
- await this.documentTypeSettingsTabBtn.click({ force: true });
52
+ await (0, test_1.expect)(this.documentTypeSettingsTabBtn).toBeVisible();
53
+ await this.documentTypeSettingsTabBtn.click();
54
54
  }
55
55
  async clickDocumentTypeTemplatesTab() {
56
56
  // The wait is necessary, because we have to wait until the document is loaded, otherwise we won't be navigated to the templates tab
57
57
  await this.page.waitForTimeout(1000);
58
- await this.documentTypeTemplatesTabBtn.waitFor({ state: 'visible' });
59
- await this.documentTypeTemplatesTabBtn.click({ force: true });
58
+ await (0, test_1.expect)(this.documentTypeTemplatesTabBtn).toBeVisible();
59
+ await this.documentTypeTemplatesTabBtn.click();
60
60
  }
61
61
  async clickVaryBySegmentsButton() {
62
62
  await this.varyBySegmentsBtn.click();
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentTypeUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {expect, Locator, Page} from \"@playwright/test\";\n\nexport class DocumentTypeUiHelper extends UiBaseLocators {\n private readonly newDocumentTypeBtn: Locator;\n private readonly varyByCultureSlider: Locator;\n private readonly documentTypeSettingsTabBtn: Locator;\n private readonly documentTypeTemplatesTabBtn: Locator;\n private readonly varyBySegmentsBtn: Locator;\n private readonly varyByCultureBtn: Locator;\n private readonly createDocumentTypeBtn: Locator;\n private readonly createDocumentTypeWithTemplateBtn: Locator;\n private readonly createElementTypeBtn: Locator;\n private readonly createDocumentFolderBtn: Locator;\n private readonly preventCleanupBtn: Locator;\n private readonly setAsDefaultBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newDocumentTypeBtn = page.getByLabel('New Document Type...');\n this.varyByCultureSlider = page.locator('label').filter({hasText: 'Vary by culture'}).locator('#slider');\n this.documentTypeSettingsTabBtn = page.locator('umb-body-layout').getByRole('tab', {name: 'Settings'});\n this.documentTypeTemplatesTabBtn = page.getByRole('tab', {name: 'Templates'})\n this.varyBySegmentsBtn = page.getByText('Vary by segments', {exact: true});\n this.varyByCultureBtn = page.getByText('Vary by culture', {exact: true});\n this.createDocumentTypeBtn = page.locator('umb-ref-item').getByText('Document Type', {exact: true});\n this.createDocumentTypeWithTemplateBtn = page.locator('umb-ref-item').getByText('Document Type with Template', {exact: true});\n this.createElementTypeBtn = page.locator('umb-ref-item').getByText('Element Type', {exact: true});\n this.createDocumentFolderBtn = page.locator('umb-ref-item').getByText('Folder', {exact: true});\n this.preventCleanupBtn = page.getByText('Prevent cleanup');\n this.setAsDefaultBtn = page.getByText('Set as default');\n }\n\n async clickActionsMenuForDocumentType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForDocumentType(\"Document Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Document Types\");\n }\n\n async clickNewDocumentTypeButton() {\n await this.newDocumentTypeBtn.click();\n }\n\n async clickVaryByCultureSlider() {\n await this.varyByCultureSlider.click();\n }\n\n async clickDocumentTypeSettingsTab() {\n // The wait is necessary, because we have to wait until the document is loaded, otherwise we won't be navigated to the settings tab\n await this.page.waitForTimeout(1000);\n await this.documentTypeSettingsTabBtn.waitFor({state: 'visible'});\n await this.documentTypeSettingsTabBtn.click({force: true});\n }\n\n async clickDocumentTypeTemplatesTab() {\n // The wait is necessary, because we have to wait until the document is loaded, otherwise we won't be navigated to the templates tab\n await this.page.waitForTimeout(1000);\n await this.documentTypeTemplatesTabBtn.waitFor({state: 'visible'});\n await this.documentTypeTemplatesTabBtn.click({force: true});\n }\n\n async clickVaryBySegmentsButton() {\n await this.varyBySegmentsBtn.click();\n }\n\n async clickVaryByCultureButton() {\n await this.varyByCultureBtn.click();\n }\n\n async clickPreventCleanupButton() {\n await this.preventCleanupBtn.click();\n }\n\n async goToDocumentType(documentTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(documentTypeName).click();\n }\n\n async enterDocumentTypeName(documentTypeName: string) {\n await this.enterAName.waitFor({state: 'visible'});\n await this.enterAName.fill(documentTypeName);\n }\n\n async clickCreateDocumentTypeButton() {\n await this.createDocumentTypeBtn.click();\n }\n\n async clickCreateDocumentTypeWithTemplateButton() {\n await this.createDocumentTypeWithTemplateBtn.click();\n }\n\n async clickCreateElementTypeButton() {\n await this.createElementTypeBtn.click();\n }\n\n async clickCreateDocumentFolderButton() {\n await this.createDocumentFolderBtn.click();\n }\n\n async isDocumentTreeItemVisible(name: string, isVisible = true) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"]')).toBeVisible({visible: isVisible});\n }\n\n async clickSetAsDefaultButton() {\n await this.setAsDefaultBtn.click();\n }\n}"]}
1
+ {"version":3,"file":"DocumentTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentTypeUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {expect, Locator, Page} from \"@playwright/test\";\n\nexport class DocumentTypeUiHelper extends UiBaseLocators {\n private readonly newDocumentTypeBtn: Locator;\n private readonly varyByCultureSlider: Locator;\n private readonly documentTypeSettingsTabBtn: Locator;\n private readonly documentTypeTemplatesTabBtn: Locator;\n private readonly varyBySegmentsBtn: Locator;\n private readonly varyByCultureBtn: Locator;\n private readonly createDocumentTypeBtn: Locator;\n private readonly createDocumentTypeWithTemplateBtn: Locator;\n private readonly createElementTypeBtn: Locator;\n private readonly createDocumentFolderBtn: Locator;\n private readonly preventCleanupBtn: Locator;\n private readonly setAsDefaultBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newDocumentTypeBtn = page.getByLabel('New Document Type...');\n this.varyByCultureSlider = page.locator('label').filter({hasText: 'Vary by culture'}).locator('#slider');\n this.documentTypeSettingsTabBtn = page.locator('umb-body-layout').getByRole('tab', {name: 'Settings'});\n this.documentTypeTemplatesTabBtn = page.getByRole('tab', {name: 'Templates'})\n this.varyBySegmentsBtn = page.getByText('Vary by segments', {exact: true});\n this.varyByCultureBtn = page.getByText('Vary by culture', {exact: true});\n this.createDocumentTypeBtn = page.locator('umb-ref-item').getByText('Document Type', {exact: true});\n this.createDocumentTypeWithTemplateBtn = page.locator('umb-ref-item').getByText('Document Type with Template', {exact: true});\n this.createElementTypeBtn = page.locator('umb-ref-item').getByText('Element Type', {exact: true});\n this.createDocumentFolderBtn = page.locator('umb-ref-item').getByText('Folder', {exact: true});\n this.preventCleanupBtn = page.getByText('Prevent cleanup');\n this.setAsDefaultBtn = page.getByText('Set as default');\n }\n\n async clickActionsMenuForDocumentType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForDocumentType(\"Document Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Document Types\");\n }\n\n async clickNewDocumentTypeButton() {\n await this.newDocumentTypeBtn.click();\n }\n\n async clickVaryByCultureSlider() {\n await this.varyByCultureSlider.click();\n }\n\n async clickDocumentTypeSettingsTab() {\n // The wait is necessary, because we have to wait until the document is loaded, otherwise we won't be navigated to the settings tab\n await this.page.waitForTimeout(1000);\n await expect(this.documentTypeSettingsTabBtn).toBeVisible();\n await this.documentTypeSettingsTabBtn.click();\n }\n\n async clickDocumentTypeTemplatesTab() {\n // The wait is necessary, because we have to wait until the document is loaded, otherwise we won't be navigated to the templates tab\n await this.page.waitForTimeout(1000);\n await expect(this.documentTypeTemplatesTabBtn).toBeVisible();\n await this.documentTypeTemplatesTabBtn.click();\n }\n\n async clickVaryBySegmentsButton() {\n await this.varyBySegmentsBtn.click();\n }\n\n async clickVaryByCultureButton() {\n await this.varyByCultureBtn.click();\n }\n\n async clickPreventCleanupButton() {\n await this.preventCleanupBtn.click();\n }\n\n async goToDocumentType(documentTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(documentTypeName).click();\n }\n\n async enterDocumentTypeName(documentTypeName: string) {\n await this.enterAName.waitFor({state: 'visible'});\n await this.enterAName.fill(documentTypeName);\n }\n\n async clickCreateDocumentTypeButton() {\n await this.createDocumentTypeBtn.click();\n }\n\n async clickCreateDocumentTypeWithTemplateButton() {\n await this.createDocumentTypeWithTemplateBtn.click();\n }\n\n async clickCreateElementTypeButton() {\n await this.createElementTypeBtn.click();\n }\n\n async clickCreateDocumentFolderButton() {\n await this.createDocumentFolderBtn.click();\n }\n\n async isDocumentTreeItemVisible(name: string, isVisible = true) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"]')).toBeVisible({visible: isVisible});\n }\n\n async clickSetAsDefaultButton() {\n await this.setAsDefaultBtn.click();\n }\n}"]}
@@ -39,15 +39,20 @@ class LogViewerUiHelper extends UiBaseLocators_1.UiBaseLocators {
39
39
  await (0, test_1.expect)(this.searchLogsTxt).toBeVisible();
40
40
  }
41
41
  async clickOverviewButton() {
42
- await this.overviewBtn.click({ force: true });
42
+ await (0, test_1.expect)(this.overviewBtn).toBeVisible();
43
+ await this.overviewBtn.click();
43
44
  }
44
45
  async enterSearchKeyword(keyword) {
45
46
  await this.searchLogsTxt.clear();
46
47
  await this.searchLogsTxt.fill(keyword);
47
48
  }
48
49
  async selectLogLevel(level) {
50
+ await (0, test_1.expect)(this.selectLogLevelBtn).toBeVisible();
51
+ // The force click is necessary.
49
52
  await this.selectLogLevelBtn.click({ force: true });
50
- await this.page.locator('.log-level-menu-item').getByText(level).click({ force: true });
53
+ const logLevelLocator = this.page.locator('.log-level-menu-item').getByText(level);
54
+ await (0, test_1.expect)(logLevelLocator).toBeVisible();
55
+ await logLevelLocator.click({ force: true });
51
56
  }
52
57
  async doesLogLevelIndicatorDisplay(level) {
53
58
  return await (0, test_1.expect)(this.page.locator('.log-level-button-indicator', { hasText: level })).toBeVisible();
@@ -56,6 +61,8 @@ class LogViewerUiHelper extends UiBaseLocators_1.UiBaseLocators {
56
61
  return await (0, test_1.expect)(this.page.locator('umb-log-viewer-message').locator('umb-log-viewer-level-tag', { hasText: level })).toHaveCount(expectedNumber);
57
62
  }
58
63
  async saveSearch(searchName) {
64
+ await (0, test_1.expect)(this.saveSearchHeartIcon).toBeVisible();
65
+ // The force click is necessary.
59
66
  await this.saveSearchHeartIcon.click({ force: true });
60
67
  await this.searchNameTxt.clear();
61
68
  await this.searchNameTxt.fill(searchName);
@@ -89,10 +96,15 @@ class LogViewerUiHelper extends UiBaseLocators_1.UiBaseLocators {
89
96
  await (0, test_1.expect)(this.page.locator('details[open] .property-value').getByText(text)).toBeVisible();
90
97
  }
91
98
  async clickSavedSearchesButton() {
99
+ await (0, test_1.expect)(this.savedSearchesBtn).toBeVisible();
100
+ // The force click is necessary.
92
101
  await this.savedSearchesBtn.click({ force: true });
93
102
  }
94
103
  async removeSavedSearchByName(name) {
95
- await this.page.locator('li').filter({ hasText: name }).getByLabel('Remove saved search').click({ force: true });
104
+ const removedSavedSearchWithNameLocator = this.page.locator('li').filter({ hasText: name }).getByLabel('Remove saved search');
105
+ await (0, test_1.expect)(removedSavedSearchWithNameLocator).toBeVisible();
106
+ // The force click is necessary.
107
+ await removedSavedSearchWithNameLocator.click({ force: true });
96
108
  }
97
109
  async waitUntilLoadingSpinnerInvisible() {
98
110
  await (0, test_1.expect)(this.loadingSpinner).toHaveCount(0);
@@ -1 +1 @@
1
- {"version":3,"file":"LogViewerUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LogViewerUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class LogViewerUiHelper extends UiBaseLocators {\n private readonly searchBtn: Locator;\n private readonly searchLogsTxt: Locator;\n private readonly selectLogLevelBtn: Locator;\n private readonly saveSearchHeartIcon: Locator;\n private readonly searchNameTxt: Locator;\n private readonly saveSearchBtn: Locator;\n private readonly overviewBtn: Locator;\n private readonly sortLogByTimestampBtn: Locator;\n private readonly firstLogLevelTimestamp: Locator;\n private readonly firstLogLevelMessage: Locator;\n private readonly firstLogSearchResult: Locator;\n private readonly savedSearchesBtn: Locator;\n private readonly loadingSpinner: Locator;\n\n constructor(page: Page) {\n super(page);\n this.searchBtn = page.locator('uui-tab').filter({hasText: 'Search'}).locator('svg');\n this.searchLogsTxt = page.getByPlaceholder('Search logs...');\n this.selectLogLevelBtn = page.getByLabel('Select log levels');\n this.saveSearchHeartIcon = page.getByLabel(\"Save search\");\n this.searchNameTxt = page.getByLabel(\"Search name\");\n this.saveSearchBtn = page.locator('uui-dialog-layout').getByLabel(\"Save search\");\n this.overviewBtn = page.getByRole('tab', {name: 'Overview'});\n this.sortLogByTimestampBtn = page.getByLabel('Sort logs');\n this.firstLogLevelTimestamp = page.locator('umb-log-viewer-message #timestamp').first();\n this.firstLogLevelMessage = page.locator('umb-log-viewer-message #message').first();\n this.firstLogSearchResult = page.getByRole('group').locator('#message').first();\n this.savedSearchesBtn = page.getByLabel('Saved searches');\n this.loadingSpinner = page.locator('#empty uui-loader-circle');\n }\n\n async clickSearchButton() {\n await expect(this.searchBtn).toBeVisible();\n await this.searchBtn.click();\n await expect(this.searchLogsTxt).toBeVisible();\n }\n\n async clickOverviewButton() {\n await this.overviewBtn.click({force: true});\n }\n\n async enterSearchKeyword(keyword: string) {\n await this.searchLogsTxt.clear();\n await this.searchLogsTxt.fill(keyword);\n }\n\n async selectLogLevel(level: string) {\n await this.selectLogLevelBtn.click({force: true});\n await this.page.locator('.log-level-menu-item').getByText(level).click({force: true});\n }\n\n async doesLogLevelIndicatorDisplay(level: string) {\n return await expect(this.page.locator('.log-level-button-indicator', {hasText: level})).toBeVisible();\n }\n\n async doesLogLevelCountMatch(level: string, expectedNumber: number) {\n return await expect(this.page.locator('umb-log-viewer-message').locator('umb-log-viewer-level-tag', {hasText: level})).toHaveCount(expectedNumber);\n }\n\n async saveSearch(searchName: string) {\n await this.saveSearchHeartIcon.click({force: true});\n await this.searchNameTxt.clear();\n await this.searchNameTxt.fill(searchName);\n await this.saveSearchBtn.click();\n }\n\n checkSavedSearch(searchName: string) {\n return this.page.locator('#saved-searches').getByLabel(searchName, {exact: true});\n }\n\n async clickSortLogByTimestampButton() {\n await this.sortLogByTimestampBtn.click();\n }\n\n async doesFirstLogHaveTimestamp(timestamp: string) {\n return await expect(this.firstLogLevelTimestamp).toContainText(timestamp);\n }\n\n async clickPageNumber(pageNumber: number) {\n await this.page.getByLabel('Go to page ' + pageNumber, {exact: true}).click();\n }\n\n async doesFirstLogHaveMessage(message: string) {\n await expect(this.firstLogLevelMessage).toContainText(message, {timeout: 10000});\n }\n\n async clickSavedSearchByName(name: string) {\n await this.page.locator('#saved-searches').getByLabel(name).click();\n }\n\n async doesSearchBoxHaveValue(searchValue: string) {\n await expect(this.page.getByPlaceholder('Search logs...')).toHaveValue(searchValue);\n }\n\n async clickFirstLogSearchResult() {\n await this.firstLogSearchResult.click();\n }\n\n async doesDetailedLogHaveText(text: string) {\n await expect(this.page.locator('details[open] .property-value').getByText(text)).toBeVisible();\n }\n\n async clickSavedSearchesButton() {\n await this.savedSearchesBtn.click({force: true});\n }\n\n async removeSavedSearchByName(name: string) {\n await this.page.locator('li').filter({hasText: name}).getByLabel('Remove saved search').click({force: true});\n }\n\n async waitUntilLoadingSpinnerInvisible() {\n await expect(this.loadingSpinner).toHaveCount(0);\n }\n}\n"]}
1
+ {"version":3,"file":"LogViewerUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LogViewerUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class LogViewerUiHelper extends UiBaseLocators {\n private readonly searchBtn: Locator;\n private readonly searchLogsTxt: Locator;\n private readonly selectLogLevelBtn: Locator;\n private readonly saveSearchHeartIcon: Locator;\n private readonly searchNameTxt: Locator;\n private readonly saveSearchBtn: Locator;\n private readonly overviewBtn: Locator;\n private readonly sortLogByTimestampBtn: Locator;\n private readonly firstLogLevelTimestamp: Locator;\n private readonly firstLogLevelMessage: Locator;\n private readonly firstLogSearchResult: Locator;\n private readonly savedSearchesBtn: Locator;\n private readonly loadingSpinner: Locator;\n\n constructor(page: Page) {\n super(page);\n this.searchBtn = page.locator('uui-tab').filter({hasText: 'Search'}).locator('svg');\n this.searchLogsTxt = page.getByPlaceholder('Search logs...');\n this.selectLogLevelBtn = page.getByLabel('Select log levels');\n this.saveSearchHeartIcon = page.getByLabel(\"Save search\");\n this.searchNameTxt = page.getByLabel(\"Search name\");\n this.saveSearchBtn = page.locator('uui-dialog-layout').getByLabel(\"Save search\");\n this.overviewBtn = page.getByRole('tab', {name: 'Overview'});\n this.sortLogByTimestampBtn = page.getByLabel('Sort logs');\n this.firstLogLevelTimestamp = page.locator('umb-log-viewer-message #timestamp').first();\n this.firstLogLevelMessage = page.locator('umb-log-viewer-message #message').first();\n this.firstLogSearchResult = page.getByRole('group').locator('#message').first();\n this.savedSearchesBtn = page.getByLabel('Saved searches');\n this.loadingSpinner = page.locator('#empty uui-loader-circle');\n }\n\n async clickSearchButton() {\n await expect(this.searchBtn).toBeVisible();\n await this.searchBtn.click();\n await expect(this.searchLogsTxt).toBeVisible();\n }\n\n async clickOverviewButton() {\n await expect(this.overviewBtn).toBeVisible();\n await this.overviewBtn.click();\n }\n\n async enterSearchKeyword(keyword: string) {\n await this.searchLogsTxt.clear();\n await this.searchLogsTxt.fill(keyword);\n }\n\n async selectLogLevel(level: string) {\n await expect(this.selectLogLevelBtn).toBeVisible();\n // The force click is necessary.\n await this.selectLogLevelBtn.click({force: true});\n const logLevelLocator = this.page.locator('.log-level-menu-item').getByText(level);\n await expect(logLevelLocator).toBeVisible();\n await logLevelLocator.click({force: true});\n }\n\n async doesLogLevelIndicatorDisplay(level: string) {\n return await expect(this.page.locator('.log-level-button-indicator', {hasText: level})).toBeVisible();\n }\n\n async doesLogLevelCountMatch(level: string, expectedNumber: number) {\n return await expect(this.page.locator('umb-log-viewer-message').locator('umb-log-viewer-level-tag', {hasText: level})).toHaveCount(expectedNumber);\n }\n\n async saveSearch(searchName: string) {\n await expect(this.saveSearchHeartIcon).toBeVisible();\n // The force click is necessary.\n await this.saveSearchHeartIcon.click({force: true});\n await this.searchNameTxt.clear();\n await this.searchNameTxt.fill(searchName);\n await this.saveSearchBtn.click();\n }\n\n checkSavedSearch(searchName: string) {\n return this.page.locator('#saved-searches').getByLabel(searchName, {exact: true});\n }\n\n async clickSortLogByTimestampButton() {\n await this.sortLogByTimestampBtn.click();\n }\n\n async doesFirstLogHaveTimestamp(timestamp: string) {\n return await expect(this.firstLogLevelTimestamp).toContainText(timestamp);\n }\n\n async clickPageNumber(pageNumber: number) {\n await this.page.getByLabel('Go to page ' + pageNumber, {exact: true}).click();\n }\n\n async doesFirstLogHaveMessage(message: string) {\n await expect(this.firstLogLevelMessage).toContainText(message, {timeout: 10000});\n }\n\n async clickSavedSearchByName(name: string) {\n await this.page.locator('#saved-searches').getByLabel(name).click();\n }\n\n async doesSearchBoxHaveValue(searchValue: string) {\n await expect(this.page.getByPlaceholder('Search logs...')).toHaveValue(searchValue);\n }\n\n async clickFirstLogSearchResult() {\n await this.firstLogSearchResult.click();\n }\n\n async doesDetailedLogHaveText(text: string) {\n await expect(this.page.locator('details[open] .property-value').getByText(text)).toBeVisible();\n }\n\n async clickSavedSearchesButton() {\n await expect(this.savedSearchesBtn).toBeVisible();\n // The force click is necessary.\n await this.savedSearchesBtn.click({force: true});\n }\n\n async removeSavedSearchByName(name: string) {\n const removedSavedSearchWithNameLocator = this.page.locator('li').filter({hasText: name}).getByLabel('Remove saved search');\n await expect(removedSavedSearchWithNameLocator).toBeVisible();\n // The force click is necessary.\n await removedSavedSearchWithNameLocator.click({force: true});\n }\n\n async waitUntilLoadingSpinnerInvisible() {\n await expect(this.loadingSpinner).toHaveCount(0);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MediaTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaTypeUiHelper.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,MAAa,iBAAkB,SAAQ,+BAAc;IAClC,wBAAwB,CAAU;IAClC,0BAA0B,CAAU;IAErD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,aAAqB;QACvC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,kBAA0B,EAAE,WAAmB;QAC7F,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1H,CAAC;CACF;AAvCD,8CAuCC","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {Locator, Page} from \"@playwright/test\";\n\nexport class MediaTypeUiHelper extends UiBaseLocators {\n private readonly newMediaTypeThreeDotsBtn: Locator;\n private readonly mediaEditPropertyWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newMediaTypeThreeDotsBtn = page.getByLabel('New Media Type...');\n this.mediaEditPropertyWorkspace = page.locator('umb-media-type-workspace-view-edit-property');\n }\n\n async clickActionsMenuForMediaType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForMediaType(\"Media Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Media Types\");\n }\n\n async clickNewMediaTypeButton() {\n await this.newMediaTypeThreeDotsBtn.click();\n }\n \n async goToMediaType(mediaTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(mediaTypeName).click();\n }\n\n async enterMediaTypeName(name: string) {\n await this.enterAName.waitFor({state: 'visible'});\n await this.enterAName.fill(name);\n }\n\n async enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string) {\n await this.mediaEditPropertyWorkspace.filter({hasText: propertyEditorName}).getByLabel('description').fill(description);\n }\n}"]}
1
+ {"version":3,"file":"MediaTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaTypeUiHelper.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,MAAa,iBAAkB,SAAQ,+BAAc;IAClC,wBAAwB,CAAU;IAClC,0BAA0B,CAAU;IAErD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,aAAqB;QACvC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,kBAA0B,EAAE,WAAmB;QAC7F,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1H,CAAC;CACF;AAvCD,8CAuCC","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {Locator, Page} from \"@playwright/test\";\n\nexport class MediaTypeUiHelper extends UiBaseLocators {\n private readonly newMediaTypeThreeDotsBtn: Locator;\n private readonly mediaEditPropertyWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newMediaTypeThreeDotsBtn = page.getByLabel('New Media Type...');\n this.mediaEditPropertyWorkspace = page.locator('umb-media-type-workspace-view-edit-property');\n }\n\n async clickActionsMenuForMediaType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForMediaType(\"Media Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Media Types\");\n }\n\n async clickNewMediaTypeButton() {\n await this.newMediaTypeThreeDotsBtn.click();\n }\n\n async goToMediaType(mediaTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(mediaTypeName).click();\n }\n\n async enterMediaTypeName(name: string) {\n await this.enterAName.waitFor({state: 'visible'});\n await this.enterAName.fill(name);\n }\n\n async enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string) {\n await this.mediaEditPropertyWorkspace.filter({hasText: propertyEditorName}).getByLabel('description').fill(description);\n }\n}"]}
@@ -9,7 +9,7 @@ export declare class MediaUiHelper extends UiBaseLocators {
9
9
  private readonly restoreThreeDotsBtn;
10
10
  private readonly restoreBtn;
11
11
  private readonly confirmEmptyRecycleBinBtn;
12
- private readonly mediaSectionCreateBtn;
12
+ private readonly mediaCreateBtn;
13
13
  private readonly mediaListHeader;
14
14
  private readonly mediaCardItemsValues;
15
15
  private readonly mediaListView;
@@ -21,6 +21,7 @@ export declare class MediaUiHelper extends UiBaseLocators {
21
21
  private readonly mediaHeaderActionsMenu;
22
22
  private readonly emptyRecycleBinBtn;
23
23
  private readonly mediaTreeItem;
24
+ private readonly mediaPopoverLayout;
24
25
  constructor(page: Page);
25
26
  clickCreateMediaItemButton(): Promise<void>;
26
27
  enterMediaItemName(name: string): Promise<void>;
@@ -33,6 +34,7 @@ export declare class MediaUiHelper extends UiBaseLocators {
33
34
  deleteMediaItem(name: string): Promise<void>;
34
35
  clickCreateMediaWithType(mediaTypeName: string): Promise<void>;
35
36
  clickMediaTypeName(mediaTypeName: string): Promise<void>;
37
+ clickMediaTypeInPopoverByName(mediaTypeName: string): Promise<void>;
36
38
  clickEmptyRecycleBinButton(): Promise<void>;
37
39
  clickConfirmEmptyRecycleBinButton(): Promise<void>;
38
40
  clickCreateModalButton(): Promise<void>;
@@ -12,7 +12,7 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
12
12
  restoreThreeDotsBtn;
13
13
  restoreBtn;
14
14
  confirmEmptyRecycleBinBtn;
15
- mediaSectionCreateBtn;
15
+ mediaCreateBtn;
16
16
  mediaListHeader;
17
17
  mediaCardItemsValues;
18
18
  mediaListView;
@@ -24,6 +24,7 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
24
24
  mediaHeaderActionsMenu;
25
25
  emptyRecycleBinBtn;
26
26
  mediaTreeItem;
27
+ mediaPopoverLayout;
27
28
  constructor(page) {
28
29
  super(page);
29
30
  this.createMediaItemBtn = page.locator('umb-create-media-collection-action').getByLabel('Create');
@@ -34,7 +35,7 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
34
35
  this.restoreThreeDotsBtn = page.getByRole('button', { name: 'Restore...' });
35
36
  this.restoreBtn = page.getByLabel('Restore', { exact: true });
36
37
  this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', { exact: true });
37
- this.mediaSectionCreateBtn = this.page.locator('#header').filter({ hasText: 'Media' }).getByLabel('#actions_create');
38
+ this.mediaCreateBtn = this.page.locator('umb-collection-toolbar').getByLabel('Create');
38
39
  this.mediaListView = this.page.locator('umb-media-table-collection-view');
39
40
  this.mediaGridView = this.page.locator('umb-media-grid-collection-view');
40
41
  this.mediaListHeader = this.mediaListView.locator('uui-table-head-cell span');
@@ -46,6 +47,7 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
46
47
  this.mediaHeaderActionsMenu = page.locator('#header >> [label="Open actions menu"]');
47
48
  this.emptyRecycleBinBtn = page.locator('[label="Empty Recycle Bin"]').locator('svg');
48
49
  this.mediaTreeItem = page.locator('umb-media-tree-item');
50
+ this.mediaPopoverLayout = page.locator('umb-popover-layout');
49
51
  }
50
52
  async clickCreateMediaItemButton() {
51
53
  await this.createMediaItemBtn.click();
@@ -82,15 +84,21 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
82
84
  await this.clickConfirmToDeleteButton();
83
85
  }
84
86
  async clickCreateMediaWithType(mediaTypeName) {
85
- await this.mediaSectionCreateBtn.click({ force: true });
86
- await this.clickMediaTypeName(mediaTypeName);
87
+ await (0, test_1.expect)(this.mediaCreateBtn).toBeVisible();
88
+ await this.mediaCreateBtn.click();
89
+ await this.clickMediaTypeInPopoverByName(mediaTypeName);
87
90
  }
88
91
  async clickMediaTypeName(mediaTypeName) {
89
92
  await this.documentTypeNode.filter({ hasText: mediaTypeName }).click();
90
93
  }
94
+ async clickMediaTypeInPopoverByName(mediaTypeName) {
95
+ await this.mediaPopoverLayout.getByLabel(mediaTypeName).click();
96
+ }
91
97
  async clickEmptyRecycleBinButton() {
92
98
  await this.recycleBinMenuItem.hover();
93
- await this.emptyRecycleBinBtn.click();
99
+ await (0, test_1.expect)(this.emptyRecycleBinBtn).toBeVisible();
100
+ // Force click is needed
101
+ await this.emptyRecycleBinBtn.click({ force: true });
94
102
  }
95
103
  async clickConfirmEmptyRecycleBinButton() {
96
104
  await this.confirmEmptyRecycleBinBtn.click();
@@ -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 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 mediaCreateBtn: 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 private readonly mediaPopoverLayout: 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.mediaCreateBtn = this.page.locator('umb-collection-toolbar').getByLabel('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 this.mediaPopoverLayout = page.locator('umb-popover-layout');\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 expect(this.mediaCreateBtn).toBeVisible();\n await this.mediaCreateBtn.click();\n await this.clickMediaTypeInPopoverByName(mediaTypeName);\n }\n\n async clickMediaTypeName(mediaTypeName: string) {\n await this.documentTypeNode.filter({hasText: mediaTypeName}).click();\n }\n\n async clickMediaTypeInPopoverByName(mediaTypeName: string) {\n await this.mediaPopoverLayout.getByLabel(mediaTypeName).click();\n }\n\n async clickEmptyRecycleBinButton() {\n await this.recycleBinMenuItem.hover();\n await expect(this.emptyRecycleBinBtn).toBeVisible();\n // Force click is needed\n await this.emptyRecycleBinBtn.click({force: true});\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}"]}
@@ -26,7 +26,7 @@ class MemberApiHelper {
26
26
  return response.status();
27
27
  }
28
28
  async getAll() {
29
- return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?orderBy=username&skip=0&take=10000');
29
+ return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?skip=0&take=1000');
30
30
  }
31
31
  async filterByMemberTypeId(memberTypeId) {
32
32
  return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?memberTypeId=' + memberTypeId + '&orderBy=username&skip=0&take=100');
@@ -43,7 +43,7 @@ class MemberApiHelper {
43
43
  const jsonMembers = await rootMembers.json();
44
44
  for (const member of jsonMembers.items) {
45
45
  if (member.variants[0].name === name) {
46
- return this.get(member.id);
46
+ return await this.get(member.id);
47
47
  }
48
48
  }
49
49
  return false;
@@ -53,7 +53,7 @@ class MemberApiHelper {
53
53
  const jsonMembers = await rootMembers.json();
54
54
  for (const member of jsonMembers.items) {
55
55
  if (member.variants[0].name === name) {
56
- return this.delete(member.id);
56
+ return await this.delete(member.id);
57
57
  }
58
58
  }
59
59
  return null;