@umbraco/playwright-testhelpers 2.0.0-beta.80 → 2.0.0-beta.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/lib/helpers/ApiHelpers.js +2 -2
  2. package/dist/lib/helpers/ApiHelpers.js.map +1 -1
  3. package/dist/lib/helpers/ContentUiHelper.d.ts +11 -0
  4. package/dist/lib/helpers/ContentUiHelper.js +38 -0
  5. package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
  6. package/dist/lib/helpers/DataTypeApiHelper.d.ts +7 -0
  7. package/dist/lib/helpers/DataTypeApiHelper.js +51 -0
  8. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  9. package/dist/lib/helpers/DataTypeUiHelper.js +4 -4
  10. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  11. package/dist/lib/helpers/DictionaryUiHelper.js +1 -0
  12. package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
  13. package/dist/lib/helpers/DocumentBlueprintUiHelper.js +1 -1
  14. package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -1
  15. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
  16. package/dist/lib/helpers/MediaApiHelper.d.ts +2 -0
  17. package/dist/lib/helpers/MediaApiHelper.js +18 -0
  18. package/dist/lib/helpers/MediaApiHelper.js.map +1 -1
  19. package/dist/lib/helpers/MediaUiHelper.d.ts +22 -0
  20. package/dist/lib/helpers/MediaUiHelper.js +65 -1
  21. package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
  22. package/dist/lib/helpers/MemberGroupUiHelper.d.ts +2 -0
  23. package/dist/lib/helpers/MemberGroupUiHelper.js +9 -1
  24. package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
  25. package/dist/lib/helpers/PackageUiHelper.js +15 -15
  26. package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
  27. package/dist/lib/helpers/PartialViewUiHelper.d.ts +3 -1
  28. package/dist/lib/helpers/PartialViewUiHelper.js +7 -1
  29. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
  30. package/dist/lib/helpers/ScriptUiHelper.js +2 -2
  31. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
  32. package/dist/lib/helpers/StylesheetUiHelper.js +1 -1
  33. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
  34. package/dist/lib/helpers/UiBaseLocators.d.ts +7 -7
  35. package/dist/lib/helpers/UiBaseLocators.js +25 -24
  36. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  37. package/dist/lib/helpers/UserApiHelper.d.ts +3 -1
  38. package/dist/lib/helpers/UserApiHelper.js +8 -1
  39. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  40. package/dist/lib/helpers/UserGroupUiHelper.js +1 -1
  41. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
  42. package/dist/lib/helpers/UserUiHelper.js +1 -1
  43. package/dist/lib/helpers/UserUiHelper.js.map +1 -1
  44. package/dist/lib/helpers/testExtension.js +3 -1
  45. package/dist/lib/helpers/testExtension.js.map +1 -1
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/package.json +2 -2
@@ -79,7 +79,7 @@ class ApiHelpers {
79
79
  this.userGroup = new UserGroupApiHelper_1.UserGroupApiHelper(this);
80
80
  this.template = new TemplateApiHelper_1.TemplateApiHelper(this);
81
81
  this.dataType = new DataTypeApiHelper_1.DataTypeApiHelper(this);
82
- this.user = new UserApiHelper_1.UserApiHelper(this);
82
+ this.user = new UserApiHelper_1.UserApiHelper(this, page);
83
83
  this.temporaryFile = new TemporaryFileApiHelper_1.TemporaryFileApiHelper(this);
84
84
  this.documentType = new DocumentTypeApiHelper_1.DocumentTypeApiHelper(this);
85
85
  this.document = new DocumentApiHelper_1.DocumentApiHelper(this);
@@ -193,7 +193,7 @@ class ApiHelpers {
193
193
  const tokenTimeIssued = await this.getTokenIssuedTime();
194
194
  const tokenExpireTime = await this.getTokenExpireTime();
195
195
  // Should use a global value
196
- const globalTestTimeout = 40;
196
+ const globalTestTimeout = 45;
197
197
  // We want to have the date minus the globalTimeout, the reason for this is that while a test is running, the token could expire.
198
198
  // The refresh token lasts for 300 seconds, while the access token lasts for 60 seconds (NOT TOTALLY SURE) this is why we add 240 seconds
199
199
  const tokenRefreshTime = tokenTimeIssued + tokenExpireTime - (globalTestTimeout + 240);
@@ -1 +1 @@
1
- {"version":3,"file":"ApiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/ApiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page} from \"@playwright/test\"\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ReportHelper} from \"./ReportHelper\";\nimport {TelemetryDataApiHelper} from \"./TelemetryDataApiHelper\";\nimport {LanguageApiHelper} from \"./LanguageApiHelper\";\nimport {DictionaryApiHelper} from \"./DictionaryApiHelper\";\nimport {RelationTypeApiHelper} from \"./RelationTypeApiHelper\";\nimport {UserGroupApiHelper} from \"./UserGroupApiHelper\";\nimport {TemplateApiHelper} from \"./TemplateApiHelper\";\nimport {AliasHelper} from \"./AliasHelper\";\nimport {DataTypeApiHelper} from \"./DataTypeApiHelper\";\nimport {UserApiHelper} from \"./UserApiHelper\";\nimport {TemporaryFileApiHelper} from \"./TemporaryFileApiHelper\";\nimport {PackageApiHelper} from \"./PackageApiHelper\";\nimport {ScriptApiHelper} from \"./ScriptApiHelper\";\nimport {PartialViewApiHelper} from \"./PartialViewApiHelper\";\nimport {StylesheetApiHelper} from \"./StylesheetApiHelper\";\nimport * as fs from \"fs\";\nimport {LogViewerApiHelper} from \"./LogViewerApiHelper\";\nimport {DocumentTypeApiHelper} from \"./DocumentTypeApiHelper\";\nimport {DocumentApiHelper} from \"./DocumentApiHelper\";\nimport {MediaTypeApiHelper} from \"./MediaTypeApiHelper\";\nimport {MediaApiHelper} from \"./MediaApiHelper\";\nimport {ObjectTypesApiHelper} from \"./ObjectTypesApiHelper\";\nimport {ModelsBuilderApiHelper} from \"./ModelsBuilderApiHelper\";\nimport {HealthCheckApiHelper} from \"./HealthCheckApiHelper\";\nimport {IndexerApiHelper} from \"./IndexerApiHelper\";\nimport {PublishedCacheApiHelper} from \"./PublishedCacheApiHelper\";\nimport {RedirectManagementApiHelper} from './RedirectManagementApiHelper';\nimport {MemberGroupApiHelper} from './MemberGroupApiHelper';\nimport {MemberApiHelper} from './MemberApiHelper';\nimport {MemberTypeApiHelper} from \"./MemberTypeApiHelper\";\nimport {DocumentBlueprintApiHelper} from \"./DocumentBlueprintApiHelper\";\nimport {LoginApiHelper} from \"./LoginApiHelper\";\n\nexport class ApiHelpers {\n baseUrl: string = umbracoConfig.environment.baseUrl;\n page: Page;\n alias: AliasHelper;\n report: ReportHelper;\n telemetry: TelemetryDataApiHelper;\n language: LanguageApiHelper;\n dictionary: DictionaryApiHelper;\n relationType: RelationTypeApiHelper;\n userGroup: UserGroupApiHelper;\n template: TemplateApiHelper;\n dataType: DataTypeApiHelper;\n user: UserApiHelper;\n temporaryFile: TemporaryFileApiHelper;\n documentType: DocumentTypeApiHelper;\n document: DocumentApiHelper;\n package: PackageApiHelper;\n script: ScriptApiHelper;\n partialView: PartialViewApiHelper;\n stylesheet: StylesheetApiHelper;\n logViewer: LogViewerApiHelper;\n mediaType: MediaTypeApiHelper;\n media: MediaApiHelper;\n objectTypes: ObjectTypesApiHelper;\n modelsBuilder: ModelsBuilderApiHelper;\n healthCheck: HealthCheckApiHelper;\n indexer: IndexerApiHelper;\n publishedCache: PublishedCacheApiHelper;\n redirectManagement: RedirectManagementApiHelper;\n memberGroup: MemberGroupApiHelper;\n member: MemberApiHelper;\n memberType: MemberTypeApiHelper;\n documentBlueprint: DocumentBlueprintApiHelper;\n login: LoginApiHelper;\n\n constructor(page: Page) {\n this.page = page;\n this.alias = new AliasHelper();\n this.report = new ReportHelper(this);\n this.telemetry = new TelemetryDataApiHelper(this);\n this.language = new LanguageApiHelper(this);\n this.dictionary = new DictionaryApiHelper(this);\n this.relationType = new RelationTypeApiHelper(this);\n this.userGroup = new UserGroupApiHelper(this);\n this.template = new TemplateApiHelper(this);\n this.dataType = new DataTypeApiHelper(this);\n this.user = new UserApiHelper(this);\n this.temporaryFile = new TemporaryFileApiHelper(this);\n this.documentType = new DocumentTypeApiHelper(this);\n this.document = new DocumentApiHelper(this);\n this.package = new PackageApiHelper(this);\n this.script = new ScriptApiHelper(this);\n this.partialView = new PartialViewApiHelper(this);\n this.stylesheet = new StylesheetApiHelper(this);\n this.logViewer = new LogViewerApiHelper(this);\n this.mediaType = new MediaTypeApiHelper(this);\n this.media = new MediaApiHelper(this);\n this.objectTypes = new ObjectTypesApiHelper(this);\n this.modelsBuilder = new ModelsBuilderApiHelper(this);\n this.healthCheck = new HealthCheckApiHelper(this);\n this.indexer = new IndexerApiHelper(this);\n this.publishedCache = new PublishedCacheApiHelper(this);\n this.redirectManagement = new RedirectManagementApiHelper(this);\n this.memberGroup = new MemberGroupApiHelper(this);\n this.member = new MemberApiHelper(this);\n this.memberType = new MemberTypeApiHelper(this);\n this.documentBlueprint = new DocumentBlueprintApiHelper(this);\n this.login = new LoginApiHelper(this, this.page);\n }\n\n async getBearerToken() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return 'Bearer ' + someObject.access_token;\n }\n\n async getCookie() {\n let someStorage = await this.page.context().storageState();\n let cookieString = \"\";\n for (let cookie of someStorage.cookies) {\n cookieString += cookie.name + '=' + cookie.value + ';';\n }\n return cookieString;\n }\n\n async getHeaders() {\n return {\n 'Authorization': await this.getBearerToken(),\n 'Cookie': await this.getCookie(),\n }\n }\n\n async get(url: string, params?: { [key: string]: string | number | boolean; }) {\n const options = {\n headers: await this.getHeaders(),\n params: params,\n ignoreHTTPSErrors: true\n }\n return this.page.request.get(url, options);\n }\n\n async saveCodeFile(codeFile) {\n if (codeFile == null) {\n return;\n }\n return await this.post(umbracoConfig.environment.baseUrl + '/umbraco/backoffice/UmbracoApi/CodeFile/PostSave', codeFile);\n }\n\n async post(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n async delete(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.delete(url, options);\n }\n\n async put(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.put(url, options);\n }\n\n async postMultiPartForm(url: string, id, name: string, mimeType: string, filePath) {\n const options = {\n headers: await this.getHeaders(),\n multipart: {\n Id: id,\n File: {\n name: name,\n mimeType: mimeType,\n buffer: fs.readFileSync(filePath)\n }\n },\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n private async getTokenIssuedTime() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return Number(someObject.issued_at);\n }\n\n private async getTokenExpireTime() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return Number(someObject.expires_in);\n }\n\n private async getRefreshToken() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return someObject.refresh_token;\n }\n\n async isAccessTokenValid() {\n const tokenTimeIssued = await this.getTokenIssuedTime();\n const tokenExpireTime = await this.getTokenExpireTime();\n // Should use a global value\n const globalTestTimeout: number = 40;\n // We want to have the date minus the globalTimeout, the reason for this is that while a test is running, the token could expire.\n // The refresh token lasts for 300 seconds, while the access token lasts for 60 seconds (NOT TOTALLY SURE) this is why we add 240 seconds\n const tokenRefreshTime = tokenTimeIssued + tokenExpireTime - (globalTestTimeout + 240);\n // We need the currentTimeInEpoch so we can check if the tokenRefreshTime is close to expiring.\n const currentTimeInEpoch = await this.currentDateToEpoch();\n\n if (tokenRefreshTime <= currentTimeInEpoch) {\n return await this.refreshAccessToken();\n }\n }\n\n private async currentDateToEpoch() {\n const currentTime = new Date(Date.now());\n return this.dateToEpoch(currentTime);\n }\n\n private async dateToEpoch(date: Date) {\n const dateToEpoch = date.getTime();\n // The epoch is in milliseconds, but we want it to be in seconds(Like it is in the token).\n const millisecondsToSeconds = dateToEpoch / 1000;\n // There is no need to have anything after .\n return Number(millisecondsToSeconds.toString().split('.')[0]);\n }\n\n async refreshAccessToken() {\n const response = await this.page.context().request.post(umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/security/back-office/token', {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n Cookie: await this.getCookie()\n },\n form:\n {\n grant_type: 'refresh_token',\n client_id: 'umbraco-back-office',\n redirect_uri: umbracoConfig.environment.baseUrl + '/umbraco/oauth_complete',\n refresh_token: await this.getRefreshToken()\n }\n });\n\n if (response.status() === 200) {\n const jsonStorageValue = await response.json();\n return this.updateLocalStorage(jsonStorageValue);\n }\n\n console.log('Error refreshing access token.');\n console.log('Attempting login...');\n const storageStateValues = await this.login.login();\n await this.updateCookie(storageStateValues.cookie);\n await this.updateLocalStorage(storageStateValues.token);\n }\n\n private async updateLocalStorage(localStorageValue) {\n const currentStorageState = await this.page.context().storageState();\n let currentLocalStorageValue = JSON.parse(currentStorageState.origins[0].localStorage[0].value);\n const newIssuedTime = await this.currentDateToEpoch();\n\n currentLocalStorageValue.access_token = localStorageValue.access_token;\n currentLocalStorageValue.refresh_token = localStorageValue.refresh_token;\n currentLocalStorageValue.issued_at = newIssuedTime;\n currentLocalStorageValue.expires_in = localStorageValue.expires_in.toString();\n\n const filePath = process.env.STORAGE_STAGE_PATH;\n // Updates the user.json file in our CMS project\n if (filePath) {\n const jsonString = fs.readFileSync(filePath, 'utf-8');\n try {\n const data = JSON.parse(jsonString);\n const localStorage = data.origins[0].localStorage[0];\n if (localStorage.name === 'umb:userAuthTokenResponse') {\n localStorage.value = JSON.stringify(currentLocalStorageValue);\n }\n\n // Converts the object to JSON string\n const updatedJsonString = JSON.stringify(data, null, 2);\n // Writes the updated JSON content to the file\n fs.writeFileSync(filePath, updatedJsonString, 'utf-8');\n } catch (error) {\n console.error('Error updating token:', error);\n }\n }\n }\n\n private async updateCookie(cookieString: string) {\n const currentStorageState = await this.page.context().storageState();\n let currentCookie = currentStorageState.cookies[0];\n\n const parts = cookieString.split(';').map(part => part.trim());\n // Extract the main key-value pair\n const [nameValue, ...attributes] = parts;\n const [, value] = nameValue.split('=');\n // Updates the cookie value\n currentCookie.value = value;\n // Process each attribute\n for (const attr of attributes) {\n const [key, val] = attr.split('=');\n if (key.trim().toLowerCase() === 'expires') {\n // Updates the expires value and converts it to Epoch\n currentCookie.expires = await this.dateToEpoch(new Date(val));\n }\n }\n\n const filePath = process.env.STORAGE_STAGE_PATH;\n\n if (filePath) {\n try {\n const jsonString = fs.readFileSync(filePath, 'utf-8');\n const data = JSON.parse(jsonString);\n data.cookies[0] = currentCookie;\n const updatedJsonString = JSON.stringify(data, null, 2);\n fs.writeFileSync(filePath, updatedJsonString, 'utf-8');\n } catch (error) {\n console.error('Error updating cookie:', error);\n }\n }\n }\n}"]}
1
+ {"version":3,"file":"ApiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/ApiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page} from \"@playwright/test\"\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ReportHelper} from \"./ReportHelper\";\nimport {TelemetryDataApiHelper} from \"./TelemetryDataApiHelper\";\nimport {LanguageApiHelper} from \"./LanguageApiHelper\";\nimport {DictionaryApiHelper} from \"./DictionaryApiHelper\";\nimport {RelationTypeApiHelper} from \"./RelationTypeApiHelper\";\nimport {UserGroupApiHelper} from \"./UserGroupApiHelper\";\nimport {TemplateApiHelper} from \"./TemplateApiHelper\";\nimport {AliasHelper} from \"./AliasHelper\";\nimport {DataTypeApiHelper} from \"./DataTypeApiHelper\";\nimport {UserApiHelper} from \"./UserApiHelper\";\nimport {TemporaryFileApiHelper} from \"./TemporaryFileApiHelper\";\nimport {PackageApiHelper} from \"./PackageApiHelper\";\nimport {ScriptApiHelper} from \"./ScriptApiHelper\";\nimport {PartialViewApiHelper} from \"./PartialViewApiHelper\";\nimport {StylesheetApiHelper} from \"./StylesheetApiHelper\";\nimport * as fs from \"fs\";\nimport {LogViewerApiHelper} from \"./LogViewerApiHelper\";\nimport {DocumentTypeApiHelper} from \"./DocumentTypeApiHelper\";\nimport {DocumentApiHelper} from \"./DocumentApiHelper\";\nimport {MediaTypeApiHelper} from \"./MediaTypeApiHelper\";\nimport {MediaApiHelper} from \"./MediaApiHelper\";\nimport {ObjectTypesApiHelper} from \"./ObjectTypesApiHelper\";\nimport {ModelsBuilderApiHelper} from \"./ModelsBuilderApiHelper\";\nimport {HealthCheckApiHelper} from \"./HealthCheckApiHelper\";\nimport {IndexerApiHelper} from \"./IndexerApiHelper\";\nimport {PublishedCacheApiHelper} from \"./PublishedCacheApiHelper\";\nimport {RedirectManagementApiHelper} from './RedirectManagementApiHelper';\nimport {MemberGroupApiHelper} from './MemberGroupApiHelper';\nimport {MemberApiHelper} from './MemberApiHelper';\nimport {MemberTypeApiHelper} from \"./MemberTypeApiHelper\";\nimport {DocumentBlueprintApiHelper} from \"./DocumentBlueprintApiHelper\";\nimport {LoginApiHelper} from \"./LoginApiHelper\";\n\nexport class ApiHelpers {\n baseUrl: string = umbracoConfig.environment.baseUrl;\n page: Page;\n alias: AliasHelper;\n report: ReportHelper;\n telemetry: TelemetryDataApiHelper;\n language: LanguageApiHelper;\n dictionary: DictionaryApiHelper;\n relationType: RelationTypeApiHelper;\n userGroup: UserGroupApiHelper;\n template: TemplateApiHelper;\n dataType: DataTypeApiHelper;\n user: UserApiHelper;\n temporaryFile: TemporaryFileApiHelper;\n documentType: DocumentTypeApiHelper;\n document: DocumentApiHelper;\n package: PackageApiHelper;\n script: ScriptApiHelper;\n partialView: PartialViewApiHelper;\n stylesheet: StylesheetApiHelper;\n logViewer: LogViewerApiHelper;\n mediaType: MediaTypeApiHelper;\n media: MediaApiHelper;\n objectTypes: ObjectTypesApiHelper;\n modelsBuilder: ModelsBuilderApiHelper;\n healthCheck: HealthCheckApiHelper;\n indexer: IndexerApiHelper;\n publishedCache: PublishedCacheApiHelper;\n redirectManagement: RedirectManagementApiHelper;\n memberGroup: MemberGroupApiHelper;\n member: MemberApiHelper;\n memberType: MemberTypeApiHelper;\n documentBlueprint: DocumentBlueprintApiHelper;\n login: LoginApiHelper;\n\n constructor(page: Page) {\n this.page = page;\n this.alias = new AliasHelper();\n this.report = new ReportHelper(this);\n this.telemetry = new TelemetryDataApiHelper(this);\n this.language = new LanguageApiHelper(this);\n this.dictionary = new DictionaryApiHelper(this);\n this.relationType = new RelationTypeApiHelper(this);\n this.userGroup = new UserGroupApiHelper(this);\n this.template = new TemplateApiHelper(this);\n this.dataType = new DataTypeApiHelper(this);\n this.user = new UserApiHelper(this, page);\n this.temporaryFile = new TemporaryFileApiHelper(this);\n this.documentType = new DocumentTypeApiHelper(this);\n this.document = new DocumentApiHelper(this);\n this.package = new PackageApiHelper(this);\n this.script = new ScriptApiHelper(this);\n this.partialView = new PartialViewApiHelper(this);\n this.stylesheet = new StylesheetApiHelper(this);\n this.logViewer = new LogViewerApiHelper(this);\n this.mediaType = new MediaTypeApiHelper(this);\n this.media = new MediaApiHelper(this);\n this.objectTypes = new ObjectTypesApiHelper(this);\n this.modelsBuilder = new ModelsBuilderApiHelper(this);\n this.healthCheck = new HealthCheckApiHelper(this);\n this.indexer = new IndexerApiHelper(this);\n this.publishedCache = new PublishedCacheApiHelper(this);\n this.redirectManagement = new RedirectManagementApiHelper(this);\n this.memberGroup = new MemberGroupApiHelper(this);\n this.member = new MemberApiHelper(this);\n this.memberType = new MemberTypeApiHelper(this);\n this.documentBlueprint = new DocumentBlueprintApiHelper(this);\n this.login = new LoginApiHelper(this, this.page);\n }\n\n async getBearerToken() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return 'Bearer ' + someObject.access_token;\n }\n\n async getCookie() {\n let someStorage = await this.page.context().storageState();\n let cookieString = \"\";\n for (let cookie of someStorage.cookies) {\n cookieString += cookie.name + '=' + cookie.value + ';';\n }\n return cookieString;\n }\n\n async getHeaders() {\n return {\n 'Authorization': await this.getBearerToken(),\n 'Cookie': await this.getCookie(),\n }\n }\n\n async get(url: string, params?: { [key: string]: string | number | boolean; }) {\n const options = {\n headers: await this.getHeaders(),\n params: params,\n ignoreHTTPSErrors: true\n }\n return this.page.request.get(url, options);\n }\n\n async saveCodeFile(codeFile) {\n if (codeFile == null) {\n return;\n }\n return await this.post(umbracoConfig.environment.baseUrl + '/umbraco/backoffice/UmbracoApi/CodeFile/PostSave', codeFile);\n }\n\n async post(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n async delete(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.delete(url, options);\n }\n\n async put(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.put(url, options);\n }\n\n async postMultiPartForm(url: string, id, name: string, mimeType: string, filePath) {\n const options = {\n headers: await this.getHeaders(),\n multipart: {\n Id: id,\n File: {\n name: name,\n mimeType: mimeType,\n buffer: fs.readFileSync(filePath)\n }\n },\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n private async getTokenIssuedTime() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return Number(someObject.issued_at);\n }\n\n private async getTokenExpireTime() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return Number(someObject.expires_in);\n }\n\n private async getRefreshToken() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return someObject.refresh_token;\n }\n\n async isAccessTokenValid() {\n const tokenTimeIssued = await this.getTokenIssuedTime();\n const tokenExpireTime = await this.getTokenExpireTime();\n // Should use a global value\n const globalTestTimeout: number = 45;\n // We want to have the date minus the globalTimeout, the reason for this is that while a test is running, the token could expire.\n // The refresh token lasts for 300 seconds, while the access token lasts for 60 seconds (NOT TOTALLY SURE) this is why we add 240 seconds\n const tokenRefreshTime = tokenTimeIssued + tokenExpireTime - (globalTestTimeout + 240);\n // We need the currentTimeInEpoch so we can check if the tokenRefreshTime is close to expiring.\n const currentTimeInEpoch = await this.currentDateToEpoch();\n\n if (tokenRefreshTime <= currentTimeInEpoch) {\n return await this.refreshAccessToken();\n }\n }\n\n private async currentDateToEpoch() {\n const currentTime = new Date(Date.now());\n return this.dateToEpoch(currentTime);\n }\n\n private async dateToEpoch(date: Date) {\n const dateToEpoch = date.getTime();\n // The epoch is in milliseconds, but we want it to be in seconds(Like it is in the token).\n const millisecondsToSeconds = dateToEpoch / 1000;\n // There is no need to have anything after .\n return Number(millisecondsToSeconds.toString().split('.')[0]);\n }\n\n async refreshAccessToken() {\n const response = await this.page.context().request.post(umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/security/back-office/token', {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n Cookie: await this.getCookie()\n },\n form:\n {\n grant_type: 'refresh_token',\n client_id: 'umbraco-back-office',\n redirect_uri: umbracoConfig.environment.baseUrl + '/umbraco/oauth_complete',\n refresh_token: await this.getRefreshToken()\n }\n });\n\n if (response.status() === 200) {\n const jsonStorageValue = await response.json();\n return this.updateLocalStorage(jsonStorageValue);\n }\n\n console.log('Error refreshing access token.');\n console.log('Attempting login...');\n const storageStateValues = await this.login.login();\n await this.updateCookie(storageStateValues.cookie);\n await this.updateLocalStorage(storageStateValues.token);\n }\n\n private async updateLocalStorage(localStorageValue) {\n const currentStorageState = await this.page.context().storageState();\n let currentLocalStorageValue = JSON.parse(currentStorageState.origins[0].localStorage[0].value);\n const newIssuedTime = await this.currentDateToEpoch();\n\n currentLocalStorageValue.access_token = localStorageValue.access_token;\n currentLocalStorageValue.refresh_token = localStorageValue.refresh_token;\n currentLocalStorageValue.issued_at = newIssuedTime;\n currentLocalStorageValue.expires_in = localStorageValue.expires_in.toString();\n\n const filePath = process.env.STORAGE_STAGE_PATH;\n // Updates the user.json file in our CMS project\n if (filePath) {\n const jsonString = fs.readFileSync(filePath, 'utf-8');\n try {\n const data = JSON.parse(jsonString);\n const localStorage = data.origins[0].localStorage[0];\n if (localStorage.name === 'umb:userAuthTokenResponse') {\n localStorage.value = JSON.stringify(currentLocalStorageValue);\n }\n\n // Converts the object to JSON string\n const updatedJsonString = JSON.stringify(data, null, 2);\n // Writes the updated JSON content to the file\n fs.writeFileSync(filePath, updatedJsonString, 'utf-8');\n } catch (error) {\n console.error('Error updating token:', error);\n }\n }\n }\n\n private async updateCookie(cookieString: string) {\n const currentStorageState = await this.page.context().storageState();\n let currentCookie = currentStorageState.cookies[0];\n\n const parts = cookieString.split(';').map(part => part.trim());\n // Extract the main key-value pair\n const [nameValue, ...attributes] = parts;\n const [, value] = nameValue.split('=');\n // Updates the cookie value\n currentCookie.value = value;\n // Process each attribute\n for (const attr of attributes) {\n const [key, val] = attr.split('=');\n if (key.trim().toLowerCase() === 'expires') {\n // Updates the expires value and converts it to Epoch\n currentCookie.expires = await this.dateToEpoch(new Date(val));\n }\n }\n\n const filePath = process.env.STORAGE_STAGE_PATH;\n\n if (filePath) {\n try {\n const jsonString = fs.readFileSync(filePath, 'utf-8');\n const data = JSON.parse(jsonString);\n data.cookies[0] = currentCookie;\n const updatedJsonString = JSON.stringify(data, null, 2);\n fs.writeFileSync(filePath, updatedJsonString, 'utf-8');\n } catch (error) {\n console.error('Error updating cookie:', error);\n }\n }\n }\n}"]}
@@ -50,6 +50,11 @@ export declare class ContentUiHelper extends UiBaseLocators {
50
50
  private readonly toggleBtn;
51
51
  private readonly toggleInput;
52
52
  private readonly documentTypeWorkspace;
53
+ private readonly addMultipleTextStringBtn;
54
+ private readonly multipleTextStringValueTxt;
55
+ private readonly markdownTxt;
56
+ private readonly codeEditorTxt;
57
+ private readonly sliderInput;
53
58
  constructor(page: Page);
54
59
  enterContentName(name: string): Promise<void>;
55
60
  clickSaveAndPublishButton(): Promise<void>;
@@ -127,4 +132,10 @@ export declare class ContentUiHelper extends UiBaseLocators {
127
132
  clickRemoveFilesButton(): Promise<void>;
128
133
  clickToggleButton(): Promise<void>;
129
134
  doesToggleHaveLabel(label: string): Promise<void>;
135
+ clickAddMultipleTextStringButton(): Promise<void>;
136
+ enterMultipleTextStringValue(value: string): Promise<void>;
137
+ addMultipleTextStringItem(value: string): Promise<void>;
138
+ enterCodeEditorValue(value: string): Promise<void>;
139
+ enterMarkdownEditorValue(value: string): Promise<void>;
140
+ changeSliderValue(value: string): Promise<void>;
130
141
  }
@@ -53,6 +53,11 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
53
53
  toggleBtn;
54
54
  toggleInput;
55
55
  documentTypeWorkspace;
56
+ addMultipleTextStringBtn;
57
+ multipleTextStringValueTxt;
58
+ markdownTxt;
59
+ codeEditorTxt;
60
+ sliderInput;
56
61
  constructor(page) {
57
62
  super(page);
58
63
  this.contentNameTxt = page.locator('#name-input input');
@@ -86,6 +91,11 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
86
91
  this.toggleBtn = page.locator('umb-property-editor-ui-toggle #slider');
87
92
  this.toggleInput = page.locator('umb-property-editor-ui-toggle #input');
88
93
  this.documentTypeWorkspace = this.sidebarModal.locator('umb-document-type-workspace-editor');
94
+ this.addMultipleTextStringBtn = page.locator('umb-input-multiple-text-string').getByLabel('Add');
95
+ this.multipleTextStringValueTxt = page.locator('umb-input-multiple-text-string').getByLabel('Value');
96
+ this.markdownTxt = page.locator('umb-input-markdown textarea');
97
+ this.codeEditorTxt = page.locator('umb-code-editor textarea');
98
+ this.sliderInput = page.locator('umb-property-editor-ui-slider #input');
89
99
  // Info tab
90
100
  this.infoTab = page.getByRole('tab', { name: 'Info' });
91
101
  this.linkContent = page.locator('.link-content');
@@ -158,6 +168,8 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
158
168
  }
159
169
  async enterTextArea(value) {
160
170
  await (0, test_1.expect)(this.textAreaTxt).toBeVisible();
171
+ await this.page.waitForTimeout(200);
172
+ await this.textAreaTxt.clear();
161
173
  await this.textAreaTxt.fill(value);
162
174
  }
163
175
  async clickConfirmToUnpublishButton() {
@@ -388,6 +400,32 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
388
400
  async doesToggleHaveLabel(label) {
389
401
  return await (0, test_1.expect)(this.toggleInput).toHaveAttribute('aria-label', label);
390
402
  }
403
+ // Multiple Text String
404
+ async clickAddMultipleTextStringButton() {
405
+ await this.addMultipleTextStringBtn.click();
406
+ }
407
+ async enterMultipleTextStringValue(value) {
408
+ await this.multipleTextStringValueTxt.clear();
409
+ await this.multipleTextStringValueTxt.fill(value);
410
+ }
411
+ async addMultipleTextStringItem(value) {
412
+ await this.clickAddMultipleTextStringButton();
413
+ await this.enterMultipleTextStringValue(value);
414
+ }
415
+ // Code Editor
416
+ async enterCodeEditorValue(value) {
417
+ await this.codeEditorTxt.clear();
418
+ await this.codeEditorTxt.fill(value);
419
+ }
420
+ // Markdown Editor
421
+ async enterMarkdownEditorValue(value) {
422
+ await this.markdownTxt.clear();
423
+ await this.markdownTxt.fill(value);
424
+ }
425
+ // Slider
426
+ async changeSliderValue(value) {
427
+ await this.sliderInput.fill(value);
428
+ }
391
429
  }
392
430
  exports.ContentUiHelper = ContentUiHelper;
393
431
  //# sourceMappingURL=ContentUiHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ContentUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class ContentUiHelper extends UiBaseLocators {\n private readonly contentNameTxt: Locator;\n private readonly saveAndPublishBtn: Locator;\n private readonly actionsBtn: Locator;\n private readonly publishBtn: Locator;\n private readonly unpublishBtn: Locator;\n private readonly actionMenuForContentBtn: Locator;\n private readonly openedModal: Locator;\n private readonly textstringTxt: Locator;\n private readonly infoTab: Locator;\n private readonly linkContent: Locator;\n private readonly historyItems: Locator;\n private readonly generalItem: Locator;\n private readonly publicationStatus: Locator;\n private readonly createdDate: Locator;\n private readonly editDocumentTypeBtn: Locator;\n private readonly addTemplateBtn: Locator;\n private readonly id: Locator;\n private readonly cultureAndHostnamesBtn: Locator;\n private readonly cultureLanguageDropdownBox: Locator;\n private readonly addNewDomainBtn: Locator;\n private readonly domainTxt: Locator;\n private readonly domainLanguageDropdownBox: Locator;\n private readonly deleteDomainBtn: Locator;\n private readonly reloadChildrenThreeDotsBtn: Locator;\n private readonly contentTree: Locator;\n private readonly richTextAreaTxt: Locator;\n private readonly textAreaTxt: Locator;\n private readonly plusIconBtn: Locator;\n private readonly enterTagTxt: Locator;\n private readonly menuItemTree: Locator;\n private readonly domainComboBox: Locator;\n private readonly confirmToUnpublishBtn: Locator;\n private readonly saveModalBtn: Locator;\n private readonly createDocumentBlueprintBtn: Locator;\n private readonly dropdown: Locator;\n private readonly setADateTxt: Locator;\n private readonly chooseMediaPickerBtn: Locator;\n private readonly chooseMemberPickerBtn: Locator;\n private readonly numericTxt: Locator;\n private readonly resetFocalPointBtn: Locator;\n private readonly addMultiURLPickerBtn: Locator;\n private readonly linkTxt: Locator;\n private readonly anchorQuerystringTxt: Locator;\n private readonly linkTitleTxt: Locator;\n private readonly tagItems: Locator;\n private readonly removeFilesBtn: Locator;\n private readonly toggleBtn: Locator;\n private readonly toggleInput: Locator;\n private readonly documentTypeWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.contentNameTxt = page.locator('#name-input input');\n this.saveAndPublishBtn = page.getByLabel('Save And Publish');\n this.actionsBtn = page.getByLabel('Actions', {exact: true});\n this.publishBtn = page.getByLabel('Publish', {exact: true});\n this.unpublishBtn = page.getByLabel('Unpublish', {exact: true});\n this.actionMenuForContentBtn = page.locator('#header [label=\"Open actions menu\"]');\n this.openedModal = page.locator('uui-modal-container[backdrop]');\n this.textstringTxt = page.locator('umb-property-editor-ui-text-box #input');\n this.reloadChildrenThreeDotsBtn = page.getByRole('button', {name: 'Reload children...'});\n this.contentTree = page.locator('umb-tree[alias=\"Umb.Tree.Document\"]');\n this.richTextAreaTxt = page.frameLocator('iframe[title=\"Rich Text Area\"]').locator('#tinymce');\n this.textAreaTxt = page.locator('umb-property-editor-ui-textarea textarea');\n this.plusIconBtn = page.locator('#icon-add svg');\n this.enterTagTxt = page.getByPlaceholder('Enter tag');\n this.menuItemTree = page.locator('umb-menu-item-tree-default');\n this.confirmToUnpublishBtn = page.locator('umb-document-unpublish-modal').getByLabel('Unpublish');\n this.createDocumentBlueprintBtn = page.getByLabel('Create Document Blueprint');\n this.dropdown = page.locator('select#native');\n this.setADateTxt = page.getByLabel('Set a date...');\n this.chooseMediaPickerBtn = page.locator('umb-property-editor-ui-media-picker #btn-add');\n this.chooseMemberPickerBtn = page.locator('umb-property-editor-ui-member-picker #btn-add');\n this.numericTxt = page.locator('umb-property-editor-ui-number input');\n this.addMultiURLPickerBtn = page.locator('umb-property-editor-ui-multi-url-picker #btn-add');\n this.linkTxt = page.getByLabel('URL');\n this.anchorQuerystringTxt = page.getByLabel('#value or ?key=value');\n this.linkTitleTxt = page.getByLabel('Link title');\n this.tagItems = page.locator('uui-tag');\n this.removeFilesBtn = page.locator('umb-input-upload-field [label=\"Remove file(s)\"]');\n this.toggleBtn = page.locator('umb-property-editor-ui-toggle #slider');\n this.toggleInput = page.locator('umb-property-editor-ui-toggle #input');\n this.documentTypeWorkspace = this.sidebarModal.locator('umb-document-type-workspace-editor');\n // Info tab\n this.infoTab = page.getByRole('tab', {name: 'Info'});\n this.linkContent = page.locator('.link-content');\n this.historyItems = page.locator('umb-history-item');\n this.generalItem = page.locator('.general-item');\n this.publicationStatus = this.generalItem.filter({hasText: 'Publication Status'}).locator('uui-tag');\n this.createdDate = this.generalItem.filter({hasText: 'Created'}).locator('umb-localize-date');\n this.editDocumentTypeBtn = this.generalItem.filter({hasText: 'Document Type'}).locator('#button');\n this.addTemplateBtn = this.generalItem.filter({hasText: 'Template'}).locator('#button');\n this.id = this.generalItem.filter({hasText: 'Id'}).locator('span');\n // Culure and Hostname\n this.cultureAndHostnamesBtn = page.getByLabel('Culture and Hostnames');\n this.cultureLanguageDropdownBox = page.locator('[headline=\"Culture\"]').getByLabel('combobox-input');\n this.addNewDomainBtn = page.getByLabel('Add new domain');\n this.domainTxt = page.getByLabel('Domain', { exact: true });\n this.domainLanguageDropdownBox = page.locator('[headline=\"Domains\"]').getByLabel('combobox-input');\n this.deleteDomainBtn = page.locator('[headline=\"Domains\"] [name=\"icon-trash\"] svg');\n this.domainComboBox = page.locator('#domains uui-combobox');\n this.saveModalBtn = this.sidebarModal.getByLabel('Save', {exact: true});\n this.resetFocalPointBtn = this.page.getByLabel('Reset focal point');\n }\n\n async enterContentName(name: string) {\n await expect(this.contentNameTxt).toBeVisible();\n await this.contentNameTxt.clear();\n await this.contentNameTxt.fill(name);\n }\n\n async clickSaveAndPublishButton() {\n await this.saveAndPublishBtn.click();\n }\n\n async clickActionsButton() {\n await this.actionsBtn.click();\n }\n\n async clickPublishButton() {\n await this.publishBtn.click();\n }\n\n async clickUnpublishButton() {\n await this.unpublishBtn.click();\n }\n\n async clickReloadChildrenThreeDotsButton() {\n await this.reloadChildrenThreeDotsBtn.click();\n }\n\n async clickActionsMenuAtRoot() {\n await this.actionMenuForContentBtn.click();\n }\n\n async goToContentWithName(contentName: string) {\n await this.menuItemTree.getByText(contentName, {exact: true}).click();\n }\n\n async clickActionsMenuForContent(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickCaretButtonForContentName(name: string) {\n await this.menuItemTree.filter({hasText: name}).last().locator('#caret-button').last().click();\n }\n\n async waitForModalVisible() {\n await this.openedModal.waitFor({state: 'attached'});\n }\n\n async waitForModalHidden() {\n await this.openedModal.waitFor({state: 'hidden'});\n }\n\n async enterTextstring(text: string) {\n await this.textstringTxt.clear();\n await this.textstringTxt.fill(text);\n }\n\n async doesContentTreeHaveName(contentName: string) {\n await expect(this.contentTree).toContainText(contentName);\n }\n\n async enterRichTextArea(value: string) {\n await expect(this.richTextAreaTxt).toBeVisible();\n await this.richTextAreaTxt.fill(value);\n }\n\n async enterTextArea(value: string) {\n await expect(this.textAreaTxt).toBeVisible();\n await this.textAreaTxt.fill(value);\n }\n\n async clickConfirmToUnpublishButton() {\n await this.confirmToUnpublishBtn.click();\n }\n\n async clickCreateDocumentBlueprintButton() {\n await this.createDocumentBlueprintBtn.click();\n }\n\n // Info Tab\n async clickInfoTab() {\n await this.infoTab.click({force: true});\n }\n\n async doesLinkHaveText(text: string) {\n await expect(this.linkContent).toHaveText(text);\n }\n\n async doesHistoryHaveText(text: string) {\n await expect(this.historyItems).toHaveText(text);\n }\n\n async doesPublicationStatusHaveText(text: string) {\n await expect(this.publicationStatus).toHaveText(text);\n }\n\n async doesCreatedDateHaveText(text: string) {\n await expect(this.createdDate).toHaveText(text);\n }\n\n async doesIdHaveText(text: string) {\n await expect(this.id).toHaveText(text);\n }\n\n async clickEditDocumentTypeButton() {\n await this.editDocumentTypeBtn.click();\n }\n\n async clickAddTemplateButton() {\n await this.addTemplateBtn.click();\n }\n\n async clickDocumentTypeByName(documentTypeName:string) {\n await this.page.locator('uui-ref-node-document-type[name=\"' + documentTypeName + '\"]').click();\n }\n\n async clickTemplateByName(templateName:string) {\n await this.page.locator('uui-ref-node[name=\"' + templateName + '\"]').click();\n }\n\n async isDocumentTypeModalVisible(documentTypeName: string) {\n await expect(this.documentTypeWorkspace.filter({hasText: documentTypeName})).toBeVisible();\n }\n\n async isTemplateModalVisible(templateName: string) {\n await expect(this.breadcrumbsTemplateModal.getByText(templateName)).toBeVisible();\n }\n\n async clickEditTemplateByName(templateName:string) {\n await this.page.locator('uui-ref-node[name=\"' + templateName + '\"]').getByLabel('Choose').click();\n }\n\n async changeTemplate(oldTemplate: string, newTemplate: string) {\n await this.clickEditTemplateByName(oldTemplate);\n await this.sidebarModal.getByLabel(newTemplate).click();\n await this.chooseModalBtn.click();\n }\n\n async isTemplateNameDisabled(templateName:string) {\n await expect(this.sidebarModal.getByLabel(templateName)).toBeDisabled();\n }\n\n // Culture and Hostnames\n async clickCultureAndHostnamesButton() {\n await this.cultureAndHostnamesBtn.click();\n }\n\n async selectCultureLanguageOption(option: string) {\n await this.cultureLanguageDropdownBox.click();\n await this.page.getByText(option).click();\n }\n\n async selectDomainLanguageOption(option: string, index: number = 0) {\n await this.domainLanguageDropdownBox.nth(index).click();\n await this.domainComboBox.nth(index).getByText(option).click();\n }\n\n async clickAddNewDomainButton() {\n await this.addNewDomainBtn.click();\n }\n\n async enterDomain(value: string, index: number = 0) {\n await this.domainTxt.nth(index).clear();\n await this.domainTxt.nth(index).fill(value);\n }\n\n async clickDeleteDomainButton() {\n await this.deleteDomainBtn.first().click();\n }\n\n async clickSaveModalButton() {\n await this.saveModalBtn.click();\n }\n\n async chooseDocumentType(documentTypeName: string) {\n await this.documentTypeNode.filter({hasText: documentTypeName}).click();\n }\n\n // Approved Color\n async clickApprovedColorByValue(value: string) {\n await this.page.locator('uui-color-swatch[value=\"#' + value + '\"] #swatch').click();\n }\n\n // Checkbox list\n async chooseCheckboxListOption(optionValue: string) {\n await this.page.locator('uui-checkbox[value=\"' + optionValue + '\"] svg').click();\n }\n\n // Content Picker\n async addContentPicker(contentName: string) {\n await this.clickChooseButton();\n await this.sidebarModal.getByText(contentName).click();\n await this.chooseModalBtn.click();\n }\n\n async isOpenButtonVisibleInContentPicker(contentPickerName: string, isVisible: boolean = true) {\n return expect(this.page.getByLabel('Open ' + contentPickerName)).toBeVisible({visible: isVisible});\n }\n\n async clickContentPickerOpenButton(contentPickerName: string) {\n await this.page.getByLabel('Open ' + contentPickerName).click();\n }\n\n async isNodeOpenForContentPicker(contentPickerName: string) {\n return expect(this.openedModal.getByText(contentPickerName)).toBeVisible();\n }\n\n async isContentNameVisible(contentName: string, isVisible: boolean = true) {\n return expect(this.sidebarModal.getByText(contentName)).toBeVisible({visible: isVisible});\n }\n\n async removeContentPicker(contentPickerName: string) {\n await this.page.locator('[name=\"' + contentPickerName + '\"]').getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n // Dropdown\n async chooseDropdownOption(optionValues: string[]) {\n await this.dropdown.selectOption(optionValues);\n }\n \n // Date Picker\n async enterADate(date: string) {\n await this.setADateTxt.fill(date);\n }\n\n // Media Picker\n async clickChooseMediaPickerButton() {\n await this.chooseMediaPickerBtn.click();\n }\n \n async clickMediaByNameInMediaPicker(mediaName: string) {\n await this.mediaCardItems.filter({hasText: mediaName}).click();\n }\n\n async selectMediaByName(mediaName: string) {\n await this.clickChooseMediaPickerButton();\n await this.clickMediaByNameInMediaPicker(mediaName);\n }\n\n async removeMediaPickerByName(mediaPickerName: string) {\n await this.page.locator('[name=\"' + mediaPickerName + '\"] [label=\"Remove\"] svg').click();\n await this.clickConfirmRemoveButton();\n }\n\n async isMediaNameVisible(mediaName: string, isVisible: boolean = true) {\n return expect(this.mediaCardItems.filter({hasText: mediaName})).toBeVisible({visible: isVisible});\n }\n \n async clickResetFocalPointButton() {\n await this.resetFocalPointBtn.click();\n }\n\n async setFocalPoint(widthPercentage: number = 50, heightPercentage: number = 50) {\n await this.page.waitForTimeout(1000);\n const element = await this.page.locator('#image').boundingBox();\n if (!element) {\n throw new Error('Element not found');\n }\n\n const centerX = element.x + element.width / 2;\n const centerY = element.y + element.height / 2;\n\n const x = element.x + (element.width * widthPercentage) / 100;\n const y = element.y + (element.height * heightPercentage) / 100;\n\n await this.page.waitForTimeout(200);\n await this.page.mouse.move(centerX, centerY, {steps: 5});\n await this.page.waitForTimeout(200);\n await this.page.mouse.down();\n await this.page.waitForTimeout(200);\n await this.page.mouse.move(x, y);\n await this.page.waitForTimeout(200);\n await this.page.mouse.up();\n }\n\n // Member Picker\n async clickChooseMemberPickerButton() {\n await this.chooseMemberPickerBtn.click();\n }\n\n async selectMemberByName(memberName: string) {\n await this.sidebarModal.getByText(memberName, {exact: true}).click();\n }\n\n async removeMemberPickerByName(memberName: string) {\n await this.page.locator('[name=\"' + memberName + '\"]').getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n // Numeric\n async enterNumeric(number: number) {\n await this.numericTxt.clear();\n await this.numericTxt.fill(number.toString());\n }\n\n // Radiobox\n async chooseRadioboxOption(optionValue: string) {\n await this.page.locator('uui-radio[value=\"' + optionValue + '\"] #button').click();\n }\n\n // Tags\n async clickPlusIconButton() {\n await this.plusIconBtn.click();\n }\n \n async enterTag(tagName: string) {\n await this.enterTagTxt.fill(tagName);\n await this.enterTagTxt.press('Enter');\n }\n\n async removeTagByName(tagName: string) {\n await this.tagItems.filter({hasText: tagName}).locator('svg').click();\n }\n\n // Multi URL Picker\n async clickAddMultiURLPickerButton() {\n await this.addMultiURLPickerBtn.click();\n }\n\n async selectLinkByName(linkName: string) {\n await this.sidebarModal.getByText(linkName, {exact: true}).click();\n }\n\n async enterLink(value: string) {\n await this.linkTxt.clear();\n await this.linkTxt.fill(value);\n }\n\n async enterAnchorOrQuerystring(value: string) {\n await this.anchorQuerystringTxt.clear();\n await this.anchorQuerystringTxt.fill(value);\n }\n\n async enterLinkTitle(value: string) {\n await this.linkTitleTxt.clear();\n await this.linkTitleTxt.fill(value);\n }\n\n async removeUrlPickerByName(linkName: string) {\n await this.page.locator('[name=\"' + linkName + '\"]').getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n async clickEditUrlPickerButtonByName(linkName: string) {\n await this.page.locator('[name=\"' + linkName + '\"]').getByLabel('Edit').click();\n }\n\n // Upload\n async clickRemoveFilesButton() {\n await this.removeFilesBtn.click();\n }\n \n // True/false\n async clickToggleButton() {\n await this.toggleBtn.click();\n }\n\n async doesToggleHaveLabel(label: string) {\n return await expect(this.toggleInput).toHaveAttribute('aria-label', label);\n }\n}"]}
1
+ {"version":3,"file":"ContentUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ContentUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class ContentUiHelper extends UiBaseLocators {\n private readonly contentNameTxt: Locator;\n private readonly saveAndPublishBtn: Locator;\n private readonly actionsBtn: Locator;\n private readonly publishBtn: Locator;\n private readonly unpublishBtn: Locator;\n private readonly actionMenuForContentBtn: Locator;\n private readonly openedModal: Locator;\n private readonly textstringTxt: Locator;\n private readonly infoTab: Locator;\n private readonly linkContent: Locator;\n private readonly historyItems: Locator;\n private readonly generalItem: Locator;\n private readonly publicationStatus: Locator;\n private readonly createdDate: Locator;\n private readonly editDocumentTypeBtn: Locator;\n private readonly addTemplateBtn: Locator;\n private readonly id: Locator;\n private readonly cultureAndHostnamesBtn: Locator;\n private readonly cultureLanguageDropdownBox: Locator;\n private readonly addNewDomainBtn: Locator;\n private readonly domainTxt: Locator;\n private readonly domainLanguageDropdownBox: Locator;\n private readonly deleteDomainBtn: Locator;\n private readonly reloadChildrenThreeDotsBtn: Locator;\n private readonly contentTree: Locator;\n private readonly richTextAreaTxt: Locator;\n private readonly textAreaTxt: Locator;\n private readonly plusIconBtn: Locator;\n private readonly enterTagTxt: Locator;\n private readonly menuItemTree: Locator;\n private readonly domainComboBox: Locator;\n private readonly confirmToUnpublishBtn: Locator;\n private readonly saveModalBtn: Locator;\n private readonly createDocumentBlueprintBtn: Locator;\n private readonly dropdown: Locator;\n private readonly setADateTxt: Locator;\n private readonly chooseMediaPickerBtn: Locator;\n private readonly chooseMemberPickerBtn: Locator;\n private readonly numericTxt: Locator;\n private readonly resetFocalPointBtn: Locator;\n private readonly addMultiURLPickerBtn: Locator;\n private readonly linkTxt: Locator;\n private readonly anchorQuerystringTxt: Locator;\n private readonly linkTitleTxt: Locator;\n private readonly tagItems: Locator;\n private readonly removeFilesBtn: Locator;\n private readonly toggleBtn: Locator;\n private readonly toggleInput: Locator;\n private readonly documentTypeWorkspace: Locator;\n private readonly addMultipleTextStringBtn: Locator;\n private readonly multipleTextStringValueTxt: Locator;\n private readonly markdownTxt: Locator;\n private readonly codeEditorTxt: Locator;\n private readonly sliderInput: Locator;\n\n constructor(page: Page) {\n super(page);\n this.contentNameTxt = page.locator('#name-input input');\n this.saveAndPublishBtn = page.getByLabel('Save And Publish');\n this.actionsBtn = page.getByLabel('Actions', {exact: true});\n this.publishBtn = page.getByLabel('Publish', {exact: true});\n this.unpublishBtn = page.getByLabel('Unpublish', {exact: true});\n this.actionMenuForContentBtn = page.locator('#header [label=\"Open actions menu\"]');\n this.openedModal = page.locator('uui-modal-container[backdrop]');\n this.textstringTxt = page.locator('umb-property-editor-ui-text-box #input');\n this.reloadChildrenThreeDotsBtn = page.getByRole('button', {name: 'Reload children...'});\n this.contentTree = page.locator('umb-tree[alias=\"Umb.Tree.Document\"]');\n this.richTextAreaTxt = page.frameLocator('iframe[title=\"Rich Text Area\"]').locator('#tinymce');\n this.textAreaTxt = page.locator('umb-property-editor-ui-textarea textarea');\n this.plusIconBtn = page.locator('#icon-add svg');\n this.enterTagTxt = page.getByPlaceholder('Enter tag');\n this.menuItemTree = page.locator('umb-menu-item-tree-default');\n this.confirmToUnpublishBtn = page.locator('umb-document-unpublish-modal').getByLabel('Unpublish');\n this.createDocumentBlueprintBtn = page.getByLabel('Create Document Blueprint');\n this.dropdown = page.locator('select#native');\n this.setADateTxt = page.getByLabel('Set a date...');\n this.chooseMediaPickerBtn = page.locator('umb-property-editor-ui-media-picker #btn-add');\n this.chooseMemberPickerBtn = page.locator('umb-property-editor-ui-member-picker #btn-add');\n this.numericTxt = page.locator('umb-property-editor-ui-number input');\n this.addMultiURLPickerBtn = page.locator('umb-property-editor-ui-multi-url-picker #btn-add');\n this.linkTxt = page.getByLabel('URL');\n this.anchorQuerystringTxt = page.getByLabel('#value or ?key=value');\n this.linkTitleTxt = page.getByLabel('Link title');\n this.tagItems = page.locator('uui-tag');\n this.removeFilesBtn = page.locator('umb-input-upload-field [label=\"Remove file(s)\"]');\n this.toggleBtn = page.locator('umb-property-editor-ui-toggle #slider');\n this.toggleInput = page.locator('umb-property-editor-ui-toggle #input');\n this.documentTypeWorkspace = this.sidebarModal.locator('umb-document-type-workspace-editor');\n this.addMultipleTextStringBtn = page.locator('umb-input-multiple-text-string').getByLabel('Add');\n this.multipleTextStringValueTxt = page.locator('umb-input-multiple-text-string').getByLabel('Value');\n this.markdownTxt = page.locator('umb-input-markdown textarea');\n this.codeEditorTxt = page.locator('umb-code-editor textarea');\n this.sliderInput = page.locator('umb-property-editor-ui-slider #input');\n\n // Info tab\n this.infoTab = page.getByRole('tab', {name: 'Info'});\n this.linkContent = page.locator('.link-content');\n this.historyItems = page.locator('umb-history-item');\n this.generalItem = page.locator('.general-item');\n this.publicationStatus = this.generalItem.filter({hasText: 'Publication Status'}).locator('uui-tag');\n this.createdDate = this.generalItem.filter({hasText: 'Created'}).locator('umb-localize-date');\n this.editDocumentTypeBtn = this.generalItem.filter({hasText: 'Document Type'}).locator('#button');\n this.addTemplateBtn = this.generalItem.filter({hasText: 'Template'}).locator('#button');\n this.id = this.generalItem.filter({hasText: 'Id'}).locator('span');\n // Culure and Hostname\n this.cultureAndHostnamesBtn = page.getByLabel('Culture and Hostnames');\n this.cultureLanguageDropdownBox = page.locator('[headline=\"Culture\"]').getByLabel('combobox-input');\n this.addNewDomainBtn = page.getByLabel('Add new domain');\n this.domainTxt = page.getByLabel('Domain', {exact: true});\n this.domainLanguageDropdownBox = page.locator('[headline=\"Domains\"]').getByLabel('combobox-input');\n this.deleteDomainBtn = page.locator('[headline=\"Domains\"] [name=\"icon-trash\"] svg');\n this.domainComboBox = page.locator('#domains uui-combobox');\n this.saveModalBtn = this.sidebarModal.getByLabel('Save', {exact: true});\n this.resetFocalPointBtn = this.page.getByLabel('Reset focal point');\n }\n\n async enterContentName(name: string) {\n await expect(this.contentNameTxt).toBeVisible();\n await this.contentNameTxt.clear();\n await this.contentNameTxt.fill(name);\n }\n\n async clickSaveAndPublishButton() {\n await this.saveAndPublishBtn.click();\n }\n\n async clickActionsButton() {\n await this.actionsBtn.click();\n }\n\n async clickPublishButton() {\n await this.publishBtn.click();\n }\n\n async clickUnpublishButton() {\n await this.unpublishBtn.click();\n }\n\n async clickReloadChildrenThreeDotsButton() {\n await this.reloadChildrenThreeDotsBtn.click();\n }\n\n async clickActionsMenuAtRoot() {\n await this.actionMenuForContentBtn.click();\n }\n\n async goToContentWithName(contentName: string) {\n await this.menuItemTree.getByText(contentName, {exact: true}).click();\n }\n\n async clickActionsMenuForContent(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickCaretButtonForContentName(name: string) {\n await this.menuItemTree.filter({hasText: name}).last().locator('#caret-button').last().click();\n }\n\n async waitForModalVisible() {\n await this.openedModal.waitFor({state: 'attached'});\n }\n\n async waitForModalHidden() {\n await this.openedModal.waitFor({state: 'hidden'});\n }\n\n async enterTextstring(text: string) {\n await this.textstringTxt.clear();\n await this.textstringTxt.fill(text);\n }\n\n async doesContentTreeHaveName(contentName: string) {\n await expect(this.contentTree).toContainText(contentName);\n }\n\n async enterRichTextArea(value: string) {\n await expect(this.richTextAreaTxt).toBeVisible();\n await this.richTextAreaTxt.fill(value);\n }\n\n async enterTextArea(value: string) {\n await expect(this.textAreaTxt).toBeVisible();\n await this.page.waitForTimeout(200);\n await this.textAreaTxt.clear();\n await this.textAreaTxt.fill(value);\n }\n\n async clickConfirmToUnpublishButton() {\n await this.confirmToUnpublishBtn.click();\n }\n\n async clickCreateDocumentBlueprintButton() {\n await this.createDocumentBlueprintBtn.click();\n }\n\n // Info Tab\n async clickInfoTab() {\n await this.infoTab.click({force: true});\n }\n\n async doesLinkHaveText(text: string) {\n await expect(this.linkContent).toHaveText(text);\n }\n\n async doesHistoryHaveText(text: string) {\n await expect(this.historyItems).toHaveText(text);\n }\n\n async doesPublicationStatusHaveText(text: string) {\n await expect(this.publicationStatus).toHaveText(text);\n }\n\n async doesCreatedDateHaveText(text: string) {\n await expect(this.createdDate).toHaveText(text);\n }\n\n async doesIdHaveText(text: string) {\n await expect(this.id).toHaveText(text);\n }\n\n async clickEditDocumentTypeButton() {\n await this.editDocumentTypeBtn.click();\n }\n\n async clickAddTemplateButton() {\n await this.addTemplateBtn.click();\n }\n\n async clickDocumentTypeByName(documentTypeName: string) {\n await this.page.locator('uui-ref-node-document-type[name=\"' + documentTypeName + '\"]').click();\n }\n\n async clickTemplateByName(templateName: string) {\n await this.page.locator('uui-ref-node[name=\"' + templateName + '\"]').click();\n }\n\n async isDocumentTypeModalVisible(documentTypeName: string) {\n await expect(this.documentTypeWorkspace.filter({hasText: documentTypeName})).toBeVisible();\n }\n\n async isTemplateModalVisible(templateName: string) {\n await expect(this.breadcrumbsTemplateModal.getByText(templateName)).toBeVisible();\n }\n\n async clickEditTemplateByName(templateName: string) {\n await this.page.locator('uui-ref-node[name=\"' + templateName + '\"]').getByLabel('Choose').click();\n }\n\n async changeTemplate(oldTemplate: string, newTemplate: string) {\n await this.clickEditTemplateByName(oldTemplate);\n await this.sidebarModal.getByLabel(newTemplate).click();\n await this.chooseModalBtn.click();\n }\n\n async isTemplateNameDisabled(templateName: string) {\n await expect(this.sidebarModal.getByLabel(templateName)).toBeDisabled();\n }\n\n // Culture and Hostnames\n async clickCultureAndHostnamesButton() {\n await this.cultureAndHostnamesBtn.click();\n }\n\n async selectCultureLanguageOption(option: string) {\n await this.cultureLanguageDropdownBox.click();\n await this.page.getByText(option).click();\n }\n\n async selectDomainLanguageOption(option: string, index: number = 0) {\n await this.domainLanguageDropdownBox.nth(index).click();\n await this.domainComboBox.nth(index).getByText(option).click();\n }\n\n async clickAddNewDomainButton() {\n await this.addNewDomainBtn.click();\n }\n\n async enterDomain(value: string, index: number = 0) {\n await this.domainTxt.nth(index).clear();\n await this.domainTxt.nth(index).fill(value);\n }\n\n async clickDeleteDomainButton() {\n await this.deleteDomainBtn.first().click();\n }\n\n async clickSaveModalButton() {\n await this.saveModalBtn.click();\n }\n\n async chooseDocumentType(documentTypeName: string) {\n await this.documentTypeNode.filter({hasText: documentTypeName}).click();\n }\n\n // Approved Color\n async clickApprovedColorByValue(value: string) {\n await this.page.locator('uui-color-swatch[value=\"#' + value + '\"] #swatch').click();\n }\n\n // Checkbox list\n async chooseCheckboxListOption(optionValue: string) {\n await this.page.locator('uui-checkbox[value=\"' + optionValue + '\"] svg').click();\n }\n\n // Content Picker\n async addContentPicker(contentName: string) {\n await this.clickChooseButton();\n await this.sidebarModal.getByText(contentName).click();\n await this.chooseModalBtn.click();\n }\n\n async isOpenButtonVisibleInContentPicker(contentPickerName: string, isVisible: boolean = true) {\n return expect(this.page.getByLabel('Open ' + contentPickerName)).toBeVisible({visible: isVisible});\n }\n\n async clickContentPickerOpenButton(contentPickerName: string) {\n await this.page.getByLabel('Open ' + contentPickerName).click();\n }\n\n async isNodeOpenForContentPicker(contentPickerName: string) {\n return expect(this.openedModal.getByText(contentPickerName)).toBeVisible();\n }\n\n async isContentNameVisible(contentName: string, isVisible: boolean = true) {\n return expect(this.sidebarModal.getByText(contentName)).toBeVisible({visible: isVisible});\n }\n\n async removeContentPicker(contentPickerName: string) {\n await this.page.locator('[name=\"' + contentPickerName + '\"]').getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n // Dropdown\n async chooseDropdownOption(optionValues: string[]) {\n await this.dropdown.selectOption(optionValues);\n }\n\n // Date Picker\n async enterADate(date: string) {\n await this.setADateTxt.fill(date);\n }\n\n // Media Picker\n async clickChooseMediaPickerButton() {\n await this.chooseMediaPickerBtn.click();\n }\n\n async clickMediaByNameInMediaPicker(mediaName: string) {\n await this.mediaCardItems.filter({hasText: mediaName}).click();\n }\n\n async selectMediaByName(mediaName: string) {\n await this.clickChooseMediaPickerButton();\n await this.clickMediaByNameInMediaPicker(mediaName);\n }\n\n async removeMediaPickerByName(mediaPickerName: string) {\n await this.page.locator('[name=\"' + mediaPickerName + '\"] [label=\"Remove\"] svg').click();\n await this.clickConfirmRemoveButton();\n }\n\n async isMediaNameVisible(mediaName: string, isVisible: boolean = true) {\n return expect(this.mediaCardItems.filter({hasText: mediaName})).toBeVisible({visible: isVisible});\n }\n\n async clickResetFocalPointButton() {\n await this.resetFocalPointBtn.click();\n }\n\n async setFocalPoint(widthPercentage: number = 50, heightPercentage: number = 50) {\n await this.page.waitForTimeout(1000);\n const element = await this.page.locator('#image').boundingBox();\n if (!element) {\n throw new Error('Element not found');\n }\n\n const centerX = element.x + element.width / 2;\n const centerY = element.y + element.height / 2;\n\n const x = element.x + (element.width * widthPercentage) / 100;\n const y = element.y + (element.height * heightPercentage) / 100;\n\n await this.page.waitForTimeout(200);\n await this.page.mouse.move(centerX, centerY, {steps: 5});\n await this.page.waitForTimeout(200);\n await this.page.mouse.down();\n await this.page.waitForTimeout(200);\n await this.page.mouse.move(x, y);\n await this.page.waitForTimeout(200);\n await this.page.mouse.up();\n }\n\n // Member Picker\n async clickChooseMemberPickerButton() {\n await this.chooseMemberPickerBtn.click();\n }\n\n async selectMemberByName(memberName: string) {\n await this.sidebarModal.getByText(memberName, {exact: true}).click();\n }\n\n async removeMemberPickerByName(memberName: string) {\n await this.page.locator('[name=\"' + memberName + '\"]').getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n // Numeric\n async enterNumeric(number: number) {\n await this.numericTxt.clear();\n await this.numericTxt.fill(number.toString());\n }\n\n // Radiobox\n async chooseRadioboxOption(optionValue: string) {\n await this.page.locator('uui-radio[value=\"' + optionValue + '\"] #button').click();\n }\n\n // Tags\n async clickPlusIconButton() {\n await this.plusIconBtn.click();\n }\n\n async enterTag(tagName: string) {\n await this.enterTagTxt.fill(tagName);\n await this.enterTagTxt.press('Enter');\n }\n\n async removeTagByName(tagName: string) {\n await this.tagItems.filter({hasText: tagName}).locator('svg').click();\n }\n\n // Multi URL Picker\n async clickAddMultiURLPickerButton() {\n await this.addMultiURLPickerBtn.click();\n }\n\n async selectLinkByName(linkName: string) {\n await this.sidebarModal.getByText(linkName, {exact: true}).click();\n }\n\n async enterLink(value: string) {\n await this.linkTxt.clear();\n await this.linkTxt.fill(value);\n }\n\n async enterAnchorOrQuerystring(value: string) {\n await this.anchorQuerystringTxt.clear();\n await this.anchorQuerystringTxt.fill(value);\n }\n\n async enterLinkTitle(value: string) {\n await this.linkTitleTxt.clear();\n await this.linkTitleTxt.fill(value);\n }\n\n async removeUrlPickerByName(linkName: string) {\n await this.page.locator('[name=\"' + linkName + '\"]').getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n async clickEditUrlPickerButtonByName(linkName: string) {\n await this.page.locator('[name=\"' + linkName + '\"]').getByLabel('Edit').click();\n }\n\n // Upload\n async clickRemoveFilesButton() {\n await this.removeFilesBtn.click();\n }\n\n // True/false\n async clickToggleButton() {\n await this.toggleBtn.click();\n }\n\n async doesToggleHaveLabel(label: string) {\n return await expect(this.toggleInput).toHaveAttribute('aria-label', label);\n }\n\n // Multiple Text String\n async clickAddMultipleTextStringButton() {\n await this.addMultipleTextStringBtn.click();\n }\n\n async enterMultipleTextStringValue(value: string) {\n await this.multipleTextStringValueTxt.clear();\n await this.multipleTextStringValueTxt.fill(value);\n }\n\n async addMultipleTextStringItem(value: string) {\n await this.clickAddMultipleTextStringButton();\n await this.enterMultipleTextStringValue(value);\n }\n\n // Code Editor\n async enterCodeEditorValue(value: string) {\n await this.codeEditorTxt.clear();\n await this.codeEditorTxt.fill(value);\n }\n\n // Markdown Editor\n async enterMarkdownEditorValue(value: string) {\n await this.markdownTxt.clear();\n await this.markdownTxt.fill(value);\n }\n\n // Slider\n async changeSliderValue(value: string) {\n await this.sliderInput.fill(value);\n }\n}"]}
@@ -99,4 +99,11 @@ export declare class DataTypeApiHelper {
99
99
  createTrueFalseDataTypeWithInitialState(name: string): Promise<string | undefined>;
100
100
  createTrueFalseDataTypeWithLabelOn(name: string, labelOn: string): Promise<string | undefined>;
101
101
  createTrueFalseDataTypeWithLabelOff(name: string, labelOff: string): Promise<string | undefined>;
102
+ createEmailAddressDataType(name: string): Promise<string | undefined>;
103
+ createCodeEditorDataType(name: string): Promise<string | undefined>;
104
+ createMarkdownEditorDataType(name: string): Promise<string | undefined>;
105
+ createDecimalDataType(name: string): Promise<string | undefined>;
106
+ createMultipleTextStringDataType(name: string): Promise<string | undefined>;
107
+ createSliderDataTyper(name: string): Promise<string | undefined>;
108
+ updateListViewMediaDataType(alias: string, newValue: any): Promise<import("playwright-core").APIResponse>;
102
109
  }
