@umbraco/playwright-testhelpers 2.0.0-beta.21 → 2.0.0-beta.23

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 (48) hide show
  1. package/dist/lib/helpers/ApiHelpers.d.ts +2 -2
  2. package/dist/lib/helpers/ApiHelpers.js +1 -1
  3. package/dist/lib/helpers/ApiHelpers.js.map +1 -1
  4. package/dist/lib/helpers/DataTypeApiHelper.d.ts +1 -1
  5. package/dist/lib/helpers/DataTypeApiHelper.js +13 -10
  6. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  7. package/dist/lib/helpers/DataTypeUiHelper.d.ts +48 -10
  8. package/dist/lib/helpers/DataTypeUiHelper.js +172 -48
  9. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  10. package/dist/lib/helpers/DocumentApiHelper.js +1 -1
  11. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
  12. package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +11 -2
  13. package/dist/lib/helpers/DocumentTypeApiHelper.js +118 -8
  14. package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
  15. package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +23 -0
  16. package/dist/lib/helpers/DocumentTypeUiHelper.js +62 -0
  17. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -0
  18. package/dist/lib/helpers/LanguageApiHelper.d.ts +3 -1
  19. package/dist/lib/helpers/LanguageApiHelper.js +16 -3
  20. package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
  21. package/dist/lib/helpers/MediaTypeApiHelper.d.ts +8 -2
  22. package/dist/lib/helpers/MediaTypeApiHelper.js +91 -10
  23. package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -1
  24. package/dist/lib/helpers/MediaTypeUiHelper.d.ts +15 -0
  25. package/dist/lib/helpers/MediaTypeUiHelper.js +39 -0
  26. package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -0
  27. package/dist/lib/helpers/PackageUiHelper.d.ts +0 -1
  28. package/dist/lib/helpers/PackageUiHelper.js +0 -2
  29. package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
  30. package/dist/lib/helpers/TemporaryFileApiHelper.js +4 -4
  31. package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
  32. package/dist/lib/helpers/UiBaseLocators.d.ts +84 -1
  33. package/dist/lib/helpers/UiBaseLocators.js +244 -4
  34. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  35. package/dist/lib/helpers/UiHelpers.d.ts +6 -0
  36. package/dist/lib/helpers/UiHelpers.js +9 -0
  37. package/dist/lib/helpers/UiHelpers.js.map +1 -1
  38. package/dist/lib/helpers/UserApiHelper.d.ts +6 -2
  39. package/dist/lib/helpers/UserApiHelper.js +34 -12
  40. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  41. package/dist/lib/helpers/UserGroupApiHelper.d.ts +2 -1
  42. package/dist/lib/helpers/UserGroupApiHelper.js +9 -11
  43. package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
  44. package/dist/lib/helpers/UserUiHelper.d.ts +41 -0
  45. package/dist/lib/helpers/UserUiHelper.js +116 -0
  46. package/dist/lib/helpers/UserUiHelper.js.map +1 -0
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/package.json +2 -2
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MediaTypeUiHelper = void 0;
4
+ const UiBaseLocators_1 = require("./UiBaseLocators");
5
+ class MediaTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
6
+ newMediaTypeThreeDotsBtn;
7
+ mediaTypeNameTxt;
8
+ mediaEditPropertyWorkspace;
9
+ constructor(page) {
10
+ super(page);
11
+ this.newMediaTypeThreeDotsBtn = page.getByLabel('New Media Type...');
12
+ this.mediaTypeNameTxt = page.getByLabel('name', { exact: true });
13
+ this.mediaEditPropertyWorkspace = page.locator('umb-media-type-workspace-view-edit-property');
14
+ }
15
+ async clickActionsMenuForMediaType(name) {
16
+ await this.clickActionsMenuForName(name);
17
+ }
18
+ async clickActionsMenuAtRoot() {
19
+ await this.clickActionsMenuForMediaType("Media Types");
20
+ }
21
+ async clickRootFolderCaretButton() {
22
+ await this.clickCaretButtonForName("Media Types");
23
+ }
24
+ async clickNewMediaTypeButton() {
25
+ await this.newMediaTypeThreeDotsBtn.click();
26
+ }
27
+ async goToMediaType(mediaTypeName) {
28
+ await this.clickRootFolderCaretButton();
29
+ await this.page.getByLabel(mediaTypeName).click();
30
+ }
31
+ async enterMediaTypeName(name) {
32
+ await this.mediaTypeNameTxt.fill(name);
33
+ }
34
+ async enterDescriptionForPropertyEditorWithName(propertyEditorName, description) {
35
+ await this.mediaEditPropertyWorkspace.filter({ hasText: propertyEditorName }).getByLabel('description').fill(description);
36
+ }
37
+ }
38
+ exports.MediaTypeUiHelper = MediaTypeUiHelper;
39
+ //# sourceMappingURL=MediaTypeUiHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaTypeUiHelper.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,MAAa,iBAAkB,SAAQ,+BAAc;IAClC,wBAAwB,CAAU;IAClC,gBAAgB,CAAU;IAC1B,0BAA0B,CAAU;IAErD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,aAAqB;QACvC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,kBAA0B,EAAE,WAAmB;QAC7F,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1H,CAAC;CACF;AAxCD,8CAwCC","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {Locator, Page} from \"@playwright/test\";\n\nexport class MediaTypeUiHelper extends UiBaseLocators {\n private readonly newMediaTypeThreeDotsBtn: Locator;\n private readonly mediaTypeNameTxt: Locator;\n private readonly mediaEditPropertyWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newMediaTypeThreeDotsBtn = page.getByLabel('New Media Type...');\n this.mediaTypeNameTxt = page.getByLabel('name', {exact: true});\n this.mediaEditPropertyWorkspace = page.locator('umb-media-type-workspace-view-edit-property');\n }\n\n async clickActionsMenuForMediaType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForMediaType(\"Media Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Media Types\");\n }\n\n async clickNewMediaTypeButton() {\n await this.newMediaTypeThreeDotsBtn.click();\n }\n \n async goToMediaType(mediaTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(mediaTypeName).click();\n }\n\n async enterMediaTypeName(name: string) {\n await this.mediaTypeNameTxt.fill(name);\n }\n\n async enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string) {\n await this.mediaEditPropertyWorkspace.filter({hasText: propertyEditorName}).getByLabel('description').fill(description);\n }\n}"]}
@@ -21,7 +21,6 @@ export declare class PackageUiHelper extends UiBaseLocators {
21
21
  private readonly addScriptToPackageBtn;
22
22
  private readonly addStylesheetToPackageBtn;
23
23
  private readonly downloadPackageBtn;
24
- private readonly chooseModalBtn;
25
24
  constructor(page: Page);
26
25
  isTextNoPackagesHaveBeenInstalledVisible(isVisible?: boolean): Promise<void>;
27
26
  clickCreatedTab(): Promise<void>;
@@ -25,7 +25,6 @@ class PackageUiHelper extends UiBaseLocators_1.UiBaseLocators {
25
25
  addScriptToPackageBtn;
26
26
  addStylesheetToPackageBtn;
27
27
  downloadPackageBtn;
28
- chooseModalBtn;
29
28
  constructor(page) {
30
29
  super(page);
31
30
  // Packages
@@ -51,7 +50,6 @@ class PackageUiHelper extends UiBaseLocators_1.UiBaseLocators {
51
50
  this.addScriptToPackageBtn = page.locator('umb-script-picker').getByLabel('open');
52
51
  this.addStylesheetToPackageBtn = page.locator('umb-stylesheet-picker').getByLabel('open');
53
52
  this.downloadPackageBtn = page.getByLabel('Download package');
54
- this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');
55
53
  }
56
54
  async isTextNoPackagesHaveBeenInstalledVisible(isVisible = true) {
57
55
  return await (0, test_1.expect)(this.noPackagesHaveBeenInstalledTxt).toBeVisible({ visible: isVisible });
@@ -1 +1 @@
1
- {"version":3,"file":"PackageUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page,} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {umbracoConfig} from \"../../umbraco.config\";\n\nexport class PackageUiHelper extends UiBaseLocators {\n private readonly createdTabBtn: Locator;\n private readonly marketPlaceIFrame: Locator;\n private readonly installedTabBtn: Locator;\n private readonly noPackagesHaveBeenInstalledTxt: Locator;\n private readonly packagesTabBtn: Locator;\n private readonly createPackageBtn: Locator;\n private readonly packageNameTxt: Locator;\n private readonly saveChangesToPackageBtn: Locator;\n private readonly addContentToPackageBtn: Locator;\n private readonly addMediaToPackageBtn: Locator;\n private readonly addDocumentTypeToPackageBtn: Locator;\n private readonly addMediaTypeToPackageBtn: Locator;\n private readonly addLanguageToPackageBtn: Locator;\n private readonly addDictionaryToPackageBtn: Locator;\n private readonly addDataTypesToPackageBtn: Locator;\n private readonly addTemplatesToPackagesBtn: Locator;\n private readonly addPartialViewToPackageBtn: Locator;\n private readonly addScriptToPackageBtn: Locator;\n private readonly addStylesheetToPackageBtn: Locator;\n private readonly downloadPackageBtn: Locator;\n private readonly chooseModalBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n // Packages\n this.packagesTabBtn = page.locator('#views').getByRole(\"tab\", {name: 'Packages'});\n this.marketPlaceIFrame = page.frameLocator('iframe[title=\"Umbraco Marketplace\"]').locator('umb-market-app');\n // Installed\n this.installedTabBtn = page.getByRole(\"tab\", {name: 'Installed'});\n this.noPackagesHaveBeenInstalledTxt = page.getByText('No packages have been installed');\n // Created\n this.createdTabBtn = page.getByRole(\"tab\", {name: 'Created'});\n this.createPackageBtn = page.getByLabel(\"Create package\");\n this.packageNameTxt = page.getByLabel('Name of the package');\n this.saveChangesToPackageBtn = page.getByLabel('Save changes to package');\n this.addContentToPackageBtn = page.getByLabel('Add');\n this.addMediaToPackageBtn = page.locator('umb-input-media').getByLabel('open');\n this.addDocumentTypeToPackageBtn = page.locator('umb-input-document-types-picker').getByLabel('open');\n this.addMediaTypeToPackageBtn = page.locator('umb-input-media-types-picker').getByLabel('open');\n this.addLanguageToPackageBtn = page.locator('umb-input-language-picker').getByLabel('open');\n this.addDictionaryToPackageBtn = page.locator('umb-input-dictionary-picker').getByLabel('open');\n this.addDataTypesToPackageBtn = page.locator('umb-data-type-picker').getByLabel('open');\n this.addTemplatesToPackagesBtn = page.locator('umb-template-picker').getByLabel('open');\n this.addPartialViewToPackageBtn = page.locator('umb-partial-views-picker').getByLabel('open');\n this.addScriptToPackageBtn = page.locator('umb-script-picker').getByLabel('open');\n this.addStylesheetToPackageBtn = page.locator('umb-stylesheet-picker').getByLabel('open');\n this.downloadPackageBtn = page.getByLabel('Download package');\n this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');\n }\n\n async isTextNoPackagesHaveBeenInstalledVisible(isVisible = true) {\n return await expect(this.noPackagesHaveBeenInstalledTxt).toBeVisible({visible: isVisible});\n }\n\n async clickCreatedTab() {\n await this.createdTabBtn.click({force: true});\n }\n\n async clickInstalledTab() {\n await this.installedTabBtn.click({force: true});\n }\n\n async clickPackagesTab() {\n await this.packagesTabBtn.click({force: true});\n }\n\n async clickChooseBtn() {\n await this.chooseModalBtn.click();\n }\n\n async isMarketPlaceIFrameVisible(isVisible = true) {\n return await expect(this.marketPlaceIFrame).toBeVisible({visible: isVisible});\n }\n\n async clickCreatePackageButton() {\n await this.createPackageBtn.click();\n }\n\n async enterPackageName(packageName: string) {\n await this.packageNameTxt.clear();\n await this.packageNameTxt.fill(packageName);\n }\n\n async isPackageNameVisible(packageName: string, isVisible = true) {\n return await expect(this.page.getByRole('button', {name: packageName})).toBeVisible({visible: isVisible});\n }\n\n async clickExistingPackageName(packageName: string) {\n await this.page.getByRole('button', {name: packageName}).click();\n }\n\n async clickDeleteButtonForPackageName(packageName: string) {\n await this.page.locator('uui-ref-node-package', {hasText: packageName}).getByLabel('Delete package').click({force: true});\n }\n\n async clickSaveChangesToPackageButton() {\n await this.saveChangesToPackageBtn.click();\n }\n\n async clickAddContentToPackageButton() {\n await this.addContentToPackageBtn.click({force: true});\n }\n\n async clickAddMediaToPackageButton() {\n await this.addMediaToPackageBtn.click({force: true});\n }\n\n async clickAddDocumentTypeToPackageButton() {\n await this.addDocumentTypeToPackageBtn.click({force: true});\n }\n\n async clickAddMediaTypeToPackageButton() {\n await this.addMediaTypeToPackageBtn.click({force: true});\n }\n\n async clickAddLanguageToPackageButton() {\n await this.addLanguageToPackageBtn.click({force: true});\n }\n\n async clickAddDictionaryToPackageButton() {\n await this.addDictionaryToPackageBtn.click({force: true});\n }\n\n async clickAddDataTypesToPackageButton() {\n await this.addDataTypesToPackageBtn.click({force: true});\n }\n\n async clickAddTemplatesToPackageButton() {\n await this.addTemplatesToPackagesBtn.click({force: true});\n }\n\n async clickAddPartialViewToPackageButton() {\n await this.addPartialViewToPackageBtn.click({force: true});\n }\n\n async clickAddScriptToPackageButton() {\n await this.addScriptToPackageBtn.click({force: true});\n }\n\n async clickAddStylesheetToPackageButton() {\n await this.addStylesheetToPackageBtn.click({force: true});\n }\n\n // Downloads the package and converts it to a string\n async downloadPackage(packageId: string) {\n const responsePromise = this.page.waitForResponse(umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/package/created/' + packageId + '/download');\n await this.downloadPackageBtn.click({force: true});\n const response = await responsePromise;\n const body = await response.body();\n return body.toString().trim();\n }\n}"]}
1
+ {"version":3,"file":"PackageUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page,} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {umbracoConfig} from \"../../umbraco.config\";\n\nexport class PackageUiHelper extends UiBaseLocators {\n private readonly createdTabBtn: Locator;\n private readonly marketPlaceIFrame: Locator;\n private readonly installedTabBtn: Locator;\n private readonly noPackagesHaveBeenInstalledTxt: Locator;\n private readonly packagesTabBtn: Locator;\n private readonly createPackageBtn: Locator;\n private readonly packageNameTxt: Locator;\n private readonly saveChangesToPackageBtn: Locator;\n private readonly addContentToPackageBtn: Locator;\n private readonly addMediaToPackageBtn: Locator;\n private readonly addDocumentTypeToPackageBtn: Locator;\n private readonly addMediaTypeToPackageBtn: Locator;\n private readonly addLanguageToPackageBtn: Locator;\n private readonly addDictionaryToPackageBtn: Locator;\n private readonly addDataTypesToPackageBtn: Locator;\n private readonly addTemplatesToPackagesBtn: Locator;\n private readonly addPartialViewToPackageBtn: Locator;\n private readonly addScriptToPackageBtn: Locator;\n private readonly addStylesheetToPackageBtn: Locator;\n private readonly downloadPackageBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n // Packages\n this.packagesTabBtn = page.locator('#views').getByRole(\"tab\", {name: 'Packages'});\n this.marketPlaceIFrame = page.frameLocator('iframe[title=\"Umbraco Marketplace\"]').locator('umb-market-app');\n // Installed\n this.installedTabBtn = page.getByRole(\"tab\", {name: 'Installed'});\n this.noPackagesHaveBeenInstalledTxt = page.getByText('No packages have been installed');\n // Created\n this.createdTabBtn = page.getByRole(\"tab\", {name: 'Created'});\n this.createPackageBtn = page.getByLabel(\"Create package\");\n this.packageNameTxt = page.getByLabel('Name of the package');\n this.saveChangesToPackageBtn = page.getByLabel('Save changes to package');\n this.addContentToPackageBtn = page.getByLabel('Add');\n this.addMediaToPackageBtn = page.locator('umb-input-media').getByLabel('open');\n this.addDocumentTypeToPackageBtn = page.locator('umb-input-document-types-picker').getByLabel('open');\n this.addMediaTypeToPackageBtn = page.locator('umb-input-media-types-picker').getByLabel('open');\n this.addLanguageToPackageBtn = page.locator('umb-input-language-picker').getByLabel('open');\n this.addDictionaryToPackageBtn = page.locator('umb-input-dictionary-picker').getByLabel('open');\n this.addDataTypesToPackageBtn = page.locator('umb-data-type-picker').getByLabel('open');\n this.addTemplatesToPackagesBtn = page.locator('umb-template-picker').getByLabel('open');\n this.addPartialViewToPackageBtn = page.locator('umb-partial-views-picker').getByLabel('open');\n this.addScriptToPackageBtn = page.locator('umb-script-picker').getByLabel('open');\n this.addStylesheetToPackageBtn = page.locator('umb-stylesheet-picker').getByLabel('open');\n this.downloadPackageBtn = page.getByLabel('Download package');\n }\n\n async isTextNoPackagesHaveBeenInstalledVisible(isVisible = true) {\n return await expect(this.noPackagesHaveBeenInstalledTxt).toBeVisible({visible: isVisible});\n }\n\n async clickCreatedTab() {\n await this.createdTabBtn.click({force: true});\n }\n\n async clickInstalledTab() {\n await this.installedTabBtn.click({force: true});\n }\n\n async clickPackagesTab() {\n await this.packagesTabBtn.click({force: true});\n }\n\n async clickChooseBtn() {\n await this.chooseModalBtn.click();\n }\n\n async isMarketPlaceIFrameVisible(isVisible = true) {\n return await expect(this.marketPlaceIFrame).toBeVisible({visible: isVisible});\n }\n\n async clickCreatePackageButton() {\n await this.createPackageBtn.click();\n }\n\n async enterPackageName(packageName: string) {\n await this.packageNameTxt.clear();\n await this.packageNameTxt.fill(packageName);\n }\n\n async isPackageNameVisible(packageName: string, isVisible = true) {\n return await expect(this.page.getByRole('button', {name: packageName})).toBeVisible({visible: isVisible});\n }\n\n async clickExistingPackageName(packageName: string) {\n await this.page.getByRole('button', {name: packageName}).click();\n }\n\n async clickDeleteButtonForPackageName(packageName: string) {\n await this.page.locator('uui-ref-node-package', {hasText: packageName}).getByLabel('Delete package').click({force: true});\n }\n\n async clickSaveChangesToPackageButton() {\n await this.saveChangesToPackageBtn.click();\n }\n\n async clickAddContentToPackageButton() {\n await this.addContentToPackageBtn.click({force: true});\n }\n\n async clickAddMediaToPackageButton() {\n await this.addMediaToPackageBtn.click({force: true});\n }\n\n async clickAddDocumentTypeToPackageButton() {\n await this.addDocumentTypeToPackageBtn.click({force: true});\n }\n\n async clickAddMediaTypeToPackageButton() {\n await this.addMediaTypeToPackageBtn.click({force: true});\n }\n\n async clickAddLanguageToPackageButton() {\n await this.addLanguageToPackageBtn.click({force: true});\n }\n\n async clickAddDictionaryToPackageButton() {\n await this.addDictionaryToPackageBtn.click({force: true});\n }\n\n async clickAddDataTypesToPackageButton() {\n await this.addDataTypesToPackageBtn.click({force: true});\n }\n\n async clickAddTemplatesToPackageButton() {\n await this.addTemplatesToPackagesBtn.click({force: true});\n }\n\n async clickAddPartialViewToPackageButton() {\n await this.addPartialViewToPackageBtn.click({force: true});\n }\n\n async clickAddScriptToPackageButton() {\n await this.addScriptToPackageBtn.click({force: true});\n }\n\n async clickAddStylesheetToPackageButton() {\n await this.addStylesheetToPackageBtn.click({force: true});\n }\n\n // Downloads the package and converts it to a string\n async downloadPackage(packageId: string) {\n const responsePromise = this.page.waitForResponse(umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/package/created/' + packageId + '/download');\n await this.downloadPackageBtn.click({force: true});\n const response = await responsePromise;\n const body = await response.body();\n return body.toString().trim();\n }\n}"]}
@@ -7,14 +7,14 @@ class TemporaryFileApiHelper {
7
7
  this.api = api;
8
8
  }
9
9
  async exists(id) {
10
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);
10
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);
11
11
  return response.status() === 200;
12
12
  }
