@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.
Files changed (66) hide show
  1. package/README.md +22 -0
  2. package/dist/index.d.ts +6 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +18 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/managed-services/image-selection-explorer.d.ts +16 -0
  7. package/dist/managed-services/image-selection-explorer.d.ts.map +1 -0
  8. package/dist/managed-services/image-selection-explorer.js +39 -0
  9. package/dist/managed-services/image-selection-explorer.js.map +1 -0
  10. package/dist/managed-services/image-service.d.ts +65 -0
  11. package/dist/managed-services/image-service.d.ts.map +1 -0
  12. package/dist/managed-services/image-service.js +120 -0
  13. package/dist/managed-services/image-service.js.map +1 -0
  14. package/dist/managed-services/index.d.ts +4 -0
  15. package/dist/managed-services/index.d.ts.map +1 -0
  16. package/dist/managed-services/index.js +16 -0
  17. package/dist/managed-services/index.js.map +1 -0
  18. package/dist/managed-services/managed-service-model.d.ts +46 -0
  19. package/dist/managed-services/managed-service-model.d.ts.map +1 -0
  20. package/dist/managed-services/managed-service-model.js +33 -0
  21. package/dist/managed-services/managed-service-model.js.map +1 -0
  22. package/dist/managed-services/monetization-service.d.ts +208 -0
  23. package/dist/managed-services/monetization-service.d.ts.map +1 -0
  24. package/dist/managed-services/monetization-service.js +459 -0
  25. package/dist/managed-services/monetization-service.js.map +1 -0
  26. package/dist/managed-services/payment-provider-settings-field.d.ts +7 -0
  27. package/dist/managed-services/payment-provider-settings-field.d.ts.map +1 -0
  28. package/dist/managed-services/payment-provider-settings-field.js +37 -0
  29. package/dist/managed-services/payment-provider-settings-field.js.map +1 -0
  30. package/dist/page-model.d.ts +44 -0
  31. package/dist/page-model.d.ts.map +1 -0
  32. package/dist/page-model.js +56 -0
  33. package/dist/page-model.js.map +1 -0
  34. package/dist/service-model.d.ts +43 -0
  35. package/dist/service-model.d.ts.map +1 -0
  36. package/dist/service-model.js +32 -0
  37. package/dist/service-model.js.map +1 -0
  38. package/dist/sign-in/index.d.ts +5 -0
  39. package/dist/sign-in/index.d.ts.map +1 -0
  40. package/dist/sign-in/index.js +17 -0
  41. package/dist/sign-in/index.js.map +1 -0
  42. package/dist/sign-in/sign-in-page.d.ts +27 -0
  43. package/dist/sign-in/sign-in-page.d.ts.map +1 -0
  44. package/dist/sign-in/sign-in-page.js +38 -0
  45. package/dist/sign-in/sign-in-page.js.map +1 -0
  46. package/dist/sign-in/sign-in-with-ax-auth-form.d.ts +24 -0
  47. package/dist/sign-in/sign-in-with-ax-auth-form.d.ts.map +1 -0
  48. package/dist/sign-in/sign-in-with-ax-auth-form.js +48 -0
  49. package/dist/sign-in/sign-in-with-ax-auth-form.js.map +1 -0
  50. package/dist/sign-in/sign-in-with-google-form.d.ts +23 -0
  51. package/dist/sign-in/sign-in-with-google-form.d.ts.map +1 -0
  52. package/dist/sign-in/sign-in-with-google-form.js +51 -0
  53. package/dist/sign-in/sign-in-with-google-form.js.map +1 -0
  54. package/dist/sign-in/sign-in-with-microsoft-form.d.ts +24 -0
  55. package/dist/sign-in/sign-in-with-microsoft-form.d.ts.map +1 -0
  56. package/dist/sign-in/sign-in-with-microsoft-form.js +58 -0
  57. package/dist/sign-in/sign-in-with-microsoft-form.js.map +1 -0
  58. package/dist/ui-selectors/index.d.ts +2 -0
  59. package/dist/ui-selectors/index.d.ts.map +1 -0
  60. package/dist/ui-selectors/index.js +14 -0
  61. package/dist/ui-selectors/index.js.map +1 -0
  62. package/dist/ui-selectors/ui-shell-model.d.ts +80 -0
  63. package/dist/ui-selectors/ui-shell-model.d.ts.map +1 -0
  64. package/dist/ui-selectors/ui-shell-model.js +134 -0
  65. package/dist/ui-selectors/ui-shell-model.js.map +1 -0
  66. 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
+ }