@umbraco/playwright-testhelpers 2.0.0-beta.8 → 2.0.0-beta.81
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 +41 -4
- package/dist/lib/helpers/ApiHelpers.js +168 -4
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/ConstantHelper.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.d.ts +141 -0
- package/dist/lib/helpers/ContentUiHelper.js +429 -0
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -0
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +93 -14
- package/dist/lib/helpers/DataTypeApiHelper.js +765 -132
- 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 +12 -8
- package/dist/lib/helpers/DictionaryApiHelper.js +104 -66
- package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryUiHelper.d.ts +32 -0
- package/dist/lib/helpers/DictionaryUiHelper.js +100 -0
- package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -0
- package/dist/lib/helpers/DocumentApiHelper.d.ts +35 -0
- package/dist/lib/helpers/DocumentApiHelper.js +326 -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 +18 -0
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js +54 -0
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +37 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js +464 -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 +15 -0
- package/dist/lib/helpers/LoginApiHelper.js +85 -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 +60 -0
- package/dist/lib/helpers/MediaUiHelper.js +187 -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 +15 -0
- package/dist/lib/helpers/MemberGroupUiHelper.js +40 -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 +42 -0
- package/dist/lib/helpers/MemberUiHelper.js +120 -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 +8 -30
- package/dist/lib/helpers/PartialViewUiHelper.js +30 -86
- 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 +18 -0
- package/dist/lib/helpers/ScriptUiHelper.js +59 -0
- package/dist/lib/helpers/ScriptUiHelper.js.map +1 -0
- 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 +22 -28
- package/dist/lib/helpers/StylesheetUiHelper.js +72 -75
- 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 +25 -0
- package/dist/lib/helpers/TemplateUiHelper.js +93 -0
- package/dist/lib/helpers/TemplateUiHelper.js.map +1 -0
- 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 +228 -0
- package/dist/lib/helpers/UiBaseLocators.js +720 -0
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -0
- package/dist/lib/helpers/UiHelpers.d.ts +56 -9
- package/dist/lib/helpers/UiHelpers.js +87 -39
- package/dist/lib/helpers/UiHelpers.js.map +1 -1
- package/dist/lib/helpers/UserApiHelper.d.ts +16 -9
- package/dist/lib/helpers/UserApiHelper.js +64 -19
- 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 +73 -0
- package/dist/lib/helpers/UserUiHelper.js +202 -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 +2 -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,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProfilingUiHelper = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
6
|
+
class ProfilingUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
7
|
+
profilingTab;
|
|
8
|
+
activateProfilerByDefaultSlider;
|
|
9
|
+
activateProfilerByDefaultCheckbox;
|
|
10
|
+
constructor(page) {
|
|
11
|
+
super(page);
|
|
12
|
+
this.profilingTab = page.getByRole('tab', { name: 'Profiling' });
|
|
13
|
+
this.activateProfilerByDefaultSlider = page.locator("[label='Activate the profiler by default'] #slider");
|
|
14
|
+
this.activateProfilerByDefaultCheckbox = page.getByLabel('Activate the profiler by default');
|
|
15
|
+
}
|
|
16
|
+
async clickProfilingTab() {
|
|
17
|
+
await this.profilingTab.click();
|
|
18
|
+
}
|
|
19
|
+
async clickActivateProfilerByDefaultSlider() {
|
|
20
|
+
await this.activateProfilerByDefaultSlider.click();
|
|
21
|
+
}
|
|
22
|
+
async isActivateProfilerByDefaultSliderChecked(isChecked) {
|
|
23
|
+
return (0, test_1.expect)(this.activateProfilerByDefaultCheckbox).toBeChecked({ checked: isChecked });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.ProfilingUiHelper = ProfilingUiHelper;
|
|
27
|
+
//# sourceMappingURL=ProfilingUiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfilingUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ProfilingUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,iBAAkB,SAAQ,+BAAc;IAClC,YAAY,CAAU;IACtB,+BAA+B,CAAU;IACzC,iCAAiC,CAAU;IAE5D,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;QAC1G,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,oCAAoC;QACxC,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,wCAAwC,CAAC,SAAkB;QAC/D,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IAC1F,CAAC;CACF;AAvBD,8CAuBC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class ProfilingUiHelper extends UiBaseLocators {\n private readonly profilingTab: Locator;\n private readonly activateProfilerByDefaultSlider: Locator;\n private readonly activateProfilerByDefaultCheckbox: Locator;\n\n constructor(page: Page) {\n super(page);\n this.profilingTab = page.getByRole('tab', {name: 'Profiling'});\n this.activateProfilerByDefaultSlider = page.locator(\"[label='Activate the profiler by default'] #slider\");\n this.activateProfilerByDefaultCheckbox = page.getByLabel('Activate the profiler by default');\n }\n\n async clickProfilingTab() {\n await this.profilingTab.click();\n }\n\n async clickActivateProfilerByDefaultSlider() {\n await this.activateProfilerByDefaultSlider.click();\n }\n\n async isActivateProfilerByDefaultSliderChecked(isChecked: boolean) {\n return expect(this.activateProfilerByDefaultCheckbox).toBeChecked({checked: isChecked});\n }\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PublishedCacheApiHelper = void 0;
|
|
4
|
+
class PublishedCacheApiHelper {
|
|
5
|
+
api;
|
|
6
|
+
constructor(api) {
|
|
7
|
+
this.api = api;
|
|
8
|
+
}
|
|
9
|
+
async getStatus() {
|
|
10
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/published-cache/status');
|
|
11
|
+
return await response.json();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.PublishedCacheApiHelper = PublishedCacheApiHelper;
|
|
15
|
+
//# sourceMappingURL=PublishedCacheApiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublishedCacheApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PublishedCacheApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,uBAAuB;IAClC,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,mDAAmD,CAAC,CAAC;QAC5G,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;CACF;AAXD,0DAWC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class PublishedCacheApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async getStatus() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/published-cache/status');\n return await response.json(); \n }\n}"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Page } from "@playwright/test";
|
|
2
|
+
import { UiBaseLocators } from "./UiBaseLocators";
|
|
3
|
+
export declare class PublishedStatusUiHelper extends UiBaseLocators {
|
|
4
|
+
private readonly publishedStatusTab;
|
|
5
|
+
private readonly refreshStatusBtn;
|
|
6
|
+
private readonly reloadMemoryCacheBtn;
|
|
7
|
+
private readonly rebuildDatabaseCacheBtn;
|
|
8
|
+
private readonly snapshotInternalCacheBtn;
|
|
9
|
+
private readonly continueBtn;
|
|
10
|
+
private readonly publishedCacheBox;
|
|
11
|
+
constructor(page: Page);
|
|
12
|
+
clickPublishedStatusTab(): Promise<void>;
|
|
13
|
+
clickRefreshStatusButton(): Promise<void>;
|
|
14
|
+
clickReloadMemoryCacheButton(): Promise<void>;
|
|
15
|
+
clickRebuildDatabaseCacheButton(): Promise<void>;
|
|
16
|
+
clickSnapshotInternalCacheButton(): Promise<void>;
|
|
17
|
+
clickContinueButton(): Promise<void>;
|
|
18
|
+
isPublishedCacheStatusVisible(status: string): Promise<void>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PublishedStatusUiHelper = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
6
|
+
class PublishedStatusUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
7
|
+
publishedStatusTab;
|
|
8
|
+
refreshStatusBtn;
|
|
9
|
+
reloadMemoryCacheBtn;
|
|
10
|
+
rebuildDatabaseCacheBtn;
|
|
11
|
+
snapshotInternalCacheBtn;
|
|
12
|
+
continueBtn;
|
|
13
|
+
publishedCacheBox;
|
|
14
|
+
constructor(page) {
|
|
15
|
+
super(page);
|
|
16
|
+
this.publishedStatusTab = page.getByRole('tab', { name: 'Published Status' });
|
|
17
|
+
this.refreshStatusBtn = page.getByLabel('Refresh Status');
|
|
18
|
+
this.reloadMemoryCacheBtn = page.getByLabel('Reload Memory Cache');
|
|
19
|
+
this.rebuildDatabaseCacheBtn = page.getByLabel('Rebuild Database Cache');
|
|
20
|
+
this.snapshotInternalCacheBtn = page.getByLabel('Snapshot Internal Cache');
|
|
21
|
+
this.continueBtn = page.locator('#confirm').getByLabel('Continue');
|
|
22
|
+
this.publishedCacheBox = page.locator('[headline="Published Cache Status"]');
|
|
23
|
+
}
|
|
24
|
+
async clickPublishedStatusTab() {
|
|
25
|
+
await this.publishedStatusTab.click();
|
|
26
|
+
}
|
|
27
|
+
async clickRefreshStatusButton() {
|
|
28
|
+
await this.refreshStatusBtn.click();
|
|
29
|
+
}
|
|
30
|
+
async clickReloadMemoryCacheButton() {
|
|
31
|
+
await this.reloadMemoryCacheBtn.click();
|
|
32
|
+
}
|
|
33
|
+
async clickRebuildDatabaseCacheButton() {
|
|
34
|
+
await this.rebuildDatabaseCacheBtn.click();
|
|
35
|
+
}
|
|
36
|
+
async clickSnapshotInternalCacheButton() {
|
|
37
|
+
await this.snapshotInternalCacheBtn.click();
|
|
38
|
+
}
|
|
39
|
+
async clickContinueButton() {
|
|
40
|
+
await this.continueBtn.click();
|
|
41
|
+
}
|
|
42
|
+
async isPublishedCacheStatusVisible(status) {
|
|
43
|
+
return (0, test_1.expect)(this.publishedCacheBox.getByText(status)).toBeVisible();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.PublishedStatusUiHelper = PublishedStatusUiHelper;
|
|
47
|
+
//# sourceMappingURL=PublishedStatusUiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublishedStatusUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PublishedStatusUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,uBAAwB,SAAQ,+BAAc;IACxC,kBAAkB,CAAU;IAC5B,gBAAgB,CAAU;IAC1B,oBAAoB,CAAU;IAC9B,uBAAuB,CAAU;IACjC,wBAAwB,CAAU;IAClC,WAAW,CAAU;IACrB,iBAAiB,CAAU;IAE5C,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACnE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QACzE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;IAC9E,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,+BAA+B;QACnC,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,gCAAgC;QACpC,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,MAAc;QAChD,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,CAAC;CACF;AA/CD,0DA+CC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class PublishedStatusUiHelper extends UiBaseLocators {\n private readonly publishedStatusTab: Locator;\n private readonly refreshStatusBtn: Locator;\n private readonly reloadMemoryCacheBtn: Locator;\n private readonly rebuildDatabaseCacheBtn: Locator;\n private readonly snapshotInternalCacheBtn: Locator;\n private readonly continueBtn: Locator;\n private readonly publishedCacheBox: Locator;\n\n constructor(page: Page) {\n super(page);\n this.publishedStatusTab = page.getByRole('tab', {name: 'Published Status'});\n this.refreshStatusBtn = page.getByLabel('Refresh Status');\n this.reloadMemoryCacheBtn = page.getByLabel('Reload Memory Cache');\n this.rebuildDatabaseCacheBtn = page.getByLabel('Rebuild Database Cache');\n this.snapshotInternalCacheBtn = page.getByLabel('Snapshot Internal Cache');\n this.continueBtn = page.locator('#confirm').getByLabel('Continue');\n this.publishedCacheBox = page.locator('[headline=\"Published Cache Status\"]')\n }\n\n async clickPublishedStatusTab() {\n await this.publishedStatusTab.click();\n }\n\n async clickRefreshStatusButton() {\n await this.refreshStatusBtn.click();\n }\n\n async clickReloadMemoryCacheButton() {\n await this.reloadMemoryCacheBtn.click();\n }\n\n async clickRebuildDatabaseCacheButton() {\n await this.rebuildDatabaseCacheBtn.click();\n }\n\n async clickSnapshotInternalCacheButton() {\n await this.snapshotInternalCacheBtn.click();\n }\n\n async clickContinueButton() {\n await this.continueBtn.click();\n }\n\n async isPublishedCacheStatusVisible(status: string) {\n return expect(this.publishedCacheBox.getByText(status)).toBeVisible();\n }\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ApiHelpers } from "./ApiHelpers";
|
|
2
|
+
export declare class RedirectManagementApiHelper {
|
|
3
|
+
api: ApiHelpers;
|
|
4
|
+
constructor(api: ApiHelpers);
|
|
5
|
+
get(id: string): Promise<any>;
|
|
6
|
+
delete(id: string): Promise<any>;
|
|
7
|
+
getAll(): Promise<any>;
|
|
8
|
+
getStatus(): Promise<any>;
|
|
9
|
+
setStatus(status: string): Promise<import("playwright-core").APIResponse>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RedirectManagementApiHelper = void 0;
|
|
4
|
+
class RedirectManagementApiHelper {
|
|
5
|
+
api;
|
|
6
|
+
constructor(api) {
|
|
7
|
+
this.api = api;
|
|
8
|
+
}
|
|
9
|
+
async get(id) {
|
|
10
|
+
const response = await this.api.get(this.api.baseUrl + 'umbraco/management/api/v1/redirect-management/' + id);
|
|
11
|
+
return await response.json();
|
|
12
|
+
}
|
|
13
|
+
async delete(id) {
|
|
14
|
+
const response = await this.api.delete(this.api.baseUrl + 'umbraco/management/api/v1/redirect-management/' + id);
|
|
15
|
+
return await response.json();
|
|
16
|
+
}
|
|
17
|
+
async getAll() {
|
|
18
|
+
const response = await this.api.get(this.api.baseUrl + 'umbraco/management/api/v1/redirect-management?skip=0&take=1000');
|
|
19
|
+
return await response.json();
|
|
20
|
+
}
|
|
21
|
+
async getStatus() {
|
|
22
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/redirect-management/status');
|
|
23
|
+
return await response.json();
|
|
24
|
+
}
|
|
25
|
+
async setStatus(status) {
|
|
26
|
+
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/redirect-management/status?status=' + status);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.RedirectManagementApiHelper = RedirectManagementApiHelper;
|
|
30
|
+
//# sourceMappingURL=RedirectManagementApiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RedirectManagementApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/RedirectManagementApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,2BAA2B;IACtC,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,gDAAgD,GAAG,EAAE,CAAC,CAAC;QAC9G,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,gDAAgD,GAAG,EAAE,CAAC,CAAC;QACjH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,gEAAgE,CAAC,CAAC;QACzH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,uDAAuD,CAAC,CAAC;QAChH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+DAA+D,GAAG,MAAM,CAAC,CAAC;IAC1H,CAAC;CACF;AA9BD,kEA8BC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class RedirectManagementApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + 'umbraco/management/api/v1/redirect-management/' + id);\n return await response.json(); \n }\n\n async delete(id: string) {\n const response = await this.api.delete(this.api.baseUrl + 'umbraco/management/api/v1/redirect-management/' + id);\n return await response.json(); \n }\n\n async getAll() {\n const response = await this.api.get(this.api.baseUrl + 'umbraco/management/api/v1/redirect-management?skip=0&take=1000');\n return await response.json(); \n }\n\n async getStatus() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/redirect-management/status');\n return await response.json(); \n }\n\n async setStatus(status: string) {\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/redirect-management/status?status=' + status);\n }\n}"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Page } from "@playwright/test";
|
|
2
|
+
import { UiBaseLocators } from "./UiBaseLocators";
|
|
3
|
+
export declare class RedirectManagementUiHelper extends UiBaseLocators {
|
|
4
|
+
private readonly redirectManagementTab;
|
|
5
|
+
private readonly enableURLTrackerBtn;
|
|
6
|
+
private readonly disableURLTrackerBtn;
|
|
7
|
+
private readonly originalUrlTxt;
|
|
8
|
+
private readonly searchBtn;
|
|
9
|
+
private readonly firstDeleteButton;
|
|
10
|
+
constructor(page: Page);
|
|
11
|
+
clickRedirectManagementTab(): Promise<void>;
|
|
12
|
+
clickEnableURLTrackerButton(): Promise<void>;
|
|
13
|
+
clickDisableURLTrackerButton(): Promise<void>;
|
|
14
|
+
enterOriginalUrl(url: string): Promise<void>;
|
|
15
|
+
clickSearchButton(): Promise<void>;
|
|
16
|
+
deleteFirstRedirectURL(): Promise<void>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RedirectManagementUiHelper = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
6
|
+
class RedirectManagementUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
7
|
+
redirectManagementTab;
|
|
8
|
+
enableURLTrackerBtn;
|
|
9
|
+
disableURLTrackerBtn;
|
|
10
|
+
originalUrlTxt;
|
|
11
|
+
searchBtn;
|
|
12
|
+
firstDeleteButton;
|
|
13
|
+
constructor(page) {
|
|
14
|
+
super(page);
|
|
15
|
+
this.redirectManagementTab = page.getByRole('tab', { name: 'Redirect URL Management' });
|
|
16
|
+
this.enableURLTrackerBtn = page.getByLabel('Enable URL tracker');
|
|
17
|
+
this.disableURLTrackerBtn = page.getByLabel('Disable URL tracker');
|
|
18
|
+
this.originalUrlTxt = page.getByLabel('Original URL');
|
|
19
|
+
this.searchBtn = page.getByLabel('Search', { exact: true });
|
|
20
|
+
this.firstDeleteButton = page.locator('uui-button[label="Delete"]').first().locator('svg');
|
|
21
|
+
}
|
|
22
|
+
async clickRedirectManagementTab() {
|
|
23
|
+
await this.redirectManagementTab.click();
|
|
24
|
+
}
|
|
25
|
+
async clickEnableURLTrackerButton() {
|
|
26
|
+
await this.enableURLTrackerBtn.click();
|
|
27
|
+
}
|
|
28
|
+
async clickDisableURLTrackerButton() {
|
|
29
|
+
await this.disableURLTrackerBtn.click();
|
|
30
|
+
}
|
|
31
|
+
async enterOriginalUrl(url) {
|
|
32
|
+
await this.originalUrlTxt.clear();
|
|
33
|
+
await this.originalUrlTxt.fill(url);
|
|
34
|
+
}
|
|
35
|
+
async clickSearchButton() {
|
|
36
|
+
await this.searchBtn.click();
|
|
37
|
+
}
|
|
38
|
+
async deleteFirstRedirectURL() {
|
|
39
|
+
await (0, test_1.expect)(this.firstDeleteButton).toBeVisible();
|
|
40
|
+
await this.firstDeleteButton.click();
|
|
41
|
+
await this.clickConfirmToDeleteButton();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.RedirectManagementUiHelper = RedirectManagementUiHelper;
|
|
45
|
+
//# sourceMappingURL=RedirectManagementUiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RedirectManagementUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/RedirectManagementUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,0BAA2B,SAAQ,+BAAc;IAC3C,qBAAqB,CAAU;IAC/B,mBAAmB,CAAU;IAC7B,oBAAoB,CAAU;IAC9B,cAAc,CAAU;IACxB,SAAS,CAAU;IACnB,iBAAiB,CAAU;IAE5C,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,yBAAyB,EAAC,CAAC,CAAC;QACtF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACjE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC1C,CAAC;CACF;AA5CD,gEA4CC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class RedirectManagementUiHelper extends UiBaseLocators {\n private readonly redirectManagementTab: Locator;\n private readonly enableURLTrackerBtn: Locator;\n private readonly disableURLTrackerBtn: Locator;\n private readonly originalUrlTxt: Locator;\n private readonly searchBtn: Locator;\n private readonly firstDeleteButton: Locator;\n\n constructor(page: Page) {\n super(page);\n this.redirectManagementTab = page.getByRole('tab', {name: 'Redirect URL Management'});\n this.enableURLTrackerBtn = page.getByLabel('Enable URL tracker');\n this.disableURLTrackerBtn = page.getByLabel('Disable URL tracker');\n this.originalUrlTxt = page.getByLabel('Original URL');\n this.searchBtn = page.getByLabel('Search', { exact: true });\n this.firstDeleteButton = page.locator('uui-button[label=\"Delete\"]').first().locator('svg');\n }\n\n async clickRedirectManagementTab() {\n await this.redirectManagementTab.click();\n }\n\n async clickEnableURLTrackerButton() {\n await this.enableURLTrackerBtn.click();\n }\n\n async clickDisableURLTrackerButton() {\n await this.disableURLTrackerBtn.click();\n }\n\n async enterOriginalUrl(url: string) {\n await this.originalUrlTxt.clear();\n await this.originalUrlTxt.fill(url);\n }\n\n async clickSearchButton() {\n await this.searchBtn.click();\n }\n\n async deleteFirstRedirectURL() {\n await expect(this.firstDeleteButton).toBeVisible();\n await this.firstDeleteButton.click();\n await this.clickConfirmToDeleteButton();\n }\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ApiHelpers } from "./ApiHelpers";
|
|
2
|
+
export declare class RelationTypeApiHelper {
|
|
3
|
+
api: ApiHelpers;
|
|
4
|
+
constructor(api: ApiHelpers);
|
|
5
|
+
get(id: string): Promise<any>;
|
|
6
|
+
doesExist(id: string): Promise<boolean>;
|
|
7
|
+
create(name: string, isBidirectional: boolean, isDependency: boolean, parentObjectTypeId?: string, childObjectTypeId?: string, id?: string): Promise<string | undefined>;
|
|
8
|
+
update(id: string, relationType: any): Promise<import("playwright-core").APIResponse>;
|
|
9
|
+
delete(id: string): Promise<import("playwright-core").APIResponse>;
|
|
10
|
+
getAllAtRoot(): Promise<import("playwright-core").APIResponse>;
|
|
11
|
+
getItems(ids: any): Promise<any>;
|
|
12
|
+
ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
13
|
+
getByName(name: string): Promise<any>;
|
|
14
|
+
doesNameExist(name: string): Promise<boolean>;
|
|
15
|
+
}
|
|
@@ -6,29 +6,35 @@ class RelationTypeApiHelper {
|
|
|
6
6
|
constructor(api) {
|
|
7
7
|
this.api = api;
|
|
8
8
|
}
|
|
9
|
-
async
|
|
10
|
-
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/
|
|
11
|
-
|
|
12
|
-
for (const sb of json.items) {
|
|
13
|
-
if (sb.name === name) {
|
|
14
|
-
if (sb.id !== null) {
|
|
15
|
-
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + sb.id);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return null;
|
|
9
|
+
async get(id) {
|
|
10
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + id);
|
|
11
|
+
return await response.json();
|
|
20
12
|
}
|
|
21
|
-
async
|
|
13
|
+
async doesExist(id) {
|
|
22
14
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + id);
|
|
23
15
|
return response.status() === 200;
|
|
24
16
|
}
|
|
25
|
-
async
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
17
|
+
async create(name, isBidirectional, isDependency, parentObjectTypeId, childObjectTypeId, id) {
|
|
18
|
+
const relationTypeData = {
|
|
19
|
+
"name": name,
|
|
20
|
+
"isBidirectional": isBidirectional,
|
|
21
|
+
"parentObjectType": parentObjectTypeId,
|
|
22
|
+
"childObjectType": childObjectTypeId,
|
|
23
|
+
"isDependency": isDependency,
|
|
24
|
+
"id": id
|
|
25
|
+
};
|
|
26
|
+
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/relation-type', relationTypeData);
|
|
27
|
+
// Returns the id of the created relationType
|
|
28
|
+
return response.headers().location.split("/").pop();
|
|
29
|
+
}
|
|
30
|
+
async update(id, relationType) {
|
|
31
|
+
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + id, relationType);
|
|
32
|
+
}
|
|
33
|
+
async delete(id) {
|
|
34
|
+
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + id);
|
|
35
|
+
}
|
|
36
|
+
async getAllAtRoot() {
|
|
37
|
+
return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/relation-type/root?skip=0&take=10000');
|
|
32
38
|
}
|
|
33
39
|
async getItems(ids) {
|
|
34
40
|
let idArray = 'id=' + ids[0];
|
|
@@ -43,52 +49,33 @@ class RelationTypeApiHelper {
|
|
|
43
49
|
}
|
|
44
50
|
return null;
|
|
45
51
|
}
|
|
46
|
-
async
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
52
|
+
async ensureNameNotExists(name) {
|
|
53
|
+
const rootRelationType = await this.getAllAtRoot();
|
|
54
|
+
const jsonRelationType = await rootRelationType.json();
|
|
55
|
+
for (const relationType of jsonRelationType.items) {
|
|
56
|
+
if (relationType.name === name && relationType.id !== null) {
|
|
57
|
+
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + relationType.id);
|
|
58
|
+
}
|
|
51
59
|
}
|
|
52
60
|
return null;
|
|
53
61
|
}
|
|
54
|
-
async
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
for (const
|
|
58
|
-
if (
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return await response.json();
|
|
62
|
-
}
|
|
62
|
+
async getByName(name) {
|
|
63
|
+
const rootRelationType = await this.getAllAtRoot();
|
|
64
|
+
const jsonRelationType = await rootRelationType.json();
|
|
65
|
+
for (const relationType of jsonRelationType.items) {
|
|
66
|
+
if (relationType.name === name && relationType.id !== null) {
|
|
67
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + relationType.id);
|
|
68
|
+
return await response.json();
|
|
63
69
|
}
|
|
64
70
|
}
|
|
65
71
|
return null;
|
|
66
72
|
}
|
|
67
|
-
async
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
"isBidirectional": isBidirectional,
|
|
71
|
-
"parentObjectType": parentObjectTypeId,
|
|
72
|
-
"childObjectType": childObjectTypeId,
|
|
73
|
-
"isDependency": isDependency,
|
|
74
|
-
"id": id
|
|
75
|
-
};
|
|
76
|
-
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/relation-type', relationTypeData);
|
|
77
|
-
// Returns the id of the created relationType
|
|
78
|
-
return response.headers().location.split("/").pop();
|
|
79
|
-
}
|
|
80
|
-
async update(id, relationType) {
|
|
81
|
-
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + id, relationType);
|
|
82
|
-
}
|
|
83
|
-
async delete(id) {
|
|
84
|
-
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + id);
|
|
85
|
-
}
|
|
86
|
-
async nameExistsAtRoot(name) {
|
|
87
|
-
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/relation-type/root?skip=0&take=10000');
|
|
88
|
-
const searchBody = await response.json();
|
|
73
|
+
async doesNameExist(name) {
|
|
74
|
+
const rootRelationType = await this.getAllAtRoot();
|
|
75
|
+
const jsonRelationType = await rootRelationType.json();
|
|
89
76
|
if (name !== null) {
|
|
90
|
-
for (const
|
|
91
|
-
if (
|
|
77
|
+
for (const relationType of jsonRelationType.items) {
|
|
78
|
+
if (relationType.name === name) {
|
|
92
79
|
return true;
|
|
93
80
|
}
|
|
94
81
|
}
|
|
@@ -97,4 +84,4 @@ class RelationTypeApiHelper {
|
|
|
97
84
|
}
|
|
98
85
|
}
|
|
99
86
|
exports.RelationTypeApiHelper = RelationTypeApiHelper;
|
|
100
|
-
//# sourceMappingURL=
|
|
87
|
+
//# sourceMappingURL=RelationTypeApiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelationTypeApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/RelationTypeApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class RelationTypeApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + id);\n return await response.json();\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + id);\n return response.status() === 200;\n }\n\n async create(name: string, isBidirectional: boolean, isDependency: boolean, parentObjectTypeId?: string, childObjectTypeId?: string, id?: string) {\n const relationTypeData = {\n \"name\": name,\n \"isBidirectional\": isBidirectional,\n \"parentObjectType\": parentObjectTypeId,\n \"childObjectType\": childObjectTypeId,\n \"isDependency\": isDependency,\n \"id\": id\n };\n\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/relation-type', relationTypeData);\n // Returns the id of the created relationType\n return response.headers().location.split(\"/\").pop();\n }\n\n async update(id: string, relationType) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + id, relationType);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + id);\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/relation-type/root?skip=0&take=10000');\n }\n\n async getItems(ids) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async ensureNameNotExists(name: string) {\n const rootRelationType = await this.getAllAtRoot();\n const jsonRelationType = await rootRelationType.json();\n\n for (const relationType of jsonRelationType.items) {\n if (relationType.name === name && relationType.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + relationType.id);\n }\n }\n return null;\n }\n\n async getByName(name: string) {\n const rootRelationType = await this.getAllAtRoot();\n const jsonRelationType = await rootRelationType.json();\n\n for (const relationType of jsonRelationType.items) {\n if (relationType.name === name && relationType.id !== null ) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/relation-type/' + relationType.id);\n return await response.json();\n }\n }\n return null;\n }\n\n async doesNameExist(name: string) {\n const rootRelationType = await this.getAllAtRoot();\n const jsonRelationType = await rootRelationType.json();\n\n if (name !== null) {\n for (const relationType of jsonRelationType.items) {\n if (relationType.name === name) {\n return true;\n }\n }\n }\n return false;\n }\n}"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Page } from "@playwright/test";
|
|
2
|
+
import { UiBaseLocators } from "./UiBaseLocators";
|
|
3
|
+
export declare class RelationTypeUiHelper extends UiBaseLocators {
|
|
4
|
+
private readonly relationTypeNameTxt;
|
|
5
|
+
private readonly parentToChildRadioBtn;
|
|
6
|
+
private readonly bidirectionalRadioBtn;
|
|
7
|
+
private readonly isDependencySlider;
|
|
8
|
+
private readonly parentDropDownBox;
|
|
9
|
+
private readonly childDropDownBox;
|
|
10
|
+
constructor(page: Page);
|
|
11
|
+
clickActionsMenuForRelationType(name: string): Promise<void>;
|
|
12
|
+
clickRootFolderCaretButton(): Promise<void>;
|
|
13
|
+
clickActionsMenuAtRoot(): Promise<void>;
|
|
14
|
+
openRelationTypeByNameAtRoot(relationTypeName: string): Promise<void>;
|
|
15
|
+
enterRelationTypeName(name: string): Promise<void>;
|
|
16
|
+
clickParentToChildRadioButton(): Promise<void>;
|
|
17
|
+
clickBidirectionalRadioButton(): Promise<void>;
|
|
18
|
+
clickIsDependencySlider(): Promise<void>;
|
|
19
|
+
selectParentOption(option: string): Promise<void>;
|
|
20
|
+
selectChildOption(option: string): Promise<void>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RelationTypeUiHelper = void 0;
|
|
4
|
+
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
5
|
+
class RelationTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
6
|
+
relationTypeNameTxt;
|
|
7
|
+
parentToChildRadioBtn;
|
|
8
|
+
bidirectionalRadioBtn;
|
|
9
|
+
isDependencySlider;
|
|
10
|
+
parentDropDownBox;
|
|
11
|
+
childDropDownBox;
|
|
12
|
+
constructor(page) {
|
|
13
|
+
super(page);
|
|
14
|
+
this.relationTypeNameTxt = page.locator('#name #input');
|
|
15
|
+
this.parentToChildRadioBtn = page.locator("uui-radio[label='Parent to child'] #button");
|
|
16
|
+
this.bidirectionalRadioBtn = page.locator("uui-radio[label='Bidirectional'] #button");
|
|
17
|
+
this.isDependencySlider = page.locator("umb-property-layout[label='Is dependency'] #slider");
|
|
18
|
+
this.parentDropDownBox = page.locator("umb-property-layout[label='Parent'] #native");
|
|
19
|
+
this.childDropDownBox = page.locator("umb-property-layout[label='Child'] #native");
|
|
20
|
+
}
|
|
21
|
+
async clickActionsMenuForRelationType(name) {
|
|
22
|
+
await this.clickActionsMenuForName(name);
|
|
23
|
+
}
|
|
24
|
+
async clickRootFolderCaretButton() {
|
|
25
|
+
await this.clickCaretButtonForName("Relation Types");
|
|
26
|
+
}
|
|
27
|
+
async clickActionsMenuAtRoot() {
|
|
28
|
+
await this.clickActionsMenuForRelationType("Relation Types");
|
|
29
|
+
}
|
|
30
|
+
async openRelationTypeByNameAtRoot(relationTypeName) {
|
|
31
|
+
await this.clickRootFolderCaretButton();
|
|
32
|
+
await this.page.getByLabel(relationTypeName).click();
|
|
33
|
+
}
|
|
34
|
+
async enterRelationTypeName(name) {
|
|
35
|
+
await this.relationTypeNameTxt.clear();
|
|
36
|
+
await this.relationTypeNameTxt.fill(name);
|
|
37
|
+
}
|
|
38
|
+
async clickParentToChildRadioButton() {
|
|
39
|
+
await this.parentToChildRadioBtn.click();
|
|
40
|
+
}
|
|
41
|
+
async clickBidirectionalRadioButton() {
|
|
42
|
+
await this.bidirectionalRadioBtn.click();
|
|
43
|
+
}
|
|
44
|
+
async clickIsDependencySlider() {
|
|
45
|
+
await this.isDependencySlider.click();
|
|
46
|
+
}
|
|
47
|
+
async selectParentOption(option) {
|
|
48
|
+
await this.parentDropDownBox.selectOption({ label: option });
|
|
49
|
+
}
|
|
50
|
+
async selectChildOption(option) {
|
|
51
|
+
await this.childDropDownBox.selectOption({ label: option });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.RelationTypeUiHelper = RelationTypeUiHelper;
|
|
55
|
+
//# sourceMappingURL=RelationTypeUiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelationTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/RelationTypeUiHelper.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAEhD,MAAa,oBAAqB,SAAQ,+BAAc;IACrC,mBAAmB,CAAU;IAC7B,qBAAqB,CAAU;IAC/B,qBAAqB,CAAU;IAC/B,kBAAkB,CAAU;IAC5B,iBAAiB,CAAU;IAC3B,gBAAgB,CAAU;IAE3C,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QACxF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;QACtF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;QAC7F,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;QACrF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,IAAY;QAChD,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,gBAAwB;QACzD,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAY;QACtC,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,6BAA6B;QACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,6BAA6B;QACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF;AA3DD,oDA2DC","sourcesContent":["import {Locator, Page} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class RelationTypeUiHelper extends UiBaseLocators{\n private readonly relationTypeNameTxt: Locator;\n private readonly parentToChildRadioBtn: Locator;\n private readonly bidirectionalRadioBtn: Locator;\n private readonly isDependencySlider: Locator;\n private readonly parentDropDownBox: Locator;\n private readonly childDropDownBox: Locator;\n\n constructor(page: Page) {\n super(page);\n this.relationTypeNameTxt = page.locator('#name #input');\n this.parentToChildRadioBtn = page.locator(\"uui-radio[label='Parent to child'] #button\");\n this.bidirectionalRadioBtn = page.locator(\"uui-radio[label='Bidirectional'] #button\");\n this.isDependencySlider = page.locator(\"umb-property-layout[label='Is dependency'] #slider\");\n this.parentDropDownBox = page.locator(\"umb-property-layout[label='Parent'] #native\");\n this.childDropDownBox = page.locator(\"umb-property-layout[label='Child'] #native\");\n }\n\n async clickActionsMenuForRelationType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Relation Types\");\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForRelationType(\"Relation Types\");\n }\n\n async openRelationTypeByNameAtRoot(relationTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(relationTypeName).click();\n }\n\n async enterRelationTypeName(name: string) {\n await this.relationTypeNameTxt.clear();\n await this.relationTypeNameTxt.fill(name);\n }\n\n async clickParentToChildRadioButton() {\n await this.parentToChildRadioBtn.click();\n }\n\n async clickBidirectionalRadioButton() {\n await this.bidirectionalRadioBtn.click();\n }\n\n async clickIsDependencySlider() {\n await this.isDependencySlider.click();\n }\n\n async selectParentOption(option: string) {\n await this.parentDropDownBox.selectOption({ label: option });\n }\n\n async selectChildOption(option: string) {\n await this.childDropDownBox.selectOption({ label: option });\n }\n}"]}
|
|
@@ -4,8 +4,9 @@ export declare class ScriptApiHelper {
|
|
|
4
4
|
constructor(api: ApiHelpers);
|
|
5
5
|
get(path: string): Promise<any>;
|
|
6
6
|
doesExist(path: string): Promise<boolean>;
|
|
7
|
-
create(name: string, content: string, parentPath?: string): Promise<string
|
|
8
|
-
|
|
7
|
+
create(name: string, content: string, parentPath?: string): Promise<string>;
|
|
8
|
+
updateName(path: string, newName: string): Promise<string | undefined>;
|
|
9
|
+
updateContent(path: string, newContent: string): Promise<import("playwright-core").APIResponse>;
|
|
9
10
|
delete(path: string): Promise<import("playwright-core").APIResponse>;
|
|
10
11
|
getChildren(path: string): Promise<any>;
|
|
11
12
|
getItems(paths: string[]): Promise<any>;
|
|
@@ -17,6 +18,7 @@ export declare class ScriptApiHelper {
|
|
|
17
18
|
ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
18
19
|
getFolder(path: string): Promise<any>;
|
|
19
20
|
doesFolderExist(path: string): Promise<boolean>;
|
|
20
|
-
createFolder(name: string, parentPath?: string): Promise<
|
|
21
|
+
createFolder(name: string, parentPath?: string): Promise<string | undefined>;
|
|
21
22
|
deleteFolder(path: string): Promise<import("playwright-core").APIResponse>;
|
|
23
|
+
createDefaultScript(name: string): Promise<string>;
|
|
22
24
|
}
|