@umbraco/playwright-testhelpers 17.0.22 → 17.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/helpers/ConstantHelper.d.ts +1 -0
- package/dist/lib/helpers/ConstantHelper.js +2 -1
- package/dist/lib/helpers/ConstantHelper.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.d.ts +10 -0
- package/dist/lib/helpers/ContentUiHelper.js +33 -0
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.d.ts +4 -4
- package/dist/lib/helpers/DocumentApiHelper.js +32 -8
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateApiHelper.d.ts +2 -0
- package/dist/lib/helpers/TemplateApiHelper.js +36 -0
- package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +1 -0
- package/dist/lib/helpers/UiBaseLocators.js +10 -0
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -305,6 +305,42 @@ class TemplateApiHelper {
|
|
|
305
305
|
const templateContent = '\n\t@Model.Value("' + valueAlias + '", fallback: Fallback.ToDefaultValue, defaultValue: (object)"' + defaultValue + '")';
|
|
306
306
|
return this.createTemplateWithDisplayingValue(name, templateContent);
|
|
307
307
|
}
|
|
308
|
+
async createTemplateWithDisplayingBlockListItems(name, blockListPropertyName, elementPropertyAlias, noBlocksMessage = 'No blocks available') {
|
|
309
|
+
const templateContent = '\n@using Umbraco.Cms.Core.Models.Blocks' +
|
|
310
|
+
'\n@{' +
|
|
311
|
+
'\n\tvar blocks = Model.Value<IEnumerable<BlockListItem>>("' + AliasHelper_1.AliasHelper.toAlias(blockListPropertyName) + '");' +
|
|
312
|
+
'\n\tif (blocks != null && blocks.Any())' +
|
|
313
|
+
'\n\t{' +
|
|
314
|
+
'\n\t\tforeach (var block in blocks)' +
|
|
315
|
+
'\n\t\t{' +
|
|
316
|
+
'\n\t\t\t<p>@block.Content.Value("' + AliasHelper_1.AliasHelper.toAlias(elementPropertyAlias) + '")</p>' +
|
|
317
|
+
'\n\t\t}' +
|
|
318
|
+
'\n\t}' +
|
|
319
|
+
'\n\telse' +
|
|
320
|
+
'\n\t{' +
|
|
321
|
+
'\n\t\t<p>' + noBlocksMessage + '</p>' +
|
|
322
|
+
'\n\t}' +
|
|
323
|
+
'\n}';
|
|
324
|
+
return this.createTemplateWithDisplayingValue(name, templateContent);
|
|
325
|
+
}
|
|
326
|
+
async createTemplateWithDisplayingBlockGridItems(name, blockGridPropertyName, elementPropertyAlias, noBlocksMessage = 'No blocks available') {
|
|
327
|
+
const templateContent = '\n@using Umbraco.Cms.Core.Models.Blocks' +
|
|
328
|
+
'\n@{' +
|
|
329
|
+
'\n\tvar blocks = Model.Value<BlockGridModel>("' + AliasHelper_1.AliasHelper.toAlias(blockGridPropertyName) + '");' +
|
|
330
|
+
'\n\tif (blocks != null && blocks.Any())' +
|
|
331
|
+
'\n\t{' +
|
|
332
|
+
'\n\t\tforeach (var block in blocks)' +
|
|
333
|
+
'\n\t\t{' +
|
|
334
|
+
'\n\t\t\t<p>@block.Content.Value("' + AliasHelper_1.AliasHelper.toAlias(elementPropertyAlias) + '")</p>' +
|
|
335
|
+
'\n\t\t}' +
|
|
336
|
+
'\n\t}' +
|
|
337
|
+
'\n\telse' +
|
|
338
|
+
'\n\t{' +
|
|
339
|
+
'\n\t\t<p>' + noBlocksMessage + '</p>' +
|
|
340
|
+
'\n\t}' +
|
|
341
|
+
'\n}';
|
|
342
|
+
return this.createTemplateWithDisplayingValue(name, templateContent);
|
|
343
|
+
}
|
|
308
344
|
}
|
|
309
345
|
exports.TemplateApiHelper = TemplateApiHelper;
|
|
310
346
|
//# sourceMappingURL=TemplateApiHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class TemplateApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n return response.status() === 200;\n }\n\n async create(name: string, alias: string, content: string) {\n const templateData = {\n \"name\": name,\n \"alias\": alias,\n \"content\": content\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/template', templateData);\n // Returns the id of the created template\n return response.headers().location.split(\"/\").pop();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n }\n\n async update(id: string, template: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id, template);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/template/children?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async getItems(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.isContainer || child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(id);\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.isContainer || child.hasChildren) {\n return await this.recurseDeleteChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n } else if (child.isContainer || child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n return this.get(template.id);\n } else if (template.isContainer || template.hasChildren) {\n const result = await this.recurseChildren(name, template.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n if (template.isContainer || template.hasChildren) {\n await this.recurseDeleteChildren(template.id);\n }\n await this.delete(template.id);\n } else {\n if (template.isContainer || template.hasChildren) {\n await this.recurseChildren(name, template.id, true);\n }\n }\n }\n }\n\n async createDefaultTemplate(name: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n return await this.create(name, alias, '');\n }\n\n async createTemplateWithDisplayingValue(name: string, templateContent: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n const content =\n '@using Umbraco.Cms.Web.Common.PublishedModels;' +\n '\\n@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage;' +\n '\\n@{' +\n '\\n\\tLayout = null;' +\n '\\n}' +\n '\\n<div data-mark=\"content-render-value\">' +\n templateContent +\n '\\n</div>\\n';\n\n const templateId = await this.create(name, alias, content);\n return templateId === undefined ? '' : templateId;\n }\n\n async createTemplateWithDisplayingStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\")){' +\n '\\n\\t\\t<p>@(Model.Value<string>(\"' + valueAlias + '\"))</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMulitpleStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@if(Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n{' +\n '\\nvar items = Model.Value<IEnumerable<string>>(\"' + valueAlias + '\");' +\n '\\n\\t<ul>' +\n '\\n\\t\\t@foreach(var item in items)' +\n '\\n\\t\\t{' +\n '\\n\\t\\t\\t<li>@item</li>' +\n '\\n\\t\\t}' +\n '\\n\\t</ul>' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingApprovedColorValue(name: string, valueAlias: string, useLabel: boolean = true) {\n let templateContent = '';\n if (useLabel) {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tvar colorLabel = Model.Value<ColorPickerValueConverter.PickedColor>(\"' + valueAlias + '\").Label;' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@colorLabel</div>' +\n '\\n\\t}' +\n '\\n}';\n } else {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@hexColor</div>' +\n '\\n\\t}' +\n '\\n}';\n }\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingImageCropperValue(name: string, valueAlias: string, cropName: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n\\t<img src=\"@Url.GetCropUrl(Model.Value<ImageCropperValue>(\"' + valueAlias + '\"), \"' + cropName + '\")\" />';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingContentPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tIPublishedContent typedContentPicker = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\tif (typedContentPicker != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<p>@typedContentPicker.Name</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingUploadedFileValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using System.IO;' +\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar myFile = Model.Value<string>(\"' + valueAlias + '\");' +\n '\\n\\t\\t<a href=\"@myFile\">@System.IO.Path.GetFileName(myFile)</a>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMemberPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar member = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\t\\t@member.Name' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMultiURLPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models' +\n '\\n@{' +\n '\\n\\tvar links = Model.Value<IEnumerable<Link>>(\"' + valueAlias + '\");' +\n '\\n\\tif (links.Any())' +\n '\\n\\t{' +\n '\\n\\t\\t<ul>' +\n '\\n\\t\\t\\t@foreach (var link in links)' +\n '\\n\\t\\t\\t{' +\n '\\n\\t\\t\\t\\t<li><a href=\"@link.Url\" target=\"@link.Target\">@link.Name</a></li>' +\n '\\n\\t\\t\\t}' +\n '\\n\\t\\t</ul>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMultipleMediaPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models;' +\n '\\n@{' +\n '\\n\\tvar medias = Model.Value<IEnumerable<MediaWithCrops>>(\"' + valueAlias + '\");' +\n '\\n\\tif (medias.Any())' +\n '\\n\\t{' +\n '\\n\\t\\t<ul>' +\n '\\n\\t\\t\\t@foreach (var media in medias)' +\n '\\n\\t\\t\\t{' +\n '\\n\\t\\t\\t\\t<li><a href=\"@media.MediaUrl()\">@media.Name</a></li>' +\n '\\n\\t\\t\\t}' +\n '\\n\\t\\t</ul>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateUsingSiblingOfTypeMethod(name: string, documentTypeName: string) {\n const templateContent =\n '\\n<ul>' +\n '\\n\\t@foreach(var item in Model.SiblingsOfType(\"' + AliasHelper.toAlias(documentTypeName) + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\t<li><a href=\"@item.Url()\">@item.Name</a></li>' +\n '\\n\\t}' +\n '\\n<ul>';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithContent(name: string, templateContent: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n return await this.create(name, alias, templateContent);\n }\n\n async createTemplateWithEntityDataPickerValue(templateName: string, propertyName: string) {\n const templateContent = \n '@using Umbraco.Cms.Core.Models;\\n' +\n '@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage;\\n' +\n '@{\\n' +\n '\\tLayout = null;\\n' +\n '\\tvar entityDataPickerValue = Model.Value<EntityDataPickerValue>(\"' + AliasHelper.toAlias(propertyName) + '\");\\n' +\n '}\\n' +\n '\\n' +\n '@if (entityDataPickerValue is null)\\n' +\n '{ }\\n' +\n 'else\\n' +\n '{\\n' +\n '\\t<div data-mark=\"data-source-render-value\">\\n' +\n '\\t\\t<p>@entityDataPickerValue.DataSource</p>\\n' +\n '\\t</div>\\n' +\n '\\n' +\n '\\t<div data-mark=\"content-render-value\">\\n' +\n '\\t\\t<ul>\\n' +\n '\\n' +\n '\\t\\t@foreach (var id in @entityDataPickerValue.Ids)\\n' +\n '\\t\\t{\\n' +\n '\\t\\t\\t<li>@id</li>\\n' +\n '\\t\\t}\\n' +\n '\\t\\t</ul>\\n' +\n '\\t</div>\\n' +\n '}';\n return this.createTemplateWithContent(templateName, templateContent);\n }\n\n async createTemplateWithDisplayingDefaultValue(name: string, valueAlias: string, defaultValue: string) {\n const templateContent =\n '\\n\\t@Model.Value(\"' + valueAlias + '\", fallback: Fallback.ToDefaultValue, defaultValue: (object)\"' + defaultValue + '\")';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"TemplateApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class TemplateApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n return response.status() === 200;\n }\n\n async create(name: string, alias: string, content: string) {\n const templateData = {\n \"name\": name,\n \"alias\": alias,\n \"content\": content\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/template', templateData);\n // Returns the id of the created template\n return response.headers().location.split(\"/\").pop();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n }\n\n async update(id: string, template: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id, template);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/template/children?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async getItems(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.isContainer || child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(id);\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.isContainer || child.hasChildren) {\n return await this.recurseDeleteChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n } else if (child.isContainer || child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n return this.get(template.id);\n } else if (template.isContainer || template.hasChildren) {\n const result = await this.recurseChildren(name, template.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n if (template.isContainer || template.hasChildren) {\n await this.recurseDeleteChildren(template.id);\n }\n await this.delete(template.id);\n } else {\n if (template.isContainer || template.hasChildren) {\n await this.recurseChildren(name, template.id, true);\n }\n }\n }\n }\n\n async createDefaultTemplate(name: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n return await this.create(name, alias, '');\n }\n\n async createTemplateWithDisplayingValue(name: string, templateContent: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n const content =\n '@using Umbraco.Cms.Web.Common.PublishedModels;' +\n '\\n@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage;' +\n '\\n@{' +\n '\\n\\tLayout = null;' +\n '\\n}' +\n '\\n<div data-mark=\"content-render-value\">' +\n templateContent +\n '\\n</div>\\n';\n\n const templateId = await this.create(name, alias, content);\n return templateId === undefined ? '' : templateId;\n }\n\n async createTemplateWithDisplayingStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\")){' +\n '\\n\\t\\t<p>@(Model.Value<string>(\"' + valueAlias + '\"))</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMulitpleStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@if(Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n{' +\n '\\nvar items = Model.Value<IEnumerable<string>>(\"' + valueAlias + '\");' +\n '\\n\\t<ul>' +\n '\\n\\t\\t@foreach(var item in items)' +\n '\\n\\t\\t{' +\n '\\n\\t\\t\\t<li>@item</li>' +\n '\\n\\t\\t}' +\n '\\n\\t</ul>' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingApprovedColorValue(name: string, valueAlias: string, useLabel: boolean = true) {\n let templateContent = '';\n if (useLabel) {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tvar colorLabel = Model.Value<ColorPickerValueConverter.PickedColor>(\"' + valueAlias + '\").Label;' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@colorLabel</div>' +\n '\\n\\t}' +\n '\\n}';\n } else {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@hexColor</div>' +\n '\\n\\t}' +\n '\\n}';\n }\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingImageCropperValue(name: string, valueAlias: string, cropName: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n\\t<img src=\"@Url.GetCropUrl(Model.Value<ImageCropperValue>(\"' + valueAlias + '\"), \"' + cropName + '\")\" />';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingContentPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tIPublishedContent typedContentPicker = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\tif (typedContentPicker != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<p>@typedContentPicker.Name</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingUploadedFileValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using System.IO;' +\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar myFile = Model.Value<string>(\"' + valueAlias + '\");' +\n '\\n\\t\\t<a href=\"@myFile\">@System.IO.Path.GetFileName(myFile)</a>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMemberPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar member = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\t\\t@member.Name' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMultiURLPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models' +\n '\\n@{' +\n '\\n\\tvar links = Model.Value<IEnumerable<Link>>(\"' + valueAlias + '\");' +\n '\\n\\tif (links.Any())' +\n '\\n\\t{' +\n '\\n\\t\\t<ul>' +\n '\\n\\t\\t\\t@foreach (var link in links)' +\n '\\n\\t\\t\\t{' +\n '\\n\\t\\t\\t\\t<li><a href=\"@link.Url\" target=\"@link.Target\">@link.Name</a></li>' +\n '\\n\\t\\t\\t}' +\n '\\n\\t\\t</ul>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMultipleMediaPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models;' +\n '\\n@{' +\n '\\n\\tvar medias = Model.Value<IEnumerable<MediaWithCrops>>(\"' + valueAlias + '\");' +\n '\\n\\tif (medias.Any())' +\n '\\n\\t{' +\n '\\n\\t\\t<ul>' +\n '\\n\\t\\t\\t@foreach (var media in medias)' +\n '\\n\\t\\t\\t{' +\n '\\n\\t\\t\\t\\t<li><a href=\"@media.MediaUrl()\">@media.Name</a></li>' +\n '\\n\\t\\t\\t}' +\n '\\n\\t\\t</ul>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateUsingSiblingOfTypeMethod(name: string, documentTypeName: string) {\n const templateContent =\n '\\n<ul>' +\n '\\n\\t@foreach(var item in Model.SiblingsOfType(\"' + AliasHelper.toAlias(documentTypeName) + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\t<li><a href=\"@item.Url()\">@item.Name</a></li>' +\n '\\n\\t}' +\n '\\n<ul>';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithContent(name: string, templateContent: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n return await this.create(name, alias, templateContent);\n }\n\n async createTemplateWithEntityDataPickerValue(templateName: string, propertyName: string) {\n const templateContent = \n '@using Umbraco.Cms.Core.Models;\\n' +\n '@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage;\\n' +\n '@{\\n' +\n '\\tLayout = null;\\n' +\n '\\tvar entityDataPickerValue = Model.Value<EntityDataPickerValue>(\"' + AliasHelper.toAlias(propertyName) + '\");\\n' +\n '}\\n' +\n '\\n' +\n '@if (entityDataPickerValue is null)\\n' +\n '{ }\\n' +\n 'else\\n' +\n '{\\n' +\n '\\t<div data-mark=\"data-source-render-value\">\\n' +\n '\\t\\t<p>@entityDataPickerValue.DataSource</p>\\n' +\n '\\t</div>\\n' +\n '\\n' +\n '\\t<div data-mark=\"content-render-value\">\\n' +\n '\\t\\t<ul>\\n' +\n '\\n' +\n '\\t\\t@foreach (var id in @entityDataPickerValue.Ids)\\n' +\n '\\t\\t{\\n' +\n '\\t\\t\\t<li>@id</li>\\n' +\n '\\t\\t}\\n' +\n '\\t\\t</ul>\\n' +\n '\\t</div>\\n' +\n '}';\n return this.createTemplateWithContent(templateName, templateContent);\n }\n\n async createTemplateWithDisplayingDefaultValue(name: string, valueAlias: string, defaultValue: string) {\n const templateContent =\n '\\n\\t@Model.Value(\"' + valueAlias + '\", fallback: Fallback.ToDefaultValue, defaultValue: (object)\"' + defaultValue + '\")';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingBlockListItems(name: string, blockListPropertyName: string, elementPropertyAlias: string, noBlocksMessage: string = 'No blocks available') {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models.Blocks' +\n '\\n@{' +\n '\\n\\tvar blocks = Model.Value<IEnumerable<BlockListItem>>(\"' + AliasHelper.toAlias(blockListPropertyName) + '\");' +\n '\\n\\tif (blocks != null && blocks.Any())' +\n '\\n\\t{' +\n '\\n\\t\\tforeach (var block in blocks)' +\n '\\n\\t\\t{' +\n '\\n\\t\\t\\t<p>@block.Content.Value(\"' + AliasHelper.toAlias(elementPropertyAlias) + '\")</p>' +\n '\\n\\t\\t}' +\n '\\n\\t}' +\n '\\n\\telse' +\n '\\n\\t{' +\n '\\n\\t\\t<p>' + noBlocksMessage + '</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingBlockGridItems(name: string, blockGridPropertyName: string, elementPropertyAlias: string, noBlocksMessage: string = 'No blocks available') {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models.Blocks' +\n '\\n@{' +\n '\\n\\tvar blocks = Model.Value<BlockGridModel>(\"' + AliasHelper.toAlias(blockGridPropertyName) + '\");' +\n '\\n\\tif (blocks != null && blocks.Any())' +\n '\\n\\t{' +\n '\\n\\t\\tforeach (var block in blocks)' +\n '\\n\\t\\t{' +\n '\\n\\t\\t\\t<p>@block.Content.Value(\"' + AliasHelper.toAlias(elementPropertyAlias) + '\")</p>' +\n '\\n\\t\\t}' +\n '\\n\\t}' +\n '\\n\\telse' +\n '\\n\\t{' +\n '\\n\\t\\t<p>' + noBlocksMessage + '</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n}"]}
|
|
@@ -372,4 +372,5 @@ export declare class UiBaseLocators {
|
|
|
372
372
|
isImageCropperFieldVisible(isVisible?: boolean): Promise<void>;
|
|
373
373
|
isInputUploadFieldVisible(isVisible?: boolean): Promise<void>;
|
|
374
374
|
isBackOfficeMainVisible(isVisible?: boolean): Promise<void>;
|
|
375
|
+
doesPropertyWithNameContainValidationMessage(propertyName: string, validationMessage: string, isContained?: boolean): Promise<void>;
|
|
375
376
|
}
|
|
@@ -1065,6 +1065,7 @@ class UiBaseLocators {
|
|
|
1065
1065
|
const mediaLocator = this.mediaCardItems.filter({ hasText: mediaName });
|
|
1066
1066
|
await (0, test_1.expect)(mediaLocator).toBeVisible();
|
|
1067
1067
|
await mediaLocator.click({ position: { x: 0.5, y: 0.5 }, force: isForce });
|
|
1068
|
+
await (0, test_1.expect)(mediaLocator).toHaveAttribute('selected');
|
|
1068
1069
|
}
|
|
1069
1070
|
async selectMediaWithTestId(mediaKey) {
|
|
1070
1071
|
const locator = this.page.getByTestId('media:' + mediaKey);
|
|
@@ -1294,6 +1295,15 @@ class UiBaseLocators {
|
|
|
1294
1295
|
await this.page.waitForTimeout(1000);
|
|
1295
1296
|
await (0, test_1.expect)(this.backOfficeMain).toBeVisible({ visible: isVisible });
|
|
1296
1297
|
}
|
|
1298
|
+
async doesPropertyWithNameContainValidationMessage(propertyName, validationMessage, isContained = true) {
|
|
1299
|
+
const validationMessageLocator = this.page.locator('umb-property-layout[label="' + propertyName + '"]').locator(this.validationMessage);
|
|
1300
|
+
if (!isContained) {
|
|
1301
|
+
await (0, test_1.expect)(validationMessageLocator).not.toContainText(validationMessage);
|
|
1302
|
+
}
|
|
1303
|
+
else {
|
|
1304
|
+
await (0, test_1.expect)(validationMessageLocator).toContainText(validationMessage);
|
|
1305
|
+
}
|
|
1306
|
+
}
|
|
1297
1307
|
}
|
|
1298
1308
|
exports.UiBaseLocators = UiBaseLocators;
|
|
1299
1309
|
//# sourceMappingURL=UiBaseLocators.js.map
|