@umbraco/playwright-testhelpers 2.0.0-beta.9 → 15.0.0-beta.1
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 +44 -4
- package/dist/lib/helpers/ApiHelpers.js +212 -7
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.d.ts +186 -0
- package/dist/lib/helpers/ContentUiHelper.js +559 -0
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -0
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +95 -14
- package/dist/lib/helpers/DataTypeApiHelper.js +829 -130
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +266 -0
- package/dist/lib/helpers/DataTypeUiHelper.js +850 -0
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/DictionaryApiHelper.d.ts +2 -1
- package/dist/lib/helpers/DictionaryApiHelper.js +17 -4
- package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryUiHelper.d.ts +7 -9
- package/dist/lib/helpers/DictionaryUiHelper.js +33 -33
- package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.d.ts +38 -0
- package/dist/lib/helpers/DocumentApiHelper.js +365 -0
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentBlueprintApiHelper.d.ts +18 -0
- package/dist/lib/helpers/DocumentBlueprintApiHelper.js +126 -0
- package/dist/lib/helpers/DocumentBlueprintApiHelper.js.map +1 -0
- package/dist/lib/helpers/DocumentBlueprintUiHelper.d.ts +17 -0
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js +52 -0
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +42 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js +551 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +35 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js +98 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/ExamineManagementUiHelper.d.ts +15 -0
- package/dist/lib/helpers/ExamineManagementUiHelper.js +38 -0
- package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -0
- package/dist/lib/helpers/HealthCheckApiHelper.d.ts +13 -0
- package/dist/lib/helpers/HealthCheckApiHelper.js +47 -0
- package/dist/lib/helpers/HealthCheckApiHelper.js.map +1 -0
- package/dist/lib/helpers/HealthCheckUiHelper.d.ts +23 -0
- package/dist/lib/helpers/HealthCheckUiHelper.js +59 -0
- package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -0
- package/dist/lib/helpers/IndexerApiHelper.d.ts +7 -0
- package/dist/lib/helpers/IndexerApiHelper.js +19 -0
- package/dist/lib/helpers/IndexerApiHelper.js.map +1 -0
- package/dist/lib/helpers/LanguageApiHelper.d.ts +8 -4
- package/dist/lib/helpers/LanguageApiHelper.js +46 -26
- package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageUiHelper.d.ts +23 -0
- package/dist/lib/helpers/LanguageUiHelper.js +68 -0
- package/dist/lib/helpers/LanguageUiHelper.js.map +1 -0
- package/dist/lib/helpers/LogViewerUiHelper.d.ts +37 -0
- package/dist/lib/helpers/LogViewerUiHelper.js +102 -0
- package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -0
- package/dist/lib/helpers/LoginApiHelper.d.ts +16 -0
- package/dist/lib/helpers/LoginApiHelper.js +107 -0
- package/dist/lib/helpers/LoginApiHelper.js.map +1 -0
- package/dist/lib/helpers/LoginUiHelper.d.ts +11 -0
- package/dist/lib/helpers/LoginUiHelper.js +30 -0
- package/dist/lib/helpers/LoginUiHelper.js.map +1 -0
- package/dist/lib/helpers/MediaApiHelper.d.ts +32 -0
- package/dist/lib/helpers/MediaApiHelper.js +245 -0
- package/dist/lib/helpers/MediaApiHelper.js.map +1 -0
- package/dist/lib/helpers/MediaTypeApiHelper.d.ts +32 -0
- package/dist/lib/helpers/MediaTypeApiHelper.js +390 -0
- package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -0
- package/dist/lib/helpers/MediaTypeUiHelper.d.ts +14 -0
- package/dist/lib/helpers/MediaTypeUiHelper.js +38 -0
- package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/MediaUiHelper.d.ts +49 -0
- package/dist/lib/helpers/MediaUiHelper.js +144 -0
- package/dist/lib/helpers/MediaUiHelper.js.map +1 -0
- package/dist/lib/helpers/MemberApiHelper.d.ts +16 -0
- package/dist/lib/helpers/MemberApiHelper.js +88 -0
- package/dist/lib/helpers/MemberApiHelper.js.map +1 -0
- package/dist/lib/helpers/MemberGroupApiHelper.d.ts +14 -0
- package/dist/lib/helpers/MemberGroupApiHelper.js +62 -0
- package/dist/lib/helpers/MemberGroupApiHelper.js.map +1 -0
- package/dist/lib/helpers/MemberGroupUiHelper.d.ts +20 -0
- package/dist/lib/helpers/MemberGroupUiHelper.js +57 -0
- package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -0
- package/dist/lib/helpers/MemberTypeApiHelper.d.ts +17 -0
- package/dist/lib/helpers/MemberTypeApiHelper.js +121 -0
- package/dist/lib/helpers/MemberTypeApiHelper.js.map +1 -0
- package/dist/lib/helpers/MemberTypeUiHelper.d.ts +13 -0
- package/dist/lib/helpers/MemberTypeUiHelper.js +35 -0
- package/dist/lib/helpers/MemberTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/MemberUiHelper.d.ts +45 -0
- package/dist/lib/helpers/MemberUiHelper.js +130 -0
- package/dist/lib/helpers/MemberUiHelper.js.map +1 -0
- package/dist/lib/helpers/ModelsBuilderApiHelper.d.ts +6 -0
- package/dist/lib/helpers/ModelsBuilderApiHelper.js +15 -0
- package/dist/lib/helpers/ModelsBuilderApiHelper.js.map +1 -0
- package/dist/lib/helpers/ModelsBuilderUiHelper.d.ts +9 -0
- package/dist/lib/helpers/ModelsBuilderUiHelper.js +22 -0
- package/dist/lib/helpers/ModelsBuilderUiHelper.js.map +1 -0
- package/dist/lib/helpers/ObjectTypesApiHelper.d.ts +7 -0
- package/dist/lib/helpers/ObjectTypesApiHelper.js +25 -0
- package/dist/lib/helpers/ObjectTypesApiHelper.js.map +1 -0
- package/dist/lib/helpers/PackageApiHelper.d.ts +3 -2
- package/dist/lib/helpers/PackageApiHelper.js +6 -3
- package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
- package/dist/lib/helpers/PackageUiHelper.d.ts +49 -0
- package/dist/lib/helpers/PackageUiHelper.js +134 -0
- package/dist/lib/helpers/PackageUiHelper.js.map +1 -0
- package/dist/lib/helpers/PartialViewApiHelper.d.ts +5 -4
- package/dist/lib/helpers/PartialViewApiHelper.js +36 -30
- package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewUiHelper.d.ts +7 -11
- package/dist/lib/helpers/PartialViewUiHelper.js +27 -36
- package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
- package/dist/lib/helpers/ProfilingUiHelper.d.ts +11 -0
- package/dist/lib/helpers/ProfilingUiHelper.js +27 -0
- package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -0
- package/dist/lib/helpers/PublishedCacheApiHelper.d.ts +6 -0
- package/dist/lib/helpers/PublishedCacheApiHelper.js +15 -0
- package/dist/lib/helpers/PublishedCacheApiHelper.js.map +1 -0
- package/dist/lib/helpers/PublishedStatusUiHelper.d.ts +19 -0
- package/dist/lib/helpers/PublishedStatusUiHelper.js +47 -0
- package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -0
- package/dist/lib/helpers/RedirectManagementApiHelper.d.ts +10 -0
- package/dist/lib/helpers/RedirectManagementApiHelper.js +30 -0
- package/dist/lib/helpers/RedirectManagementApiHelper.js.map +1 -0
- package/dist/lib/helpers/RedirectManagementUiHelper.d.ts +17 -0
- package/dist/lib/helpers/RedirectManagementUiHelper.js +45 -0
- package/dist/lib/helpers/RedirectManagementUiHelper.js.map +1 -0
- package/dist/lib/helpers/RelationTypeApiHelper.d.ts +15 -0
- package/dist/lib/helpers/{RelationType.js → RelationTypeApiHelper.js} +45 -58
- package/dist/lib/helpers/RelationTypeApiHelper.js.map +1 -0
- package/dist/lib/helpers/RelationTypeUiHelper.d.ts +21 -0
- package/dist/lib/helpers/RelationTypeUiHelper.js +55 -0
- package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/ScriptApiHelper.d.ts +5 -3
- package/dist/lib/helpers/ScriptApiHelper.js +44 -26
- package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptUiHelper.d.ts +8 -12
- package/dist/lib/helpers/ScriptUiHelper.js +31 -40
- package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetApiHelper.d.ts +6 -4
- package/dist/lib/helpers/StylesheetApiHelper.js +47 -41
- package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.d.ts +17 -15
- package/dist/lib/helpers/StylesheetUiHelper.js +60 -47
- package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
- package/dist/lib/helpers/TelemetryDataUiHelper.d.ts +10 -0
- package/dist/lib/helpers/TelemetryDataUiHelper.js +25 -0
- package/dist/lib/helpers/TelemetryDataUiHelper.js.map +1 -0
- package/dist/lib/helpers/TemplateApiHelper.d.ts +1 -0
- package/dist/lib/helpers/TemplateApiHelper.js +6 -0
- package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateUiHelper.d.ts +14 -18
- package/dist/lib/helpers/TemplateUiHelper.js +65 -59
- package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
- package/dist/lib/helpers/TemporaryFileApiHelper.d.ts +17 -1
- package/dist/lib/helpers/TemporaryFileApiHelper.js +23 -10
- package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +213 -9
- package/dist/lib/helpers/UiBaseLocators.js +703 -39
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UiHelpers.d.ts +49 -7
- package/dist/lib/helpers/UiHelpers.js +75 -21
- package/dist/lib/helpers/UiHelpers.js.map +1 -1
- package/dist/lib/helpers/UserApiHelper.d.ts +19 -10
- package/dist/lib/helpers/UserApiHelper.js +72 -20
- package/dist/lib/helpers/UserApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupApiHelper.d.ts +5 -3
- package/dist/lib/helpers/UserGroupApiHelper.js +20 -19
- package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupUiHelper.d.ts +20 -0
- package/dist/lib/helpers/UserGroupUiHelper.js +56 -0
- package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -0
- package/dist/lib/helpers/UserUiHelper.d.ts +80 -0
- package/dist/lib/helpers/UserUiHelper.js +221 -0
- package/dist/lib/helpers/UserUiHelper.js.map +1 -0
- package/dist/lib/helpers/WelcomeDashboardUiHelper.d.ts +9 -0
- package/dist/lib/helpers/WelcomeDashboardUiHelper.js +22 -0
- package/dist/lib/helpers/WelcomeDashboardUiHelper.js.map +1 -0
- package/dist/lib/helpers/testExtension.js +4 -0
- package/dist/lib/helpers/testExtension.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/umbraco.config.js +1 -1
- package/dist/umbraco.config.js.map +1 -1
- package/package.json +9 -11
- package/dist/lib/helpers/RelationType.d.ts +0 -15
- package/dist/lib/helpers/RelationType.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { UiBaseLocators } from "./UiBaseLocators";
|
|
2
|
+
import { Page } from "@playwright/test";
|
|
3
|
+
export declare class MemberTypeUiHelper extends UiBaseLocators {
|
|
4
|
+
private readonly memberTypeNameTxt;
|
|
5
|
+
private readonly memberTypeEditPropertyWorkspace;
|
|
6
|
+
constructor(page: Page);
|
|
7
|
+
clickActionsMenuForMemberType(name: string): Promise<void>;
|
|
8
|
+
clickActionsMenuAtRoot(): Promise<void>;
|
|
9
|
+
clickRootFolderCaretButton(): Promise<void>;
|
|
10
|
+
goToMemberType(memberTypeName: string): Promise<void>;
|
|
11
|
+
enterMemberTypeName(name: string): Promise<void>;
|
|
12
|
+
enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemberTypeUiHelper = void 0;
|
|
4
|
+
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
5
|
+
class MemberTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
6
|
+
memberTypeNameTxt;
|
|
7
|
+
memberTypeEditPropertyWorkspace;
|
|
8
|
+
constructor(page) {
|
|
9
|
+
super(page);
|
|
10
|
+
this.memberTypeNameTxt = page.getByLabel('name', { exact: true });
|
|
11
|
+
this.memberTypeEditPropertyWorkspace = page.locator('umb-member-type-workspace-view-edit-property');
|
|
12
|
+
}
|
|
13
|
+
async clickActionsMenuForMemberType(name) {
|
|
14
|
+
await this.clickActionsMenuForName(name);
|
|
15
|
+
}
|
|
16
|
+
async clickActionsMenuAtRoot() {
|
|
17
|
+
await this.clickActionsMenuForMemberType("Member Types");
|
|
18
|
+
}
|
|
19
|
+
async clickRootFolderCaretButton() {
|
|
20
|
+
await this.clickCaretButtonForName("Member Types");
|
|
21
|
+
}
|
|
22
|
+
async goToMemberType(memberTypeName) {
|
|
23
|
+
await this.clickRootFolderCaretButton();
|
|
24
|
+
await this.page.getByLabel(memberTypeName).click();
|
|
25
|
+
}
|
|
26
|
+
async enterMemberTypeName(name) {
|
|
27
|
+
await this.memberTypeNameTxt.clear();
|
|
28
|
+
await this.memberTypeNameTxt.fill(name);
|
|
29
|
+
}
|
|
30
|
+
async enterDescriptionForPropertyEditorWithName(propertyEditorName, description) {
|
|
31
|
+
await this.memberTypeEditPropertyWorkspace.filter({ hasText: propertyEditorName }).getByLabel('description').fill(description);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.MemberTypeUiHelper = MemberTypeUiHelper;
|
|
35
|
+
//# sourceMappingURL=MemberTypeUiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemberTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberTypeUiHelper.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,MAAa,kBAAmB,SAAQ,+BAAc;IACnC,iBAAiB,CAAU;IAC3B,+BAA+B,CAAU;IAE1D,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAChE,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,IAAY;QAC9C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,cAAsB;QACzC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,kBAA0B,EAAE,WAAmB;QAC7F,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/H,CAAC;CACF;AAnCD,gDAmCC","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {Locator, Page} from \"@playwright/test\";\n\nexport class MemberTypeUiHelper extends UiBaseLocators {\n private readonly memberTypeNameTxt: Locator;\n private readonly memberTypeEditPropertyWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.memberTypeNameTxt = page.getByLabel('name', {exact: true});\n this.memberTypeEditPropertyWorkspace = page.locator('umb-member-type-workspace-view-edit-property');\n }\n\n async clickActionsMenuForMemberType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForMemberType(\"Member Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Member Types\");\n }\n\n async goToMemberType(memberTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(memberTypeName).click();\n }\n\n async enterMemberTypeName(name: string) {\n await this.memberTypeNameTxt.clear();\n await this.memberTypeNameTxt.fill(name);\n }\n\n async enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string) {\n await this.memberTypeEditPropertyWorkspace.filter({hasText: propertyEditorName}).getByLabel('description').fill(description);\n }\n}"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Page } from "@playwright/test";
|
|
2
|
+
import { UiBaseLocators } from "./UiBaseLocators";
|
|
3
|
+
export declare class MemberUiHelper extends UiBaseLocators {
|
|
4
|
+
private readonly membersTab;
|
|
5
|
+
private readonly searchTxt;
|
|
6
|
+
private readonly memberNameTxt;
|
|
7
|
+
private readonly commentsTxt;
|
|
8
|
+
private readonly memberTab;
|
|
9
|
+
private readonly detailsTab;
|
|
10
|
+
private readonly usernameTxt;
|
|
11
|
+
private readonly emailTxt;
|
|
12
|
+
private readonly passwordTxt;
|
|
13
|
+
private readonly confirmPasswordTxt;
|
|
14
|
+
private readonly confirmNewPasswordTxt;
|
|
15
|
+
private readonly approvedSlider;
|
|
16
|
+
private readonly lockedOutSlider;
|
|
17
|
+
private readonly twoFactorAuthenticationSlider;
|
|
18
|
+
private readonly memberInfoItems;
|
|
19
|
+
private readonly changePasswordBtn;
|
|
20
|
+
private readonly newPasswordTxt;
|
|
21
|
+
private readonly membersMenu;
|
|
22
|
+
constructor(page: Page);
|
|
23
|
+
clickMembersTab(): Promise<void>;
|
|
24
|
+
clickMemberTab(): Promise<void>;
|
|
25
|
+
clickDetailsTab(): Promise<void>;
|
|
26
|
+
clickMemberLinkByName(memberName: string): Promise<void>;
|
|
27
|
+
enterSearchKeyword(keyword: string): Promise<void>;
|
|
28
|
+
enterMemberName(name: string): Promise<void>;
|
|
29
|
+
enterComments(comment: string): Promise<void>;
|
|
30
|
+
enterUsername(username: string): Promise<void>;
|
|
31
|
+
enterEmail(email: string): Promise<void>;
|
|
32
|
+
enterPassword(password: string): Promise<void>;
|
|
33
|
+
enterConfirmPassword(password: string): Promise<void>;
|
|
34
|
+
enterConfirmNewPassword(password: string): Promise<void>;
|
|
35
|
+
chooseMemberGroup(memberGroupName: string): Promise<void>;
|
|
36
|
+
doesMemberInfoHaveValue(infoName: string, value: string): Promise<void>;
|
|
37
|
+
clickApprovedSlider(): Promise<void>;
|
|
38
|
+
clickLockedOutSlider(): Promise<void>;
|
|
39
|
+
clickTwoFactorAuthenticationSlider(): Promise<void>;
|
|
40
|
+
clickChangePasswordButton(): Promise<void>;
|
|
41
|
+
clickRemoveMemberGroupByName(memberGroupName: string): Promise<void>;
|
|
42
|
+
enterNewPassword(password: string): Promise<void>;
|
|
43
|
+
clickMembersMenu(): Promise<void>;
|
|
44
|
+
goToMembers(): Promise<void>;
|
|
45
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemberUiHelper = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
6
|
+
const ConstantHelper_1 = require("./ConstantHelper");
|
|
7
|
+
class MemberUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
8
|
+
membersTab;
|
|
9
|
+
searchTxt;
|
|
10
|
+
memberNameTxt;
|
|
11
|
+
commentsTxt;
|
|
12
|
+
memberTab;
|
|
13
|
+
detailsTab;
|
|
14
|
+
usernameTxt;
|
|
15
|
+
emailTxt;
|
|
16
|
+
passwordTxt;
|
|
17
|
+
confirmPasswordTxt;
|
|
18
|
+
confirmNewPasswordTxt;
|
|
19
|
+
approvedSlider;
|
|
20
|
+
lockedOutSlider;
|
|
21
|
+
twoFactorAuthenticationSlider;
|
|
22
|
+
memberInfoItems;
|
|
23
|
+
changePasswordBtn;
|
|
24
|
+
newPasswordTxt;
|
|
25
|
+
membersMenu;
|
|
26
|
+
constructor(page) {
|
|
27
|
+
super(page);
|
|
28
|
+
this.membersTab = page.locator('uui-tab[label="Members"]');
|
|
29
|
+
this.searchTxt = page.locator('#input-search');
|
|
30
|
+
this.memberNameTxt = page.locator('#name-input #input');
|
|
31
|
+
this.commentsTxt = page.getByLabel('Textarea');
|
|
32
|
+
this.memberTab = page.locator('uui-tab').filter({ hasText: 'Member' }).locator('svg');
|
|
33
|
+
this.detailsTab = page.locator('uui-tab').filter({ hasText: 'Details' }).locator('svg');
|
|
34
|
+
this.usernameTxt = page.getByLabel('Username', { exact: true });
|
|
35
|
+
this.emailTxt = page.getByLabel('Email', { exact: true });
|
|
36
|
+
this.passwordTxt = page.getByLabel('Enter your new password', { exact: true });
|
|
37
|
+
this.confirmPasswordTxt = page.getByLabel('Confirm password', { exact: true });
|
|
38
|
+
this.confirmNewPasswordTxt = page.getByLabel('Confirm new password', { exact: true });
|
|
39
|
+
this.approvedSlider = page.locator('[label="Approved"] #slider');
|
|
40
|
+
this.lockedOutSlider = page.locator('[label="Locked out"] #slider');
|
|
41
|
+
this.twoFactorAuthenticationSlider = page.locator('[label="Two-Factor authentication"] #slider');
|
|
42
|
+
this.memberInfoItems = page.locator('umb-stack > div');
|
|
43
|
+
this.changePasswordBtn = page.getByLabel('Change password', { exact: true });
|
|
44
|
+
this.newPasswordTxt = page.getByLabel('New password', { exact: true });
|
|
45
|
+
this.membersMenu = page.locator('umb-menu').getByLabel('Members', { exact: true });
|
|
46
|
+
}
|
|
47
|
+
async clickMembersTab() {
|
|
48
|
+
await this.membersTab.click();
|
|
49
|
+
}
|
|
50
|
+
async clickMemberTab() {
|
|
51
|
+
await (0, test_1.expect)(this.memberTab).toBeVisible();
|
|
52
|
+
await this.memberTab.click();
|
|
53
|
+
}
|
|
54
|
+
async clickDetailsTab() {
|
|
55
|
+
await (0, test_1.expect)(this.detailsTab).toBeVisible();
|
|
56
|
+
await this.detailsTab.click();
|
|
57
|
+
}
|
|
58
|
+
async clickMemberLinkByName(memberName) {
|
|
59
|
+
await this.page.getByRole('link', { name: memberName }).click();
|
|
60
|
+
}
|
|
61
|
+
async enterSearchKeyword(keyword) {
|
|
62
|
+
await (0, test_1.expect)(this.searchTxt).toBeVisible();
|
|
63
|
+
await this.searchTxt.clear();
|
|
64
|
+
await this.searchTxt.fill(keyword);
|
|
65
|
+
}
|
|
66
|
+
async enterMemberName(name) {
|
|
67
|
+
await this.memberNameTxt.clear();
|
|
68
|
+
await this.memberNameTxt.fill(name);
|
|
69
|
+
}
|
|
70
|
+
async enterComments(comment) {
|
|
71
|
+
await this.commentsTxt.clear();
|
|
72
|
+
await this.commentsTxt.fill(comment);
|
|
73
|
+
}
|
|
74
|
+
async enterUsername(username) {
|
|
75
|
+
await this.usernameTxt.clear();
|
|
76
|
+
await this.usernameTxt.fill(username);
|
|
77
|
+
}
|
|
78
|
+
async enterEmail(email) {
|
|
79
|
+
await this.emailTxt.clear();
|
|
80
|
+
await this.emailTxt.fill(email);
|
|
81
|
+
}
|
|
82
|
+
async enterPassword(password) {
|
|
83
|
+
await this.passwordTxt.clear();
|
|
84
|
+
await this.passwordTxt.fill(password);
|
|
85
|
+
}
|
|
86
|
+
async enterConfirmPassword(password) {
|
|
87
|
+
await this.confirmPasswordTxt.clear();
|
|
88
|
+
await this.confirmPasswordTxt.fill(password);
|
|
89
|
+
}
|
|
90
|
+
async enterConfirmNewPassword(password) {
|
|
91
|
+
await this.confirmNewPasswordTxt.clear();
|
|
92
|
+
await this.confirmNewPasswordTxt.fill(password);
|
|
93
|
+
}
|
|
94
|
+
async chooseMemberGroup(memberGroupName) {
|
|
95
|
+
await this.clickChooseButton();
|
|
96
|
+
await this.page.getByText(memberGroupName, { exact: true }).click();
|
|
97
|
+
await this.submitBtn.click();
|
|
98
|
+
}
|
|
99
|
+
async doesMemberInfoHaveValue(infoName, value) {
|
|
100
|
+
return (0, test_1.expect)(this.memberInfoItems.filter({ hasText: infoName }).locator('span')).toHaveText(value);
|
|
101
|
+
}
|
|
102
|
+
async clickApprovedSlider() {
|
|
103
|
+
await this.approvedSlider.click();
|
|
104
|
+
}
|
|
105
|
+
async clickLockedOutSlider() {
|
|
106
|
+
await this.lockedOutSlider.click();
|
|
107
|
+
}
|
|
108
|
+
async clickTwoFactorAuthenticationSlider() {
|
|
109
|
+
await this.twoFactorAuthenticationSlider.click();
|
|
110
|
+
}
|
|
111
|
+
async clickChangePasswordButton() {
|
|
112
|
+
await this.changePasswordBtn.click();
|
|
113
|
+
}
|
|
114
|
+
async clickRemoveMemberGroupByName(memberGroupName) {
|
|
115
|
+
await this.page.locator('[name="' + memberGroupName + '"]').getByLabel('Remove').click();
|
|
116
|
+
}
|
|
117
|
+
async enterNewPassword(password) {
|
|
118
|
+
await this.newPasswordTxt.clear();
|
|
119
|
+
await this.newPasswordTxt.fill(password);
|
|
120
|
+
}
|
|
121
|
+
async clickMembersMenu() {
|
|
122
|
+
await this.membersMenu.click();
|
|
123
|
+
}
|
|
124
|
+
async goToMembers() {
|
|
125
|
+
await this.goToSection(ConstantHelper_1.ConstantHelper.sections.members);
|
|
126
|
+
await this.clickMembersMenu();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.MemberUiHelper = MemberUiHelper;
|
|
130
|
+
//# sourceMappingURL=MemberUiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemberUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class MemberUiHelper extends UiBaseLocators {\n private readonly membersTab: Locator;\n private readonly searchTxt: Locator;\n private readonly memberNameTxt: Locator;\n private readonly commentsTxt: Locator;\n private readonly memberTab: Locator;\n private readonly detailsTab: Locator;\n private readonly usernameTxt: Locator;\n private readonly emailTxt: Locator;\n private readonly passwordTxt: Locator;\n private readonly confirmPasswordTxt: Locator;\n private readonly confirmNewPasswordTxt: Locator;\n private readonly approvedSlider: Locator;\n private readonly lockedOutSlider: Locator;\n private readonly twoFactorAuthenticationSlider: Locator;\n private readonly memberInfoItems: Locator;\n private readonly changePasswordBtn: Locator;\n private readonly newPasswordTxt: Locator;\n private readonly membersMenu: Locator;\n\n constructor(page: Page) {\n super(page);\n this.membersTab = page.locator('uui-tab[label=\"Members\"]');\n this.searchTxt = page.locator('#input-search');\n this.memberNameTxt = page.locator('#name-input #input');\n this.commentsTxt = page.getByLabel('Textarea');\n this.memberTab = page.locator('uui-tab').filter({hasText: 'Member'}).locator('svg');\n this.detailsTab = page.locator('uui-tab').filter({hasText: 'Details'}).locator('svg');\n this.usernameTxt = page.getByLabel('Username', {exact: true});\n this.emailTxt = page.getByLabel('Email', {exact: true});\n this.passwordTxt = page.getByLabel('Enter your new password', {exact: true});\n this.confirmPasswordTxt = page.getByLabel('Confirm password', {exact: true});\n this.confirmNewPasswordTxt = page.getByLabel('Confirm new password', {exact: true});\n this.approvedSlider = page.locator('[label=\"Approved\"] #slider');\n this.lockedOutSlider = page.locator('[label=\"Locked out\"] #slider');\n this.twoFactorAuthenticationSlider = page.locator('[label=\"Two-Factor authentication\"] #slider');\n this.memberInfoItems = page.locator('umb-stack > div');\n this.changePasswordBtn = page.getByLabel('Change password', {exact: true});\n this.newPasswordTxt = page.getByLabel('New password', {exact: true});\n this.membersMenu = page.locator('umb-menu').getByLabel('Members', {exact: true});\n }\n\n async clickMembersTab() {\n await this.membersTab.click();\n }\n\n async clickMemberTab() {\n await expect(this.memberTab).toBeVisible();\n await this.memberTab.click();\n }\n\n async clickDetailsTab() {\n await expect(this.detailsTab).toBeVisible();\n await this.detailsTab.click();\n }\n\n async clickMemberLinkByName(memberName: string) {\n await this.page.getByRole('link', {name: memberName}).click();\n }\n\n async enterSearchKeyword(keyword: string) {\n await expect(this.searchTxt).toBeVisible();\n await this.searchTxt.clear();\n await this.searchTxt.fill(keyword);\n }\n\n async enterMemberName(name: string) {\n await this.memberNameTxt.clear();\n await this.memberNameTxt.fill(name);\n }\n\n async enterComments(comment: string) {\n await this.commentsTxt.clear();\n await this.commentsTxt.fill(comment);\n }\n\n async enterUsername(username: string) {\n await this.usernameTxt.clear();\n await this.usernameTxt.fill(username);\n }\n\n async enterEmail(email: string) {\n await this.emailTxt.clear();\n await this.emailTxt.fill(email);\n }\n\n async enterPassword(password: string) {\n await this.passwordTxt.clear();\n await this.passwordTxt.fill(password);\n }\n\n async enterConfirmPassword(password: string) {\n await this.confirmPasswordTxt.clear();\n await this.confirmPasswordTxt.fill(password);\n }\n\n async enterConfirmNewPassword(password: string) {\n await this.confirmNewPasswordTxt.clear();\n await this.confirmNewPasswordTxt.fill(password);\n }\n\n async chooseMemberGroup(memberGroupName: string) {\n await this.clickChooseButton();\n await this.page.getByText(memberGroupName, {exact: true}).click();\n await this.submitBtn.click();\n }\n\n async doesMemberInfoHaveValue(infoName: string, value: string) {\n return expect(this.memberInfoItems.filter({hasText: infoName}).locator('span')).toHaveText(value);\n }\n\n async clickApprovedSlider() {\n await this.approvedSlider.click();\n }\n\n async clickLockedOutSlider() {\n await this.lockedOutSlider.click();\n }\n\n async clickTwoFactorAuthenticationSlider() {\n await this.twoFactorAuthenticationSlider.click();\n }\n\n async clickChangePasswordButton() {\n await this.changePasswordBtn.click();\n }\n\n async clickRemoveMemberGroupByName(memberGroupName: string) {\n await this.page.locator('[name=\"' + memberGroupName + '\"]').getByLabel('Remove').click();\n }\n\n async enterNewPassword(password: string) {\n await this.newPasswordTxt.clear();\n await this.newPasswordTxt.fill(password);\n }\n\n async clickMembersMenu() {\n await this.membersMenu.click();\n }\n\n async goToMembers() {\n await this.goToSection(ConstantHelper.sections.members);\n await this.clickMembersMenu();\n }\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModelsBuilderApiHelper = void 0;
|
|
4
|
+
class ModelsBuilderApiHelper {
|
|
5
|
+
api;
|
|
6
|
+
constructor(api) {
|
|
7
|
+
this.api = api;
|
|
8
|
+
}
|
|
9
|
+
async getDashboard() {
|
|
10
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/models-builder/dashboard');
|
|
11
|
+
return await response.json();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.ModelsBuilderApiHelper = ModelsBuilderApiHelper;
|
|
15
|
+
//# sourceMappingURL=ModelsBuilderApiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelsBuilderApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ModelsBuilderApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IACjC,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,qDAAqD,CAAC,CAAC;QAC9G,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;CACF;AAXD,wDAWC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class ModelsBuilderApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async getDashboard() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/models-builder/dashboard');\n return await response.json(); \n }\n}"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Page } from "@playwright/test";
|
|
2
|
+
import { UiBaseLocators } from "./UiBaseLocators";
|
|
3
|
+
export declare class ModelsBuilderUiHelper extends UiBaseLocators {
|
|
4
|
+
private readonly modelsBuilderTab;
|
|
5
|
+
private readonly modelsBuilderDashboardContent;
|
|
6
|
+
constructor(page: Page);
|
|
7
|
+
clickModelsBuilderTab(): Promise<void>;
|
|
8
|
+
doesModelsBuilderDashboardHaveText(text: string): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModelsBuilderUiHelper = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
6
|
+
class ModelsBuilderUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
7
|
+
modelsBuilderTab;
|
|
8
|
+
modelsBuilderDashboardContent;
|
|
9
|
+
constructor(page) {
|
|
10
|
+
super(page);
|
|
11
|
+
this.modelsBuilderTab = page.getByRole('tab', { name: 'Models Builder' });
|
|
12
|
+
this.modelsBuilderDashboardContent = page.locator('umb-models-builder-dashboard');
|
|
13
|
+
}
|
|
14
|
+
async clickModelsBuilderTab() {
|
|
15
|
+
await this.modelsBuilderTab.click();
|
|
16
|
+
}
|
|
17
|
+
async doesModelsBuilderDashboardHaveText(text) {
|
|
18
|
+
return await (0, test_1.expect)(this.modelsBuilderDashboardContent).toContainText(text, { timeout: 10000 });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.ModelsBuilderUiHelper = ModelsBuilderUiHelper;
|
|
22
|
+
//# sourceMappingURL=ModelsBuilderUiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelsBuilderUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ModelsBuilderUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,qBAAsB,SAAQ,+BAAc;IACtC,gBAAgB,CAAU;IAC1B,6BAA6B,CAAU;IAExD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAC,CAAC,CAAC;QACxE,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,IAAY;QACnD,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;IAChG,CAAC;CACF;AAjBD,sDAiBC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class ModelsBuilderUiHelper extends UiBaseLocators {\n private readonly modelsBuilderTab: Locator;\n private readonly modelsBuilderDashboardContent: Locator;\n\n constructor(page: Page) {\n super(page);\n this.modelsBuilderTab = page.getByRole('tab', {name: 'Models Builder'});\n this.modelsBuilderDashboardContent = page.locator('umb-models-builder-dashboard');\n }\n\n async clickModelsBuilderTab() {\n await this.modelsBuilderTab.click();\n }\n\n async doesModelsBuilderDashboardHaveText(text: string) {\n return await expect(this.modelsBuilderDashboardContent).toContainText(text, {timeout: 10000});\n }\n}\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObjectTypesApiHelper = void 0;
|
|
4
|
+
class ObjectTypesApiHelper {
|
|
5
|
+
api;
|
|
6
|
+
constructor(api) {
|
|
7
|
+
this.api = api;
|
|
8
|
+
}
|
|
9
|
+
async getAll() {
|
|
10
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/object-types?skip=0&take=10000');
|
|
11
|
+
return await response.json();
|
|
12
|
+
}
|
|
13
|
+
async getIdByName(name) {
|
|
14
|
+
const response = await this.getAll();
|
|
15
|
+
if (response.items === null)
|
|
16
|
+
return null;
|
|
17
|
+
for (const item of response.items) {
|
|
18
|
+
if (item.name == name) {
|
|
19
|
+
return item.id;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.ObjectTypesApiHelper = ObjectTypesApiHelper;
|
|
25
|
+
//# sourceMappingURL=ObjectTypesApiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectTypesApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ObjectTypesApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,oBAAoB;IAC/B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2DAA2D,CAAC,CAAC;QACpH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI;YACzB,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE;YACjC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACrB,OAAO,IAAI,CAAC,EAAE,CAAC;aAChB;SACF;IACH,CAAC;CACF;AAtBD,oDAsBC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class ObjectTypesApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async getAll() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/object-types?skip=0&take=10000');\n return await response.json(); \n }\n\n async getIdByName(name: string) {\n const response = await this.getAll();\n if (response.items === null) \n return null;\n for (const item of response.items) {\n if (item.name == name) {\n return item.id;\n }\n }\n }\n}"]}
|
|
@@ -3,8 +3,8 @@ export declare class PackageApiHelper {
|
|
|
3
3
|
api: ApiHelpers;
|
|
4
4
|
constructor(api: ApiHelpers);
|
|
5
5
|
ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
doesExist(id: string): Promise<boolean>;
|
|
7
|
+
doesNameExist(name: string): Promise<boolean>;
|
|
8
8
|
create(name: string, contentLoadChildNodes?: boolean, mediaLoadChildNodes?: boolean, contentNodeId?: string, mediaIds?: string[], documentTypes?: any, mediaTypes?: any, dataTypes?: any, templates?: any, partialViews?: any, stylesheets?: any, scripts?: any, languages?: any, dictionaryItems?: any): Promise<string | undefined>;
|
|
9
9
|
getByName(name: string): Promise<any>;
|
|
10
10
|
get(id: string): Promise<any>;
|
|
@@ -12,4 +12,5 @@ export declare class PackageApiHelper {
|
|
|
12
12
|
update(id: string, packageData: any): Promise<import("playwright-core").APIResponse>;
|
|
13
13
|
delete(id: string): Promise<import("playwright-core").APIResponse>;
|
|
14
14
|
download(id: string): Promise<string>;
|
|
15
|
+
createEmptyPackage(name: string): Promise<string | undefined>;
|
|
15
16
|
}
|
|
@@ -18,11 +18,11 @@ class PackageApiHelper {
|
|
|
18
18
|
}
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
21
|
-
async
|
|
21
|
+
async doesExist(id) {
|
|
22
22
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);
|
|
23
23
|
return response.status() === 200;
|
|
24
24
|
}
|
|
25
|
-
async
|
|
25
|
+
async doesNameExist(name) {
|
|
26
26
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
|
|
27
27
|
const json = await response.json();
|
|
28
28
|
if (name !== null) {
|
|
@@ -34,7 +34,7 @@ class PackageApiHelper {
|
|
|
34
34
|
}
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
|
-
async create(name, contentLoadChildNodes =
|
|
37
|
+
async create(name, contentLoadChildNodes = false, mediaLoadChildNodes = false, contentNodeId, mediaIds, documentTypes, mediaTypes, dataTypes, templates, partialViews, stylesheets, scripts, languages, dictionaryItems) {
|
|
38
38
|
const packageData = {
|
|
39
39
|
"name": name,
|
|
40
40
|
"contentNodeId": contentNodeId,
|
|
@@ -114,6 +114,9 @@ class PackageApiHelper {
|
|
|
114
114
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id + '/download');
|
|
115
115
|
return await response.text();
|
|
116
116
|
}
|
|
117
|
+
async createEmptyPackage(name) {
|
|
118
|
+
return await this.create(name);
|
|
119
|
+
}
|
|
117
120
|
}
|
|
118
121
|
exports.PackageApiHelper = PackageApiHelper;
|
|
119
122
|
//# sourceMappingURL=PackageApiHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,gBAAgB;IAC3B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,8DAA8D,CAAC,CAAC;QACvH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;YAC3B,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE;gBACpB,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;oBAClB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,6CAA6C,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;iBACxG;aACF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"PackageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class PackageApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);\n return response.status() === 200;\n }\n\n async doesNameExist(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');\n const json = await response.json();\n\n if (name !== null) {\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n }\n return false;\n }\n\n async create(name: string, contentLoadChildNodes = false, mediaLoadChildNodes = false, contentNodeId?: string, mediaIds?: string[], documentTypes?, mediaTypes?, dataTypes?, templates?, partialViews?, stylesheets?, scripts?, languages?, dictionaryItems?) {\n const packageData = {\n \"name\": name,\n \"contentNodeId\": contentNodeId,\n \"contentLoadChildNodes\": contentLoadChildNodes,\n \"mediaIds\": mediaIds,\n \"mediaLoadChildNodes\": mediaLoadChildNodes,\n \"documentTypes\": [\n documentTypes\n ],\n \"mediaTypes\": [\n mediaTypes\n ],\n \"dataTypes\": [\n dataTypes\n ],\n \"templates\": [\n templates\n ],\n \"partialViews\": [\n partialViews\n ],\n \"stylesheets\": [\n stylesheets\n ],\n \"scripts\": [\n scripts\n ],\n \"languages\": [\n languages\n ],\n \"dictionaryItems\": [\n dictionaryItems\n ]\n };\n\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/package/created', packageData);\n // Returns the id of the created package\n return response.headers().location.split(\"/\").pop();\n }\n\n async getByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');\n const json = await response.json();\n\n if (name !== null) {\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + sb.id);\n return await response.json();\n }\n }\n }\n }\n return null;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n\n }\n\n async getAll() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async update(id: string, packageData) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id, packageData);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);\n }\n\n async download(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id + '/download');\n return await response.text();\n }\n\n async createEmptyPackage(name: string) {\n return await this.create(name);\n }\n}"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Page } from "@playwright/test";
|
|
2
|
+
import { UiBaseLocators } from "./UiBaseLocators";
|
|
3
|
+
export declare class PackageUiHelper extends UiBaseLocators {
|
|
4
|
+
private readonly createdTabBtn;
|
|
5
|
+
private readonly marketPlaceIFrame;
|
|
6
|
+
private readonly installedTabBtn;
|
|
7
|
+
private readonly noPackagesHaveBeenInstalledTxt;
|
|
8
|
+
private readonly packagesTabBtn;
|
|
9
|
+
private readonly createPackageBtn;
|
|
10
|
+
private readonly packageNameTxt;
|
|
11
|
+
private readonly saveChangesToPackageBtn;
|
|
12
|
+
private readonly addContentToPackageBtn;
|
|
13
|
+
private readonly addMediaToPackageBtn;
|
|
14
|
+
private readonly addDocumentTypeToPackageBtn;
|
|
15
|
+
private readonly addMediaTypeToPackageBtn;
|
|
16
|
+
private readonly addLanguageToPackageBtn;
|
|
17
|
+
private readonly addDictionaryToPackageBtn;
|
|
18
|
+
private readonly addDataTypesToPackageBtn;
|
|
19
|
+
private readonly addTemplatesToPackagesBtn;
|
|
20
|
+
private readonly addPartialViewToPackageBtn;
|
|
21
|
+
private readonly addScriptToPackageBtn;
|
|
22
|
+
private readonly addStylesheetToPackageBtn;
|
|
23
|
+
private readonly downloadPackageBtn;
|
|
24
|
+
constructor(page: Page);
|
|
25
|
+
isTextNoPackagesHaveBeenInstalledVisible(isVisible?: boolean): Promise<void>;
|
|
26
|
+
clickCreatedTab(): Promise<void>;
|
|
27
|
+
clickInstalledTab(): Promise<void>;
|
|
28
|
+
clickPackagesTab(): Promise<void>;
|
|
29
|
+
clickChooseBtn(): Promise<void>;
|
|
30
|
+
isMarketPlaceIFrameVisible(isVisible?: boolean): Promise<void>;
|
|
31
|
+
clickCreatePackageButton(): Promise<void>;
|
|
32
|
+
enterPackageName(packageName: string): Promise<void>;
|
|
33
|
+
isPackageNameVisible(packageName: string, isVisible?: boolean): Promise<void>;
|
|
34
|
+
clickExistingPackageName(packageName: string): Promise<void>;
|
|
35
|
+
clickDeleteButtonForPackageName(packageName: string): Promise<void>;
|
|
36
|
+
clickSaveChangesToPackageButton(): Promise<void>;
|
|
37
|
+
clickAddContentToPackageButton(): Promise<void>;
|
|
38
|
+
clickAddMediaToPackageButton(): Promise<void>;
|
|
39
|
+
clickAddDocumentTypeToPackageButton(): Promise<void>;
|
|
40
|
+
clickAddMediaTypeToPackageButton(): Promise<void>;
|
|
41
|
+
clickAddLanguageToPackageButton(): Promise<void>;
|
|
42
|
+
clickAddDictionaryToPackageButton(): Promise<void>;
|
|
43
|
+
clickAddDataTypesToPackageButton(): Promise<void>;
|
|
44
|
+
clickAddTemplatesToPackageButton(): Promise<void>;
|
|
45
|
+
clickAddPartialViewToPackageButton(): Promise<void>;
|
|
46
|
+
clickAddScriptToPackageButton(): Promise<void>;
|
|
47
|
+
clickAddStylesheetToPackageButton(): Promise<void>;
|
|
48
|
+
downloadPackage(packageId: string): Promise<string>;
|
|
49
|
+
}
|