@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.
- package/dist/lib/helpers/ApiHelpers.d.ts +2 -2
- package/dist/lib/helpers/ApiHelpers.js +1 -1
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.js +13 -10
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +48 -10
- package/dist/lib/helpers/DataTypeUiHelper.js +172 -48
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.js +1 -1
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +11 -2
- package/dist/lib/helpers/DocumentTypeApiHelper.js +118 -8
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +23 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js +62 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/LanguageApiHelper.d.ts +3 -1
- package/dist/lib/helpers/LanguageApiHelper.js +16 -3
- package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeApiHelper.d.ts +8 -2
- package/dist/lib/helpers/MediaTypeApiHelper.js +91 -10
- package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeUiHelper.d.ts +15 -0
- package/dist/lib/helpers/MediaTypeUiHelper.js +39 -0
- package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/PackageUiHelper.d.ts +0 -1
- package/dist/lib/helpers/PackageUiHelper.js +0 -2
- package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
- package/dist/lib/helpers/TemporaryFileApiHelper.js +4 -4
- package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +84 -1
- package/dist/lib/helpers/UiBaseLocators.js +244 -4
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UiHelpers.d.ts +6 -0
- package/dist/lib/helpers/UiHelpers.js +9 -0
- package/dist/lib/helpers/UiHelpers.js.map +1 -1
- package/dist/lib/helpers/UserApiHelper.d.ts +6 -2
- package/dist/lib/helpers/UserApiHelper.js +34 -12
- package/dist/lib/helpers/UserApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupApiHelper.d.ts +2 -1
- package/dist/lib/helpers/UserGroupApiHelper.js +9 -11
- package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.d.ts +41 -0
- package/dist/lib/helpers/UserUiHelper.js +116 -0
- package/dist/lib/helpers/UserUiHelper.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- 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/
|
|
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/
|
|
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/
|
|
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/
|
|
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,
|
|
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
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
|