13
13
  async create(id, name, mimeType, filePath) {
14
- return this.api.postMultiPartForm(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile', id, name, mimeType, filePath);
14
+ return this.api.postMultiPartForm(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file', id, name, mimeType, filePath);
15
15
  }
16
16
  async get(id) {
17
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);
17
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);
18
18
  const json = await response.json();
19
19
  if (json !== null) {
20
20
  return json;
@@ -22,7 +22,7 @@ class TemporaryFileApiHelper {
22
22
  return null;
23
23
  }
24
24
  async delete(id) {
25
- return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);
25
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);
26
26
  }
27
27
  }
28
28
  exports.TemporaryFileApiHelper = TemporaryFileApiHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"TemporaryFileApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemporaryFileApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IACjC,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2CAA2C,GAAG,EAAE,CAAC,CAAC;QACzG,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAY,EAAE,QAAQ,EAAE,QAAQ;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,0CAA0C,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAChI,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2CAA2C,GAAG,EAAE,CAAC,CAAC;QACzG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2CAA2C,GAAG,EAAE,CAAC,CAAC;IACpG,CAAC;CACF;AA7BD,wDA6BC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class TemporaryFileApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async exists(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);\n return response.status() === 200;\n }\n\n async create(id: string, name: string, mimeType, filePath) {\n return this.api.postMultiPartForm(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile', id, name, mimeType, filePath)\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);\n }\n}"]}
