@axinom/mosaic-e2e-page-model 0.1.0-rc.3
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/README.md +22 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/managed-services/image-selection-explorer.d.ts +16 -0
- package/dist/managed-services/image-selection-explorer.d.ts.map +1 -0
- package/dist/managed-services/image-selection-explorer.js +39 -0
- package/dist/managed-services/image-selection-explorer.js.map +1 -0
- package/dist/managed-services/image-service.d.ts +65 -0
- package/dist/managed-services/image-service.d.ts.map +1 -0
- package/dist/managed-services/image-service.js +120 -0
- package/dist/managed-services/image-service.js.map +1 -0
- package/dist/managed-services/index.d.ts +4 -0
- package/dist/managed-services/index.d.ts.map +1 -0
- package/dist/managed-services/index.js +16 -0
- package/dist/managed-services/index.js.map +1 -0
- package/dist/managed-services/managed-service-model.d.ts +46 -0
- package/dist/managed-services/managed-service-model.d.ts.map +1 -0
- package/dist/managed-services/managed-service-model.js +33 -0
- package/dist/managed-services/managed-service-model.js.map +1 -0
- package/dist/managed-services/monetization-service.d.ts +208 -0
- package/dist/managed-services/monetization-service.d.ts.map +1 -0
- package/dist/managed-services/monetization-service.js +459 -0
- package/dist/managed-services/monetization-service.js.map +1 -0
- package/dist/managed-services/payment-provider-settings-field.d.ts +7 -0
- package/dist/managed-services/payment-provider-settings-field.d.ts.map +1 -0
- package/dist/managed-services/payment-provider-settings-field.js +37 -0
- package/dist/managed-services/payment-provider-settings-field.js.map +1 -0
- package/dist/page-model.d.ts +44 -0
- package/dist/page-model.d.ts.map +1 -0
- package/dist/page-model.js +56 -0
- package/dist/page-model.js.map +1 -0
- package/dist/service-model.d.ts +43 -0
- package/dist/service-model.d.ts.map +1 -0
- package/dist/service-model.js +32 -0
- package/dist/service-model.js.map +1 -0
- package/dist/sign-in/index.d.ts +5 -0
- package/dist/sign-in/index.d.ts.map +1 -0
- package/dist/sign-in/index.js +17 -0
- package/dist/sign-in/index.js.map +1 -0
- package/dist/sign-in/sign-in-page.d.ts +27 -0
- package/dist/sign-in/sign-in-page.d.ts.map +1 -0
- package/dist/sign-in/sign-in-page.js +38 -0
- package/dist/sign-in/sign-in-page.js.map +1 -0
- package/dist/sign-in/sign-in-with-ax-auth-form.d.ts +24 -0
- package/dist/sign-in/sign-in-with-ax-auth-form.d.ts.map +1 -0
- package/dist/sign-in/sign-in-with-ax-auth-form.js +48 -0
- package/dist/sign-in/sign-in-with-ax-auth-form.js.map +1 -0
- package/dist/sign-in/sign-in-with-google-form.d.ts +23 -0
- package/dist/sign-in/sign-in-with-google-form.d.ts.map +1 -0
- package/dist/sign-in/sign-in-with-google-form.js +51 -0
- package/dist/sign-in/sign-in-with-google-form.js.map +1 -0
- package/dist/sign-in/sign-in-with-microsoft-form.d.ts +24 -0
- package/dist/sign-in/sign-in-with-microsoft-form.d.ts.map +1 -0
- package/dist/sign-in/sign-in-with-microsoft-form.js +58 -0
- package/dist/sign-in/sign-in-with-microsoft-form.js.map +1 -0
- package/dist/ui-selectors/index.d.ts +2 -0
- package/dist/ui-selectors/index.d.ts.map +1 -0
- package/dist/ui-selectors/index.js +14 -0
- package/dist/ui-selectors/index.js.map +1 -0
- package/dist/ui-selectors/ui-shell-model.d.ts +80 -0
- package/dist/ui-selectors/ui-shell-model.d.ts.map +1 -0
- package/dist/ui-selectors/ui-shell-model.js +134 -0
- package/dist/ui-selectors/ui-shell-model.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UiShellModel = void 0;
|
|
4
|
+
const mosaic_e2e_ui_selectors_1 = require("@axinom/mosaic-e2e-ui-selectors");
|
|
5
|
+
/**
|
|
6
|
+
* A model representing the Mosaic UI including methods for navigation.
|
|
7
|
+
* This model should be used for page and UI components which are provided by Mosaic as a service.
|
|
8
|
+
*
|
|
9
|
+
* Use this model to interact with:
|
|
10
|
+
* - The breadcrumbs bar (on any page)
|
|
11
|
+
* - The landing page
|
|
12
|
+
* - The settings hub page
|
|
13
|
+
* - Pages, settings or mod*a*ls of any managed service (Image, Video, Monetization, etc)
|
|
14
|
+
*/
|
|
15
|
+
class UiShellModel {
|
|
16
|
+
constructor(
|
|
17
|
+
/** The playwright page object. */
|
|
18
|
+
page) {
|
|
19
|
+
this.page = page;
|
|
20
|
+
/** A model for the breadcrumbs bar. */
|
|
21
|
+
this.breadcrumbs = new mosaic_e2e_ui_selectors_1.Breadcrumbs(this.page);
|
|
22
|
+
/** A model for the header on the landing page. */
|
|
23
|
+
this.landingPageHeader = new mosaic_e2e_ui_selectors_1.LandingPageHeader(this.page);
|
|
24
|
+
/** A model for the landing page tiles. */
|
|
25
|
+
this.landingPageTiles = new mosaic_e2e_ui_selectors_1.LandingPageTiles(this.page);
|
|
26
|
+
/** A model for the settings page header. */
|
|
27
|
+
this.settingsPageHeader = new mosaic_e2e_ui_selectors_1.PageHeader(this.page);
|
|
28
|
+
/** A model for the settings pages navigation hub. */
|
|
29
|
+
this.settingsPageHub = new mosaic_e2e_ui_selectors_1.Hub(this.page);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* This method navigates to the landing page breadcrumb.
|
|
33
|
+
* The management system must be loaded & signed in before using this method.
|
|
34
|
+
*
|
|
35
|
+
* The following steps will be taken:
|
|
36
|
+
* - Click the first (home) breadcrumb
|
|
37
|
+
* - Wait for a page transition to complete
|
|
38
|
+
*/
|
|
39
|
+
async navigateToBreadcrumbHome() {
|
|
40
|
+
const breadcrumb = this.breadcrumbs.getBreadcrumb(1);
|
|
41
|
+
try {
|
|
42
|
+
await breadcrumb.getLocator().waitFor({ state: 'visible' });
|
|
43
|
+
}
|
|
44
|
+
catch (_a) {
|
|
45
|
+
throw new Error(`The breadcrumbs home button is not visible. Is the management system loaded and signed in?`);
|
|
46
|
+
}
|
|
47
|
+
await breadcrumb.navigate();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* This method navigates to the 'previous' breadcrumb.
|
|
51
|
+
* The management system must be loaded & signed in before using this method.
|
|
52
|
+
*
|
|
53
|
+
* The following steps will be taken:
|
|
54
|
+
* - Click the last-but-one breadcrumb
|
|
55
|
+
* - Wait for a page transition to complete
|
|
56
|
+
*/
|
|
57
|
+
async navigateToBreadcrumbPrevious() {
|
|
58
|
+
const breadcrumb = this.breadcrumbs.getBreadcrumb(-2);
|
|
59
|
+
try {
|
|
60
|
+
await breadcrumb.getLocator().waitFor({ state: 'visible' });
|
|
61
|
+
}
|
|
62
|
+
catch (_a) {
|
|
63
|
+
throw new Error(`The 'previous' breadcrumb button is not visible. Is the management system loaded and signed in? Are there at least 3 breadcrumbs visible?`);
|
|
64
|
+
}
|
|
65
|
+
await breadcrumb.navigate();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* This method navigates to the 'refresh' breadcrumb.
|
|
69
|
+
* The management system must be loaded & signed in before using this method.
|
|
70
|
+
*
|
|
71
|
+
* The following steps will be taken:
|
|
72
|
+
* - Click the last breadcrumb
|
|
73
|
+
* - Wait for a page transition to complete
|
|
74
|
+
*/
|
|
75
|
+
async navigateToBreadcrumbRefresh() {
|
|
76
|
+
const breadcrumb = this.breadcrumbs.getBreadcrumb(-1);
|
|
77
|
+
try {
|
|
78
|
+
await breadcrumb.getLocator().waitFor({ state: 'visible' });
|
|
79
|
+
}
|
|
80
|
+
catch (_a) {
|
|
81
|
+
throw new Error(`The 'refresh' breadcrumb button is not visible. Is the management system loaded and signed in? Are there at least 2 breadcrumbs visible?`);
|
|
82
|
+
}
|
|
83
|
+
await breadcrumb.navigate();
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* This method navigates to a landing page tile by label.
|
|
87
|
+
* The management system must be loaded & signed in before using this method.
|
|
88
|
+
*
|
|
89
|
+
* The following steps will be taken:
|
|
90
|
+
* - Navigate to the home breadcrumb
|
|
91
|
+
* - Navigate to a tile by label
|
|
92
|
+
* - Wait for a page transition to complete
|
|
93
|
+
*/
|
|
94
|
+
async navigateToLandingPageTile(label) {
|
|
95
|
+
const tile = this.landingPageTiles.getTileByLabel(label);
|
|
96
|
+
await this.navigateToBreadcrumbHome();
|
|
97
|
+
try {
|
|
98
|
+
await tile.getLocator().waitFor({ state: 'visible' });
|
|
99
|
+
}
|
|
100
|
+
catch (_a) {
|
|
101
|
+
throw new Error(`Landing page tile with label '${label}' is not visible. Is the label correct? Is the service enabled for this environment?`);
|
|
102
|
+
}
|
|
103
|
+
await tile.navigate();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* This method navigates to a settings page tile by label.
|
|
107
|
+
* The management system must be loaded & signed in before using this method.
|
|
108
|
+
*
|
|
109
|
+
* The following steps will be taken:
|
|
110
|
+
* - Navigate to the home breadcrumb
|
|
111
|
+
* - Navigate to the 'Settings' tile
|
|
112
|
+
* - Navigate to a tile by group label and tile label
|
|
113
|
+
* - Wait for a page transition to complete
|
|
114
|
+
*/
|
|
115
|
+
async navigateToSettingsTile(groupLabel, tileLabel) {
|
|
116
|
+
await this.navigateToLandingPageTile('Settings');
|
|
117
|
+
const tile = this.settingsPageHub
|
|
118
|
+
.getGroupByLabel(groupLabel)
|
|
119
|
+
.getTileByLabel(tileLabel);
|
|
120
|
+
try {
|
|
121
|
+
await tile.getLocator().waitFor({ state: 'visible' });
|
|
122
|
+
}
|
|
123
|
+
catch (_a) {
|
|
124
|
+
throw new Error(`Settings tile in group '${groupLabel}' with label '${tileLabel}' is not visible. Is the label correct? Is the service enabled for this environment?`);
|
|
125
|
+
}
|
|
126
|
+
await tile.navigate();
|
|
127
|
+
}
|
|
128
|
+
/** This method waits for a page transition to complete after navigation or page refresh. */
|
|
129
|
+
async waitForPageTransition() {
|
|
130
|
+
await (0, mosaic_e2e_ui_selectors_1.waitForPageTransition)(this.page);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.UiShellModel = UiShellModel;
|
|
134
|
+
//# sourceMappingURL=ui-shell-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-shell-model.js","sourceRoot":"","sources":["../../src/ui-selectors/ui-shell-model.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@axinom/mosaic-e2e-page-model",
|
|
3
|
+
"version": "0.1.0-rc.3",
|
|
4
|
+
"description": "A page model for testing an Axinom Mosaic Management System with Playwright.",
|
|
5
|
+
"author": "Axinom",
|
|
6
|
+
"license": "PROPRIETARY",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"axinom",
|
|
9
|
+
"mosaic",
|
|
10
|
+
"axinom mosaic"
|
|
11
|
+
],
|
|
12
|
+
"files": [
|
|
13
|
+
"dist"
|
|
14
|
+
],
|
|
15
|
+
"main": "dist/index.js",
|
|
16
|
+
"types": "dist/index.d.ts",
|
|
17
|
+
"scripts": {
|
|
18
|
+
"clean": "rimraf dist",
|
|
19
|
+
"build": "yarn clean && tsc",
|
|
20
|
+
"build:ci": "yarn workspaces focus && yarn build",
|
|
21
|
+
"dev": "tsc -w"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@axinom/mosaic-e2e-ui-selectors": "^0.1.0-rc.3"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/node": "^14.18.0",
|
|
28
|
+
"eslint-plugin-playwright": "^0.8.0",
|
|
29
|
+
"playwright-core": "^1.24.2",
|
|
30
|
+
"rimraf": "^3.0.2",
|
|
31
|
+
"typescript": "^4.5.4"
|
|
32
|
+
},
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"gitHead": "d3c927a0cd672a877187648d7c1725224447ee3a"
|
|
37
|
+
}
|