@umbraco/playwright-testhelpers 16.0.44 → 16.0.46
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/ContentUiHelper.d.ts +1 -0
- package/dist/lib/helpers/ContentUiHelper.js +7 -0
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.d.ts +4 -0
- package/dist/lib/helpers/DocumentApiHelper.js +22 -0
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/UiHelpers.d.ts +4 -0
- package/dist/lib/helpers/UiHelpers.js +6 -0
- package/dist/lib/helpers/UiHelpers.js.map +1 -1
- package/dist/lib/helpers/differentAppSettingsHelpers/ContentDeliveryApiHelper.d.ts +8 -6
- package/dist/lib/helpers/differentAppSettingsHelpers/ContentDeliveryApiHelper.js +75 -18
- package/dist/lib/helpers/differentAppSettingsHelpers/ContentDeliveryApiHelper.js.map +1 -1
- package/dist/lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.d.ts +13 -0
- package/dist/lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.js +36 -0
- package/dist/lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.js.map +1 -0
- package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.d.ts +20 -0
- package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.js +55 -0
- package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -35,6 +35,8 @@ const ContentRenderUiHelper_1 = require("./ContentRenderUiHelper");
|
|
|
35
35
|
const FormsUiHelper_1 = require("./FormsUiHelper");
|
|
36
36
|
const CurrentUserProfileUiHelper_1 = require("./CurrentUserProfileUiHelper");
|
|
37
37
|
const WebhookUiHelper_1 = require("./WebhookUiHelper");
|
|
38
|
+
const InstallUiHelper_1 = require("./differentAppSettingsHelpers/InstallUiHelper");
|
|
39
|
+
const ExternalLoginUiHelpers_1 = require("./differentAppSettingsHelpers/ExternalLoginUiHelpers");
|
|
38
40
|
class UiHelpers {
|
|
39
41
|
page;
|
|
40
42
|
stylesheet;
|
|
@@ -70,6 +72,8 @@ class UiHelpers {
|
|
|
70
72
|
form;
|
|
71
73
|
currentUserProfile;
|
|
72
74
|
webhook;
|
|
75
|
+
install;
|
|
76
|
+
externalLogin;
|
|
73
77
|
constructor(page) {
|
|
74
78
|
this.page = page;
|
|
75
79
|
this.stylesheet = new StylesheetUiHelper_1.StylesheetUiHelper(this.page);
|
|
@@ -105,6 +109,8 @@ class UiHelpers {
|
|
|
105
109
|
this.form = new FormsUiHelper_1.FormsUiHelper(this.page);
|
|
106
110
|
this.currentUserProfile = new CurrentUserProfileUiHelper_1.CurrentUserProfileUiHelper(this.page);
|
|
107
111
|
this.webhook = new WebhookUiHelper_1.WebhookUiHelper(this.page);
|
|
112
|
+
this.install = new InstallUiHelper_1.InstallUiHelper(this.page);
|
|
113
|
+
this.externalLogin = new ExternalLoginUiHelpers_1.ExternalLoginUiHelpers(this.page);
|
|
108
114
|
}
|
|
109
115
|
async goToBackOffice() {
|
|
110
116
|
await this.page.goto(umbraco_config_1.umbracoConfig.environment.baseUrl + '/umbraco');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":";;;AACA,6DAAwD;AACxD,yDAAmD;AACnD,+DAA0D;AAC1D,qDAAgD;AAChD,yDAAoD;AACpD,mDAA8C;AAC9C,2DAAsD;AACtD,mEAA8D;AAC9D,yDAAoD;AACpD,iEAA4D;AAC5D,uDAAkD;AAClD,yDAAoD;AACpD,mEAA8D;AAC9D,2EAAsE;AACtE,uEAAkE;AAClE,+DAA0D;AAC1D,2DAAsD;AACtD,yEAAoE;AACpE,uDAAkD;AAClD,iEAA4D;AAC5D,6EAAwE;AACxE,+DAA0D;AAC1D,qDAAgD;AAChD,6DAAwD;AACxD,2DAAsD;AACtD,iDAA4C;AAC5C,2DAAsD;AACtD,mDAA8C;AAC9C,2EAAsE;AACtE,6DAAwD;AACxD,mEAA8D;AAC9D,mDAA8C;AAC9C,6EAAwE;AACxE,uDAAkD;AAElD,MAAa,SAAS;IACpB,IAAI,CAAO;IACX,UAAU,CAAqB;IAC/B,WAAW,CAAsB;IACjC,UAAU,CAAqB;IAC/B,MAAM,CAAiB;IACvB,QAAQ,CAAmB;IAC3B,KAAK,CAAgB;IACrB,SAAS,CAAoB;IAC7B,aAAa,CAAwB;IACrC,QAAQ,CAAmB;IAC3B,YAAY,CAAuB;IACnC,OAAO,CAAkB;IACzB,QAAQ,CAAmB;IAC3B,aAAa,CAAwB;IACrC,iBAAiB,CAA4B;IAC7C,eAAe,CAA0B;IACzC,WAAW,CAAsB;IACjC,SAAS,CAAoB;IAC7B,gBAAgB,CAA2B;IAC3C,OAAO,CAAkB;IACzB,YAAY,CAAuB;IACnC,kBAAkB,CAA6B;IAC/C,WAAW,CAAsB;IACjC,MAAM,CAAiB;IACvB,UAAU,CAAqB;IAC/B,SAAS,CAAoB;IAC7B,IAAI,CAAe;IACnB,SAAS,CAAoB;IAC7B,KAAK,CAAgB;IACrB,iBAAiB,CAA4B;IAC7C,aAAa,CAAwB;IACrC,IAAI,CAAgB;IACpB,kBAAkB,CAA6B;IAC/C,OAAO,CAAkB;IAEzB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,6CAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,6CAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,iBAAiB,GAAG,IAAI,qDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,mDAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,uDAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,qDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,GAAG,IAAI,6CAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,uDAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,8BAAa,CAAC,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;CACF;AAxFD,8BAwFC","sourcesContent":["import {Page} from \"@playwright/test\"\nimport {StylesheetUiHelper} from \"./StylesheetUiHelper\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {PartialViewUiHelper} from \"./PartialViewUiHelper\";\nimport {ScriptUiHelper} from \"./ScriptUiHelper\";\nimport {TemplateUiHelper} from \"./TemplateUiHelper\";\nimport {LoginUiHelper} from \"./LoginUiHelper\";\nimport {LogViewerUiHelper} from \"./LogViewerUiHelper\";\nimport {TelemetryDataUiHelper} from \"./TelemetryDataUiHelper\";\nimport {DataTypeUiHelper} from \"./DataTypeUiHelper\";\nimport {RelationTypeUiHelper} from \"./RelationTypeUiHelper\";\nimport {PackageUiHelper} from \"./PackageUiHelper\";\nimport {LanguageUiHelper} from \"./LanguageUiHelper\";\nimport {ModelsBuilderUiHelper} from \"./ModelsBuilderUiHelper\";\nimport {ExamineManagementUiHelper} from \"./ExamineManagementUiHelper\";\nimport {PublishedStatusUiHelper} from \"./PublishedStatusUiHelper\";\nimport {HealthCheckUiHelper} from \"./HealthCheckUiHelper\";\nimport {ProfilingUiHelper} from \"./ProfilingUiHelper\";\nimport {WelcomeDashboardUiHelper} from './WelcomeDashboardUiHelper';\nimport {ContentUiHelper} from \"./ContentUiHelper\";\nimport {DocumentTypeUiHelper} from \"./DocumentTypeUiHelper\";\nimport {RedirectManagementUiHelper} from './RedirectManagementUiHelper';\nimport {MemberGroupUiHelper} from \"./MemberGroupUiHelper\";\nimport {MemberUiHelper} from \"./MemberUiHelper\";\nimport {MemberTypeUiHelper} from \"./MemberTypeUiHelper\";\nimport {MediaTypeUiHelper} from \"./MediaTypeUiHelper\";\nimport {UserUiHelper} from \"./UserUiHelper\";\nimport {UserGroupUiHelper} from \"./UserGroupUiHelper\";\nimport {MediaUiHelper} from \"./MediaUiHelper\";\nimport {DocumentBlueprintUiHelper} from \"./DocumentBlueprintUiHelper\";\nimport {DictionaryUiHelper} from \"./DictionaryUiHelper\";\nimport {ContentRenderUiHelper} from './ContentRenderUiHelper';\nimport {FormsUiHelper} from \"./FormsUiHelper\";\nimport {CurrentUserProfileUiHelper} from './CurrentUserProfileUiHelper';\nimport {WebhookUiHelper} from \"./WebhookUiHelper\";\n\nexport class UiHelpers {\n page: Page;\n stylesheet: StylesheetUiHelper;\n partialView: PartialViewUiHelper;\n dictionary: DictionaryUiHelper;\n script: ScriptUiHelper;\n template: TemplateUiHelper;\n login: LoginUiHelper;\n logViewer: LogViewerUiHelper;\n telemetryData: TelemetryDataUiHelper;\n dataType: DataTypeUiHelper;\n relationType: RelationTypeUiHelper;\n package: PackageUiHelper;\n language: LanguageUiHelper;\n modelsBuilder: ModelsBuilderUiHelper;\n examineManagement: ExamineManagementUiHelper;\n publishedStatus: PublishedStatusUiHelper;\n healthCheck: HealthCheckUiHelper;\n profiling: ProfilingUiHelper;\n welcomeDashboard: WelcomeDashboardUiHelper;\n content: ContentUiHelper;\n documentType: DocumentTypeUiHelper;\n redirectManagement: RedirectManagementUiHelper;\n memberGroup: MemberGroupUiHelper;\n member: MemberUiHelper;\n memberType: MemberTypeUiHelper;\n mediaType: MediaTypeUiHelper;\n user: UserUiHelper;\n userGroup: UserGroupUiHelper;\n media: MediaUiHelper;\n documentBlueprint: DocumentBlueprintUiHelper;\n contentRender: ContentRenderUiHelper;\n form: FormsUiHelper;\n currentUserProfile: CurrentUserProfileUiHelper;\n webhook: WebhookUiHelper;\n\n constructor(page: Page) {\n this.page = page;\n this.stylesheet = new StylesheetUiHelper(this.page);\n this.partialView = new PartialViewUiHelper(this.page);\n this.script = new ScriptUiHelper(this.page);\n this.template = new TemplateUiHelper(this.page);\n this.dictionary = new DictionaryUiHelper(this.page);\n this.login = new LoginUiHelper(this.page);\n this.logViewer = new LogViewerUiHelper(this.page);\n this.telemetryData = new TelemetryDataUiHelper(this.page);\n this.dataType = new DataTypeUiHelper(this.page);\n this.relationType = new RelationTypeUiHelper(this.page);\n this.package = new PackageUiHelper(this.page);\n this.language = new LanguageUiHelper(this.page);\n this.modelsBuilder = new ModelsBuilderUiHelper(this.page);\n this.examineManagement = new ExamineManagementUiHelper(this.page);\n this.publishedStatus = new PublishedStatusUiHelper(this.page);\n this.healthCheck = new HealthCheckUiHelper(this.page);\n this.profiling = new ProfilingUiHelper(this.page);\n this.welcomeDashboard = new WelcomeDashboardUiHelper(this.page);\n this.content = new ContentUiHelper(this.page); \n this.documentType = new DocumentTypeUiHelper(this.page);\n this.redirectManagement = new RedirectManagementUiHelper(this.page);\n this.memberGroup = new MemberGroupUiHelper(this.page);\n this.member = new MemberUiHelper(this.page);\n this.memberType = new MemberTypeUiHelper(this.page);\n this.mediaType = new MediaTypeUiHelper(this.page);\n this.user = new UserUiHelper(this.page);\n this.userGroup = new UserGroupUiHelper(this.page);\n this.media = new MediaUiHelper(this.page);\n this.documentBlueprint = new DocumentBlueprintUiHelper(this.page);\n this.contentRender = new ContentRenderUiHelper(this.page);\n this.form = new FormsUiHelper(this.page);\n this.currentUserProfile = new CurrentUserProfileUiHelper(this.page);\n this.webhook = new WebhookUiHelper(this.page);\n }\n\n async goToBackOffice() {\n await this.page.goto(umbracoConfig.environment.baseUrl + '/umbraco');\n }\n\n async waitForTimeout(timeout: number) {\n await this.page.waitForTimeout(timeout);\n }\n\n async reloadPage() {\n await this.page.reload();\n }\n\n async goBackPage() {\n await this.page.goBack();\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page} from \"@playwright/test\"\nimport {StylesheetUiHelper} from \"./StylesheetUiHelper\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {PartialViewUiHelper} from \"./PartialViewUiHelper\";\nimport {ScriptUiHelper} from \"./ScriptUiHelper\";\nimport {TemplateUiHelper} from \"./TemplateUiHelper\";\nimport {LoginUiHelper} from \"./LoginUiHelper\";\nimport {LogViewerUiHelper} from \"./LogViewerUiHelper\";\nimport {TelemetryDataUiHelper} from \"./TelemetryDataUiHelper\";\nimport {DataTypeUiHelper} from \"./DataTypeUiHelper\";\nimport {RelationTypeUiHelper} from \"./RelationTypeUiHelper\";\nimport {PackageUiHelper} from \"./PackageUiHelper\";\nimport {LanguageUiHelper} from \"./LanguageUiHelper\";\nimport {ModelsBuilderUiHelper} from \"./ModelsBuilderUiHelper\";\nimport {ExamineManagementUiHelper} from \"./ExamineManagementUiHelper\";\nimport {PublishedStatusUiHelper} from \"./PublishedStatusUiHelper\";\nimport {HealthCheckUiHelper} from \"./HealthCheckUiHelper\";\nimport {ProfilingUiHelper} from \"./ProfilingUiHelper\";\nimport {WelcomeDashboardUiHelper} from './WelcomeDashboardUiHelper';\nimport {ContentUiHelper} from \"./ContentUiHelper\";\nimport {DocumentTypeUiHelper} from \"./DocumentTypeUiHelper\";\nimport {RedirectManagementUiHelper} from './RedirectManagementUiHelper';\nimport {MemberGroupUiHelper} from \"./MemberGroupUiHelper\";\nimport {MemberUiHelper} from \"./MemberUiHelper\";\nimport {MemberTypeUiHelper} from \"./MemberTypeUiHelper\";\nimport {MediaTypeUiHelper} from \"./MediaTypeUiHelper\";\nimport {UserUiHelper} from \"./UserUiHelper\";\nimport {UserGroupUiHelper} from \"./UserGroupUiHelper\";\nimport {MediaUiHelper} from \"./MediaUiHelper\";\nimport {DocumentBlueprintUiHelper} from \"./DocumentBlueprintUiHelper\";\nimport {DictionaryUiHelper} from \"./DictionaryUiHelper\";\nimport {ContentRenderUiHelper} from './ContentRenderUiHelper';\nimport {FormsUiHelper} from \"./FormsUiHelper\";\nimport {CurrentUserProfileUiHelper} from './CurrentUserProfileUiHelper';\nimport {WebhookUiHelper} from \"./WebhookUiHelper\";\nimport {InstallUiHelper} from \"./differentAppSettingsHelpers/InstallUiHelper\";\nimport {ExternalLoginUiHelpers} from \"./differentAppSettingsHelpers/ExternalLoginUiHelpers\";\n\nexport class UiHelpers {\n page: Page;\n stylesheet: StylesheetUiHelper;\n partialView: PartialViewUiHelper;\n dictionary: DictionaryUiHelper;\n script: ScriptUiHelper;\n template: TemplateUiHelper;\n login: LoginUiHelper;\n logViewer: LogViewerUiHelper;\n telemetryData: TelemetryDataUiHelper;\n dataType: DataTypeUiHelper;\n relationType: RelationTypeUiHelper;\n package: PackageUiHelper;\n language: LanguageUiHelper;\n modelsBuilder: ModelsBuilderUiHelper;\n examineManagement: ExamineManagementUiHelper;\n publishedStatus: PublishedStatusUiHelper;\n healthCheck: HealthCheckUiHelper;\n profiling: ProfilingUiHelper;\n welcomeDashboard: WelcomeDashboardUiHelper;\n content: ContentUiHelper;\n documentType: DocumentTypeUiHelper;\n redirectManagement: RedirectManagementUiHelper;\n memberGroup: MemberGroupUiHelper;\n member: MemberUiHelper;\n memberType: MemberTypeUiHelper;\n mediaType: MediaTypeUiHelper;\n user: UserUiHelper;\n userGroup: UserGroupUiHelper;\n media: MediaUiHelper;\n documentBlueprint: DocumentBlueprintUiHelper;\n contentRender: ContentRenderUiHelper;\n form: FormsUiHelper;\n currentUserProfile: CurrentUserProfileUiHelper;\n webhook: WebhookUiHelper;\n install: InstallUiHelper;\n externalLogin: ExternalLoginUiHelpers;\n\n constructor(page: Page) {\n this.page = page;\n this.stylesheet = new StylesheetUiHelper(this.page);\n this.partialView = new PartialViewUiHelper(this.page);\n this.script = new ScriptUiHelper(this.page);\n this.template = new TemplateUiHelper(this.page);\n this.dictionary = new DictionaryUiHelper(this.page);\n this.login = new LoginUiHelper(this.page);\n this.logViewer = new LogViewerUiHelper(this.page);\n this.telemetryData = new TelemetryDataUiHelper(this.page);\n this.dataType = new DataTypeUiHelper(this.page);\n this.relationType = new RelationTypeUiHelper(this.page);\n this.package = new PackageUiHelper(this.page);\n this.language = new LanguageUiHelper(this.page);\n this.modelsBuilder = new ModelsBuilderUiHelper(this.page);\n this.examineManagement = new ExamineManagementUiHelper(this.page);\n this.publishedStatus = new PublishedStatusUiHelper(this.page);\n this.healthCheck = new HealthCheckUiHelper(this.page);\n this.profiling = new ProfilingUiHelper(this.page);\n this.welcomeDashboard = new WelcomeDashboardUiHelper(this.page);\n this.content = new ContentUiHelper(this.page); \n this.documentType = new DocumentTypeUiHelper(this.page);\n this.redirectManagement = new RedirectManagementUiHelper(this.page);\n this.memberGroup = new MemberGroupUiHelper(this.page);\n this.member = new MemberUiHelper(this.page);\n this.memberType = new MemberTypeUiHelper(this.page);\n this.mediaType = new MediaTypeUiHelper(this.page);\n this.user = new UserUiHelper(this.page);\n this.userGroup = new UserGroupUiHelper(this.page);\n this.media = new MediaUiHelper(this.page);\n this.documentBlueprint = new DocumentBlueprintUiHelper(this.page);\n this.contentRender = new ContentRenderUiHelper(this.page);\n this.form = new FormsUiHelper(this.page);\n this.currentUserProfile = new CurrentUserProfileUiHelper(this.page);\n this.webhook = new WebhookUiHelper(this.page);\n this.install = new InstallUiHelper(this.page);\n this.externalLogin = new ExternalLoginUiHelpers(this.page);\n }\n\n async goToBackOffice() {\n await this.page.goto(umbracoConfig.environment.baseUrl + '/umbraco');\n }\n\n async waitForTimeout(timeout: number) {\n await this.page.waitForTimeout(timeout);\n }\n\n async reloadPage() {\n await this.page.reload();\n }\n\n async goBackPage() {\n await this.page.goBack();\n }\n}"]}
|
|
@@ -3,10 +3,12 @@ export declare class ContentDeliveryApiHelper {
|
|
|
3
3
|
api: ApiHelpers;
|
|
4
4
|
constructor(api: ApiHelpers);
|
|
5
5
|
getAllContentItems(): Promise<any>;
|
|
6
|
-
getContentItemWithId(id: string): Promise<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
getContentItemWithId(id: string): Promise<import("playwright-core").APIResponse>;
|
|
7
|
+
getContentItemWithRoute(route: string): Promise<import("playwright-core").APIResponse>;
|
|
8
|
+
getContentItemsWithIds(ids: string[]): Promise<import("playwright-core").APIResponse>;
|
|
9
|
+
getContentItemsFromAQuery(fetch?: string, filter?: string, sort?: string, skip?: number, take?: number): Promise<import("playwright-core").APIResponse>;
|
|
10
|
+
verifyBasicPropertiesForContentItem(contentName: string, contentItemJson: any): Promise<void>;
|
|
11
|
+
verifyEditorialPropertiesForContentItem(contentName: string, contentItemJson: any, isVariesByCulture?: boolean): Promise<void>;
|
|
12
|
+
verifyCulturePropertyForContentItem(contentName: string, contentItemJson: any, isVariesByCulture?: boolean): Promise<void>;
|
|
13
|
+
verifyEditorialPropertiesForContentItemWithMultiURLPicker(contentName: string, contentItemJson: any, pickerType: string): Promise<void>;
|
|
12
14
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ContentDeliveryApiHelper = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
4
5
|
class ContentDeliveryApiHelper {
|
|
5
6
|
api;
|
|
6
7
|
constructor(api) {
|
|
@@ -11,28 +12,84 @@ class ContentDeliveryApiHelper {
|
|
|
11
12
|
return await response.json();
|
|
12
13
|
}
|
|
13
14
|
async getContentItemWithId(id) {
|
|
14
|
-
|
|
15
|
-
return await response.json();
|
|
15
|
+
return await this.api.get(this.api.baseUrl + '/umbraco/delivery/api/v2/content/item/' + id);
|
|
16
16
|
}
|
|
17
|
-
async
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
async getContentItemWithRoute(route) {
|
|
18
|
+
return await this.api.get(this.api.baseUrl + '/umbraco/delivery/api/v2/content/item' + route);
|
|
19
|
+
}
|
|
20
|
+
async getContentItemsWithIds(ids) {
|
|
21
|
+
let query = '?';
|
|
22
|
+
for (let i = 0; i < ids.length; i++) {
|
|
23
|
+
query += 'id=' + ids[i] + (i < ids.length - 1 ? '&' : '');
|
|
24
|
+
}
|
|
25
|
+
return await this.api.get(this.api.baseUrl + '/umbraco/delivery/api/v2/content/items' + query);
|
|
26
|
+
}
|
|
27
|
+
async getContentItemsFromAQuery(fetch, filter, sort, skip, take) {
|
|
28
|
+
let query = '';
|
|
29
|
+
if (fetch) {
|
|
30
|
+
query += ' fetch=' + fetch;
|
|
31
|
+
}
|
|
32
|
+
if (filter) {
|
|
33
|
+
query += ' filter=' + filter;
|
|
34
|
+
}
|
|
35
|
+
if (sort) {
|
|
36
|
+
query += ' sort=' + sort;
|
|
37
|
+
}
|
|
38
|
+
if (skip !== undefined) {
|
|
39
|
+
query += ' skip=' + skip;
|
|
40
|
+
}
|
|
41
|
+
if (take !== undefined) {
|
|
42
|
+
query += ' take=' + take;
|
|
43
|
+
}
|
|
44
|
+
if (query !== '') {
|
|
45
|
+
query = '?' + query.trim().replace(' ', '&');
|
|
46
|
+
}
|
|
47
|
+
return await this.api.get(this.api.baseUrl + '/umbraco/delivery/api/v2/content' + query);
|
|
48
|
+
}
|
|
49
|
+
async verifyBasicPropertiesForContentItem(contentName, contentItemJson) {
|
|
50
|
+
const contentData = await this.api.document.getByName(contentName);
|
|
51
|
+
// Verify name, createDate, updateDate, id and contentType are always included in the response
|
|
52
|
+
(0, test_1.expect)(contentItemJson.name).toBe(contentName);
|
|
53
|
+
(0, test_1.expect)(new Date(contentItemJson.createDate)).toEqual(new Date(contentData.variants[0].createDate));
|
|
54
|
+
(0, test_1.expect)(new Date(contentItemJson.createDate)).toEqual(new Date(contentData.variants[0].createDate));
|
|
55
|
+
(0, test_1.expect)(contentItemJson.id).toBe(contentData.id);
|
|
56
|
+
const contentTypeData = await this.api.documentType.get(contentData.documentType.id);
|
|
57
|
+
(0, test_1.expect)(contentItemJson.contentType).toBe(contentTypeData.alias);
|
|
58
|
+
// Verify route property
|
|
59
|
+
const contentUrl = await this.api.document.getDocumentUrl(contentData.id);
|
|
60
|
+
(0, test_1.expect)(contentItemJson.route.path).toBe(contentUrl);
|
|
20
61
|
}
|
|
21
|
-
async
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const contentItemPropertyValue = contentItem.properties[dataTypeName];
|
|
28
|
-
if (contentItemPropertyValue !== dataTypeValue) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
62
|
+
async verifyEditorialPropertiesForContentItem(contentName, contentItemJson, isVariesByCulture = false) {
|
|
63
|
+
const contentData = await this.api.document.getByName(contentName);
|
|
64
|
+
let expectedProperties = {};
|
|
65
|
+
if (!isVariesByCulture) {
|
|
66
|
+
for (const property of contentData.values) {
|
|
67
|
+
expectedProperties[property.alias] = property.value;
|
|
32
68
|
}
|
|
33
|
-
|
|
69
|
+
(0, test_1.expect)(contentItemJson.properties).toEqual(expectedProperties);
|
|
34
70
|
}
|
|
35
|
-
|
|
71
|
+
}
|
|
72
|
+
async verifyCulturePropertyForContentItem(contentName, contentItemJson, isVariesByCulture = false) {
|
|
73
|
+
const contentData = await this.api.document.getByName(contentName);
|
|
74
|
+
if (!isVariesByCulture) {
|
|
75
|
+
(0, test_1.expect)(contentItemJson.cultures).toEqual({});
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
(0, test_1.expect)(Object.keys(contentItemJson.cultures).length).toBe(contentData.variants.length);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async verifyEditorialPropertiesForContentItemWithMultiURLPicker(contentName, contentItemJson, pickerType) {
|
|
82
|
+
const contentData = await this.api.document.getByName(contentName);
|
|
83
|
+
const multiUrlPickerProperty = contentData.values.find((p) => p.alias === 'multiUrlPicker');
|
|
84
|
+
const expectedMultiUrlPickerValue = multiUrlPickerProperty.value;
|
|
85
|
+
const actualMultiUrlPickerValue = contentItemJson.properties['multiUrlPicker'];
|
|
86
|
+
// Verify that the multi URL picker property has the expected structure and values
|
|
87
|
+
(0, test_1.expect)(actualMultiUrlPickerValue[0].queryString).toBe(expectedMultiUrlPickerValue[0].queryString);
|
|
88
|
+
(0, test_1.expect)(actualMultiUrlPickerValue[0].title).toBe(expectedMultiUrlPickerValue[0].name);
|
|
89
|
+
(0, test_1.expect)(actualMultiUrlPickerValue[0].target).toBe(expectedMultiUrlPickerValue[0].target);
|
|
90
|
+
(0, test_1.expect)(actualMultiUrlPickerValue[0].destinationId).toBe(expectedMultiUrlPickerValue[0].unique);
|
|
91
|
+
(0, test_1.expect)(actualMultiUrlPickerValue[0].route.path).toBe(expectedMultiUrlPickerValue[0].url);
|
|
92
|
+
(0, test_1.expect)(actualMultiUrlPickerValue[0].linkType).toBe(pickerType);
|
|
36
93
|
}
|
|
37
94
|
}
|
|
38
95
|
exports.ContentDeliveryApiHelper = ContentDeliveryApiHelper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentDeliveryApiHelper.js","sourceRoot":"","sources":["../../../../lib/helpers/differentAppSettingsHelpers/ContentDeliveryApiHelper.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ContentDeliveryApiHelper.js","sourceRoot":"","sources":["../../../../lib/helpers/differentAppSettingsHelpers/ContentDeliveryApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect} from \"@playwright/test\";\nimport {ApiHelpers} from \"../ApiHelpers\";\n\nexport class ContentDeliveryApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async getAllContentItems() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/delivery/api/v2/content?skip=0&take=10000');\n return await response.json();\n }\n\n async getContentItemWithId(id: string) {\n return await this.api.get(this.api.baseUrl + '/umbraco/delivery/api/v2/content/item/' + id);\n }\n\n async getContentItemWithRoute(route: string) {\n return await this.api.get(this.api.baseUrl + '/umbraco/delivery/api/v2/content/item' + route);\n }\n\n async getContentItemsWithIds(ids: string[]) {\n let query = '?';\n for (let i = 0; i < ids.length; i++) {\n query += 'id=' + ids[i] + (i < ids.length - 1 ? '&' : ''); \n }\n return await this.api.get(this.api.baseUrl + '/umbraco/delivery/api/v2/content/items' + query);\n }\n\n async getContentItemsFromAQuery(fetch?: string, filter?: string, sort?: string, skip?: number, take?: number) {\n let query = '';\n if (fetch) {\n query += ' fetch=' + fetch;\n }\n if (filter) {\n query += ' filter=' + filter;\n }\n if (sort) {\n query += ' sort=' + sort;\n }\n if (skip !== undefined) {\n query += ' skip=' + skip;\n }\n if (take !== undefined) {\n query += ' take=' + take;\n }\n if (query !== '') {\n query = '?' + query.trim().replace(' ', '&');\n }\n\n return await this.api.get(this.api.baseUrl + '/umbraco/delivery/api/v2/content' + query);\n }\n\n async verifyBasicPropertiesForContentItem(contentName: string, contentItemJson) {\n const contentData = await this.api.document.getByName(contentName);\n\n // Verify name, createDate, updateDate, id and contentType are always included in the response\n expect(contentItemJson.name).toBe(contentName);\n expect(new Date(contentItemJson.createDate)).toEqual(new Date(contentData.variants[0].createDate));\n expect(new Date(contentItemJson.createDate)).toEqual(new Date(contentData.variants[0].createDate));\n expect(contentItemJson.id).toBe(contentData.id);\n const contentTypeData = await this.api.documentType.get(contentData.documentType.id);\n expect(contentItemJson.contentType).toBe(contentTypeData.alias);\n\n // Verify route property\n const contentUrl = await this.api.document.getDocumentUrl(contentData.id);\n expect(contentItemJson.route.path).toBe(contentUrl);\n }\n\n async verifyEditorialPropertiesForContentItem(contentName: string, contentItemJson, isVariesByCulture: boolean = false) {\n const contentData = await this.api.document.getByName(contentName);\n let expectedProperties = {};\n\n if (!isVariesByCulture) {\n for (const property of contentData.values) {\n expectedProperties[property.alias] = property.value;\n }\n expect(contentItemJson.properties).toEqual(expectedProperties);\n }\n }\n\n async verifyCulturePropertyForContentItem(contentName: string, contentItemJson, isVariesByCulture: boolean = false) {\n const contentData = await this.api.document.getByName(contentName);\n\n if (!isVariesByCulture) {\n expect(contentItemJson.cultures).toEqual({});\n } else {\n expect(Object.keys(contentItemJson.cultures).length).toBe(contentData.variants.length);\n }\n }\n\n async verifyEditorialPropertiesForContentItemWithMultiURLPicker(contentName: string, contentItemJson, pickerType: string) {\n const contentData = await this.api.document.getByName(contentName);\n const multiUrlPickerProperty = contentData.values.find((p) => p.alias === 'multiUrlPicker');\n const expectedMultiUrlPickerValue = multiUrlPickerProperty.value;\n const actualMultiUrlPickerValue = contentItemJson.properties['multiUrlPicker'];\n // Verify that the multi URL picker property has the expected structure and values \n expect(actualMultiUrlPickerValue[0].queryString).toBe(expectedMultiUrlPickerValue[0].queryString);\n expect(actualMultiUrlPickerValue[0].title).toBe(expectedMultiUrlPickerValue[0].name);\n expect(actualMultiUrlPickerValue[0].target).toBe(expectedMultiUrlPickerValue[0].target);\n expect(actualMultiUrlPickerValue[0].destinationId).toBe(expectedMultiUrlPickerValue[0].unique);\n expect(actualMultiUrlPickerValue[0].route.path).toBe(expectedMultiUrlPickerValue[0].url);\n expect(actualMultiUrlPickerValue[0].linkType).toBe(pickerType);\n }\n}"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Page } from "@playwright/test";
|
|
2
|
+
import { UiBaseLocators } from "../UiBaseLocators";
|
|
3
|
+
export declare class ExternalLoginUiHelpers extends UiBaseLocators {
|
|
4
|
+
private readonly azureADB2CSignInBtn;
|
|
5
|
+
private readonly azureADB2CEmailTxt;
|
|
6
|
+
private readonly azureADB2CPasswordTxt;
|
|
7
|
+
private readonly signInBtn;
|
|
8
|
+
constructor(page: Page);
|
|
9
|
+
clickSignInWithAzureADB2CButton(): Promise<void>;
|
|
10
|
+
enterAzureADB2CEmail(email: string): Promise<void>;
|
|
11
|
+
enterAzureADB2CPassword(password: string): Promise<void>;
|
|
12
|
+
clickSignInButton(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExternalLoginUiHelpers = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
const UiBaseLocators_1 = require("../UiBaseLocators");
|
|
6
|
+
class ExternalLoginUiHelpers extends UiBaseLocators_1.UiBaseLocators {
|
|
7
|
+
azureADB2CSignInBtn;
|
|
8
|
+
azureADB2CEmailTxt;
|
|
9
|
+
azureADB2CPasswordTxt;
|
|
10
|
+
signInBtn;
|
|
11
|
+
constructor(page) {
|
|
12
|
+
super(page);
|
|
13
|
+
this.azureADB2CSignInBtn = page.locator('umb-auth-provider-default').getByText('Sign in with Azure AD B2C');
|
|
14
|
+
this.azureADB2CEmailTxt = page.locator('#email');
|
|
15
|
+
this.azureADB2CPasswordTxt = page.locator('#password');
|
|
16
|
+
this.signInBtn = page.getByRole('button', { name: 'Sign in' });
|
|
17
|
+
}
|
|
18
|
+
async clickSignInWithAzureADB2CButton() {
|
|
19
|
+
await (0, test_1.expect)(this.azureADB2CSignInBtn).toBeVisible();
|
|
20
|
+
await this.azureADB2CSignInBtn.click();
|
|
21
|
+
}
|
|
22
|
+
async enterAzureADB2CEmail(email) {
|
|
23
|
+
await (0, test_1.expect)(this.azureADB2CEmailTxt).toBeVisible();
|
|
24
|
+
await this.azureADB2CEmailTxt.fill(email);
|
|
25
|
+
}
|
|
26
|
+
async enterAzureADB2CPassword(password) {
|
|
27
|
+
await (0, test_1.expect)(this.azureADB2CPasswordTxt).toBeVisible();
|
|
28
|
+
await this.azureADB2CPasswordTxt.fill(password);
|
|
29
|
+
}
|
|
30
|
+
async clickSignInButton() {
|
|
31
|
+
await (0, test_1.expect)(this.signInBtn).toBeVisible();
|
|
32
|
+
await this.signInBtn.click();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.ExternalLoginUiHelpers = ExternalLoginUiHelpers;
|
|
36
|
+
//# sourceMappingURL=ExternalLoginUiHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalLoginUiHelpers.js","sourceRoot":"","sources":["../../../../lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,sDAAiD;AAEjD,MAAa,sBAAuB,SAAQ,+BAAc;IACvC,mBAAmB,CAAU;IAC7B,kBAAkB,CAAU;IAC5B,qBAAqB,CAAU;IAC/B,SAAS,CAAU;IAEpC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAC5G,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,+BAA+B;QACnC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAa;QACtC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QAC5C,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF;AAjCD,wDAiCC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"../UiBaseLocators\";\n\nexport class ExternalLoginUiHelpers extends UiBaseLocators {\n private readonly azureADB2CSignInBtn: Locator;\n private readonly azureADB2CEmailTxt: Locator;\n private readonly azureADB2CPasswordTxt: Locator;\n private readonly signInBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.azureADB2CSignInBtn = page.locator('umb-auth-provider-default').getByText('Sign in with Azure AD B2C');\n this.azureADB2CEmailTxt = page.locator('#email');\n this.azureADB2CPasswordTxt = page.locator('#password');\n this.signInBtn = page.getByRole('button', {name: 'Sign in'});\n }\n\n async clickSignInWithAzureADB2CButton() {\n await expect(this.azureADB2CSignInBtn).toBeVisible();\n await this.azureADB2CSignInBtn.click();\n }\n\n async enterAzureADB2CEmail(email: string) {\n await expect(this.azureADB2CEmailTxt).toBeVisible();\n await this.azureADB2CEmailTxt.fill(email);\n }\n\n async enterAzureADB2CPassword(password: string) {\n await expect(this.azureADB2CPasswordTxt).toBeVisible();\n await this.azureADB2CPasswordTxt.fill(password);\n }\n\n async clickSignInButton() {\n await expect(this.signInBtn).toBeVisible();\n await this.signInBtn.click();\n }\n}"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Page } from "@playwright/test";
|
|
2
|
+
import { UiBaseLocators } from "../UiBaseLocators";
|
|
3
|
+
export declare class InstallUiHelper extends UiBaseLocators {
|
|
4
|
+
private readonly nameTxt;
|
|
5
|
+
private readonly emailTxt;
|
|
6
|
+
private readonly passwordTxt;
|
|
7
|
+
private readonly nextBtn;
|
|
8
|
+
private readonly databaseTypeInput;
|
|
9
|
+
private readonly databaseType;
|
|
10
|
+
private readonly installBtn;
|
|
11
|
+
constructor(page: Page);
|
|
12
|
+
goToInstallPage(): Promise<void>;
|
|
13
|
+
enterName(name: string): Promise<void>;
|
|
14
|
+
enterEmail(email: string): Promise<void>;
|
|
15
|
+
enterPassword(password: string): Promise<void>;
|
|
16
|
+
clickNextButton(): Promise<void>;
|
|
17
|
+
setDatabaseType(databaseType: string): Promise<void>;
|
|
18
|
+
doesDatabaseHaveType(databaseType: string): Promise<void>;
|
|
19
|
+
clickInstallButton(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InstallUiHelper = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
const UiBaseLocators_1 = require("../UiBaseLocators");
|
|
6
|
+
class InstallUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
7
|
+
nameTxt;
|
|
8
|
+
emailTxt;
|
|
9
|
+
passwordTxt;
|
|
10
|
+
nextBtn;
|
|
11
|
+
databaseTypeInput;
|
|
12
|
+
databaseType;
|
|
13
|
+
installBtn;
|
|
14
|
+
constructor(page) {
|
|
15
|
+
super(page);
|
|
16
|
+
this.nameTxt = page.getByLabel('name');
|
|
17
|
+
this.emailTxt = page.getByLabel('email');
|
|
18
|
+
this.passwordTxt = page.getByLabel('password', { exact: true });
|
|
19
|
+
this.nextBtn = page.getByLabel('Next');
|
|
20
|
+
this.databaseTypeInput = page.locator('#database-type').locator('#native');
|
|
21
|
+
this.databaseType = page.locator('#database-type').locator('option:checked');
|
|
22
|
+
this.installBtn = page.getByLabel('Install');
|
|
23
|
+
}
|
|
24
|
+
async goToInstallPage() {
|
|
25
|
+
await this.page.goto(process.env.URL + '/umbraco/install');
|
|
26
|
+
}
|
|
27
|
+
async enterName(name) {
|
|
28
|
+
await (0, test_1.expect)(this.nameTxt).toBeVisible();
|
|
29
|
+
await this.nameTxt.fill(name);
|
|
30
|
+
}
|
|
31
|
+
async enterEmail(email) {
|
|
32
|
+
await (0, test_1.expect)(this.emailTxt).toBeVisible();
|
|
33
|
+
await this.emailTxt.fill(email);
|
|
34
|
+
}
|
|
35
|
+
async enterPassword(password) {
|
|
36
|
+
await (0, test_1.expect)(this.passwordTxt).toBeVisible();
|
|
37
|
+
await this.passwordTxt.fill(password);
|
|
38
|
+
}
|
|
39
|
+
async clickNextButton() {
|
|
40
|
+
await (0, test_1.expect)(this.nextBtn).toBeVisible();
|
|
41
|
+
await this.nextBtn.click();
|
|
42
|
+
}
|
|
43
|
+
async setDatabaseType(databaseType) {
|
|
44
|
+
await this.databaseTypeInput.selectOption(databaseType);
|
|
45
|
+
}
|
|
46
|
+
async doesDatabaseHaveType(databaseType) {
|
|
47
|
+
await (0, test_1.expect)(this.databaseType).toHaveText(databaseType);
|
|
48
|
+
}
|
|
49
|
+
async clickInstallButton() {
|
|
50
|
+
await (0, test_1.expect)(this.installBtn).toBeVisible();
|
|
51
|
+
await this.installBtn.click();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.InstallUiHelper = InstallUiHelper;
|
|
55
|
+
//# sourceMappingURL=InstallUiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstallUiHelper.js","sourceRoot":"","sources":["../../../../lib/helpers/differentAppSettingsHelpers/InstallUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,sDAAiD;AAEjD,MAAa,eAAgB,SAAQ,+BAAc;IAChC,OAAO,CAAU;IACjB,QAAQ,CAAU;IAClB,WAAW,CAAU;IACrB,OAAO,CAAU;IACjB,iBAAiB,CAAU;IAC3B,YAAY,CAAU;IACtB,UAAU,CAAU;IAErC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,kBAAkB,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,YAAoB;QACxC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,YAAoB;QAC7C,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF;AAxDD,0CAwDC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"../UiBaseLocators\";\n\nexport class InstallUiHelper extends UiBaseLocators {\n private readonly nameTxt: Locator;\n private readonly emailTxt: Locator;\n private readonly passwordTxt: Locator;\n private readonly nextBtn: Locator;\n private readonly databaseTypeInput: Locator;\n private readonly databaseType: Locator;\n private readonly installBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.nameTxt = page.getByLabel('name');\n this.emailTxt = page.getByLabel('email');\n this.passwordTxt = page.getByLabel('password', {exact: true});\n this.nextBtn = page.getByLabel('Next');\n this.databaseTypeInput = page.locator('#database-type').locator('#native');\n this.databaseType = page.locator('#database-type').locator('option:checked');\n this.installBtn = page.getByLabel('Install');\n }\n\n async goToInstallPage() {\n await this.page.goto(process.env.URL + '/umbraco/install');\n }\n\n async enterName(name: string) {\n await expect(this.nameTxt).toBeVisible();\n await this.nameTxt.fill(name);\n }\n\n async enterEmail(email: string) {\n await expect(this.emailTxt).toBeVisible();\n await this.emailTxt.fill(email);\n }\n\n async enterPassword(password: string) {\n await expect(this.passwordTxt).toBeVisible();\n await this.passwordTxt.fill(password);\n }\n\n async clickNextButton() {\n await expect(this.nextBtn).toBeVisible();\n await this.nextBtn.click();\n }\n\n async setDatabaseType(databaseType: string) {\n await this.databaseTypeInput.selectOption(databaseType);\n }\n\n async doesDatabaseHaveType(databaseType: string) {\n await expect(this.databaseType).toHaveText(databaseType);\n }\n\n async clickInstallButton() {\n await expect(this.installBtn).toBeVisible();\n await this.installBtn.click();\n }\n}"]}
|