1
+ {"version":3,"file":"TemporaryFileApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemporaryFileApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IACjC,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,4CAA4C,GAAG,EAAE,CAAC,CAAC;QAC1G,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAY,EAAE,QAAQ,EAAE,QAAQ;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2CAA2C,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACjI,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,4CAA4C,GAAG,EAAE,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,4CAA4C,GAAG,EAAE,CAAC,CAAC;IACrG,CAAC;CACF;AA7BD,wDA6BC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class TemporaryFileApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async exists(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);\n return response.status() === 200;\n }\n\n async create(id: string, name: string, mimeType, filePath) {\n return this.api.postMultiPartForm(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file', id, name, mimeType, filePath)\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);\n }\n}"]}
@@ -8,7 +8,7 @@ export declare class UiBaseLocators {
8
8
  readonly breadcrumbBtn: Locator;
9
9
  readonly deleteBtn: Locator;
10
10
  readonly confirmToDeleteBtn: Locator;
11
- readonly deleteFolderBtn: Locator;
11
+ readonly deleteLabelBtn: Locator;
12
12
  readonly deleteExactLabelBtn: Locator;
13
13
  readonly confirmCreateFolderBtn: Locator;
14
14
  readonly dictionaryInsertItemBtn: Locator;
@@ -33,14 +33,63 @@ export declare class UiBaseLocators {
33
33
  readonly renameModalBtn: Locator;
34
34
  readonly createBtn: Locator;
35
35
  readonly successState: Locator;
36
+ readonly chooseModalBtn: Locator;
37
+ readonly addBtn: Locator;
38
+ private readonly renameFolderThreeDotsBtn;
39
+ private readonly updateFolderBtn;
40
+ private readonly filterChooseBtn;
41
+ private readonly updateBtn;
42
+ private readonly changeBtn;
43
+ private readonly propertyNameTxt;
44
+ private readonly selectPropertyEditorBtn;
45
+ private readonly addGroupBtn;
46
+ private readonly iAmDoneReorderingBtn;
47
+ private readonly reorderBtn;
48
+ private readonly compositionsBtn;
49
+ private readonly addTabBtn;
50
+ private readonly descriptionBtn;
51
+ private readonly enterDescriptionTxt;
52
+ private readonly mandatorySlider;
53
+ private readonly validation;
54
+ private readonly regexTxt;
55
+ private readonly regexMessageTxt;
56
+ private readonly structureTabBtn;
57
+ private readonly allowAtRootBtn;
58
+ private readonly addPropertyBtn;
59
+ private readonly typeToFilterSearchTxt;
60
+ private readonly editorSettingsBtn;
61
+ private readonly labelOnTopBtn;
62
+ private readonly unnamedTxt;
63
+ private readonly deleteThreeDotsBtn;
64
+ private readonly removeExactBtn;
65
+ private readonly confirmBtn;
66
+ private readonly disableBtn;
67
+ private readonly confirmDisableBtn;
68
+ private readonly enableBtn;
69
+ private readonly confirmEnableBtn;
70
+ private readonly iconBtn;
71
+ private readonly bugIconBtn;
72
+ private readonly aliasLockBtn;
73
+ private readonly aliasNameTxt;
36
74
  constructor(page: Page);
37
75
  clickActionsMenuForName(name: string): Promise<void>;
38
76
  clickCaretButtonForName(name: string): Promise<void>;
39
77
  clickCaretButton(): Promise<void>;
40
78
  clickSaveButton(): Promise<void>;
41
79
  clickChooseButton(): Promise<void>;
80
+ clickFilterChooseButton(): Promise<void>;
81
+ clickRenameFolderThreeDotsButton(): Promise<void>;
82
+ clickUpdateFolderButton(): Promise<void>;
83
+ clickUpdateButton(): Promise<void>;
42
84
  clickSubmitButton(): Promise<void>;
85
+ clickChangeButton(): Promise<void>;
86
+ enterAliasName(aliasName: string): Promise<void>;
87
+ updateIcon(iconName: string): Promise<void>;
88
+ clickTextButtonWithName(name: string): Promise<void>;
89
+ clickSelectPropertyEditorButton(): Promise<void>;
43
90
  clickCreateFolderButton(): Promise<void>;
91
+ enterAPropertyName(name: string): Promise<void>;
92
+ clickConfirmButton(): Promise<void>;
44
93
  clickBreadcrumbButton(): Promise<void>;
45
94
  clickInsertButton(): Promise<void>;
46
95
  clickDictionaryInsertItemButton(): Promise<void>;
@@ -49,15 +98,26 @@ export declare class UiBaseLocators {
49
98
  clickConfirmToDeleteButton(): Promise<void>;
50
99
  clickDeleteFolderButton(): Promise<void>;
51
100
  clickConfirmCreateFolderButton(): Promise<void>;
101
+ clickDeleteThreeDotsButton(): Promise<void>;
102
+ clickRemoveExactButton(): Promise<void>;
103
+ clickRemoveWithName(name: string): Promise<void>;
104
+ clickDisableButton(): Promise<void>;
105
+ clickConfirmDisableButton(): Promise<void>;
106
+ clickEnableButton(): Promise<void>;
107
+ clickConfirmEnableButton(): Promise<void>;
52
108
  insertDictionaryByName(dictionaryName: string): Promise<void>;
53
109
  addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean): Promise<void>;
54
110
  addQueryBuilderWithWhereStatement(propertyAlias: string, operator: string, constrainValue: string): Promise<void>;
55
111
  waitAndSelectQueryBuilderDropDownList(option: string): Promise<void>;
56
112
  createFolder(folderName: string): Promise<void>;
113
+ deletePropertyEditor(propertyEditorName: string): Promise<void>;
114
+ enterFolderName(folderName: string): Promise<void>;
115
+ isTextWithExactNameVisible(name: string, isVisible?: boolean): Promise<void>;
57
116
  isQueryBuilderCodeShown(code: string): Promise<void>;
58
117
  deleteFolder(): Promise<void>;
59
118
  clickDeleteExactLabel(): Promise<void>;
60
119
  isTreeItemVisible(name: string): Promise<void>;
120
+ doesTreeItemHaveTheCorrectIcon(name: string, icon: string): Promise<void>;
61
121
  goToSection(sectionName: string): Promise<void>;
62
122
  goToSettingsTreeItem(settingsTreeItemName: string): Promise<void>;
63
123
  clickDataElement(elementName: string, options?: any): Promise<void>;
@@ -69,7 +129,30 @@ export declare class UiBaseLocators {
69
129
  isErrorNotificationVisible(): Promise<void>;
70
130
  clickCreateThreeDotsButton(): Promise<void>;
71
131
  clickCreateButton(): Promise<void>;
132
+ clickAddButton(): Promise<void>;
72
133
  clickNewFolderThreeDotsButton(): Promise<void>;
134
+ clickEditorSettingsButton(): Promise<void>;
135
+ enterDescription(description: string): Promise<void>;
136
+ doesDescriptionHaveValue(value: string): Promise<void>;
137
+ clickStructureTab(): Promise<void>;
138
+ clickAllowAtRootButton(): Promise<void>;
139
+ clickIAmDoneReorderingButton(): Promise<void>;
140
+ clickReorderButton(): Promise<void>;
141
+ clickLabelOnTopButton(): Promise<void>;
142
+ clickMandatorySlider(): Promise<void>;
143
+ selectValidationOption(option: string): Promise<void>;
144
+ enterRegEx(regEx: string): Promise<void>;
145
+ enterRegExMessage(regExMessage: string): Promise<void>;
146
+ clickCompositionsButton(): Promise<void>;
147
+ clickAddTabButton(): Promise<void>;
148
+ enterTabName(tabName: string): Promise<void>;
149
+ searchForTypeToFilterValue(searchValue: string): Promise<void>;
150
+ addPropertyEditor(propertyEditorName: string, index?: number): Promise<void>;
151
+ updatePropertyEditor(propertyEditorName: string): Promise<void>;
152
+ clickAddGroupButton(): Promise<void>;
153
+ enterGroupName(groupName: string, index?: number): Promise<void>;
154
+ doesGroupHaveValue(value: string): Promise<void>;
73
155
  rename(newName: string): Promise<void>;
74
156
  isSuccessButtonWithTextVisible(text: string): Promise<void>;
157
+ dragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset: number, horizontalOffset: number, steps?: any): Promise<void>;
75
158
  }
@@ -12,7 +12,7 @@ class UiBaseLocators {
12
12
  breadcrumbBtn;
13
13
  deleteBtn;
14
14
  confirmToDeleteBtn;
15
- deleteFolderBtn;
15
+ deleteLabelBtn;
16
16
  deleteExactLabelBtn;
17
17
  confirmCreateFolderBtn;
18
18
  dictionaryInsertItemBtn;
@@ -37,12 +37,50 @@ class UiBaseLocators {
37
37
  renameModalBtn;
38
38
  createBtn;
39
39
  successState;
40
+ chooseModalBtn;
41
+ addBtn;
42
+ renameFolderThreeDotsBtn;
43
+ updateFolderBtn;
44
+ filterChooseBtn;
45
+ updateBtn;
46
+ changeBtn;
47
+ propertyNameTxt;
48
+ selectPropertyEditorBtn;
49
+ addGroupBtn;
50
+ iAmDoneReorderingBtn;
51
+ reorderBtn;
52
+ compositionsBtn;
53
+ addTabBtn;
54
+ descriptionBtn;
55
+ enterDescriptionTxt;
56
+ mandatorySlider;
57
+ validation;
58
+ regexTxt;
59
+ regexMessageTxt;
60
+ structureTabBtn;
61
+ allowAtRootBtn;
62
+ addPropertyBtn;
63
+ typeToFilterSearchTxt;
64
+ editorSettingsBtn;
65
+ labelOnTopBtn;
66
+ unnamedTxt;
67
+ deleteThreeDotsBtn;
68
+ removeExactBtn;
69
+ confirmBtn;
70
+ disableBtn;
71
+ confirmDisableBtn;
72
+ enableBtn;
73
+ confirmEnableBtn;
74
+ iconBtn;
75
+ bugIconBtn;
76
+ aliasLockBtn;
77
+ aliasNameTxt;
40
78
  constructor(page) {
41
79
  this.page = page;
42
80
  this.saveBtn = page.getByLabel('Save', { exact: true });
43
81
  this.submitBtn = page.getByLabel('Submit');
44
82
  this.deleteExactLabelBtn = page.getByLabel('Delete', { exact: true });
45
- this.deleteFolderBtn = page.getByLabel('Delete');
83
+ this.deleteLabelBtn = page.getByLabel('Delete');
46
84
  this.deleteBtn = page.getByRole('button', { name: 'Delete' });
47
85
  this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');
48
86
  this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');
@@ -71,6 +109,44 @@ class UiBaseLocators {
71
109
  this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');
72
110
  this.createBtn = page.getByLabel('Create', { exact: true });
73
111
  this.successState = page.locator('[state="success"]');
112
+ this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');
113
+ this.addBtn = page.getByLabel('Add', { exact: true });
114
+ this.renameFolderThreeDotsBtn = page.getByLabel('Rename Folder...');
115
+ this.updateFolderBtn = page.getByLabel('Update Folder');
116
+ this.filterChooseBtn = page.locator('button').filter({ hasText: 'Choose' });
117
+ this.updateBtn = page.getByLabel('Update');
118
+ this.changeBtn = page.getByLabel('Change');
119
+ this.propertyNameTxt = page.locator('#name-input #input');
120
+ this.selectPropertyEditorBtn = page.getByLabel('Select Property Editor');
121
+ this.addGroupBtn = page.getByLabel('Add group', { exact: true });
122
+ this.iAmDoneReorderingBtn = page.getByLabel('I am done reordering');
123
+ this.reorderBtn = page.getByLabel('Reorder');
124
+ this.compositionsBtn = page.getByLabel('Compositions');
125
+ this.addTabBtn = page.getByLabel('Add tab');
126
+ this.descriptionBtn = page.getByLabel('Description');
127
+ this.enterDescriptionTxt = page.getByRole('textbox', { name: 'Enter description...' });
128
+ this.mandatorySlider = page.locator('#mandatory #slider');
129
+ this.validation = page.locator('#native');
130
+ this.regexTxt = page.locator('input[name="pattern"]');
131
+ this.regexMessageTxt = page.locator('textarea[name="pattern-message"]');
132
+ this.structureTabBtn = page.getByRole('tab', { name: 'Structure' });
133
+ this.allowAtRootBtn = page.locator('label').filter({ hasText: 'Allow at root' });
134
+ this.addPropertyBtn = page.getByLabel('Add property', { exact: true });
135
+ this.typeToFilterSearchTxt = page.locator('[type="search"] #input');
136
+ this.editorSettingsBtn = page.getByLabel('Editor settings');
137
+ this.labelOnTopBtn = page.getByRole('button', { name: 'Label on top' });
138
+ this.unnamedTxt = page.getByRole('textbox', { name: 'Unnamed' });
139
+ this.deleteThreeDotsBtn = page.locator('umb-entity-action').getByLabel('Delete...');
140
+ this.removeExactBtn = page.getByLabel('Remove', { exact: true });
141
+ this.confirmBtn = page.getByLabel('Confirm');
142
+ this.disableBtn = page.getByLabel('Disable');
143
+ this.confirmDisableBtn = page.locator('#confirm').getByLabel('Disable');
144
+ this.enableBtn = page.getByLabel('Enable');
145
+ this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');
146
+ this.iconBtn = page.getByLabel('icon');
147
+ this.bugIconBtn = page.getByLabel('icon-bug').getByRole('img');
148
+ this.aliasLockBtn = page.locator('#name #alias-lock');
149
+ this.aliasNameTxt = page.locator('#name').getByLabel('alias');
74
150
  }
75
151
  async clickActionsMenuForName(name) {
76
152
  await this.page.locator('[label="' + name + '"] >> [label="Open actions menu"]').click({ force: true });
@@ -87,12 +163,50 @@ class UiBaseLocators {
87
163
  async clickChooseButton() {
88
164
  await this.chooseBtn.click();
89
165
  }
166
+ async clickFilterChooseButton() {
167
+ await this.filterChooseBtn.click();
168
+ }
169
+ async clickRenameFolderThreeDotsButton() {
170
+ await this.renameFolderThreeDotsBtn.click();
171
+ }
172
+ async clickUpdateFolderButton() {
173
+ await this.updateFolderBtn.click();
174
+ }
175
+ async clickUpdateButton() {
176
+ await this.updateBtn.click();
177
+ }
90
178
  async clickSubmitButton() {
91
179
  await this.submitBtn.click({ force: true });
92
180
  }
181
+ async clickChangeButton() {
182
+ await this.changeBtn.click();
183
+ }
184
+ async enterAliasName(aliasName) {
185
+ // Unlocks alias
186
+ await this.aliasLockBtn.click();
187
+ await this.aliasNameTxt.clear();
188
+ await this.aliasNameTxt.fill(aliasName);
189
+ }
190
+ async updateIcon(iconName) {
191
+ await this.iconBtn.click({ force: true });
192
+ await this.searchForTypeToFilterValue(iconName);
193
+ await this.bugIconBtn.click();
194
+ }
195
+ async clickTextButtonWithName(name) {
196
+ await this.page.getByText(name, { exact: true }).click();
197
+ }
198
+ async clickSelectPropertyEditorButton() {
199
+ await this.selectPropertyEditorBtn.click();
200
+ }
93
201
  async clickCreateFolderButton() {
94
202
  await this.createFolderBtn.click();
95
203
  }
204
+ async enterAPropertyName(name) {
205
+ await this.propertyNameTxt.fill(name);
206
+ }
207
+ async clickConfirmButton() {
208
+ await this.confirmBtn.click();
209
+ }
96
210
  async clickBreadcrumbButton() {
97
211
  await this.breadcrumbBtn.click();
98
212
  }
@@ -112,11 +226,32 @@ class UiBaseLocators {
112
226
  await this.confirmToDeleteBtn.click();
113
227
  }
114
228
  async clickDeleteFolderButton() {
115
- await this.deleteFolderBtn.click();
229
+ await this.deleteLabelBtn.click();
116
230
  }
117
231
  async clickConfirmCreateFolderButton() {
118
232
  await this.confirmCreateFolderBtn.click();
119
233
  }
234
+ async clickDeleteThreeDotsButton() {
235
+ await this.deleteThreeDotsBtn.click();
236
+ }
237
+ async clickRemoveExactButton() {
238
+ await this.removeExactBtn.click();
239
+ }
240
+ async clickRemoveWithName(name) {
241
+ await this.page.getByLabel('Remove ' + name).click();
242
+ }
243
+ async clickDisableButton() {
244
+ await this.disableBtn.click();
245
+ }
246
+ async clickConfirmDisableButton() {
247
+ await this.confirmDisableBtn.click();
248
+ }
249
+ async clickEnableButton() {
250
+ await this.enableBtn.click();
251
+ }
252
+ async clickConfirmEnableButton() {
253
+ await this.confirmEnableBtn.click();
254
+ }
120
255
  async insertDictionaryByName(dictionaryName) {
121
256
  await this.insertValueBtn.click();
122
257
  await this.clickDictionaryInsertItemButton();
@@ -166,6 +301,18 @@ class UiBaseLocators {
166
301
  await this.folderNameTxt.fill(folderName);
167
302
  await this.clickConfirmCreateFolderButton();
168
303
  }
304
+ async deletePropertyEditor(propertyEditorName) {
305
+ // We need to hover over the property to be able to see the delete button
306
+ await this.page.locator('uui-button').filter({ hasText: propertyEditorName }).getByLabel('Editor settings').hover();
307
+ await this.deleteLabelBtn.click({ force: true });
308
+ }
309
+ async enterFolderName(folderName) {
310
+ await this.folderNameTxt.clear();
311
+ await this.folderNameTxt.fill(folderName);
312
+ }
313
+ async isTextWithExactNameVisible(name, isVisible = true) {
314
+ return (0, test_1.expect)(this.page.getByText(name, { exact: true })).toBeVisible({ visible: isVisible });
315
+ }
169
316
  async isQueryBuilderCodeShown(code) {
170
317
  await this.queryBuilderShowCode.click();
171
318
  await (0, test_1.expect)(this.queryBuilderShowCode).toContainText(code);
@@ -180,6 +327,9 @@ class UiBaseLocators {
180
327
  async isTreeItemVisible(name) {
181
328
  await (0, test_1.expect)(this.page.locator('umb-tree-item').locator('[label="' + name + '"] ')).toBeVisible();
182
329
  }
330
+ async doesTreeItemHaveTheCorrectIcon(name, icon) {
331
+ return await (0, test_1.expect)(this.page.locator('umb-tree-item').filter({ hasText: name }).locator('umb-icon').locator('[name="' + icon + '"]')).toBeVisible();
332
+ }
183
333
  async goToSection(sectionName) {
184
334
  for (let section in ConstantHelper_1.ConstantHelper.sections) {
185
335
  await (0, test_1.expect)(this.page.getByRole('tab', { name: section })).toBeVisible({ timeout: 30000 });
@@ -203,7 +353,7 @@ class UiBaseLocators {
203
353
  await this.page.getByLabel(name).click();
204
354
  }
205
355
  async clickButtonWithName(name) {
206
- await this.page.getByRole('button', { name: name }).click();
356
+ await this.page.getByRole('button', { name: name }).click({ force: true });
207
357
  }
208
358
  async isSuccessNotificationVisible() {
209
359
  return await (0, test_1.expect)(this.page.locator('uui-toast-notification >> [color="positive"]')).toBeVisible();
@@ -217,9 +367,90 @@ class UiBaseLocators {
217
367
  async clickCreateButton() {
218
368
  await this.createBtn.click();
219
369
  }
370
+ async clickAddButton() {
371
+ await this.addBtn.click();
372
+ }
373
+ ;
220
374
  async clickNewFolderThreeDotsButton() {
221
375
  await this.newFolderThreeDotsBtn.click();
222
376
  }
377
+ clickEditorSettingsButton() {
378
+ return this.editorSettingsBtn.click();
379
+ }
380
+ async enterDescription(description) {
381
+ await this.enterDescriptionTxt.fill(description);
382
+ }
383
+ async doesDescriptionHaveValue(value) {
384
+ return await (0, test_1.expect)(this.descriptionBtn).toHaveValue(value);
385
+ }
386
+ async clickStructureTab() {
387
+ await this.page.waitForTimeout(200);
388
+ await this.structureTabBtn.click({ force: true });
389
+ }
390
+ async clickAllowAtRootButton() {
391
+ await this.allowAtRootBtn.click();
392
+ }
393
+ async clickIAmDoneReorderingButton() {
394
+ await this.iAmDoneReorderingBtn.click();
395
+ }
396
+ async clickReorderButton() {
397
+ await this.reorderBtn.click();
398
+ }
399
+ async clickLabelOnTopButton() {
400
+ await this.labelOnTopBtn.click();
401
+ }
402
+ async clickMandatorySlider() {
403
+ await this.mandatorySlider.click();
404
+ }
405
+ async selectValidationOption(option) {
406
+ await this.validation.selectOption(option);
407
+ }
408
+ async enterRegEx(regEx) {
409
+ await this.regexTxt.fill(regEx);
410
+ }
411
+ async enterRegExMessage(regExMessage) {
412
+ await this.regexMessageTxt.fill(regExMessage);
413
+ }
414
+ async clickCompositionsButton() {
415
+ await this.compositionsBtn.click();
416
+ }
417
+ async clickAddTabButton() {
418
+ await this.addTabBtn.click();
419
+ }
420
+ async enterTabName(tabName) {
421
+ await this.unnamedTxt.fill(tabName);
422
+ }
423
+ async searchForTypeToFilterValue(searchValue) {
424
+ await this.typeToFilterSearchTxt.fill(searchValue);
425
+ }
426
+ async addPropertyEditor(propertyEditorName, index = 0) {
427
+ await this.addPropertyBtn.nth(index).click({ force: true });
428
+ await this.clickSelectPropertyEditorButton();
429
+ await this.searchForTypeToFilterValue(propertyEditorName);
430
+ await this.page.getByText(propertyEditorName, { exact: true }).click();
431
+ await this.page.waitForTimeout(200);
432
+ await this.enterAPropertyName(propertyEditorName);
433
+ await this.clickAddButton();
434
+ }
435
+ async updatePropertyEditor(propertyEditorName) {
436
+ await this.clickEditorSettingsButton();
437
+ await this.clickChangeButton();
438
+ await this.searchForTypeToFilterValue(propertyEditorName);
439
+ await this.page.getByText(propertyEditorName, { exact: true }).click();
440
+ await this.page.waitForTimeout(200);
441
+ await this.enterAPropertyName(propertyEditorName);
442
+ await this.clickUpdateButton();
443
+ }
444
+ async clickAddGroupButton() {
445
+ await this.addGroupBtn.click();
446
+ }
447
+ async enterGroupName(groupName, index = 0) {
448
+ await this.page.waitForTimeout(200);
449
+ await this.page.getByLabel('Group name', { exact: true }).nth(index).fill(groupName);
450
+ }
451
+ async doesGroupHaveValue(value) {
452
+ return await (0, test_1.expect)(this.page.getByLabel('Group', { exact: true })).toHaveValue(value);
453
+ }
223
454
  async rename(newName) {
224
455
  await this.renameThreeDotsBtn.click();
225
456
  await this.newNameTxt.click();
@@ -230,6 +461,15 @@ class UiBaseLocators {
230
461
  async isSuccessButtonWithTextVisible(text) {
231
462
  return await (0, test_1.expect)(this.successState.filter({ hasText: text })).toBeVisible({ timeout: 10000 });
232
463
  }
464
+ async dragAndDrop(dragFromSelector, dragToSelector, verticalOffset, horizontalOffset, steps) {
465
+ const targetLocation = await dragToSelector.boundingBox();
466
+ const elementCenterX = targetLocation.x + targetLocation.width / 2;
467
+ const elementCenterY = targetLocation.y + targetLocation.height / 2;
468
+ await dragFromSelector.hover();
469
+ await this.page.mouse.down();
470
+ await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, { steps: steps });
471
+ await this.page.mouse.up();
472
+ }
233
473
  }
234
474
  exports.UiBaseLocators = UiBaseLocators;
235
475
  //# sourceMappingURL=UiBaseLocators.js.map