@axinom/mosaic-e2e-page-model 0.17.12 → 0.17.13-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/dist/cjs/index.d.ts +6 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/{index.js → cjs/index.js} +5 -5
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/managed-services/image-service/image-selection-explorer.d.ts.map +1 -0
- package/dist/cjs/managed-services/image-service/image-selection-explorer.js.map +1 -0
- package/dist/{managed-services → cjs/managed-services}/image-service/image-service.d.ts +17 -2
- package/dist/cjs/managed-services/image-service/image-service.d.ts.map +1 -0
- package/dist/{managed-services → cjs/managed-services}/image-service/image-service.js +30 -5
- package/dist/cjs/managed-services/image-service/image-service.js.map +1 -0
- package/dist/cjs/managed-services/image-service/index.d.ts +3 -0
- package/dist/cjs/managed-services/image-service/index.d.ts.map +1 -0
- package/dist/{ui-selectors → cjs/managed-services/image-service}/index.js +2 -2
- package/dist/cjs/managed-services/image-service/index.js.map +1 -0
- package/dist/cjs/managed-services/index.d.ts +3 -0
- package/dist/cjs/managed-services/index.d.ts.map +1 -0
- package/dist/{managed-services/image-service → cjs/managed-services}/index.js +2 -2
- package/dist/cjs/managed-services/index.js.map +1 -0
- package/dist/{managed-services → cjs/managed-services}/managed-service-model.d.ts +2 -2
- package/dist/cjs/managed-services/managed-service-model.d.ts.map +1 -0
- package/dist/cjs/managed-services/managed-service-model.js.map +1 -0
- package/dist/{managed-services → cjs/managed-services}/video-service.d.ts +1 -1
- package/dist/cjs/managed-services/video-service.d.ts.map +1 -0
- package/dist/{managed-services → cjs/managed-services}/video-service.js +8 -9
- package/dist/cjs/managed-services/video-service.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/{page-model.d.ts → cjs/page-model.d.ts} +4 -4
- package/dist/cjs/page-model.d.ts.map +1 -0
- package/dist/{page-model.js → cjs/page-model.js} +8 -8
- package/dist/cjs/page-model.js.map +1 -0
- package/dist/{service-model.d.ts → cjs/service-model.d.ts} +2 -2
- package/dist/cjs/service-model.d.ts.map +1 -0
- package/dist/cjs/service-model.js.map +1 -0
- package/dist/cjs/sign-in/index.d.ts +5 -0
- package/dist/cjs/sign-in/index.d.ts.map +1 -0
- package/dist/{sign-in → cjs/sign-in}/index.js +4 -4
- package/dist/cjs/sign-in/index.js.map +1 -0
- package/dist/{sign-in → cjs/sign-in}/sign-in-page.d.ts +4 -4
- package/dist/cjs/sign-in/sign-in-page.d.ts.map +1 -0
- package/dist/{sign-in → cjs/sign-in}/sign-in-page.js +6 -6
- package/dist/cjs/sign-in/sign-in-page.js.map +1 -0
- package/dist/{sign-in → cjs/sign-in}/sign-in-with-ax-auth-form.d.ts +1 -1
- package/dist/cjs/sign-in/sign-in-with-ax-auth-form.d.ts.map +1 -0
- package/dist/cjs/sign-in/sign-in-with-ax-auth-form.js.map +1 -0
- package/dist/{sign-in → cjs/sign-in}/sign-in-with-google-form.d.ts +1 -1
- package/dist/cjs/sign-in/sign-in-with-google-form.d.ts.map +1 -0
- package/dist/cjs/sign-in/sign-in-with-google-form.js.map +1 -0
- package/dist/{sign-in → cjs/sign-in}/sign-in-with-microsoft-form.d.ts +1 -1
- package/dist/cjs/sign-in/sign-in-with-microsoft-form.d.ts.map +1 -0
- package/dist/cjs/sign-in/sign-in-with-microsoft-form.js.map +1 -0
- package/dist/{ui-selectors → cjs/ui-selectors}/breadcrumbs.d.ts +1 -1
- package/dist/cjs/ui-selectors/breadcrumbs.d.ts.map +1 -0
- package/dist/cjs/ui-selectors/breadcrumbs.js.map +1 -0
- package/dist/cjs/ui-selectors/index.d.ts +3 -0
- package/dist/cjs/ui-selectors/index.d.ts.map +1 -0
- package/dist/{managed-services → cjs/ui-selectors}/index.js +2 -2
- package/dist/cjs/ui-selectors/index.js.map +1 -0
- package/dist/{ui-selectors → cjs/ui-selectors}/navigation-panel.d.ts +1 -1
- package/dist/cjs/ui-selectors/navigation-panel.d.ts.map +1 -0
- package/dist/cjs/ui-selectors/navigation-panel.js.map +1 -0
- package/dist/{ui-selectors → cjs/ui-selectors}/toast-notifications.d.ts +1 -1
- package/dist/cjs/ui-selectors/toast-notifications.d.ts.map +1 -0
- package/dist/cjs/ui-selectors/toast-notifications.js.map +1 -0
- package/dist/{ui-selectors → cjs/ui-selectors}/ui-shell-model.d.ts +4 -4
- package/dist/cjs/ui-selectors/ui-shell-model.d.ts.map +1 -0
- package/dist/{ui-selectors → cjs/ui-selectors}/ui-shell-model.js +10 -10
- package/dist/cjs/ui-selectors/ui-shell-model.js.map +1 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/managed-services/image-service/image-selection-explorer.d.ts +16 -0
- package/dist/esm/managed-services/image-service/image-selection-explorer.d.ts.map +1 -0
- package/dist/esm/managed-services/image-service/image-selection-explorer.js +38 -0
- package/dist/esm/managed-services/image-service/image-selection-explorer.js.map +1 -0
- package/dist/esm/managed-services/image-service/image-service.d.ts +80 -0
- package/dist/esm/managed-services/image-service/image-service.d.ts.map +1 -0
- package/dist/esm/managed-services/image-service/image-service.js +138 -0
- package/dist/esm/managed-services/image-service/image-service.js.map +1 -0
- package/dist/esm/managed-services/image-service/index.d.ts +3 -0
- package/dist/esm/managed-services/image-service/index.d.ts.map +1 -0
- package/dist/esm/managed-services/image-service/index.js +3 -0
- package/dist/esm/managed-services/image-service/index.js.map +1 -0
- package/dist/esm/managed-services/index.d.ts +3 -0
- package/dist/esm/managed-services/index.d.ts.map +1 -0
- package/dist/esm/managed-services/index.js +3 -0
- package/dist/esm/managed-services/index.js.map +1 -0
- package/dist/esm/managed-services/managed-service-model.d.ts +46 -0
- package/dist/esm/managed-services/managed-service-model.d.ts.map +1 -0
- package/dist/esm/managed-services/managed-service-model.js +32 -0
- package/dist/esm/managed-services/managed-service-model.js.map +1 -0
- package/dist/esm/managed-services/video-service.d.ts +107 -0
- package/dist/esm/managed-services/video-service.d.ts.map +1 -0
- package/dist/esm/managed-services/video-service.js +215 -0
- package/dist/esm/managed-services/video-service.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/page-model.d.ts +65 -0
- package/dist/esm/page-model.d.ts.map +1 -0
- package/dist/esm/page-model.js +100 -0
- package/dist/esm/page-model.js.map +1 -0
- package/dist/esm/service-model.d.ts +43 -0
- package/dist/esm/service-model.d.ts.map +1 -0
- package/dist/esm/service-model.js +30 -0
- package/dist/esm/service-model.js.map +1 -0
- package/dist/esm/sign-in/index.d.ts +5 -0
- package/dist/esm/sign-in/index.d.ts.map +1 -0
- package/dist/esm/sign-in/index.js +5 -0
- package/dist/esm/sign-in/index.js.map +1 -0
- package/dist/esm/sign-in/sign-in-page.d.ts +32 -0
- package/dist/esm/sign-in/sign-in-page.d.ts.map +1 -0
- package/dist/esm/sign-in/sign-in-page.js +32 -0
- package/dist/esm/sign-in/sign-in-page.js.map +1 -0
- package/dist/esm/sign-in/sign-in-with-ax-auth-form.d.ts +24 -0
- package/dist/esm/sign-in/sign-in-with-ax-auth-form.d.ts.map +1 -0
- package/dist/esm/sign-in/sign-in-with-ax-auth-form.js +58 -0
- package/dist/esm/sign-in/sign-in-with-ax-auth-form.js.map +1 -0
- package/dist/esm/sign-in/sign-in-with-google-form.d.ts +23 -0
- package/dist/esm/sign-in/sign-in-with-google-form.d.ts.map +1 -0
- package/dist/esm/sign-in/sign-in-with-google-form.js +48 -0
- package/dist/esm/sign-in/sign-in-with-google-form.js.map +1 -0
- package/dist/esm/sign-in/sign-in-with-microsoft-form.d.ts +24 -0
- package/dist/esm/sign-in/sign-in-with-microsoft-form.d.ts.map +1 -0
- package/dist/esm/sign-in/sign-in-with-microsoft-form.js +55 -0
- package/dist/esm/sign-in/sign-in-with-microsoft-form.js.map +1 -0
- package/dist/esm/ui-selectors/breadcrumbs.d.ts +24 -0
- package/dist/esm/ui-selectors/breadcrumbs.d.ts.map +1 -0
- package/dist/esm/ui-selectors/breadcrumbs.js +37 -0
- package/dist/esm/ui-selectors/breadcrumbs.js.map +1 -0
- package/dist/esm/ui-selectors/index.d.ts +3 -0
- package/dist/esm/ui-selectors/index.d.ts.map +1 -0
- package/dist/esm/ui-selectors/index.js +3 -0
- package/dist/esm/ui-selectors/index.js.map +1 -0
- package/dist/esm/ui-selectors/navigation-panel.d.ts +91 -0
- package/dist/esm/ui-selectors/navigation-panel.d.ts.map +1 -0
- package/dist/esm/ui-selectors/navigation-panel.js +132 -0
- package/dist/esm/ui-selectors/navigation-panel.js.map +1 -0
- package/dist/esm/ui-selectors/toast-notifications.d.ts +48 -0
- package/dist/esm/ui-selectors/toast-notifications.d.ts.map +1 -0
- package/dist/esm/ui-selectors/toast-notifications.js +64 -0
- package/dist/esm/ui-selectors/toast-notifications.js.map +1 -0
- package/dist/esm/ui-selectors/ui-shell-model.d.ts +158 -0
- package/dist/esm/ui-selectors/ui-shell-model.d.ts.map +1 -0
- package/dist/esm/ui-selectors/ui-shell-model.js +265 -0
- package/dist/esm/ui-selectors/ui-shell-model.js.map +1 -0
- package/package.json +19 -8
- package/src/index.ts +5 -5
- package/src/managed-services/image-service/image-service.ts +32 -2
- package/src/managed-services/image-service/index.ts +2 -2
- package/src/managed-services/index.ts +2 -2
- package/src/managed-services/managed-service-model.ts +2 -2
- package/src/managed-services/video-service.ts +1 -1
- package/src/page-model.ts +4 -4
- package/src/service-model.ts +2 -2
- package/src/sign-in/index.ts +4 -4
- package/src/sign-in/sign-in-page.ts +4 -4
- package/src/sign-in/sign-in-with-ax-auth-form.ts +1 -1
- package/src/sign-in/sign-in-with-google-form.ts +1 -1
- package/src/sign-in/sign-in-with-microsoft-form.ts +1 -1
- package/src/ui-selectors/breadcrumbs.ts +1 -1
- package/src/ui-selectors/index.ts +2 -2
- package/src/ui-selectors/navigation-panel.ts +1 -1
- package/src/ui-selectors/toast-notifications.ts +1 -1
- package/src/ui-selectors/ui-shell-model.ts +4 -4
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/managed-services/image-service/image-selection-explorer.d.ts.map +0 -1
- package/dist/managed-services/image-service/image-selection-explorer.js.map +0 -1
- package/dist/managed-services/image-service/image-service.d.ts.map +0 -1
- package/dist/managed-services/image-service/image-service.js.map +0 -1
- package/dist/managed-services/image-service/index.d.ts +0 -3
- package/dist/managed-services/image-service/index.d.ts.map +0 -1
- package/dist/managed-services/image-service/index.js.map +0 -1
- package/dist/managed-services/index.d.ts +0 -3
- package/dist/managed-services/index.d.ts.map +0 -1
- package/dist/managed-services/index.js.map +0 -1
- package/dist/managed-services/managed-service-model.d.ts.map +0 -1
- package/dist/managed-services/managed-service-model.js.map +0 -1
- package/dist/managed-services/video-service.d.ts.map +0 -1
- package/dist/managed-services/video-service.js.map +0 -1
- package/dist/page-model.d.ts.map +0 -1
- package/dist/page-model.js.map +0 -1
- package/dist/service-model.d.ts.map +0 -1
- package/dist/service-model.js.map +0 -1
- package/dist/sign-in/index.d.ts +0 -5
- package/dist/sign-in/index.d.ts.map +0 -1
- package/dist/sign-in/index.js.map +0 -1
- package/dist/sign-in/sign-in-page.d.ts.map +0 -1
- package/dist/sign-in/sign-in-page.js.map +0 -1
- package/dist/sign-in/sign-in-with-ax-auth-form.d.ts.map +0 -1
- package/dist/sign-in/sign-in-with-ax-auth-form.js.map +0 -1
- package/dist/sign-in/sign-in-with-google-form.d.ts.map +0 -1
- package/dist/sign-in/sign-in-with-google-form.js.map +0 -1
- package/dist/sign-in/sign-in-with-microsoft-form.d.ts.map +0 -1
- package/dist/sign-in/sign-in-with-microsoft-form.js.map +0 -1
- package/dist/ui-selectors/breadcrumbs.d.ts.map +0 -1
- package/dist/ui-selectors/breadcrumbs.js.map +0 -1
- package/dist/ui-selectors/index.d.ts +0 -3
- package/dist/ui-selectors/index.d.ts.map +0 -1
- package/dist/ui-selectors/index.js.map +0 -1
- package/dist/ui-selectors/navigation-panel.d.ts.map +0 -1
- package/dist/ui-selectors/navigation-panel.js.map +0 -1
- package/dist/ui-selectors/toast-notifications.d.ts.map +0 -1
- package/dist/ui-selectors/toast-notifications.js.map +0 -1
- package/dist/ui-selectors/ui-shell-model.d.ts.map +0 -1
- package/dist/ui-selectors/ui-shell-model.js.map +0 -1
- /package/dist/{managed-services → cjs/managed-services}/image-service/image-selection-explorer.d.ts +0 -0
- /package/dist/{managed-services → cjs/managed-services}/image-service/image-selection-explorer.js +0 -0
- /package/dist/{managed-services → cjs/managed-services}/managed-service-model.js +0 -0
- /package/dist/{service-model.js → cjs/service-model.js} +0 -0
- /package/dist/{sign-in → cjs/sign-in}/sign-in-with-ax-auth-form.js +0 -0
- /package/dist/{sign-in → cjs/sign-in}/sign-in-with-google-form.js +0 -0
- /package/dist/{sign-in → cjs/sign-in}/sign-in-with-microsoft-form.js +0 -0
- /package/dist/{ui-selectors → cjs/ui-selectors}/breadcrumbs.js +0 -0
- /package/dist/{ui-selectors → cjs/ui-selectors}/navigation-panel.js +0 -0
- /package/dist/{ui-selectors → cjs/ui-selectors}/toast-notifications.js +0 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { ManagedServiceModel } from './managed-service-model.js';
|
|
2
|
+
/** A model for the managed image service. */
|
|
3
|
+
export declare class VideoService extends ManagedServiceModel {
|
|
4
|
+
/**
|
|
5
|
+
* This method navigates to a video details station by title.
|
|
6
|
+
* The management system must be loaded & signed in before using this method.
|
|
7
|
+
* If there is not exactly one matching video an exception will be raised.
|
|
8
|
+
*
|
|
9
|
+
* The following steps will be taken:
|
|
10
|
+
* - Navigate to the home breadcrumb then the 'Videos' tile
|
|
11
|
+
* - Filter by title and verify that a single result is shown
|
|
12
|
+
* - Click the video row action
|
|
13
|
+
* - Wait for the video details station to load
|
|
14
|
+
*/
|
|
15
|
+
navigateToVideoDetails(args: {
|
|
16
|
+
/** A unique video title. */
|
|
17
|
+
title: string;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* This method approves a video by title.
|
|
21
|
+
* The management system must be loaded & signed in before using this method.
|
|
22
|
+
* If a single matching, non-archived video is not found then an exception will be raised.
|
|
23
|
+
*
|
|
24
|
+
* The following steps will be taken:
|
|
25
|
+
* - Navigate to the home breadcrumb then the 'Videos' tile
|
|
26
|
+
* - Filter by title and verify that a single result is shown
|
|
27
|
+
* - Navigate to the video with the row action
|
|
28
|
+
* - Click 'Preview' then set the status to 'Approved'
|
|
29
|
+
* - Click the 'previous' breadcrumb and wait for the video details station to load
|
|
30
|
+
*/
|
|
31
|
+
approveVideo(args: {
|
|
32
|
+
/** A unique video title. */
|
|
33
|
+
title: string;
|
|
34
|
+
}): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* This method archives a video by title.
|
|
37
|
+
* The management system must be loaded & signed in before using this method.
|
|
38
|
+
* If a single matching, non-archived video is not found then an exception will be raised.
|
|
39
|
+
*
|
|
40
|
+
* The following steps will be taken:
|
|
41
|
+
* - Navigate to the home breadcrumb then the 'Videos' tile
|
|
42
|
+
* - Filter by title and verify that a single result is shown
|
|
43
|
+
* - Navigate to the video with the row action
|
|
44
|
+
* - Click 'Archive' and confirm
|
|
45
|
+
* - Wait for the video details station to reload
|
|
46
|
+
*/
|
|
47
|
+
archiveVideo(args: {
|
|
48
|
+
/** A unique video title. */
|
|
49
|
+
title: string;
|
|
50
|
+
}): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* This method deletes a video by title.
|
|
53
|
+
* The management system must be loaded & signed in before using this method.
|
|
54
|
+
* If a single matching, undeleted video is not found then an exception will be raised.
|
|
55
|
+
*
|
|
56
|
+
* The following steps will be taken:
|
|
57
|
+
* - Navigate to the home breadcrumb then the 'Videos' tile
|
|
58
|
+
* - Filter by title and verify that a single result is shown
|
|
59
|
+
* - Navigate to the video with the row action
|
|
60
|
+
* - Click 'Delete' and confirm
|
|
61
|
+
* - Wait for the videos explorer station to reload
|
|
62
|
+
*/
|
|
63
|
+
deleteVideo(args: {
|
|
64
|
+
/** A unique video title. */
|
|
65
|
+
title: string;
|
|
66
|
+
}): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* This method creates a video processing profile.
|
|
69
|
+
* The management system must be loaded & signed in before using this method.
|
|
70
|
+
*
|
|
71
|
+
* The following steps will be taken:
|
|
72
|
+
* - Navigate to the home breadcrumb then the 'Settings' tile
|
|
73
|
+
* - Navigate to the 'Video Encoding', 'Processing' tile
|
|
74
|
+
* - Click the 'New' action
|
|
75
|
+
* - Enter values for 'Title' and 'Output Format'
|
|
76
|
+
* - Click the 'Proceed' action
|
|
77
|
+
* - Enter the value for 'DRM Protection' (if provided)
|
|
78
|
+
* - Click the 'previous' breadcrumb and wait for the explorer station to load
|
|
79
|
+
*/
|
|
80
|
+
createVideoProcessingProfile(properties: {
|
|
81
|
+
/** A unique video processing profile title. */
|
|
82
|
+
title: string;
|
|
83
|
+
/** The output format to set (display label). */
|
|
84
|
+
outputFormat: 'HLS' | 'DASH' | 'DASH & HLS' | 'CMAF' | 'DASH On Demand' | 'MPEG-2 TS';
|
|
85
|
+
/** The DRM protection type to set (display label). If omitted then "None" will be chosen. */
|
|
86
|
+
drmProtection?: 'Single Key' | 'Multiple Keys';
|
|
87
|
+
}): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* This method delete a video processing profile by title.
|
|
90
|
+
* The management system must be loaded & signed in before using this method.
|
|
91
|
+
* If a single matching processing profile is not found then an exception will be raised.
|
|
92
|
+
*
|
|
93
|
+
* The following steps will be taken:
|
|
94
|
+
* - Navigate to the home breadcrumb then the 'Settings' tile
|
|
95
|
+
* - Navigate to the 'Video Encoding', 'Processing' tile
|
|
96
|
+
* - Filter by title and select the processing profile row action
|
|
97
|
+
* - Click the 'Delete' action and wait for the explorer station to load
|
|
98
|
+
*/
|
|
99
|
+
deleteVideoProcessingProfile(args: {
|
|
100
|
+
/** A unique video processing profile title. */
|
|
101
|
+
title: string;
|
|
102
|
+
}): Promise<void>;
|
|
103
|
+
waitForEncodingSuccess(args: {
|
|
104
|
+
videoSource: string;
|
|
105
|
+
}): Promise<void>;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=video-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video-service.d.ts","sourceRoot":"","sources":["../../../src/managed-services/video-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,6CAA6C;AAC7C,qBAAa,YAAa,SAAQ,mBAAmB;IACnD;;;;;;;;;;OAUG;IACG,sBAAsB,CAAC,IAAI,EAAE;QACjC,4BAA4B;QAC5B,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BjB;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,IAAI,EAAE;QACvB,4BAA4B;QAC5B,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBjB;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,IAAI,EAAE;QACvB,4BAA4B;QAC5B,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjB;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,IAAI,EAAE;QACtB,4BAA4B;QAC5B,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjB;;;;;;;;;;;;OAYG;IACG,4BAA4B,CAAC,UAAU,EAAE;QAC7C,+CAA+C;QAC/C,KAAK,EAAE,MAAM,CAAC;QACd,gDAAgD;QAChD,YAAY,EACR,KAAK,GACL,MAAM,GACN,YAAY,GACZ,MAAM,GACN,gBAAgB,GAChB,WAAW,CAAC;QAChB,6FAA6F;QAC7F,aAAa,CAAC,EAAE,YAAY,GAAG,eAAe,CAAC;KAChD,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCjB;;;;;;;;;;OAUG;IACG,4BAA4B,CAAC,IAAI,EAAE;QACvC,+CAA+C;QAC/C,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCX,sBAAsB,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA2B3E"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { ActionLabel } from '@axinom/mosaic-e2e-ui-selectors';
|
|
2
|
+
import { expect } from '@playwright/test';
|
|
3
|
+
import { ManagedServiceModel } from './managed-service-model.js';
|
|
4
|
+
/** A model for the managed image service. */
|
|
5
|
+
export class VideoService extends ManagedServiceModel {
|
|
6
|
+
/**
|
|
7
|
+
* This method navigates to a video details station by title.
|
|
8
|
+
* The management system must be loaded & signed in before using this method.
|
|
9
|
+
* If there is not exactly one matching video an exception will be raised.
|
|
10
|
+
*
|
|
11
|
+
* The following steps will be taken:
|
|
12
|
+
* - Navigate to the home breadcrumb then the 'Videos' tile
|
|
13
|
+
* - Filter by title and verify that a single result is shown
|
|
14
|
+
* - Click the video row action
|
|
15
|
+
* - Wait for the video details station to load
|
|
16
|
+
*/
|
|
17
|
+
async navigateToVideoDetails(args) {
|
|
18
|
+
const { uiShell, uiManagedWorkflows } = this;
|
|
19
|
+
await uiShell.goToNavigationPanelItemByTestIds('videos');
|
|
20
|
+
await uiManagedWorkflows.list.waitForData();
|
|
21
|
+
// filter to the item
|
|
22
|
+
await uiManagedWorkflows.filters
|
|
23
|
+
.getFilterByName('title')
|
|
24
|
+
.asFreeTextFilter()
|
|
25
|
+
.setValue(args.title);
|
|
26
|
+
await uiManagedWorkflows.list.waitForData();
|
|
27
|
+
await expect(uiManagedWorkflows.list.allVisibleRows).toHaveCount(1);
|
|
28
|
+
// Verify that there is exactly one matching row
|
|
29
|
+
if ((await uiManagedWorkflows.list.allVisibleRows.count()) !== 1) {
|
|
30
|
+
throw new Error(`Failed to find exactly one video with title '${args.title}'.`);
|
|
31
|
+
}
|
|
32
|
+
// navigate
|
|
33
|
+
await uiShell.waitForPageTransition(uiManagedWorkflows.list.getRow(1).actionButton.click());
|
|
34
|
+
await uiManagedWorkflows.form.waitForData();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* This method approves a video by title.
|
|
38
|
+
* The management system must be loaded & signed in before using this method.
|
|
39
|
+
* If a single matching, non-archived video is not found then an exception will be raised.
|
|
40
|
+
*
|
|
41
|
+
* The following steps will be taken:
|
|
42
|
+
* - Navigate to the home breadcrumb then the 'Videos' tile
|
|
43
|
+
* - Filter by title and verify that a single result is shown
|
|
44
|
+
* - Navigate to the video with the row action
|
|
45
|
+
* - Click 'Preview' then set the status to 'Approved'
|
|
46
|
+
* - Click the 'previous' breadcrumb and wait for the video details station to load
|
|
47
|
+
*/
|
|
48
|
+
async approveVideo(args) {
|
|
49
|
+
const { uiShell, uiManagedWorkflows } = this;
|
|
50
|
+
await this.navigateToVideoDetails(args);
|
|
51
|
+
const action = uiManagedWorkflows.actions.getActionByLabel('Preview');
|
|
52
|
+
try {
|
|
53
|
+
await action.waitFor({ state: 'visible' });
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
throw new Error(`The video "Preview" action is not visible.`);
|
|
57
|
+
}
|
|
58
|
+
await uiShell.waitForPageTransition(action.click());
|
|
59
|
+
await uiManagedWorkflows.form.waitForData();
|
|
60
|
+
await uiManagedWorkflows.form
|
|
61
|
+
.getFieldByLabel('Status')
|
|
62
|
+
.asSelectField()
|
|
63
|
+
.setValueByLabel('Approved');
|
|
64
|
+
await uiShell.navigateToBreadcrumbPrevious();
|
|
65
|
+
await uiManagedWorkflows.form.waitForData();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* This method archives a video by title.
|
|
69
|
+
* The management system must be loaded & signed in before using this method.
|
|
70
|
+
* If a single matching, non-archived video is not found then an exception will be raised.
|
|
71
|
+
*
|
|
72
|
+
* The following steps will be taken:
|
|
73
|
+
* - Navigate to the home breadcrumb then the 'Videos' tile
|
|
74
|
+
* - Filter by title and verify that a single result is shown
|
|
75
|
+
* - Navigate to the video with the row action
|
|
76
|
+
* - Click 'Archive' and confirm
|
|
77
|
+
* - Wait for the video details station to reload
|
|
78
|
+
*/
|
|
79
|
+
async archiveVideo(args) {
|
|
80
|
+
const { uiShell, uiManagedWorkflows } = this;
|
|
81
|
+
await this.navigateToVideoDetails(args);
|
|
82
|
+
const action = uiManagedWorkflows.actions.getActionByLabel('Archive');
|
|
83
|
+
try {
|
|
84
|
+
await action.waitFor({ state: 'visible' });
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
throw new Error(`The video "Archive" action is not visible.`);
|
|
88
|
+
}
|
|
89
|
+
await action.click();
|
|
90
|
+
await uiShell.waitForPageTransition(uiManagedWorkflows.actions.confirmButton.click());
|
|
91
|
+
await uiManagedWorkflows.form.waitForData();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* This method deletes a video by title.
|
|
95
|
+
* The management system must be loaded & signed in before using this method.
|
|
96
|
+
* If a single matching, undeleted video is not found then an exception will be raised.
|
|
97
|
+
*
|
|
98
|
+
* The following steps will be taken:
|
|
99
|
+
* - Navigate to the home breadcrumb then the 'Videos' tile
|
|
100
|
+
* - Filter by title and verify that a single result is shown
|
|
101
|
+
* - Navigate to the video with the row action
|
|
102
|
+
* - Click 'Delete' and confirm
|
|
103
|
+
* - Wait for the videos explorer station to reload
|
|
104
|
+
*/
|
|
105
|
+
async deleteVideo(args) {
|
|
106
|
+
const { uiShell, uiManagedWorkflows } = this;
|
|
107
|
+
await this.navigateToVideoDetails(args);
|
|
108
|
+
const action = uiManagedWorkflows.actions.getActionByLabel('Delete');
|
|
109
|
+
try {
|
|
110
|
+
await action.waitFor({ state: 'visible' });
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
throw new Error(`The video "Delete" action is not visible.`);
|
|
114
|
+
}
|
|
115
|
+
await action.click();
|
|
116
|
+
await uiShell.waitForPageTransition(uiManagedWorkflows.actions.confirmButton.click());
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* This method creates a video processing profile.
|
|
120
|
+
* The management system must be loaded & signed in before using this method.
|
|
121
|
+
*
|
|
122
|
+
* The following steps will be taken:
|
|
123
|
+
* - Navigate to the home breadcrumb then the 'Settings' tile
|
|
124
|
+
* - Navigate to the 'Video Encoding', 'Processing' tile
|
|
125
|
+
* - Click the 'New' action
|
|
126
|
+
* - Enter values for 'Title' and 'Output Format'
|
|
127
|
+
* - Click the 'Proceed' action
|
|
128
|
+
* - Enter the value for 'DRM Protection' (if provided)
|
|
129
|
+
* - Click the 'previous' breadcrumb and wait for the explorer station to load
|
|
130
|
+
*/
|
|
131
|
+
async createVideoProcessingProfile(properties) {
|
|
132
|
+
const { uiShell, uiManagedWorkflows } = this;
|
|
133
|
+
await uiShell.goToNavigationPanelItemByTestIds('video-encoding-settings-processing', 'video-encoding-settings');
|
|
134
|
+
await uiManagedWorkflows.list.waitForData();
|
|
135
|
+
// new profile
|
|
136
|
+
await uiShell.waitForPageTransition(uiManagedWorkflows.pageHeader.actions.getActionByLabel('New').click());
|
|
137
|
+
await uiManagedWorkflows.form.waitForData();
|
|
138
|
+
await uiManagedWorkflows.form
|
|
139
|
+
.getFieldByLabel('Title')
|
|
140
|
+
.asSingleLineTextField()
|
|
141
|
+
.setValue(properties.title);
|
|
142
|
+
await uiManagedWorkflows.form
|
|
143
|
+
.getFieldByLabel('Output Format')
|
|
144
|
+
.asSelectField()
|
|
145
|
+
.setValueByLabel(properties.outputFormat);
|
|
146
|
+
await uiShell.waitForPageTransition(uiManagedWorkflows.actions.getActionByLabel(ActionLabel.Proceed).click());
|
|
147
|
+
await uiManagedWorkflows.form.waitForData();
|
|
148
|
+
// configure profile
|
|
149
|
+
if (properties.drmProtection) {
|
|
150
|
+
await uiManagedWorkflows.form
|
|
151
|
+
.getFieldByLabel('DRM Protection')
|
|
152
|
+
.asSelectField()
|
|
153
|
+
.setValueByLabel(properties.drmProtection);
|
|
154
|
+
}
|
|
155
|
+
// click 'previous' breadcrumb to save
|
|
156
|
+
await uiShell.navigateToBreadcrumbPrevious();
|
|
157
|
+
await uiManagedWorkflows.list.waitForData();
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* This method delete a video processing profile by title.
|
|
161
|
+
* The management system must be loaded & signed in before using this method.
|
|
162
|
+
* If a single matching processing profile is not found then an exception will be raised.
|
|
163
|
+
*
|
|
164
|
+
* The following steps will be taken:
|
|
165
|
+
* - Navigate to the home breadcrumb then the 'Settings' tile
|
|
166
|
+
* - Navigate to the 'Video Encoding', 'Processing' tile
|
|
167
|
+
* - Filter by title and select the processing profile row action
|
|
168
|
+
* - Click the 'Delete' action and wait for the explorer station to load
|
|
169
|
+
*/
|
|
170
|
+
async deleteVideoProcessingProfile(args) {
|
|
171
|
+
const { uiShell, uiManagedWorkflows } = this;
|
|
172
|
+
await uiShell.goToNavigationPanelItemByTestIds('video-encoding-settings-processing', 'video-encoding-settings');
|
|
173
|
+
await uiManagedWorkflows.list.waitForData();
|
|
174
|
+
// filter to the item
|
|
175
|
+
await uiManagedWorkflows.filters
|
|
176
|
+
.getFilterByName('title')
|
|
177
|
+
.asFreeTextFilter()
|
|
178
|
+
.setValue(args.title);
|
|
179
|
+
await uiManagedWorkflows.list.waitForData();
|
|
180
|
+
await expect(uiManagedWorkflows.list.allVisibleRows).toHaveCount(1);
|
|
181
|
+
// Verify that there is exactly one matching row
|
|
182
|
+
if ((await uiManagedWorkflows.list.allVisibleRows.count()) !== 1) {
|
|
183
|
+
throw new Error(`Failed to find exactly one processing profile with title '${args.title}'.`);
|
|
184
|
+
}
|
|
185
|
+
// open the processing profile details then delete
|
|
186
|
+
await uiShell.waitForPageTransition(uiManagedWorkflows.list.getRow(1).actionButton.click());
|
|
187
|
+
await uiManagedWorkflows.form.waitForData();
|
|
188
|
+
await uiManagedWorkflows.actions.getActionByLabel('Delete').click();
|
|
189
|
+
await uiShell.waitForPageTransition(uiManagedWorkflows.actions.confirmButton.click());
|
|
190
|
+
await uiManagedWorkflows.list.waitForData();
|
|
191
|
+
}
|
|
192
|
+
async waitForEncodingSuccess(args) {
|
|
193
|
+
const { uiShell, uiManagedWorkflows } = this;
|
|
194
|
+
await uiShell.goToNavigationPanelItem('Processing', 'Videos');
|
|
195
|
+
await uiManagedWorkflows.list.waitForData();
|
|
196
|
+
await uiManagedWorkflows.filters
|
|
197
|
+
.getFilterByLabel('Title')
|
|
198
|
+
.asFreeTextFilter()
|
|
199
|
+
.setValue(args.videoSource);
|
|
200
|
+
await uiManagedWorkflows.list.waitForData();
|
|
201
|
+
await uiShell.waitForPageTransition(uiManagedWorkflows.list.getRow(1).actionButton.click());
|
|
202
|
+
await uiManagedWorkflows.form.waitForData();
|
|
203
|
+
let status;
|
|
204
|
+
do {
|
|
205
|
+
// eslint-disable-next-line playwright/no-wait-for-timeout
|
|
206
|
+
await this.page.waitForTimeout(5_000);
|
|
207
|
+
await uiShell.navigateToBreadcrumbRefresh();
|
|
208
|
+
await uiManagedWorkflows.form.waitForData();
|
|
209
|
+
status = (await uiManagedWorkflows.form
|
|
210
|
+
.getFieldByLabel('Encoding State')
|
|
211
|
+
.content.textContent())?.trim();
|
|
212
|
+
} while (status !== 'Ready' && status !== 'Error');
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=video-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video-service.js","sourceRoot":"","sources":["../../../src/managed-services/video-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { UiWorkflowsModel } from '@axinom/mosaic-e2e-ui-selectors';
|
|
2
|
+
import { type Page } from '@playwright/test';
|
|
3
|
+
import { ImageService, VideoService } from './managed-services/index.js';
|
|
4
|
+
import { SignInPage } from './sign-in/index.js';
|
|
5
|
+
import { UiShellModel } from './ui-selectors/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* A page object model for the Mosaic management system.
|
|
8
|
+
* This can be extended with custom services.
|
|
9
|
+
*/
|
|
10
|
+
export declare class PageModel {
|
|
11
|
+
/** The playwright page object. */
|
|
12
|
+
readonly page: Page;
|
|
13
|
+
constructor(
|
|
14
|
+
/** The playwright page object. */
|
|
15
|
+
page: Page);
|
|
16
|
+
/**
|
|
17
|
+
* A model representing the Mosaic UI shell including methods for navigation.
|
|
18
|
+
*
|
|
19
|
+
* Use this model to interact with:
|
|
20
|
+
* - The breadcrumbs bar (on any page)
|
|
21
|
+
* - The landing page
|
|
22
|
+
* - The settings hub page
|
|
23
|
+
*/
|
|
24
|
+
readonly uiShell: UiShellModel;
|
|
25
|
+
/**
|
|
26
|
+
* A model representing Mosaic UI workflows for managed services.
|
|
27
|
+
*
|
|
28
|
+
* Use this model to interact with workflows or mod*a*ls of any managed
|
|
29
|
+
* service (Image, Video, etc).
|
|
30
|
+
*
|
|
31
|
+
* To avoid UI changes from breaking your tests try to avoid using this model
|
|
32
|
+
* and prefer to use the methods provided by each service model.
|
|
33
|
+
*/
|
|
34
|
+
readonly uiManagedWorkflows: UiWorkflowsModel;
|
|
35
|
+
/** A model for management system sign-in */
|
|
36
|
+
readonly signInPage: SignInPage;
|
|
37
|
+
/** A model for the managed image service. */
|
|
38
|
+
readonly imageService: ImageService;
|
|
39
|
+
/** A model for the managed video service. */
|
|
40
|
+
readonly videoService: VideoService;
|
|
41
|
+
/** This method waits for the management system to load after sign in. */
|
|
42
|
+
waitForAppToLoad(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* This method help with the selection of options in Bulk Edit Tests.
|
|
45
|
+
* The tester can decide to select the number of entities they want to bulk edit.
|
|
46
|
+
* This Selection starts from the first in the list.
|
|
47
|
+
* A Bulk Edit option needs to be passed for the relevant entity to select it from the dropdown.
|
|
48
|
+
* To be used when in a List Station
|
|
49
|
+
*
|
|
50
|
+
* The following steps will be taken:
|
|
51
|
+
* - Click Bulk Actions
|
|
52
|
+
* - Select the number of entities from the list station starting from the first one in the list
|
|
53
|
+
* - Click the Edit button
|
|
54
|
+
* - Select a field to add from the drop-down
|
|
55
|
+
*
|
|
56
|
+
* @param args.entityCount Number of entities to be selected for the BulkEdit.
|
|
57
|
+
* @param args.bulkEditOption BulkEdit option to select from the drop-down
|
|
58
|
+
*/
|
|
59
|
+
bulkEditSelection(args: {
|
|
60
|
+
entityCount: number;
|
|
61
|
+
bulkEditOption: string;
|
|
62
|
+
}): Promise<void>;
|
|
63
|
+
sortDescOrder(): Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=page-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-model.d.ts","sourceRoot":"","sources":["../../src/page-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,KAAK,IAAI,EAAU,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,SAAS;IAElB,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,IAAI;;IADnB,kCAAkC;IACzB,IAAI,EAAE,IAAI;IAGrB;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,eAA+B;IAE/C;;;;;;;;OAQG;IACH,QAAQ,CAAC,kBAAkB,mBAAmC;IAE9D,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,aAA6B;IAEhD,6CAA6C;IAC7C,QAAQ,CAAC,YAAY,eAInB;IAEF,6CAA6C;IAC7C,QAAQ,CAAC,YAAY,eAInB;IAEF,yEAAyE;IACnE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvC;;;;;;;;;;;;;;;OAeG;IACG,iBAAiB,CAAC,IAAI,EAAE;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBX,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAarC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { UiWorkflowsModel } from '@axinom/mosaic-e2e-ui-selectors';
|
|
2
|
+
import { expect } from '@playwright/test';
|
|
3
|
+
import { ImageService, VideoService } from './managed-services/index.js';
|
|
4
|
+
import { SignInPage } from './sign-in/index.js';
|
|
5
|
+
import { UiShellModel } from './ui-selectors/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* A page object model for the Mosaic management system.
|
|
8
|
+
* This can be extended with custom services.
|
|
9
|
+
*/
|
|
10
|
+
export class PageModel {
|
|
11
|
+
constructor(
|
|
12
|
+
/** The playwright page object. */
|
|
13
|
+
page) {
|
|
14
|
+
this.page = page;
|
|
15
|
+
/**
|
|
16
|
+
* A model representing the Mosaic UI shell including methods for navigation.
|
|
17
|
+
*
|
|
18
|
+
* Use this model to interact with:
|
|
19
|
+
* - The breadcrumbs bar (on any page)
|
|
20
|
+
* - The landing page
|
|
21
|
+
* - The settings hub page
|
|
22
|
+
*/
|
|
23
|
+
this.uiShell = new UiShellModel(this.page);
|
|
24
|
+
/**
|
|
25
|
+
* A model representing Mosaic UI workflows for managed services.
|
|
26
|
+
*
|
|
27
|
+
* Use this model to interact with workflows or mod*a*ls of any managed
|
|
28
|
+
* service (Image, Video, etc).
|
|
29
|
+
*
|
|
30
|
+
* To avoid UI changes from breaking your tests try to avoid using this model
|
|
31
|
+
* and prefer to use the methods provided by each service model.
|
|
32
|
+
*/
|
|
33
|
+
this.uiManagedWorkflows = new UiWorkflowsModel(this.page);
|
|
34
|
+
/** A model for management system sign-in */
|
|
35
|
+
this.signInPage = new SignInPage(this.page);
|
|
36
|
+
/** A model for the managed image service. */
|
|
37
|
+
this.imageService = new ImageService(this.page, this.uiShell, this.uiManagedWorkflows);
|
|
38
|
+
/** A model for the managed video service. */
|
|
39
|
+
this.videoService = new VideoService(this.page, this.uiShell, this.uiManagedWorkflows);
|
|
40
|
+
}
|
|
41
|
+
/** This method waits for the management system to load after sign in. */
|
|
42
|
+
async waitForAppToLoad() {
|
|
43
|
+
// expect elements 'header' and 'main' to be visible
|
|
44
|
+
try {
|
|
45
|
+
await this.page.locator('header').first().waitFor({ state: 'visible' });
|
|
46
|
+
await this.page.locator('main').waitFor({ state: 'visible' });
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
throw new Error('The management system is not loaded. Are you logged in? Is your account activated?');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* This method help with the selection of options in Bulk Edit Tests.
|
|
54
|
+
* The tester can decide to select the number of entities they want to bulk edit.
|
|
55
|
+
* This Selection starts from the first in the list.
|
|
56
|
+
* A Bulk Edit option needs to be passed for the relevant entity to select it from the dropdown.
|
|
57
|
+
* To be used when in a List Station
|
|
58
|
+
*
|
|
59
|
+
* The following steps will be taken:
|
|
60
|
+
* - Click Bulk Actions
|
|
61
|
+
* - Select the number of entities from the list station starting from the first one in the list
|
|
62
|
+
* - Click the Edit button
|
|
63
|
+
* - Select a field to add from the drop-down
|
|
64
|
+
*
|
|
65
|
+
* @param args.entityCount Number of entities to be selected for the BulkEdit.
|
|
66
|
+
* @param args.bulkEditOption BulkEdit option to select from the drop-down
|
|
67
|
+
*/
|
|
68
|
+
async bulkEditSelection(args) {
|
|
69
|
+
const { uiManagedWorkflows } = this;
|
|
70
|
+
await uiManagedWorkflows.pageHeader.actions
|
|
71
|
+
.getActionByLabel('Bulk Actions')
|
|
72
|
+
.click();
|
|
73
|
+
for (let i = 1; i <= args.entityCount; i++) {
|
|
74
|
+
await this.page
|
|
75
|
+
.locator("//button[@data-test-id='list-entry-checkbox']")
|
|
76
|
+
.nth(i)
|
|
77
|
+
.click();
|
|
78
|
+
}
|
|
79
|
+
await uiManagedWorkflows.pageHeader.actions
|
|
80
|
+
.getActionByLabel('Edit')
|
|
81
|
+
.click();
|
|
82
|
+
const bulkEditField = uiManagedWorkflows.form
|
|
83
|
+
.getFieldByName('bulkedit-fields')
|
|
84
|
+
.asSelectField();
|
|
85
|
+
await bulkEditField.verifyFieldType();
|
|
86
|
+
await bulkEditField.setValueByLabel(args.bulkEditOption);
|
|
87
|
+
}
|
|
88
|
+
async sortDescOrder() {
|
|
89
|
+
const { uiManagedWorkflows } = this;
|
|
90
|
+
const sortColumn = this.page.locator("//div[@data-test-id='list-label:updatedAt']");
|
|
91
|
+
await sortColumn.waitFor({ state: 'visible' });
|
|
92
|
+
let sortDir = await sortColumn.getAttribute('data-test-sort-dir');
|
|
93
|
+
while (sortDir !== 'desc') {
|
|
94
|
+
await sortColumn.click();
|
|
95
|
+
await uiManagedWorkflows.list.waitForData();
|
|
96
|
+
sortDir = await sortColumn.getAttribute('data-test-sort-dir');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=page-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-model.js","sourceRoot":"","sources":["../../src/page-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type Page } from '@playwright/test';
|
|
2
|
+
import { UiShellModel } from './ui-selectors/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* An abstract model representing a custom Mosaic service.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class ServiceModel<TUiWorkflowsModel> {
|
|
7
|
+
/** The playwright page object. */
|
|
8
|
+
protected readonly page: Page;
|
|
9
|
+
/**
|
|
10
|
+
* A model representing the Mosaic UI shell including methods for navigation.
|
|
11
|
+
*
|
|
12
|
+
* Use this model to interact with:
|
|
13
|
+
* - The breadcrumbs bar (on any page)
|
|
14
|
+
* - The landing page
|
|
15
|
+
* - The settings hub page
|
|
16
|
+
*/
|
|
17
|
+
protected readonly uiShell: UiShellModel;
|
|
18
|
+
/**
|
|
19
|
+
* A model representing Mosaic UI workflows.
|
|
20
|
+
*
|
|
21
|
+
* Use this model to interact with workflows or mod*a*ls of any custom service.
|
|
22
|
+
*/
|
|
23
|
+
protected readonly uiWorkflows: TUiWorkflowsModel;
|
|
24
|
+
constructor(
|
|
25
|
+
/** The playwright page object. */
|
|
26
|
+
page: Page,
|
|
27
|
+
/**
|
|
28
|
+
* A model representing the Mosaic UI shell including methods for navigation.
|
|
29
|
+
*
|
|
30
|
+
* Use this model to interact with:
|
|
31
|
+
* - The breadcrumbs bar (on any page)
|
|
32
|
+
* - The landing page
|
|
33
|
+
* - The settings hub page
|
|
34
|
+
*/
|
|
35
|
+
uiShell: UiShellModel,
|
|
36
|
+
/**
|
|
37
|
+
* A model representing Mosaic UI workflows.
|
|
38
|
+
*
|
|
39
|
+
* Use this model to interact with workflows or mod*a*ls of any custom service.
|
|
40
|
+
*/
|
|
41
|
+
uiWorkflows: TUiWorkflowsModel);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=service-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-model.d.ts","sourceRoot":"","sources":["../../src/service-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;GAEG;AACH,8BAAsB,YAAY,CAAC,iBAAiB;IAEhD,kCAAkC;IAClC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI;IAE7B;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY;IAExC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB;;IAlBjD,kCAAkC;IACf,IAAI,EAAE,IAAI;IAE7B;;;;;;;OAOG;IACgB,OAAO,EAAE,YAAY;IAExC;;;;OAIG;IACgB,WAAW,EAAE,iBAAiB;CAEpD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {} from '@playwright/test';
|
|
2
|
+
import { UiShellModel } from './ui-selectors/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* An abstract model representing a custom Mosaic service.
|
|
5
|
+
*/
|
|
6
|
+
export class ServiceModel {
|
|
7
|
+
constructor(
|
|
8
|
+
/** The playwright page object. */
|
|
9
|
+
page,
|
|
10
|
+
/**
|
|
11
|
+
* A model representing the Mosaic UI shell including methods for navigation.
|
|
12
|
+
*
|
|
13
|
+
* Use this model to interact with:
|
|
14
|
+
* - The breadcrumbs bar (on any page)
|
|
15
|
+
* - The landing page
|
|
16
|
+
* - The settings hub page
|
|
17
|
+
*/
|
|
18
|
+
uiShell,
|
|
19
|
+
/**
|
|
20
|
+
* A model representing Mosaic UI workflows.
|
|
21
|
+
*
|
|
22
|
+
* Use this model to interact with workflows or mod*a*ls of any custom service.
|
|
23
|
+
*/
|
|
24
|
+
uiWorkflows) {
|
|
25
|
+
this.page = page;
|
|
26
|
+
this.uiShell = uiShell;
|
|
27
|
+
this.uiWorkflows = uiWorkflows;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=service-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-model.js","sourceRoot":"","sources":["../../src/service-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;GAEG;AACH,MAAM,OAAgB,YAAY;IAChC;IACE,kCAAkC;IACf,IAAU;IAE7B;;;;;;;OAOG;IACgB,OAAqB;IAExC;;;;OAIG;IACgB,WAA8B;QAjB9B,SAAI,GAAJ,IAAI,CAAM;QAUV,YAAO,GAAP,OAAO,CAAc;QAOrB,gBAAW,GAAX,WAAW,CAAmB;IAChD,CAAC;CACL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sign-in/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sign-in/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MessageBar } from '@axinom/mosaic-e2e-ui-selectors';
|
|
2
|
+
import { type Page } from '@playwright/test';
|
|
3
|
+
import { SignInWithAxAuthForm } from './sign-in-with-ax-auth-form.js';
|
|
4
|
+
import { SignInWithGoogleForm } from './sign-in-with-google-form.js';
|
|
5
|
+
import { SignInWithMicrosoftForm } from './sign-in-with-microsoft-form.js';
|
|
6
|
+
/** A model for management system sign-in */
|
|
7
|
+
export declare class SignInPage {
|
|
8
|
+
/** The playwright page object. */
|
|
9
|
+
private page;
|
|
10
|
+
constructor(
|
|
11
|
+
/** The playwright page object. */
|
|
12
|
+
page: Page);
|
|
13
|
+
/** A locator to a message which is displayed when the environment is disabled. */
|
|
14
|
+
readonly message: MessageBar;
|
|
15
|
+
/** A locator to the "Sign in with AxAuth" button. */
|
|
16
|
+
readonly axAuthButton: import("playwright-core").Locator;
|
|
17
|
+
readonly axAuthemailField: import("playwright-core").Locator;
|
|
18
|
+
readonly axAuthpasswordField: import("playwright-core").Locator;
|
|
19
|
+
/** A locator to the "Sign in with Google" button. */
|
|
20
|
+
readonly googleButton: import("playwright-core").Locator;
|
|
21
|
+
/** A locator to the "Sign in with Microsoft" button. */
|
|
22
|
+
readonly microsoftButton: import("playwright-core").Locator;
|
|
23
|
+
/** A locator to the "Sign in with Axinom" button. */
|
|
24
|
+
readonly axinomButton: import("playwright-core").Locator;
|
|
25
|
+
/** A model for the AxAuth sign-in form */
|
|
26
|
+
readonly axAuthForm: SignInWithAxAuthForm;
|
|
27
|
+
/** A model for the Google sign-in form */
|
|
28
|
+
readonly googleForm: SignInWithGoogleForm;
|
|
29
|
+
/** A model for the Microsoft sign-in form */
|
|
30
|
+
readonly microsoftForm: SignInWithMicrosoftForm;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=sign-in-page.d.ts.map
|