@umbraco/playwright-testhelpers 2.0.0-beta.40 → 2.0.0-beta.41
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/DataTypeApiHelper.d.ts +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.js +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +31 -12
- package/dist/lib/helpers/DataTypeUiHelper.js +104 -34
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageUiHelper.d.ts +0 -1
- package/dist/lib/helpers/LanguageUiHelper.js +0 -2
- package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +1 -0
- package/dist/lib/helpers/UiBaseLocators.js +4 -1
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -18,7 +18,7 @@ export declare class DataTypeApiHelper {
|
|
|
18
18
|
moveToFolder(dataTypeId: string, folderId: string): Promise<import("playwright-core").APIResponse>;
|
|
19
19
|
copyToFolder(dataTypeId: string, folderId: string): Promise<string | undefined>;
|
|
20
20
|
getFolder(id: string): Promise<any>;
|
|
21
|
-
createFolder(name: string,
|
|
21
|
+
createFolder(name: string, parentId?: string, id?: string): Promise<string | undefined>;
|
|
22
22
|
renameFolder(id: string, name: string): Promise<import("playwright-core").APIResponse>;
|
|
23
23
|
deleteFolder(id: string): Promise<import("playwright-core").APIResponse>;
|
|
24
24
|
doesFolderExist(id: string): Promise<boolean>;
|
|
@@ -106,7 +106,7 @@ class DataTypeApiHelper {
|
|
|
106
106
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);
|
|
107
107
|
return await response.json();
|
|
108
108
|
}
|
|
109
|
-
async createFolder(name,
|
|
109
|
+
async createFolder(name, parentId, id) {
|
|
110
110
|
const folderData = {
|
|
111
111
|
"name": name,
|
|
112
112
|
"id": id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTypeApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DataTypeApiHelper.ts"],"names":[],"mappings":";;;AACA,wEAAwE;AAExE,MAAa,iBAAiB;IAC5B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,uCAAuC,GAAG,EAAE,CAAC,CAAC;QACrG,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,WAAmB,EAAE,MAA2C,EAAE,QAAiB,EAAE,aAAsB,EAAE,EAAW;QACjJ,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,WAAW;YAC1B,eAAe,EAAE,aAAa;YAC9B,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAC,IAAI,EAAG,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI;SAC9C,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,EAAE,QAAQ,CAAC,CAAC;QAC1G,yCAAyC;QACzC,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAQ;QAC/B,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,QAAQ,CAAC,IAAI;YACrB,aAAa,EAAE,QAAQ,CAAC,WAAW;YACnC,eAAe,EAAE,QAAQ,CAAC,aAAa;YACvC,QAAQ,EAAE,QAAQ,CAAC,MAAM;SAC1B,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,uCAAuC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAC7G,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,uCAAuC,GAAG,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,oFAAoF,CAAC,CAAC;IACrI,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,uCAAuC,GAAG,EAAE,CAAC,CAAC;QACrG,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAa;QAC1B,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAS,CAAC;QAEd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC/B,OAAO,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC5B;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,iDAAiD,GAAG,OAAO,CAAC,CAAC;QACpH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,KAAK,EAAE;YAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aAC9B;iBAAM,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,EAAE;gBACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACpE,IAAI,MAAM,EAAE;oBACV,OAAO,MAAM,CAAC;iBACf;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,KAAK,EAAE;YAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC1B,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBACrB,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;iBACnD;gBACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aACvC;iBAAM,IAAI,QAAQ,CAAC,WAAW,EAAE;gBAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;aAErD;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,QAAgB;QACrD,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;SAC3B,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,uCAAuC,GAAG,UAAU,GAAG,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7H,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,QAAgB;QACrD,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;SAC3B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,uCAAuC,GAAG,UAAU,GAAG,OAAO,EAAE,YAAY,CAAC,CAAC;QACtI,wCAAwC;QACxC,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;IAClE,CAAC;IAED,SAAS;IACT,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,8CAA8C,GAAG,EAAE,CAAC,CAAC;QAC5G,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,EAAW,EAAE,QAAiB;QAC7D,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAC,IAAI,EAAG,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI;SAC9C,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,6CAA6C,EAAE,UAAU,CAAC,CAAC;QACnH,+CAA+C;QAC/C,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,IAAY;QACzC,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,IAAI;SACb,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,8CAA8C,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IAChH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,8CAA8C,GAAG,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,8CAA8C,GAAG,EAAE,CAAC,CAAC;QAC5G,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,8DAA8D,GAAG,EAAE,GAAG,oCAAoC,CAAC,CAAC;QACnK,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,UAAU;QAC5C,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YAC3B,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC/C;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEpD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;aACzC;iBAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACL,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC7B;SACF;QACD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,EAAU,EAAE,QAAiB;QACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;gBACvB,IAAI,CAAC,QAAQ,EAAE;oBACb,IAAI,KAAK,CAAC,QAAQ,EAAE;wBAClB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBACvC;oBACD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACjC;gBACD,IAAI,KAAK,CAAC,QAAQ,EAAE;oBAClB,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;iBAChD;gBACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACpC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE;gBAC5B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;aAC7D;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ;QACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,EAAE,QAAQ,CAAC,CAAA;QACzG,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,IAAI,gDAAyB,EAAE;aAC7C,QAAQ,CAAC,IAAI,CAAC;aACd,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF;AAjND,8CAiNC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {DatePickerDataTypeBuilder} from \"@umbraco/json-models-builders\";\n\nexport class DataTypeApiHelper {\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/data-type/' + id);\n return await response.json();\n }\n\n async create(name: string, editorAlias: string, values: { alias: string; value: string; }[], parentId?: string, editorUiAlias?: string, id?: string) {\n const dataType = {\n \"name\": name,\n \"editorAlias\": editorAlias,\n \"editorUiAlias\": editorUiAlias,\n \"values\": values,\n \"id\": id,\n \"parent\": parentId ? {\"id\" : parentId} : null\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType);\n // Returns the id of the created dataType\n return response.headers().location.split(\"v1/data-type/\").pop();\n }\n\n async update(id: string, dataType) {\n const updateDataType = {\n \"name\": dataType.name,\n \"editorAlias\": dataType.editorAlias,\n \"editorUiAlias\": dataType.editorUiAlias,\n \"values\": dataType.values,\n };\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id, updateDataType);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);\n return response.status() === 200;\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/data-type/item?' + idArray);\n return await response.json();\n }\n\n async getByName(name: string) {\n const rootDataTypes = await this.getAllAtRoot();\n const jsonDataTypes = await rootDataTypes.json();\n\n for (const dataType of jsonDataTypes.items) {\n if (dataType.name === name) {\n return this.get(dataType.id);\n } else if (dataType.isContainer || dataType.hasChildren) {\n const result = await this.recurseChildren(name, dataType.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootDataTypes = await this.getAllAtRoot();\n const jsonDataTypes = await rootDataTypes.json();\n\n for (const dataType of jsonDataTypes.items) {\n if (dataType.name === name) {\n if (dataType.isFolder) {\n return await this.recurseDeleteChildren(dataType);\n }\n return await this.delete(dataType.id);\n } else if (dataType.hasChildren) {\n await this.recurseChildren(name, dataType.id, true);\n\n }\n }\n return null;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async moveToFolder(dataTypeId: string, folderId: string) {\n const folderIdBody = {\n \"target\": { id: folderId }\n };\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/move', folderIdBody);\n }\n\n async copyToFolder(dataTypeId: string, folderId: string) {\n const folderIdBody = {\n \"target\": { id: folderId }\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/copy', folderIdBody);\n // Returns the id of the copied dataType\n return response.headers().location.split(\"v1/data-type/\").pop();\n }\n\n // FOLDER\n async getFolder(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n return await response.json();\n }\n\n async createFolder(name: string, id?: string, parentId?: string) {\n const folderData = {\n \"name\": name,\n \"id\": id,\n \"parent\": parentId ? {\"id\" : parentId} : null\n };\n\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder', folderData);\n // Returns the id of the created dataTypeFolder\n return response.headers().location.split(\"v1/data-type/folder/\").pop();\n }\n\n async renameFolder(id: string, name: string) {\n const folderData = {\n \"name\": name,\n };\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id, folderData);\n }\n\n async deleteFolder(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n }\n\n async doesFolderExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n return response.status() === 200;\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/children?parentId=' + id + '&skip=0&take=100&foldersOnly=false');\n const items = await response.json();\n return items.items;\n }\n\n private async recurseDeleteChildren(dataFolder) {\n if (!dataFolder.hasChildren) {\n return await this.deleteFolder(dataFolder.id);\n }\n const items = await this.getChildren(dataFolder.id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child);\n } else if (child.isFolder) {\n await this.deleteFolder(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.deleteFolder(dataFolder.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 if (child.isFolder) {\n return await this.getFolder(child.id);\n }\n return await this.get(child.id);\n }\n if (child.isFolder) {\n return await this.recurseDeleteChildren(child);\n }\n return await this.delete(child.id);\n } else if (child.hasChildren) {\n return await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async save(dataType) {\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType)\n return response.headers().location.split(\"v1/data-type/\").pop();\n }\n\n async createDateTypeDataType(name: string) {\n await this.ensureNameNotExists(name);\n\n const dataType = new DatePickerDataTypeBuilder()\n .withName(name)\n .build();\n return await this.save(dataType);\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"DataTypeApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DataTypeApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {DatePickerDataTypeBuilder} from \"@umbraco/json-models-builders\";\n\nexport class DataTypeApiHelper {\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/data-type/' + id);\n return await response.json();\n }\n\n async create(name: string, editorAlias: string, values: { alias: string; value: string; }[], parentId?: string, editorUiAlias?: string, id?: string) {\n const dataType = {\n \"name\": name,\n \"editorAlias\": editorAlias,\n \"editorUiAlias\": editorUiAlias,\n \"values\": values,\n \"id\": id,\n \"parent\": parentId ? {\"id\" : parentId} : null\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType);\n // Returns the id of the created dataType\n return response.headers().location.split(\"v1/data-type/\").pop();\n }\n\n async update(id: string, dataType) {\n const updateDataType = {\n \"name\": dataType.name,\n \"editorAlias\": dataType.editorAlias,\n \"editorUiAlias\": dataType.editorUiAlias,\n \"values\": dataType.values,\n };\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id, updateDataType);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);\n return response.status() === 200;\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/data-type/item?' + idArray);\n return await response.json();\n }\n\n async getByName(name: string) {\n const rootDataTypes = await this.getAllAtRoot();\n const jsonDataTypes = await rootDataTypes.json();\n\n for (const dataType of jsonDataTypes.items) {\n if (dataType.name === name) {\n return this.get(dataType.id);\n } else if (dataType.isContainer || dataType.hasChildren) {\n const result = await this.recurseChildren(name, dataType.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootDataTypes = await this.getAllAtRoot();\n const jsonDataTypes = await rootDataTypes.json();\n\n for (const dataType of jsonDataTypes.items) {\n if (dataType.name === name) {\n if (dataType.isFolder) {\n return await this.recurseDeleteChildren(dataType);\n }\n return await this.delete(dataType.id);\n } else if (dataType.hasChildren) {\n await this.recurseChildren(name, dataType.id, true);\n\n }\n }\n return null;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async moveToFolder(dataTypeId: string, folderId: string) {\n const folderIdBody = {\n \"target\": { id: folderId }\n };\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/move', folderIdBody);\n }\n\n async copyToFolder(dataTypeId: string, folderId: string) {\n const folderIdBody = {\n \"target\": { id: folderId }\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/copy', folderIdBody);\n // Returns the id of the copied dataType\n return response.headers().location.split(\"v1/data-type/\").pop();\n }\n\n // FOLDER\n async getFolder(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n return await response.json();\n }\n\n async createFolder(name: string, parentId?: string, id?: string) {\n const folderData = {\n \"name\": name,\n \"id\": id,\n \"parent\": parentId ? {\"id\" : parentId} : null\n };\n\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder', folderData);\n // Returns the id of the created dataTypeFolder\n return response.headers().location.split(\"v1/data-type/folder/\").pop();\n }\n\n async renameFolder(id: string, name: string) {\n const folderData = {\n \"name\": name,\n };\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id, folderData);\n }\n\n async deleteFolder(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n }\n\n async doesFolderExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n return response.status() === 200;\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/children?parentId=' + id + '&skip=0&take=100&foldersOnly=false');\n const items = await response.json();\n return items.items;\n }\n\n private async recurseDeleteChildren(dataFolder) {\n if (!dataFolder.hasChildren) {\n return await this.deleteFolder(dataFolder.id);\n }\n const items = await this.getChildren(dataFolder.id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child);\n } else if (child.isFolder) {\n await this.deleteFolder(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.deleteFolder(dataFolder.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 if (child.isFolder) {\n return await this.getFolder(child.id);\n }\n return await this.get(child.id);\n }\n if (child.isFolder) {\n return await this.recurseDeleteChildren(child);\n }\n return await this.delete(child.id);\n } else if (child.hasChildren) {\n return await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async save(dataType) {\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType)\n return response.headers().location.split(\"v1/data-type/\").pop();\n }\n\n async createDateTypeDataType(name: string) {\n await this.ensureNameNotExists(name);\n\n const dataType = new DatePickerDataTypeBuilder()\n .withName(name)\n .build();\n return await this.save(dataType);\n }\n}"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Page } from "@playwright/test";
|
|
2
2
|
import { UiBaseLocators } from "./UiBaseLocators";
|
|
3
3
|
export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
4
|
-
private readonly
|
|
5
|
-
private readonly
|
|
4
|
+
private readonly moveToBtn;
|
|
5
|
+
private readonly duplicateToBtn;
|
|
6
6
|
private readonly newDataTypeThreeDotsBtn;
|
|
7
7
|
private readonly dataTypeNameTxt;
|
|
8
8
|
private readonly selectBtn;
|
|
@@ -11,15 +11,13 @@ export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
|
11
11
|
private readonly includeLabelsSlider;
|
|
12
12
|
private readonly addColorBtn;
|
|
13
13
|
private readonly colorValueTxt;
|
|
14
|
-
private readonly colorLabelTxt;
|
|
15
14
|
private readonly offsetTimeSlider;
|
|
16
15
|
private readonly dateFormatTxt;
|
|
17
16
|
private readonly pageSizeTxt;
|
|
18
17
|
private readonly ascendingRadioBtn;
|
|
19
18
|
private readonly descendingRadioBtn;
|
|
20
|
-
private readonly
|
|
19
|
+
private readonly chooseColumnsDisplayedBtn;
|
|
21
20
|
private readonly contentAppNameTxt;
|
|
22
|
-
private readonly columnsDisplayedDropDownBox;
|
|
23
21
|
private readonly orderByDropDownBox;
|
|
24
22
|
private readonly showContentAppFirstSlider;
|
|
25
23
|
private readonly editInInfiniteEditorSlider;
|
|
@@ -49,7 +47,6 @@ export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
|
49
47
|
private readonly enableFocalPointSlider;
|
|
50
48
|
private readonly amountLowValueTxt;
|
|
51
49
|
private readonly amountHighValueTxt;
|
|
52
|
-
private readonly ignoreUserStartNodesCamelSlider;
|
|
53
50
|
private readonly toolbarCheckboxes;
|
|
54
51
|
private readonly addStylesheetBtn;
|
|
55
52
|
private readonly dimensionsWidthTxt;
|
|
@@ -65,13 +62,22 @@ export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
|
65
62
|
private readonly labelOnTxt;
|
|
66
63
|
private readonly labelOffTxt;
|
|
67
64
|
private readonly labelTxt;
|
|
65
|
+
private readonly chooseAcceptedTypesBtn;
|
|
66
|
+
private readonly chooseWithPlusBtn;
|
|
67
|
+
private readonly storageTypeDropDownBox;
|
|
68
|
+
private readonly allowDecimalsSlider;
|
|
69
|
+
private readonly chooseLayoutsBtn;
|
|
70
|
+
private readonly columnsDisplayedItems;
|
|
71
|
+
private readonly layoutsItems;
|
|
72
|
+
private readonly inlineRadioBtn;
|
|
73
|
+
private readonly duplicateBtn;
|
|
68
74
|
constructor(page: Page);
|
|
69
75
|
clickActionsMenuForDataType(name: string): Promise<void>;
|
|
70
76
|
clickActionsMenuAtRoot(): Promise<void>;
|
|
71
77
|
clickRootFolderCaretButton(): Promise<void>;
|
|
72
78
|
goToDataType(dataTypeName: string): Promise<void>;
|
|
73
|
-
|
|
74
|
-
|
|
79
|
+
clickMoveToButton(): Promise<void>;
|
|
80
|
+
clickDuplicateToButton(): Promise<void>;
|
|
75
81
|
clickNewDataTypeThreeDotsButton(): Promise<void>;
|
|
76
82
|
clickNewDataTypeFolderButton(): Promise<void>;
|
|
77
83
|
enterDataTypeName(name: string): Promise<void>;
|
|
@@ -80,16 +86,21 @@ export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
|
80
86
|
selectPropertyEditorUIByName(name: string): Promise<void>;
|
|
81
87
|
deleteDataType(name: string): Promise<void>;
|
|
82
88
|
deleteDataTypeFolder(folderName: string): Promise<void>;
|
|
89
|
+
moveDataTypeToFolder(folderName: string): Promise<void>;
|
|
90
|
+
duplicateDataTypeToFolder(folderName: string): Promise<void>;
|
|
91
|
+
addStartNode(startNodeName: string): Promise<void>;
|
|
83
92
|
clickIncludeLabelsSlider(): Promise<void>;
|
|
84
93
|
removeColorByValue(value: string): Promise<void>;
|
|
85
|
-
addColor(value: string
|
|
94
|
+
addColor(value: string): Promise<void>;
|
|
86
95
|
changeValueType(valueType: string): Promise<void>;
|
|
87
96
|
clickOffsetTimeSlider(): Promise<void>;
|
|
88
97
|
enterDateFormatValue(value: string): Promise<void>;
|
|
89
98
|
enterPageSizeValue(value: string): Promise<void>;
|
|
90
99
|
chooseOrderDirection(isAscending: boolean): Promise<void>;
|
|
91
|
-
addColumnDisplayed(
|
|
92
|
-
removeColumnDisplayed(
|
|
100
|
+
addColumnDisplayed(contentType: string, contentName: string, propertyAlias: string): Promise<void>;
|
|
101
|
+
removeColumnDisplayed(propertyAlias: string): Promise<void>;
|
|
102
|
+
addLayouts(layoutAlias: string): Promise<void>;
|
|
103
|
+
removeLayouts(layoutAlias: string): Promise<void>;
|
|
93
104
|
chooseOrderByValue(value: string): Promise<void>;
|
|
94
105
|
enterContentAppName(name: string): Promise<void>;
|
|
95
106
|
clickShowContentAppFirstSlider(): Promise<void>;
|
|
@@ -105,6 +116,7 @@ export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
|
105
116
|
enterMinimumValue(value: string): Promise<void>;
|
|
106
117
|
enterMaximumValue(value: string): Promise<void>;
|
|
107
118
|
enterStepSizeValue(value: string): Promise<void>;
|
|
119
|
+
clickAllowDecimalsSlider(): Promise<void>;
|
|
108
120
|
removeOptionByName(name: string): Promise<void>;
|
|
109
121
|
enterOptionName(name: string): Promise<void>;
|
|
110
122
|
clickAddOptionButton(): Promise<void>;
|
|
@@ -123,14 +135,21 @@ export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
|
123
135
|
clickPickMultipleItemsSlider(): Promise<void>;
|
|
124
136
|
clickEnableFocalPointSlider(): Promise<void>;
|
|
125
137
|
enterAmountValue(lowValue: string, highValue: string): Promise<void>;
|
|
126
|
-
|
|
138
|
+
addAcceptedType(mediaTypeName: string): Promise<void>;
|
|
139
|
+
removeAcceptedType(mediaTypeName: string): Promise<void>;
|
|
140
|
+
clickChooseWithPlusButton(): Promise<void>;
|
|
141
|
+
removeMediaStartNode(mediaName: string): Promise<void>;
|
|
127
142
|
pickTheToolbarOptionByValue(values: any): Promise<void>;
|
|
128
143
|
addStylesheet(stylesheetName: string): Promise<void>;
|
|
129
144
|
enterDimensionsValue(width: string, height: string): Promise<void>;
|
|
130
145
|
enterMaximumSizeForImages(value: string): Promise<void>;
|
|
131
146
|
clickHideLabelSlider(): Promise<void>;
|
|
147
|
+
clickInlineRadioButton(): Promise<void>;
|
|
148
|
+
addImageUploadFolder(mediaFolderName: string): Promise<void>;
|
|
132
149
|
enterDefineTagGroupValue(value: string): Promise<void>;
|
|
150
|
+
selectStorageTypeOption(option: string): Promise<void>;
|
|
133
151
|
clickShowOpenButtonSlider(): Promise<void>;
|
|
152
|
+
removeContentStartNode(contentName: string): Promise<void>;
|
|
134
153
|
clickEnableMultipleChoiceSlider(): Promise<void>;
|
|
135
154
|
clickAddOptionsButton(): Promise<void>;
|
|
136
155
|
clickInitialStateSlider(): Promise<void>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DataTypeUiHelper = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
4
5
|
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
5
6
|
class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
moveToBtn;
|
|
8
|
+
duplicateToBtn;
|
|
8
9
|
newDataTypeThreeDotsBtn;
|
|
9
10
|
dataTypeNameTxt;
|
|
10
11
|
selectBtn;
|
|
@@ -13,15 +14,13 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
13
14
|
includeLabelsSlider;
|
|
14
15
|
addColorBtn;
|
|
15
16
|
colorValueTxt;
|
|
16
|
-
colorLabelTxt;
|
|
17
17
|
offsetTimeSlider;
|
|
18
18
|
dateFormatTxt;
|
|
19
19
|
pageSizeTxt;
|
|
20
20
|
ascendingRadioBtn;
|
|
21
21
|
descendingRadioBtn;
|
|
22
|
-
|
|
22
|
+
chooseColumnsDisplayedBtn;
|
|
23
23
|
contentAppNameTxt;
|
|
24
|
-
columnsDisplayedDropDownBox;
|
|
25
24
|
orderByDropDownBox;
|
|
26
25
|
showContentAppFirstSlider;
|
|
27
26
|
editInInfiniteEditorSlider;
|
|
@@ -51,7 +50,6 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
51
50
|
enableFocalPointSlider;
|
|
52
51
|
amountLowValueTxt;
|
|
53
52
|
amountHighValueTxt;
|
|
54
|
-
ignoreUserStartNodesCamelSlider;
|
|
55
53
|
toolbarCheckboxes;
|
|
56
54
|
addStylesheetBtn;
|
|
57
55
|
dimensionsWidthTxt;
|
|
@@ -67,20 +65,30 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
67
65
|
labelOnTxt;
|
|
68
66
|
labelOffTxt;
|
|
69
67
|
labelTxt;
|
|
68
|
+
chooseAcceptedTypesBtn;
|
|
69
|
+
chooseWithPlusBtn;
|
|
70
|
+
storageTypeDropDownBox;
|
|
71
|
+
allowDecimalsSlider;
|
|
72
|
+
chooseLayoutsBtn;
|
|
73
|
+
columnsDisplayedItems;
|
|
74
|
+
layoutsItems;
|
|
75
|
+
inlineRadioBtn;
|
|
76
|
+
duplicateBtn;
|
|
70
77
|
constructor(page) {
|
|
71
78
|
super(page);
|
|
72
|
-
this.
|
|
73
|
-
this.
|
|
79
|
+
this.moveToBtn = page.locator('umb-entity-action').getByLabel('Move to');
|
|
80
|
+
this.duplicateToBtn = page.locator('umb-entity-action').getByLabel('Duplicate to');
|
|
74
81
|
this.newDataTypeThreeDotsBtn = page.locator('umb-data-type-create-options-modal').getByLabel('New Data Type...');
|
|
75
82
|
this.dataTypeNameTxt = page.locator('umb-data-type-workspace-editor #nameInput #input');
|
|
76
83
|
this.selectBtn = page.locator('umb-property-editor-ui-picker-modal').getByLabel('Select');
|
|
77
84
|
this.createDataTypeFolderBtn = page.getByLabel('Create Folder');
|
|
78
85
|
this.updateDataTypeFolderBtn = page.getByLabel('Update Folder');
|
|
86
|
+
this.ignoreUserStartNodesSlider = page.locator('umb-property-layout[label="Ignore user start nodes"] #slider, umb-property-layout[label="Ignore User Start Nodes"] #slider');
|
|
87
|
+
this.duplicateBtn = page.locator('uui-modal-sidebar').getByLabel('Duplicate', { exact: true });
|
|
79
88
|
// Approved Color
|
|
80
89
|
this.includeLabelsSlider = page.locator('#slider');
|
|
81
90
|
this.addColorBtn = page.getByLabel('Add');
|
|
82
91
|
this.colorValueTxt = page.getByPlaceholder('Value').getByRole('textbox');
|
|
83
|
-
this.colorLabelTxt = page.getByPlaceholder('Label...').getByRole('textbox');
|
|
84
92
|
// Date Picker
|
|
85
93
|
this.offsetTimeSlider = page.locator('umb-property-layout[label="Offset time"] #slider');
|
|
86
94
|
this.dateFormatTxt = page.locator('umb-property-layout[label="Date format"] #input');
|
|
@@ -88,13 +96,15 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
88
96
|
this.pageSizeTxt = page.locator('umb-property-layout[label="Page Size"] #input');
|
|
89
97
|
this.ascendingRadioBtn = page.locator('uui-radio[label="Ascending [a-z]"] #button');
|
|
90
98
|
this.descendingRadioBtn = page.locator('uui-radio[label="Descending [z-a]"] #button');
|
|
91
|
-
this.
|
|
99
|
+
this.chooseColumnsDisplayedBtn = page.locator('umb-property-layout[label="Columns Displayed"]').getByLabel('Choose');
|
|
100
|
+
this.columnsDisplayedItems = page.locator('umb-property-layout[label="Columns Displayed"] .layout-item');
|
|
92
101
|
this.contentAppNameTxt = page.locator('umb-property-layout[label="Content app name"] #input');
|
|
93
102
|
this.showContentAppFirstSlider = page.locator('umb-property-layout[label="Show Content App First"] #slider');
|
|
94
103
|
this.editInInfiniteEditorSlider = page.locator('umb-property-layout[label="Edit in Infinite Editor"] #slider');
|
|
95
104
|
this.contentAppIconBtn = page.locator('umb-property-layout[label="Content app icon"] uui-icon');
|
|
96
|
-
this.columnsDisplayedDropDownBox = page.locator('umb-property-layout[label="Columns Displayed"] select');
|
|
97
105
|
this.orderByDropDownBox = page.locator('umb-property-layout[label="Order By"] select');
|
|
106
|
+
this.chooseLayoutsBtn = page.locator('umb-property-layout[label="Layouts"]').getByLabel('Choose');
|
|
107
|
+
this.layoutsItems = page.locator('umb-property-layout[label="Layouts"] .layout-item');
|
|
98
108
|
// Image Cropper
|
|
99
109
|
this.labelTxt = page.getByLabel('Label', { exact: true });
|
|
100
110
|
this.aliasTxt = page.getByLabel('Alias', { exact: true });
|
|
@@ -106,6 +116,7 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
106
116
|
this.minimumTxt = page.locator('umb-property-layout[label="Minimum"] #input');
|
|
107
117
|
this.maximumTxt = page.locator('umb-property-layout[label="Maximum"] #input');
|
|
108
118
|
this.stepSizeTxt = page.locator('umb-property-layout[label="Step size"] #input');
|
|
119
|
+
this.allowDecimalsSlider = page.locator('umb-property-layout[label="Allow decimals"] #slider');
|
|
109
120
|
// Radiobox
|
|
110
121
|
this.optionTxt = page.locator('umb-property-layout[label="Add option"] #input, umb-property-layout[label="Add options"] #input');
|
|
111
122
|
this.addOptionBtn = page.locator('umb-property-layout[label="Add option"], umb-property-layout[label="Add options"]').getByLabel('Add', { exact: true });
|
|
@@ -120,15 +131,15 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
120
131
|
// Multi URL Picker
|
|
121
132
|
this.minimumNumberOfItemsTxt = page.locator('umb-property-layout[label="Minimum number of items"] #input');
|
|
122
133
|
this.maximumNumberOfItemsTxt = page.locator('umb-property-layout[label="Maximum number of items"] #input');
|
|
123
|
-
this.ignoreUserStartNodesSlider = page.locator('umb-property-layout[label="Ignore user start nodes"] #slider');
|
|
124
134
|
this.overlaySizeDropDownBox = page.locator('umb-property-layout[label="Overlay Size"] select');
|
|
125
135
|
this.hideAnchorQueryStringInputSlider = page.locator('umb-property-layout[label="Hide anchor/query string input"] #slider');
|
|
126
|
-
//
|
|
136
|
+
// Media Picker
|
|
127
137
|
this.pickMultipleItemsSlider = page.locator('umb-property-layout[label="Pick multiple items"] #slider');
|
|
128
138
|
this.enableFocalPointSlider = page.locator('umb-property-layout[label="Enable Focal Point"] #slider');
|
|
129
139
|
this.amountLowValueTxt = page.locator('umb-property-layout[label="Amount"]').getByLabel('Low value');
|
|
130
140
|
this.amountHighValueTxt = page.locator('umb-property-layout[label="Amount"]').getByLabel('High value');
|
|
131
|
-
this.
|
|
141
|
+
this.chooseAcceptedTypesBtn = page.locator('#btn-add').getByLabel('Choose');
|
|
142
|
+
this.chooseWithPlusBtn = page.locator('#add-button').filter({ hasText: 'Choose' });
|
|
132
143
|
// Rich Editor
|
|
133
144
|
this.toolbarCheckboxes = page.locator('umb-property-layout[label="Toolbar"] uui-checkbox');
|
|
134
145
|
this.addStylesheetBtn = page.locator('umb-property-layout[label="Stylesheets"] #add-button');
|
|
@@ -136,8 +147,10 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
136
147
|
this.dimensionsHeightTxt = page.locator('umb-property-layout[label="Dimensions"]').getByLabel('Height');
|
|
137
148
|
this.maxImageSizeTxt = page.locator('umb-property-layout[label="Maximum size for inserted images"] #input');
|
|
138
149
|
this.hideLabelSlider = page.locator('umb-property-layout[label="Hide Label"] #slider');
|
|
150
|
+
this.inlineRadioBtn = page.locator('umb-property-layout[label="Mode"] uui-radio[value="Inline"]');
|
|
139
151
|
// Tags
|
|
140
152
|
this.defineTagGroupTxt = page.locator('umb-property-layout[label="Define a tag group"] #input');
|
|
153
|
+
this.storageTypeDropDownBox = page.locator('#native');
|
|
141
154
|
// Content Picker
|
|
142
155
|
this.showOpenButtonSlider = page.locator('umb-property-layout[label="Show open button"] #slider');
|
|
143
156
|
// Dropdown
|
|
@@ -153,20 +166,22 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
153
166
|
await this.clickActionsMenuForName(name);
|
|
154
167
|
}
|
|
155
168
|
async clickActionsMenuAtRoot() {
|
|
156
|
-
await this.clickActionsMenuForDataType(
|
|
169
|
+
await this.clickActionsMenuForDataType('Data Types');
|
|
157
170
|
}
|
|
158
171
|
async clickRootFolderCaretButton() {
|
|
159
|
-
await this.clickCaretButtonForName(
|
|
172
|
+
await this.clickCaretButtonForName('Data Types');
|
|
160
173
|
}
|
|
161
174
|
async goToDataType(dataTypeName) {
|
|
162
175
|
await this.clickRootFolderCaretButton();
|
|
163
176
|
await this.page.getByLabel(dataTypeName, { exact: true }).click({ force: true });
|
|
164
177
|
}
|
|
165
|
-
async
|
|
166
|
-
await this.
|
|
178
|
+
async clickMoveToButton() {
|
|
179
|
+
await (0, test_1.expect)(this.moveToBtn).toBeVisible();
|
|
180
|
+
await this.moveToBtn.click();
|
|
167
181
|
}
|
|
168
|
-
async
|
|
169
|
-
await this.
|
|
182
|
+
async clickDuplicateToButton() {
|
|
183
|
+
await (0, test_1.expect)(this.duplicateToBtn).toBeVisible();
|
|
184
|
+
await this.duplicateToBtn.click();
|
|
170
185
|
}
|
|
171
186
|
async clickNewDataTypeThreeDotsButton() {
|
|
172
187
|
await this.newDataTypeThreeDotsBtn.click();
|
|
@@ -191,27 +206,42 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
191
206
|
}
|
|
192
207
|
async deleteDataType(name) {
|
|
193
208
|
await this.clickActionsMenuForDataType(name);
|
|
194
|
-
await this.
|
|
195
|
-
await this.confirmToDeleteBtn.click();
|
|
209
|
+
await this.clickDeleteAndConfirmButton();
|
|
196
210
|
}
|
|
197
211
|
async deleteDataTypeFolder(folderName) {
|
|
198
212
|
await this.clickActionsMenuForDataType(folderName);
|
|
199
213
|
await this.deleteFolder();
|
|
200
214
|
}
|
|
215
|
+
async moveDataTypeToFolder(folderName) {
|
|
216
|
+
await this.clickMoveToButton();
|
|
217
|
+
await (0, test_1.expect)(this.modalCaretBtn).toBeVisible();
|
|
218
|
+
await this.modalCaretBtn.click();
|
|
219
|
+
await this.page.locator('uui-modal-sidebar').getByText(folderName, { exact: true }).click();
|
|
220
|
+
await this.chooseModalBtn.click();
|
|
221
|
+
}
|
|
222
|
+
async duplicateDataTypeToFolder(folderName) {
|
|
223
|
+
await this.clickDuplicateToButton();
|
|
224
|
+
await (0, test_1.expect)(this.modalCaretBtn).toBeVisible();
|
|
225
|
+
await this.modalCaretBtn.click();
|
|
226
|
+
await this.page.locator('uui-modal-sidebar').getByText(folderName, { exact: true }).click();
|
|
227
|
+
await this.duplicateBtn.click();
|
|
228
|
+
}
|
|
229
|
+
async addStartNode(startNodeName) {
|
|
230
|
+
await this.clickTextButtonWithName(startNodeName);
|
|
231
|
+
await this.chooseModalBtn.click();
|
|
232
|
+
}
|
|
201
233
|
// Approved Color
|
|
202
234
|
async clickIncludeLabelsSlider() {
|
|
203
235
|
await this.includeLabelsSlider.click();
|
|
204
236
|
}
|
|
205
237
|
async removeColorByValue(value) {
|
|
206
|
-
await this.page.locator('
|
|
238
|
+
await this.page.locator('[value="' + value + '"] uui-button svg').click();
|
|
207
239
|
await this.confirmToDeleteBtn.click();
|
|
208
240
|
}
|
|
209
|
-
async addColor(value
|
|
241
|
+
async addColor(value) {
|
|
210
242
|
await this.addColorBtn.click();
|
|
211
243
|
await this.colorValueTxt.clear();
|
|
212
244
|
await this.colorValueTxt.fill(value);
|
|
213
|
-
await this.colorLabelTxt.clear();
|
|
214
|
-
await this.colorLabelTxt.fill(label);
|
|
215
245
|
}
|
|
216
246
|
// Label
|
|
217
247
|
async changeValueType(valueType) {
|
|
@@ -238,12 +268,21 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
238
268
|
await this.descendingRadioBtn.click();
|
|
239
269
|
}
|
|
240
270
|
}
|
|
241
|
-
async addColumnDisplayed(
|
|
242
|
-
await this.
|
|
243
|
-
await this.
|
|
271
|
+
async addColumnDisplayed(contentType, contentName, propertyAlias) {
|
|
272
|
+
await this.chooseColumnsDisplayedBtn.click();
|
|
273
|
+
await this.clickTextButtonWithName(contentType);
|
|
274
|
+
await this.clickTextButtonWithName(contentName);
|
|
275
|
+
await this.clickTextButtonWithName(propertyAlias);
|
|
276
|
+
}
|
|
277
|
+
async removeColumnDisplayed(propertyAlias) {
|
|
278
|
+
await this.columnsDisplayedItems.filter({ has: this.page.getByText(propertyAlias, { exact: true }) }).getByText('Remove').click();
|
|
244
279
|
}
|
|
245
|
-
async
|
|
246
|
-
await this.
|
|
280
|
+
async addLayouts(layoutAlias) {
|
|
281
|
+
await this.chooseLayoutsBtn.click();
|
|
282
|
+
await this.clickTextButtonWithName(layoutAlias);
|
|
283
|
+
}
|
|
284
|
+
async removeLayouts(layoutAlias) {
|
|
285
|
+
await this.layoutsItems.filter({ has: this.page.getByText(layoutAlias, { exact: true }) }).getByText('Remove').click();
|
|
247
286
|
}
|
|
248
287
|
async chooseOrderByValue(value) {
|
|
249
288
|
await this.orderByDropDownBox.selectOption({ label: value });
|
|
@@ -304,6 +343,9 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
304
343
|
await this.stepSizeTxt.clear();
|
|
305
344
|
await this.stepSizeTxt.fill(value);
|
|
306
345
|
}
|
|
346
|
+
async clickAllowDecimalsSlider() {
|
|
347
|
+
await this.allowDecimalsSlider.click();
|
|
348
|
+
}
|
|
307
349
|
// Radiobox
|
|
308
350
|
async removeOptionByName(name) {
|
|
309
351
|
await this.page.locator("uui-button[label='Delete " + name + "'] svg").click();
|
|
@@ -363,7 +405,7 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
363
405
|
async clickHideAnchorQueryStringInputSlider() {
|
|
364
406
|
await this.hideAnchorQueryStringInputSlider.click();
|
|
365
407
|
}
|
|
366
|
-
//
|
|
408
|
+
// Media Picker
|
|
367
409
|
async clickPickMultipleItemsSlider() {
|
|
368
410
|
await this.pickMultipleItemsSlider.click();
|
|
369
411
|
}
|
|
@@ -376,8 +418,21 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
376
418
|
await this.amountHighValueTxt.clear();
|
|
377
419
|
await this.amountHighValueTxt.fill(highValue);
|
|
378
420
|
}
|
|
379
|
-
async
|
|
380
|
-
await this.
|
|
421
|
+
async addAcceptedType(mediaTypeName) {
|
|
422
|
+
await this.chooseAcceptedTypesBtn.click();
|
|
423
|
+
await this.clickTextButtonWithName(mediaTypeName);
|
|
424
|
+
await this.chooseModalBtn.click();
|
|
425
|
+
}
|
|
426
|
+
async removeAcceptedType(mediaTypeName) {
|
|
427
|
+
await this.page.locator('uui-ref-node-document-type[name="' + mediaTypeName + '"]').getByLabel('Remove ' + mediaTypeName).click();
|
|
428
|
+
await this.confirmToRemoveBtn.click();
|
|
429
|
+
}
|
|
430
|
+
async clickChooseWithPlusButton() {
|
|
431
|
+
await this.chooseWithPlusBtn.click();
|
|
432
|
+
}
|
|
433
|
+
async removeMediaStartNode(mediaName) {
|
|
434
|
+
await this.page.locator('uui-card-media[name="' + mediaName + '"]').locator('[label="Remove media ' + mediaName + '"]').click();
|
|
435
|
+
await this.confirmToRemoveBtn.click();
|
|
381
436
|
}
|
|
382
437
|
// Richtext Editor
|
|
383
438
|
async pickTheToolbarOptionByValue(values) {
|
|
@@ -403,15 +458,30 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
403
458
|
async clickHideLabelSlider() {
|
|
404
459
|
await this.hideLabelSlider.click();
|
|
405
460
|
}
|
|
461
|
+
async clickInlineRadioButton() {
|
|
462
|
+
await this.inlineRadioBtn.click();
|
|
463
|
+
}
|
|
464
|
+
async addImageUploadFolder(mediaFolderName) {
|
|
465
|
+
await this.clickChooseWithPlusButton();
|
|
466
|
+
await this.clickTextButtonWithName(mediaFolderName);
|
|
467
|
+
await this.chooseModalBtn.click();
|
|
468
|
+
}
|
|
406
469
|
// Tags
|
|
407
470
|
async enterDefineTagGroupValue(value) {
|
|
408
471
|
await this.defineTagGroupTxt.clear();
|
|
409
472
|
await this.defineTagGroupTxt.fill(value);
|
|
410
473
|
}
|
|
474
|
+
async selectStorageTypeOption(option) {
|
|
475
|
+
await this.storageTypeDropDownBox.selectOption({ label: option });
|
|
476
|
+
}
|
|
411
477
|
// Content Picker
|
|
412
478
|
async clickShowOpenButtonSlider() {
|
|
413
479
|
await this.showOpenButtonSlider.click();
|
|
414
480
|
}
|
|
481
|
+
async removeContentStartNode(contentName) {
|
|
482
|
+
await this.page.locator('[name="' + contentName + '"] uui-button').getByLabel('Remove').click();
|
|
483
|
+
await this.confirmToRemoveBtn.click();
|
|
484
|
+
}
|
|
415
485
|
// Dropdown
|
|
416
486
|
async clickEnableMultipleChoiceSlider() {
|
|
417
487
|
await this.enableMultipleChoiceSlider.click();
|