@@ -785,6 +785,57 @@ class DataTypeApiHelper {
785
785
  .build();
786
786
  return await this.save(dataType);
787
787
  }
788
+ async createEmailAddressDataType(name) {
789
+ await this.ensureNameNotExists(name);
790
+ const dataType = new json_models_builders_1.EmailAddressDataTypeBuilder()
791
+ .withName(name)
792
+ .build();
793
+ return await this.save(dataType);
794
+ }
795
+ async createCodeEditorDataType(name) {
796
+ await this.ensureNameNotExists(name);
797
+ const dataType = new json_models_builders_1.CodeEditorDataTypeBuilder()
798
+ .withName(name)
799
+ .build();
800
+ return await this.save(dataType);
801
+ }
802
+ async createMarkdownEditorDataType(name) {
803
+ await this.ensureNameNotExists(name);
804
+ const dataType = new json_models_builders_1.MarkdownEditorDataTypeBuilder()
805
+ .withName(name)
806
+ .build();
807
+ return await this.save(dataType);
808
+ }
809
+ async createDecimalDataType(name) {
810
+ await this.ensureNameNotExists(name);
811
+ const dataType = new json_models_builders_1.DecimalDataTypeBuilder()
812
+ .withName(name)
813
+ .build();
814
+ return await this.save(dataType);
815
+ }
816
+ async createMultipleTextStringDataType(name) {
817
+ await this.ensureNameNotExists(name);
818
+ const dataType = new json_models_builders_1.MultipleTextStringDataTypeBuilder()
819
+ .withName(name)
820
+ .build();
821
+ return await this.save(dataType);
822
+ }
823
+ async createSliderDataTyper(name) {
824
+ await this.ensureNameNotExists(name);
825
+ const dataType = new json_models_builders_1.SliderDataTypeBuilder()
826
+ .withName(name)
827
+ .build();
828
+ return await this.save(dataType);
829
+ }
830
+ // List View - Media data type
831
+ async updateListViewMediaDataType(alias, newValue) {
832
+ const listViewMediaData = await this.getByName('List View - Media');
833
+ const valueData = listViewMediaData.values.find(value => value.alias === alias);
834
+ if (valueData) {
835
+ valueData.value = newValue;
836
+ }
837
+ return await this.update(listViewMediaData.id, listViewMediaData);
838
+ }
788
839
  }
789
840
  exports.DataTypeApiHelper = DataTypeApiHelper;
790
841
  //# sourceMappingURL=DataTypeApiHelper.js.map