@umbraco/playwright-testhelpers 2.0.0-beta.21 → 2.0.0-beta.22
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 +13 -10
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +48 -8
- package/dist/lib/helpers/DataTypeUiHelper.js +172 -43
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +11 -2
- package/dist/lib/helpers/DocumentTypeApiHelper.js +118 -8
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +23 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js +62 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/PackageUiHelper.d.ts +0 -1
- package/dist/lib/helpers/PackageUiHelper.js +0 -2
- package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +60 -0
- package/dist/lib/helpers/UiBaseLocators.js +176 -1
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UiHelpers.d.ts +2 -0
- package/dist/lib/helpers/UiHelpers.js +3 -0
- package/dist/lib/helpers/UiHelpers.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -19,7 +19,7 @@ export declare class DataTypeApiHelper {
|
|
|
19
19
|
copyToFolder(dataTypeId: string, folderId: string): Promise<string | undefined>;
|
|
20
20
|
getFolder(id: string): Promise<any>;
|
|
21
21
|
createFolder(name: string, id?: string, parentId?: 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>;
|
|
25
25
|
getChildren(id: string): Promise<any>;
|
|
@@ -18,11 +18,11 @@ class DataTypeApiHelper {
|
|
|
18
18
|
"editorUiAlias": editorUiAlias,
|
|
19
19
|
"values": values,
|
|
20
20
|
"id": id,
|
|
21
|
-
"parentId": parentId
|
|
21
|
+
"parent": parentId ? { "id": parentId } : null
|
|
22
22
|
};
|
|
23
23
|
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType);
|
|
24
24
|
// Returns the id of the created dataType
|
|
25
|
-
return response.headers().location.split("/").pop();
|
|
25
|
+
return response.headers().location.split("v1/data-type/").pop();
|
|
26
26
|
}
|
|
27
27
|
async update(id, dataType) {
|
|
28
28
|
const updateDataType = {
|
|
@@ -89,17 +89,17 @@ class DataTypeApiHelper {
|
|
|
89
89
|
}
|
|
90
90
|
async moveToFolder(dataTypeId, folderId) {
|
|
91
91
|
const folderIdBody = {
|
|
92
|
-
"
|
|
92
|
+
"target": { id: folderId }
|
|
93
93
|
};
|
|
94
94
|
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/move', folderIdBody);
|
|
95
95
|
}
|
|
96
96
|
async copyToFolder(dataTypeId, folderId) {
|
|
97
97
|
const folderIdBody = {
|
|
98
|
-
"
|
|
98
|
+
"target": { id: folderId }
|
|
99
99
|
};
|
|
100
100
|
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/copy', folderIdBody);
|
|
101
101
|
// Returns the id of the copied dataType
|
|
102
|
-
return response.headers().location.split("/").pop();
|
|
102
|
+
return response.headers().location.split("v1/data-type/").pop();
|
|
103
103
|
}
|
|
104
104
|
// FOLDER
|
|
105
105
|
async getFolder(id) {
|
|
@@ -110,14 +110,17 @@ class DataTypeApiHelper {
|
|
|
110
110
|
const folderData = {
|
|
111
111
|
"name": name,
|
|
112
112
|
"id": id,
|
|
113
|
-
"parentId": parentId
|
|
113
|
+
"parent": parentId ? { "id": parentId } : null
|
|
114
114
|
};
|
|
115
115
|
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder', folderData);
|
|
116
116
|
// Returns the id of the created dataTypeFolder
|
|
117
|
-
return response.headers().location.split("/").pop();
|
|
117
|
+
return response.headers().location.split("v1/data-type/folder/").pop();
|
|
118
118
|
}
|
|
119
|
-
async
|
|
120
|
-
|
|
119
|
+
async renameFolder(id, name) {
|
|
120
|
+
const folderData = {
|
|
121
|
+
"name": name,
|
|
122
|
+
};
|
|
123
|
+
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id, folderData);
|
|
121
124
|
}
|
|
122
125
|
async deleteFolder(id) {
|
|
123
126
|
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);
|
|
@@ -172,7 +175,7 @@ class DataTypeApiHelper {
|
|
|
172
175
|
}
|
|
173
176
|
async save(dataType) {
|
|
174
177
|
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType);
|
|
175
|
-
return response.headers().location.split("/").pop();
|
|
178
|
+
return response.headers().location.split("v1/data-type/").pop();
|
|
176
179
|
}
|
|
177
180
|
async createDateTypeDataType(name) {
|
|
178
181
|
await this.ensureNameNotExists(name);
|
|
@@ -1 +1 @@
|
|
|
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 \"parentId\": parentId\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(\"/\").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 \"targetId\": 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 \"targetId\": 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(\"/\").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 \"parentId\": parentId\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(\"/\").pop();\n }\n\n async updateFolder(id: string, dataTypeFolder) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id, dataTypeFolder);\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(\"/\").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, 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}"]}
|
|
@@ -2,17 +2,14 @@ import { Page } from "@playwright/test";
|
|
|
2
2
|
import { UiBaseLocators } from "./UiBaseLocators";
|
|
3
3
|
export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
4
4
|
private readonly deleteFolderThreeDotsBtn;
|
|
5
|
-
private readonly renameFolderThreeDotsBtn;
|
|
6
5
|
private readonly deleteThreeDotsBtn;
|
|
7
6
|
private readonly moveToThreeDotsBtn;
|
|
8
7
|
private readonly copyToThreeDotsBtn;
|
|
9
8
|
private readonly newDataTypeThreeDotsBtn;
|
|
10
9
|
private readonly dataTypeNameTxt;
|
|
11
|
-
private readonly selectPropertyEditorBtn;
|
|
12
10
|
private readonly selectBtn;
|
|
13
11
|
private readonly createDataTypeFolderBtn;
|
|
14
12
|
private readonly updateDataTypeFolderBtn;
|
|
15
|
-
private readonly changeBtn;
|
|
16
13
|
private readonly includeLabelsSlider;
|
|
17
14
|
private readonly addColorBtn;
|
|
18
15
|
private readonly colorValueTxt;
|
|
@@ -45,6 +42,31 @@ export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
|
45
42
|
private readonly maxHeightTxt;
|
|
46
43
|
private readonly acceptedFileExtensionsTxt;
|
|
47
44
|
private readonly addAcceptedFileExtensionsBtn;
|
|
45
|
+
private readonly minimumNumberOfItemsTxt;
|
|
46
|
+
private readonly maximumNumberOfItemsTxt;
|
|
47
|
+
private readonly ignoreUserStartNodesSlider;
|
|
48
|
+
private readonly overlaySizeDropDownBox;
|
|
49
|
+
private readonly hideAnchorQueryStringInputSlider;
|
|
50
|
+
private readonly pickMultipleItemsSlider;
|
|
51
|
+
private readonly enableFocalPointSlider;
|
|
52
|
+
private readonly amountLowValueTxt;
|
|
53
|
+
private readonly amountHighValueTxt;
|
|
54
|
+
private readonly ignoreUserStartNodesCamelSlider;
|
|
55
|
+
private readonly toolbarCheckboxes;
|
|
56
|
+
private readonly addStylesheetBtn;
|
|
57
|
+
private readonly dimensionsWidthTxt;
|
|
58
|
+
private readonly dimensionsHeightTxt;
|
|
59
|
+
private readonly maxImageSizeTxt;
|
|
60
|
+
private readonly hideLabelSlider;
|
|
61
|
+
private readonly defineTagGroupTxt;
|
|
62
|
+
private readonly showOpenButtonSlider;
|
|
63
|
+
private readonly enableMultipleChoiceSlider;
|
|
64
|
+
private readonly addOptionsBtn;
|
|
65
|
+
private readonly initialStateSlider;
|
|
66
|
+
private readonly showToggleLabelsSlider;
|
|
67
|
+
private readonly labelOnTxt;
|
|
68
|
+
private readonly labelOffTxt;
|
|
69
|
+
private readonly labelTxt;
|
|
48
70
|
constructor(page: Page);
|
|
49
71
|
clickActionsMenuForDataType(name: string): Promise<void>;
|
|
50
72
|
clickActionsMenuAtRoot(): Promise<void>;
|
|
@@ -53,17 +75,13 @@ export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
|
53
75
|
clickDeleteThreeDotsButton(): Promise<void>;
|
|
54
76
|
clickMoveToThreeDotsButton(): Promise<void>;
|
|
55
77
|
clickCopyToThreeDotsButton(): Promise<void>;
|
|
56
|
-
clickRenameFolderThreeDotsButton(): Promise<void>;
|
|
57
78
|
clickNewDataTypeThreeDotsButton(): Promise<void>;
|
|
58
79
|
clickNewDataTypeFolderButton(): Promise<void>;
|
|
59
80
|
enterDataTypeName(name: string): Promise<void>;
|
|
60
|
-
enterFolderName(name: string): Promise<void>;
|
|
61
81
|
clickCreateFolderButton(): Promise<void>;
|
|
62
82
|
clickUpdateFolderButton(): Promise<void>;
|
|
63
|
-
clickSelectPropertyEditorButton(): Promise<void>;
|
|
64
83
|
selectPropertyEditorUIByName(name: string): Promise<void>;
|
|
65
84
|
deleteDataType(name: string): Promise<void>;
|
|
66
|
-
clickChangeButton(): Promise<void>;
|
|
67
85
|
deleteDataTypeFolder(folderName: string): Promise<void>;
|
|
68
86
|
clickIncludeLabelsSlider(): Promise<void>;
|
|
69
87
|
removeColorByValue(value: string): Promise<void>;
|
|
@@ -82,7 +100,7 @@ export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
|
82
100
|
clickBulkActionPermissionsSliderByValue(value: string): Promise<void>;
|
|
83
101
|
clickContentAppIconButton(): Promise<void>;
|
|
84
102
|
chooseContentAppIconByValue(value: string): Promise<void>;
|
|
85
|
-
enterCropValues(alias: string, width: string, height: string): Promise<void>;
|
|
103
|
+
enterCropValues(label: string, alias: string, width: string, height: string): Promise<void>;
|
|
86
104
|
clickAddCropButton(): Promise<void>;
|
|
87
105
|
clickSaveCropButton(): Promise<void>;
|
|
88
106
|
editCropByAlias(alias: string): Promise<void>;
|
|
@@ -100,4 +118,26 @@ export declare class DataTypeUiHelper extends UiBaseLocators {
|
|
|
100
118
|
enterAcceptedFileExtensions(value: string): Promise<void>;
|
|
101
119
|
removeAcceptedFileExtensionsByValue(value: string): Promise<void>;
|
|
102
120
|
clickAddAcceptedFileExtensionsButton(): Promise<void>;
|
|
121
|
+
enterMinimumNumberOfItemsValue(value: string): Promise<void>;
|
|
122
|
+
enterMaximumNumberOfItemsValue(value: string): Promise<void>;
|
|
123
|
+
clickIgnoreUserStartNodesSlider(): Promise<void>;
|
|
124
|
+
chooseOverlaySizeByValue(value: string): Promise<void>;
|
|
125
|
+
clickHideAnchorQueryStringInputSlider(): Promise<void>;
|
|
126
|
+
clickPickMultipleItemsSlider(): Promise<void>;
|
|
127
|
+
clickEnableFocalPointSlider(): Promise<void>;
|
|
128
|
+
enterAmountValue(lowValue: string, highValue: string): Promise<void>;
|
|
129
|
+
clickIgnoreUserStartNodesCamelSlider(): Promise<void>;
|
|
130
|
+
pickTheToolbarOptionByValue(values: any): Promise<void>;
|
|
131
|
+
addStylesheet(stylesheetName: string): Promise<void>;
|
|
132
|
+
enterDimensionsValue(width: string, height: string): Promise<void>;
|
|
133
|
+
enterMaximumSizeForImages(value: string): Promise<void>;
|
|
134
|
+
clickHideLabelSlider(): Promise<void>;
|
|
135
|
+
enterDefineTagGroupValue(value: string): Promise<void>;
|
|
136
|
+
clickShowOpenButtonSlider(): Promise<void>;
|
|
137
|
+
clickEnableMultipleChoiceSlider(): Promise<void>;
|
|
138
|
+
clickAddOptionsButton(): Promise<void>;
|
|
139
|
+
clickInitialStateSlider(): Promise<void>;
|
|
140
|
+
clickShowToggleLabelsSlider(): Promise<void>;
|
|
141
|
+
enterLabelOnValue(value: string): Promise<void>;
|
|
142
|
+
enterLabelOffValue(value: string): Promise<void>;
|
|
103
143
|
}
|
|
@@ -4,17 +4,14 @@ exports.DataTypeUiHelper = void 0;
|
|
|
4
4
|
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
5
5
|
class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
6
6
|
deleteFolderThreeDotsBtn;
|
|
7
|
-
renameFolderThreeDotsBtn;
|
|
8
7
|
deleteThreeDotsBtn;
|
|
9
8
|
moveToThreeDotsBtn;
|
|
10
9
|
copyToThreeDotsBtn;
|
|
11
10
|
newDataTypeThreeDotsBtn;
|
|
12
11
|
dataTypeNameTxt;
|
|
13
|
-
selectPropertyEditorBtn;
|
|
14
12
|
selectBtn;
|
|
15
13
|
createDataTypeFolderBtn;
|
|
16
14
|
updateDataTypeFolderBtn;
|
|
17
|
-
changeBtn;
|
|
18
15
|
includeLabelsSlider;
|
|
19
16
|
addColorBtn;
|
|
20
17
|
colorValueTxt;
|
|
@@ -47,60 +44,114 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
47
44
|
maxHeightTxt;
|
|
48
45
|
acceptedFileExtensionsTxt;
|
|
49
46
|
addAcceptedFileExtensionsBtn;
|
|
47
|
+
minimumNumberOfItemsTxt;
|
|
48
|
+
maximumNumberOfItemsTxt;
|
|
49
|
+
ignoreUserStartNodesSlider;
|
|
50
|
+
overlaySizeDropDownBox;
|
|
51
|
+
hideAnchorQueryStringInputSlider;
|
|
52
|
+
pickMultipleItemsSlider;
|
|
53
|
+
enableFocalPointSlider;
|
|
54
|
+
amountLowValueTxt;
|
|
55
|
+
amountHighValueTxt;
|
|
56
|
+
ignoreUserStartNodesCamelSlider;
|
|
57
|
+
toolbarCheckboxes;
|
|
58
|
+
addStylesheetBtn;
|
|
59
|
+
dimensionsWidthTxt;
|
|
60
|
+
dimensionsHeightTxt;
|
|
61
|
+
maxImageSizeTxt;
|
|
62
|
+
hideLabelSlider;
|
|
63
|
+
defineTagGroupTxt;
|
|
64
|
+
showOpenButtonSlider;
|
|
65
|
+
enableMultipleChoiceSlider;
|
|
66
|
+
addOptionsBtn;
|
|
67
|
+
initialStateSlider;
|
|
68
|
+
showToggleLabelsSlider;
|
|
69
|
+
labelOnTxt;
|
|
70
|
+
labelOffTxt;
|
|
71
|
+
labelTxt;
|
|
50
72
|
constructor(page) {
|
|
51
73
|
super(page);
|
|
52
74
|
this.deleteFolderThreeDotsBtn = page.locator('umb-entity-action').getByLabel('Delete Folder...');
|
|
53
|
-
this.renameFolderThreeDotsBtn = page.locator('umb-entity-action').getByLabel('Rename Folder...');
|
|
54
75
|
this.deleteThreeDotsBtn = page.locator('umb-entity-action').getByLabel('Delete...');
|
|
55
76
|
this.moveToThreeDotsBtn = page.locator('umb-entity-action').getByLabel('Move to...');
|
|
56
77
|
this.copyToThreeDotsBtn = page.locator('umb-entity-action').getByLabel('Copy to...');
|
|
57
78
|
this.newDataTypeThreeDotsBtn = page.locator('umb-data-type-create-options-modal').getByLabel('New Data Type...');
|
|
58
79
|
this.dataTypeNameTxt = page.locator('umb-data-type-workspace-editor #nameInput #input');
|
|
59
|
-
this.selectPropertyEditorBtn = page.getByLabel('Select Property Editor');
|
|
60
80
|
this.selectBtn = page.locator('umb-property-editor-ui-picker-modal').getByLabel('Select');
|
|
61
81
|
this.createDataTypeFolderBtn = page.getByLabel('Create Folder');
|
|
62
82
|
this.updateDataTypeFolderBtn = page.getByLabel('Update Folder');
|
|
63
|
-
this.changeBtn = page.getByLabel('Change');
|
|
64
83
|
// Approved Color
|
|
65
84
|
this.includeLabelsSlider = page.locator('#slider');
|
|
66
85
|
this.addColorBtn = page.getByLabel('Add');
|
|
67
86
|
this.colorValueTxt = page.getByPlaceholder('Value').getByRole('textbox');
|
|
68
87
|
this.colorLabelTxt = page.getByPlaceholder('Label...').getByRole('textbox');
|
|
69
88
|
// Date Picker
|
|
70
|
-
this.offsetTimeSlider = page.locator(
|
|
71
|
-
this.dateFormatTxt = page.locator(
|
|
89
|
+
this.offsetTimeSlider = page.locator('umb-property-layout[label="Offset time"] #slider');
|
|
90
|
+
this.dateFormatTxt = page.locator('umb-property-layout[label="Date format"] #input');
|
|
72
91
|
// List View
|
|
73
|
-
this.pageSizeTxt = page.locator(
|
|
74
|
-
this.ascendingRadioBtn = page.locator(
|
|
75
|
-
this.descendingRadioBtn = page.locator(
|
|
76
|
-
this.addColumnsDisplayedBtn = page.locator(
|
|
77
|
-
this.contentAppNameTxt = page.locator(
|
|
78
|
-
this.showContentAppFirstSlider = page.locator(
|
|
79
|
-
this.editInInfiniteEditorSlider = page.locator(
|
|
80
|
-
this.contentAppIconBtn = page.locator(
|
|
81
|
-
this.columnsDisplayedDropDownBox = page.locator(
|
|
82
|
-
this.orderByDropDownBox = page.locator(
|
|
92
|
+
this.pageSizeTxt = page.locator('umb-property-layout[label="Page Size"] #input');
|
|
93
|
+
this.ascendingRadioBtn = page.locator('uui-radio[label="Ascending [a-z]"] #button');
|
|
94
|
+
this.descendingRadioBtn = page.locator('uui-radio[label="Descending [z-a]"] #button');
|
|
95
|
+
this.addColumnsDisplayedBtn = page.locator('umb-property-layout[label="Columns Displayed"]').getByLabel('Add');
|
|
96
|
+
this.contentAppNameTxt = page.locator('umb-property-layout[label="Content app name"] #input');
|
|
97
|
+
this.showContentAppFirstSlider = page.locator('umb-property-layout[label="Show Content App First"] #slider');
|
|
98
|
+
this.editInInfiniteEditorSlider = page.locator('umb-property-layout[label="Edit in Infinite Editor"] #slider');
|
|
99
|
+
this.contentAppIconBtn = page.locator('umb-property-layout[label="Content app icon"] uui-icon');
|
|
100
|
+
this.columnsDisplayedDropDownBox = page.locator('umb-property-layout[label="Columns Displayed"] select');
|
|
101
|
+
this.orderByDropDownBox = page.locator('umb-property-layout[label="Order By"] select');
|
|
83
102
|
// Image Cropper
|
|
103
|
+
this.labelTxt = page.getByLabel('Label', { exact: true });
|
|
84
104
|
this.aliasTxt = page.getByLabel('Alias', { exact: true });
|
|
85
105
|
this.widthTxt = page.getByLabel('Width', { exact: true });
|
|
86
106
|
this.heightTxt = page.getByLabel('Height', { exact: true });
|
|
87
107
|
this.addCropBtn = page.getByLabel('Add', { exact: true });
|
|
88
108
|
this.saveCropBtn = page.locator('umb-property-editor-ui-image-crops-configuration').getByLabel('Save', { exact: true });
|
|
89
109
|
// Numeric
|
|
90
|
-
this.minimumTxt = page.locator(
|
|
91
|
-
this.maximumTxt = page.locator(
|
|
92
|
-
this.stepSizeTxt = page.locator(
|
|
110
|
+
this.minimumTxt = page.locator('umb-property-layout[label="Minimum"] #input');
|
|
111
|
+
this.maximumTxt = page.locator('umb-property-layout[label="Maximum"] #input');
|
|
112
|
+
this.stepSizeTxt = page.locator('umb-property-layout[label="Step size"] #input');
|
|
93
113
|
// Radiobox
|
|
94
|
-
this.optionTxt = page.locator(
|
|
95
|
-
this.addOptionBtn = page.locator(
|
|
114
|
+
this.optionTxt = page.locator('umb-property-layout[label="Add option"] #input, umb-property-layout[label="Add options"] #input');
|
|
115
|
+
this.addOptionBtn = page.locator('umb-property-layout[label="Add option"], umb-property-layout[label="Add options"]').getByLabel('Add', { exact: true });
|
|
96
116
|
// Textarea - Textstring
|
|
97
|
-
this.maximumAllowedCharsTxt = page.locator(
|
|
98
|
-
this.numberOfRowsTxt = page.locator(
|
|
99
|
-
this.minHeightTxt = page.locator(
|
|
100
|
-
this.maxHeightTxt = page.locator(
|
|
117
|
+
this.maximumAllowedCharsTxt = page.locator('umb-property-layout[label="Maximum allowed characters"] #input');
|
|
118
|
+
this.numberOfRowsTxt = page.locator('umb-property-layout[label="Number of rows"] #input');
|
|
119
|
+
this.minHeightTxt = page.locator('umb-property-layout[label="Min height (pixels)"] #input');
|
|
120
|
+
this.maxHeightTxt = page.locator('umb-property-layout[label="Max height (pixels)"] #input');
|
|
101
121
|
// Upload
|
|
102
|
-
this.acceptedFileExtensionsTxt = page.locator(
|
|
103
|
-
this.addAcceptedFileExtensionsBtn = page.locator(
|
|
122
|
+
this.acceptedFileExtensionsTxt = page.locator('umb-property-layout[label="Accepted file extensions"] #input');
|
|
123
|
+
this.addAcceptedFileExtensionsBtn = page.locator('umb-property-layout[label="Accepted file extensions"]').getByLabel('Add', { exact: true });
|
|
124
|
+
// Multi URL Picker
|
|
125
|
+
this.minimumNumberOfItemsTxt = page.locator('umb-property-layout[label="Minimum number of items"] #input');
|
|
126
|
+
this.maximumNumberOfItemsTxt = page.locator('umb-property-layout[label="Maximum number of items"] #input');
|
|
127
|
+
this.ignoreUserStartNodesSlider = page.locator('umb-property-layout[label="Ignore user start nodes"] #slider');
|
|
128
|
+
this.overlaySizeDropDownBox = page.locator('umb-property-layout[label="Overlay Size"] select');
|
|
129
|
+
this.hideAnchorQueryStringInputSlider = page.locator('umb-property-layout[label="Hide anchor/query string input"] #slider');
|
|
130
|
+
// Multiple Media Picker
|
|
131
|
+
this.pickMultipleItemsSlider = page.locator('umb-property-layout[label="Pick multiple items"] #slider');
|
|
132
|
+
this.enableFocalPointSlider = page.locator('umb-property-layout[label="Enable Focal Point"] #slider');
|
|
133
|
+
this.amountLowValueTxt = page.locator('umb-property-layout[label="Amount"]').getByLabel('Low value');
|
|
134
|
+
this.amountHighValueTxt = page.locator('umb-property-layout[label="Amount"]').getByLabel('High value');
|
|
135
|
+
this.ignoreUserStartNodesCamelSlider = page.locator("umb-property-layout[label='Ignore User Start Nodes'] #slider");
|
|
136
|
+
// Rich Editor
|
|
137
|
+
this.toolbarCheckboxes = page.locator('umb-property-layout[label="Toolbar"] uui-checkbox');
|
|
138
|
+
this.addStylesheetBtn = page.locator('umb-property-layout[label="Stylesheets"] #add-button');
|
|
139
|
+
this.dimensionsWidthTxt = page.locator('umb-property-layout[label="Dimensions"]').getByLabel('Width');
|
|
140
|
+
this.dimensionsHeightTxt = page.locator('umb-property-layout[label="Dimensions"]').getByLabel('Height');
|
|
141
|
+
this.maxImageSizeTxt = page.locator('umb-property-layout[label="Maximum size for inserted images"] #input');
|
|
142
|
+
this.hideLabelSlider = page.locator('umb-property-layout[label="Hide Label"] #slider');
|
|
143
|
+
// Tags
|
|
144
|
+
this.defineTagGroupTxt = page.locator('umb-property-layout[label="Define a tag group"] #input');
|
|
145
|
+
// Content Picker
|
|
146
|
+
this.showOpenButtonSlider = page.locator('umb-property-layout[label="Show open button"] #slider');
|
|
147
|
+
// Dropdown
|
|
148
|
+
this.enableMultipleChoiceSlider = page.locator('umb-property-layout[label="Enable multiple choice"] #slider');
|
|
149
|
+
this.addOptionsBtn = page.locator('umb-property-layout[label="Add options"]').getByLabel('Add', { exact: true });
|
|
150
|
+
// True/false
|
|
151
|
+
this.initialStateSlider = page.locator('umb-property-layout[label="Initial State"] #slider');
|
|
152
|
+
this.showToggleLabelsSlider = page.locator('umb-property-layout[label="Show toggle labels"] #slider');
|
|
153
|
+
this.labelOnTxt = page.locator('umb-property-layout[label="Label On"] #input');
|
|
154
|
+
this.labelOffTxt = page.locator('umb-property-layout[label="Label Off"] #input');
|
|
104
155
|
}
|
|
105
156
|
async clickActionsMenuForDataType(name) {
|
|
106
157
|
await this.clickActionsMenuForName(name);
|
|
@@ -124,9 +175,6 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
124
175
|
async clickCopyToThreeDotsButton() {
|
|
125
176
|
await this.copyToThreeDotsBtn.click();
|
|
126
177
|
}
|
|
127
|
-
async clickRenameFolderThreeDotsButton() {
|
|
128
|
-
await this.renameFolderThreeDotsBtn.click();
|
|
129
|
-
}
|
|
130
178
|
async clickNewDataTypeThreeDotsButton() {
|
|
131
179
|
await this.newDataTypeThreeDotsBtn.click();
|
|
132
180
|
}
|
|
@@ -138,19 +186,12 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
138
186
|
await this.dataTypeNameTxt.clear();
|
|
139
187
|
await this.dataTypeNameTxt.fill(name);
|
|
140
188
|
}
|
|
141
|
-
async enterFolderName(name) {
|
|
142
|
-
await this.folderNameTxt.clear();
|
|
143
|
-
await this.folderNameTxt.fill(name);
|
|
144
|
-
}
|
|
145
189
|
async clickCreateFolderButton() {
|
|
146
190
|
await this.createDataTypeFolderBtn.click();
|
|
147
191
|
}
|
|
148
192
|
async clickUpdateFolderButton() {
|
|
149
193
|
await this.updateDataTypeFolderBtn.click();
|
|
150
194
|
}
|
|
151
|
-
async clickSelectPropertyEditorButton() {
|
|
152
|
-
await this.selectPropertyEditorBtn.click();
|
|
153
|
-
}
|
|
154
195
|
async selectPropertyEditorUIByName(name) {
|
|
155
196
|
await this.page.locator('umb-property-editor-ui-picker-modal').getByText(name).click();
|
|
156
197
|
await this.selectBtn.click();
|
|
@@ -160,9 +201,6 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
160
201
|
await this.deleteBtn.click();
|
|
161
202
|
await this.confirmToDeleteBtn.click();
|
|
162
203
|
}
|
|
163
|
-
async clickChangeButton() {
|
|
164
|
-
await this.changeBtn.click();
|
|
165
|
-
}
|
|
166
204
|
async deleteDataTypeFolder(folderName) {
|
|
167
205
|
await this.clickActionsMenuForDataType(folderName);
|
|
168
206
|
await this.deleteFolderThreeDotsBtn.click();
|
|
@@ -239,7 +277,9 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
239
277
|
await this.submitBtn.click();
|
|
240
278
|
}
|
|
241
279
|
// Image Cropper
|
|
242
|
-
async enterCropValues(alias, width, height) {
|
|
280
|
+
async enterCropValues(label, alias, width, height) {
|
|
281
|
+
await this.labelTxt.clear();
|
|
282
|
+
await this.labelTxt.fill(label);
|
|
243
283
|
await this.aliasTxt.clear();
|
|
244
284
|
await this.aliasTxt.fill(alias);
|
|
245
285
|
await this.widthTxt.clear();
|
|
@@ -313,6 +353,95 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
313
353
|
async clickAddAcceptedFileExtensionsButton() {
|
|
314
354
|
await this.addAcceptedFileExtensionsBtn.click();
|
|
315
355
|
}
|
|
356
|
+
// Multi URL Picker
|
|
357
|
+
async enterMinimumNumberOfItemsValue(value) {
|
|
358
|
+
await this.minimumNumberOfItemsTxt.clear();
|
|
359
|
+
await this.minimumNumberOfItemsTxt.fill(value);
|
|
360
|
+
}
|
|
361
|
+
async enterMaximumNumberOfItemsValue(value) {
|
|
362
|
+
await this.maximumNumberOfItemsTxt.clear();
|
|
363
|
+
await this.maximumNumberOfItemsTxt.fill(value);
|
|
364
|
+
}
|
|
365
|
+
async clickIgnoreUserStartNodesSlider() {
|
|
366
|
+
await this.ignoreUserStartNodesSlider.click();
|
|
367
|
+
}
|
|
368
|
+
async chooseOverlaySizeByValue(value) {
|
|
369
|
+
await this.overlaySizeDropDownBox.selectOption({ value: value });
|
|
370
|
+
}
|
|
371
|
+
async clickHideAnchorQueryStringInputSlider() {
|
|
372
|
+
await this.hideAnchorQueryStringInputSlider.click();
|
|
373
|
+
}
|
|
374
|
+
// Multiple Media Picker
|
|
375
|
+
async clickPickMultipleItemsSlider() {
|
|
376
|
+
await this.pickMultipleItemsSlider.click();
|
|
377
|
+
}
|
|
378
|
+
async clickEnableFocalPointSlider() {
|
|
379
|
+
await this.enableFocalPointSlider.click();
|
|
380
|
+
}
|
|
381
|
+
async enterAmountValue(lowValue, highValue) {
|
|
382
|
+
await this.amountLowValueTxt.clear();
|
|
383
|
+
await this.amountLowValueTxt.fill(lowValue);
|
|
384
|
+
await this.amountHighValueTxt.clear();
|
|
385
|
+
await this.amountHighValueTxt.fill(highValue);
|
|
386
|
+
}
|
|
387
|
+
async clickIgnoreUserStartNodesCamelSlider() {
|
|
388
|
+
await this.ignoreUserStartNodesCamelSlider.click();
|
|
389
|
+
}
|
|
390
|
+
// Richtext Editor
|
|
391
|
+
async pickTheToolbarOptionByValue(values) {
|
|
392
|
+
for (var index in values) {
|
|
393
|
+
await this.toolbarCheckboxes.filter({ has: this.page.getByLabel(values[index]) }).locator('#ticker svg').click();
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
async addStylesheet(stylesheetName) {
|
|
397
|
+
await this.addStylesheetBtn.click();
|
|
398
|
+
await this.page.getByLabel(stylesheetName).click();
|
|
399
|
+
await this.chooseModalBtn.click();
|
|
400
|
+
}
|
|
401
|
+
async enterDimensionsValue(width, height) {
|
|
402
|
+
await this.dimensionsWidthTxt.clear();
|
|
403
|
+
await this.dimensionsWidthTxt.fill(width);
|
|
404
|
+
await this.dimensionsHeightTxt.clear();
|
|
405
|
+
await this.dimensionsHeightTxt.fill(height);
|
|
406
|
+
}
|
|
407
|
+
async enterMaximumSizeForImages(value) {
|
|
408
|
+
await this.maxImageSizeTxt.clear();
|
|
409
|
+
await this.maxImageSizeTxt.fill(value);
|
|
410
|
+
}
|
|
411
|
+
async clickHideLabelSlider() {
|
|
412
|
+
await this.hideLabelSlider.click();
|
|
413
|
+
}
|
|
414
|
+
// Tags
|
|
415
|
+
async enterDefineTagGroupValue(value) {
|
|
416
|
+
await this.defineTagGroupTxt.clear();
|
|
417
|
+
await this.defineTagGroupTxt.fill(value);
|
|
418
|
+
}
|
|
419
|
+
// Content Picker
|
|
420
|
+
async clickShowOpenButtonSlider() {
|
|
421
|
+
await this.showOpenButtonSlider.click();
|
|
422
|
+
}
|
|
423
|
+
// Dropdown
|
|
424
|
+
async clickEnableMultipleChoiceSlider() {
|
|
425
|
+
await this.enableMultipleChoiceSlider.click();
|
|
426
|
+
}
|
|
427
|
+
async clickAddOptionsButton() {
|
|
428
|
+
await this.addOptionsBtn.click();
|
|
429
|
+
}
|
|
430
|
+
// True/false
|
|
431
|
+
async clickInitialStateSlider() {
|
|
432
|
+
await this.initialStateSlider.click();
|
|
433
|
+
}
|
|
434
|
+
async clickShowToggleLabelsSlider() {
|
|
435
|
+
await this.showToggleLabelsSlider.click();
|
|
436
|
+
}
|
|
437
|
+
async enterLabelOnValue(value) {
|
|
438
|
+
await this.labelOnTxt.clear();
|
|
439
|
+
await this.labelOnTxt.fill(value);
|
|
440
|
+
}
|
|
441
|
+
async enterLabelOffValue(value) {
|
|
442
|
+
await this.labelOffTxt.clear();
|
|
443
|
+
await this.labelOffTxt.fill(value);
|
|
444
|
+
}
|
|
316
445
|
}
|
|
317
446
|
exports.DataTypeUiHelper = DataTypeUiHelper;
|
|
318
447
|
//# sourceMappingURL=DataTypeUiHelper.js.map
|