@axinom/mosaic-e2e-page-model 0.9.0-rc.5 → 0.9.0-rc.7

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.
@@ -1,4 +1,3 @@
1
- export * from './channel-service';
2
1
  export * from './image-service';
3
2
  export * from './monetization-service';
4
3
  export * from './video-service';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managed-services/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managed-services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./channel-service"), exports);
18
17
  __exportStar(require("./image-service"), exports);
19
18
  __exportStar(require("./monetization-service"), exports);
20
19
  __exportStar(require("./video-service"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managed-services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,kDAAgC;AAChC,yDAAuC;AACvC,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managed-services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,yDAAuC;AACvC,kDAAgC"}
@@ -1,6 +1,6 @@
1
1
  import { UiWorkflowsModel } from '@axinom/mosaic-e2e-ui-selectors';
2
2
  import { Page } from 'playwright-core';
3
- import { ChannelService, ImageService, MonetizationService, VideoService } from './managed-services';
3
+ import { ImageService, MonetizationService, VideoService } from './managed-services';
4
4
  import { SignInPage } from './sign-in';
5
5
  import { UiShellModel } from './ui-selectors';
6
6
  /**
@@ -40,8 +40,6 @@ export declare class PageModel {
40
40
  readonly videoService: VideoService;
41
41
  /** A model for the managed monetization service. */
42
42
  readonly monetizationService: MonetizationService;
43
- /** A model for management system's channel service. */
44
- readonly channelService: ChannelService;
45
43
  /** This method waits for the management system to load after sign in. */
46
44
  waitForAppToLoad(): Promise<void>;
47
45
  }
@@ -1 +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,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;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,oDAAoD;IACpD,QAAQ,CAAC,mBAAmB,sBAI1B;IAEF,uDAAuD;IACvD,QAAQ,CAAC,cAAc,iBAIrB;IAEF,yEAAyE;IACnE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAWxC"}
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,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;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,oDAAoD;IACpD,QAAQ,CAAC,mBAAmB,sBAI1B;IAEF,yEAAyE;IACnE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAWxC"}
@@ -41,8 +41,6 @@ class PageModel {
41
41
  this.videoService = new managed_services_1.VideoService(this.page, this.uiShell, this.uiManagedWorkflows);
42
42
  /** A model for the managed monetization service. */
43
43
  this.monetizationService = new managed_services_1.MonetizationService(this.page, this.uiShell, this.uiManagedWorkflows);
44
- /** A model for management system's channel service. */
45
- this.channelService = new managed_services_1.ChannelService(this.page, this.uiShell, this.uiManagedWorkflows);
46
44
  }
47
45
  /** This method waits for the management system to load after sign in. */
48
46
  async waitForAppToLoad() {
@@ -1 +1 @@
1
- {"version":3,"file":"page-model.js","sourceRoot":"","sources":["../src/page-model.ts"],"names":[],"mappings":";;;AAAA,6EAAmE;AAEnE,yDAK4B;AAC5B,uCAAuC;AACvC,iDAA8C;AAE9C;;;GAGG;AACH,MAAa,SAAS;IACpB;IACE,kCAAkC;IACzB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QAGrB;;;;;;;WAOG;QACM,YAAO,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C;;;;;;;;WAQG;QACM,uBAAkB,GAAG,IAAI,0CAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9D,4CAA4C;QACnC,eAAU,GAAG,IAAI,oBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhD,6CAA6C;QACpC,iBAAY,GAAG,IAAI,+BAAY,CACtC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,6CAA6C;QACpC,iBAAY,GAAG,IAAI,+BAAY,CACtC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,oDAAoD;QAC3C,wBAAmB,GAAG,IAAI,sCAAmB,CACpD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,uDAAuD;QAC9C,mBAAc,GAAG,IAAI,iCAAc,CAC1C,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,kBAAkB,CACxB,CAAC;IApDC,CAAC;IAsDJ,yEAAyE;IACzE,KAAK,CAAC,gBAAgB;QACpB,oDAAoD;QACpD,IAAI;YACF,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACxE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;SAC/D;QAAC,WAAM;YACN,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;SACH;IACH,CAAC;CACF;AAtED,8BAsEC"}
1
+ {"version":3,"file":"page-model.js","sourceRoot":"","sources":["../src/page-model.ts"],"names":[],"mappings":";;;AAAA,6EAAmE;AAEnE,yDAI4B;AAC5B,uCAAuC;AACvC,iDAA8C;AAE9C;;;GAGG;AACH,MAAa,SAAS;IACpB;IACE,kCAAkC;IACzB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QAGrB;;;;;;;WAOG;QACM,YAAO,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C;;;;;;;;WAQG;QACM,uBAAkB,GAAG,IAAI,0CAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9D,4CAA4C;QACnC,eAAU,GAAG,IAAI,oBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhD,6CAA6C;QACpC,iBAAY,GAAG,IAAI,+BAAY,CACtC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,6CAA6C;QACpC,iBAAY,GAAG,IAAI,+BAAY,CACtC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,oDAAoD;QAC3C,wBAAmB,GAAG,IAAI,sCAAmB,CACpD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,kBAAkB,CACxB,CAAC;IA7CC,CAAC;IA+CJ,yEAAyE;IACzE,KAAK,CAAC,gBAAgB;QACpB,oDAAoD;QACpD,IAAI;YACF,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACxE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;SAC/D;QAAC,WAAM;YACN,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;SACH;IACH,CAAC;CACF;AA/DD,8BA+DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axinom/mosaic-e2e-page-model",
3
- "version": "0.9.0-rc.5",
3
+ "version": "0.9.0-rc.7",
4
4
  "description": "A page model for testing an Axinom Mosaic Management System with Playwright.",
5
5
  "author": "Axinom",
6
6
  "license": "PROPRIETARY",
@@ -22,7 +22,7 @@
22
22
  "dev": "tsc -w"
23
23
  },
24
24
  "dependencies": {
25
- "@axinom/mosaic-e2e-ui-selectors": "^0.8.0-rc.5"
25
+ "@axinom/mosaic-e2e-ui-selectors": "^0.8.0-rc.7"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^18.11.18",
@@ -35,5 +35,5 @@
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
- "gitHead": "4f50c5ef83f997ed19fef76fb4786e4aa63679f5"
38
+ "gitHead": "9df1857d137a9f1556f33ad2ed8cef698f1006f8"
39
39
  }
@@ -1,4 +1,3 @@
1
- export * from './channel-service';
2
1
  export * from './image-service';
3
2
  export * from './monetization-service';
4
3
  export * from './video-service';
package/src/page-model.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { UiWorkflowsModel } from '@axinom/mosaic-e2e-ui-selectors';
2
2
  import { Page } from 'playwright-core';
3
3
  import {
4
- ChannelService,
5
4
  ImageService,
6
5
  MonetizationService,
7
6
  VideoService,
@@ -64,13 +63,6 @@ export class PageModel {
64
63
  this.uiManagedWorkflows,
65
64
  );
66
65
 
67
- /** A model for management system's channel service. */
68
- readonly channelService = new ChannelService(
69
- this.page,
70
- this.uiShell,
71
- this.uiManagedWorkflows,
72
- );
73
-
74
66
  /** This method waits for the management system to load after sign in. */
75
67
  async waitForAppToLoad(): Promise<void> {
76
68
  // expect elements 'header' and 'main' to be visible
@@ -1,113 +0,0 @@
1
- import { ManagedServiceModel } from './managed-service-model';
2
- export declare class ChannelService extends ManagedServiceModel {
3
- /**
4
- * This method creates a channel by title.
5
- * The management system must be loaded & signed in before using this method.
6
- *
7
- * The following steps will be taken:
8
- * - Navigate to the channels station
9
- * - Click on [New] button
10
- * - Populate channel's title and click on [Proceed] button in order to save newly created channel
11
- *
12
- * @param args.channelTitle The title of the channel
13
- */
14
- createChannel(args: {
15
- channelTitle: string;
16
- }): Promise<void>;
17
- /**
18
- * This method opens channel properties page for a channel.
19
- * The management system must be loaded & signed in before using this method.
20
- *
21
- * The following steps will be taken:
22
- * - Navigate to the channels station
23
- * - Filter out for the particular channel by title
24
- * - Open channel properties page
25
- *
26
- * @param args.channelTitle The title of the channel
27
- */
28
- navigateToChannelProperties(args: {
29
- channelTitle: string;
30
- }): Promise<void>;
31
- /**
32
- * This method publishes a channel.
33
- * The management system must be loaded & signed in before using this method.
34
- *
35
- * The following steps will be taken:
36
- * - Navigate to the channels station
37
- * - Filter out for the particular channel by title
38
- * - Open channel properties page
39
- * - Publish the channel
40
- *
41
- * @param args.channelTitle The title of the channel
42
- */
43
- publishChannel(args: {
44
- channelTitle: string;
45
- }): Promise<void>;
46
- /**
47
- * This method unpublishes a channel.
48
- * The management system must be loaded & signed in before using this method.
49
- *
50
- * The following steps will be taken:
51
- * - Navigate to the channels station
52
- * - Filter out for the particular channel by title
53
- * - Open channel properties page
54
- * - Unpublish the channel
55
- *
56
- * @param args.channelTitle The title of the channel
57
- */
58
- unpublishChannel(args: {
59
- channelTitle: string;
60
- }): Promise<void>;
61
- /**
62
- * This method deletes a channel.
63
- * The management system must be loaded & signed in before using this method.
64
- *
65
- * The following steps will be taken:
66
- * - Navigate to the channels station
67
- * - Filter out for the particular channel by title
68
- * - Open channel properties page
69
- * - Delete the channel
70
- *
71
- * @param args.channelTitle The title of the channel
72
- */
73
- deleteChannel(args: {
74
- channelTitle: string;
75
- }): Promise<void>;
76
- /**
77
- * This method creates a playlist for a channel.
78
- * The management system must be loaded & signed in before using this method.
79
- *
80
- * The following steps will be taken:
81
- * - Navigate to the channels station
82
- * - Filter out for the particular channel by title
83
- * - Open channel properties page
84
- * - Click on [Playlists] button
85
- * - Click on [New] button on the Playlists station
86
- * - Populate Scheduled Start date and proceed in order to save newly created playlist
87
- *
88
- * @param args.channelTitle The title of the channel
89
- * @param args.scheduledStart The start date/time of the playlist
90
- */
91
- createPlaylist(args: {
92
- channelTitle: string;
93
- scheduledStart: string;
94
- }): Promise<void>;
95
- /**
96
- * This method publishes a playlist.
97
- * The management system must be loaded & signed in before using this method.
98
- *
99
- * The following steps will be taken:
100
- * - Navigate to the channels station
101
- * - Filter out for the particular channel by title
102
- * - Open channel properties page
103
- * - Click on [Playlists] button
104
- * - Click on first playlist found
105
- * - Publish the playlist
106
- *
107
- * @param args.channelTitle The title of the channel
108
- */
109
- publishPlaylist(args: {
110
- channelTitle: string;
111
- }): Promise<void>;
112
- }
113
- //# sourceMappingURL=channel-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel-service.d.ts","sourceRoot":"","sources":["../../src/managed-services/channel-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,cAAe,SAAQ,mBAAmB;IACrD;;;;;;;;;;OAUG;IACG,aAAa,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlE;;;;;;;;;;OAUG;IACG,2BAA2B,CAAC,IAAI,EAAE;QACtC,YAAY,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBjB;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnE;;;;;;;;;;;OAWG;IACG,gBAAgB,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAarE;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBlE;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAAC,IAAI,EAAE;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjB;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBrE"}
@@ -1,184 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChannelService = void 0;
4
- const managed_service_model_1 = require("./managed-service-model");
5
- class ChannelService extends managed_service_model_1.ManagedServiceModel {
6
- /**
7
- * This method creates a channel by title.
8
- * The management system must be loaded & signed in before using this method.
9
- *
10
- * The following steps will be taken:
11
- * - Navigate to the channels station
12
- * - Click on [New] button
13
- * - Populate channel's title and click on [Proceed] button in order to save newly created channel
14
- *
15
- * @param args.channelTitle The title of the channel
16
- */
17
- async createChannel(args) {
18
- const { uiShell, uiManagedWorkflows } = this;
19
- // create channel
20
- await uiShell.goToNavigationPanelItemByTestIds('channels');
21
- await uiManagedWorkflows.list.waitForData();
22
- await uiShell.waitForPageTransition(uiManagedWorkflows.pageHeader.actions.getActionByLabel('New').click());
23
- await uiManagedWorkflows.form
24
- .getFieldByLabel('Title')
25
- .asSingleLineTextField()
26
- .setValue(args.channelTitle);
27
- await uiShell.waitForPageTransition(uiManagedWorkflows.actions.getActionByLabel('Proceed').click());
28
- await uiManagedWorkflows.form.waitForData();
29
- }
30
- /**
31
- * This method opens channel properties page for a channel.
32
- * The management system must be loaded & signed in before using this method.
33
- *
34
- * The following steps will be taken:
35
- * - Navigate to the channels station
36
- * - Filter out for the particular channel by title
37
- * - Open channel properties page
38
- *
39
- * @param args.channelTitle The title of the channel
40
- */
41
- async navigateToChannelProperties(args) {
42
- const { uiShell, uiManagedWorkflows } = this;
43
- // filter out newly created channel
44
- await uiShell.goToNavigationPanelItemByTestIds('channels');
45
- await uiManagedWorkflows.list.waitForData();
46
- await uiManagedWorkflows.filters
47
- .getFilterByName('title')
48
- .asFreeTextFilter()
49
- .setValue(args.channelTitle);
50
- await uiManagedWorkflows.list.waitForData();
51
- // navigate to the channel properties station
52
- await uiShell.waitForPageTransition(uiManagedWorkflows.list.getRow(1).actionButton.click());
53
- await uiManagedWorkflows.form.waitForData();
54
- }
55
- /**
56
- * This method publishes a channel.
57
- * The management system must be loaded & signed in before using this method.
58
- *
59
- * The following steps will be taken:
60
- * - Navigate to the channels station
61
- * - Filter out for the particular channel by title
62
- * - Open channel properties page
63
- * - Publish the channel
64
- *
65
- * @param args.channelTitle The title of the channel
66
- */
67
- async publishChannel(args) {
68
- const { uiShell, uiManagedWorkflows } = this;
69
- this.navigateToChannelProperties({
70
- channelTitle: args.channelTitle,
71
- });
72
- // click on [Publishing] button
73
- await uiManagedWorkflows.form.waitForData();
74
- await uiShell.waitForPageTransition(uiManagedWorkflows.actions.getActionByLabel('Publishing').click());
75
- // publish the channel
76
- await uiManagedWorkflows.actions.getActionByLabel('Publish').click(),
77
- await uiShell.waitForPageTransition(uiManagedWorkflows.actions.confirmButton.click());
78
- }
79
- /**
80
- * This method unpublishes a channel.
81
- * The management system must be loaded & signed in before using this method.
82
- *
83
- * The following steps will be taken:
84
- * - Navigate to the channels station
85
- * - Filter out for the particular channel by title
86
- * - Open channel properties page
87
- * - Unpublish the channel
88
- *
89
- * @param args.channelTitle The title of the channel
90
- */
91
- async unpublishChannel(args) {
92
- const { uiShell, uiManagedWorkflows } = this;
93
- this.navigateToChannelProperties({
94
- channelTitle: args.channelTitle,
95
- });
96
- await uiManagedWorkflows.actions.getActionByLabel('Unpublish').click(),
97
- await uiShell.waitForPageTransition(uiManagedWorkflows.actions.confirmButton.click());
98
- }
99
- /**
100
- * This method deletes a channel.
101
- * The management system must be loaded & signed in before using this method.
102
- *
103
- * The following steps will be taken:
104
- * - Navigate to the channels station
105
- * - Filter out for the particular channel by title
106
- * - Open channel properties page
107
- * - Delete the channel
108
- *
109
- * @param args.channelTitle The title of the channel
110
- */
111
- async deleteChannel(args) {
112
- const { uiShell, uiManagedWorkflows } = this;
113
- this.navigateToChannelProperties({
114
- channelTitle: args.channelTitle,
115
- });
116
- const action = uiManagedWorkflows.actions.getActionByLabel('Delete');
117
- try {
118
- await action.waitFor({ state: 'visible' });
119
- }
120
- catch (_a) {
121
- throw new Error(`The "Delete" action is not visible.`);
122
- }
123
- await action.click();
124
- await uiShell.waitForPageTransition(uiManagedWorkflows.actions.confirmButton.click());
125
- await uiManagedWorkflows.list.waitForData();
126
- }
127
- /**
128
- * This method creates a playlist for a channel.
129
- * The management system must be loaded & signed in before using this method.
130
- *
131
- * The following steps will be taken:
132
- * - Navigate to the channels station
133
- * - Filter out for the particular channel by title
134
- * - Open channel properties page
135
- * - Click on [Playlists] button
136
- * - Click on [New] button on the Playlists station
137
- * - Populate Scheduled Start date and proceed in order to save newly created playlist
138
- *
139
- * @param args.channelTitle The title of the channel
140
- * @param args.scheduledStart The start date/time of the playlist
141
- */
142
- async createPlaylist(args) {
143
- const { uiShell, uiManagedWorkflows } = this;
144
- this.navigateToChannelProperties({
145
- channelTitle: args.channelTitle,
146
- });
147
- await uiShell.waitForPageTransition(uiManagedWorkflows.actions.getActionByLabel('Playlists').click());
148
- // create playlist
149
- await uiShell.waitForPageTransition(uiManagedWorkflows.pageHeader.actions.getActionByLabel('New').click());
150
- await uiManagedWorkflows.form
151
- .getFieldByLabel('Scheduled Start')
152
- .asDateTimeField()
153
- .setValue(args.scheduledStart);
154
- await uiShell.waitForPageTransition(uiManagedWorkflows.actions.getActionByLabel('Proceed').click());
155
- }
156
- /**
157
- * This method publishes a playlist.
158
- * The management system must be loaded & signed in before using this method.
159
- *
160
- * The following steps will be taken:
161
- * - Navigate to the channels station
162
- * - Filter out for the particular channel by title
163
- * - Open channel properties page
164
- * - Click on [Playlists] button
165
- * - Click on first playlist found
166
- * - Publish the playlist
167
- *
168
- * @param args.channelTitle The title of the channel
169
- */
170
- async publishPlaylist(args) {
171
- const { uiShell, uiManagedWorkflows } = this;
172
- this.navigateToChannelProperties({
173
- channelTitle: args.channelTitle,
174
- });
175
- // publish playlist
176
- await uiShell.waitForPageTransition(uiManagedWorkflows.actions.getActionByLabel('Playlists').click());
177
- await uiShell.waitForPageTransition(uiManagedWorkflows.list.getRow(1).actionButton.click());
178
- await uiShell.waitForPageTransition(uiManagedWorkflows.actions.getActionByLabel('Publishing').click());
179
- await uiManagedWorkflows.actions.getActionByLabel('Publish').click(),
180
- await uiShell.waitForPageTransition(uiManagedWorkflows.actions.confirmButton.click());
181
- }
182
- }
183
- exports.ChannelService = ChannelService;
184
- //# sourceMappingURL=channel-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel-service.js","sourceRoot":"","sources":["../../src/managed-services/channel-service.ts"],"names":[],"mappings":";;;AAAA,mEAA8D;AAE9D,MAAa,cAAe,SAAQ,2CAAmB;IACrD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,aAAa,CAAC,IAA8B;QAChD,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QAE7C,iBAAiB;QACjB,MAAM,OAAO,CAAC,gCAAgC,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CACtE,CAAC;QACF,MAAM,kBAAkB,CAAC,IAAI;aAC1B,eAAe,CAAC,OAAO,CAAC;aACxB,qBAAqB,EAAE;aACvB,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/B,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAC/D,CAAC;QACF,MAAM,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,2BAA2B,CAAC,IAEjC;QACC,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QAE7C,mCAAmC;QACnC,MAAM,OAAO,CAAC,gCAAgC,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,kBAAkB,CAAC,OAAO;aAC7B,eAAe,CAAC,OAAO,CAAC;aACxB,gBAAgB,EAAE;aAClB,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/B,MAAM,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAE5C,6CAA6C;QAC7C,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CACvD,CAAC;QACF,MAAM,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,cAAc,CAAC,IAA8B;QACjD,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QAE7C,IAAI,CAAC,2BAA2B,CAAC;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,MAAM,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAClE,CAAC;QACF,sBAAsB;QACtB,MAAM,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;YAClE,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CACjD,CAAC;IACN,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAA8B;QACnD,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QAE7C,IAAI,CAAC,2BAA2B,CAAC;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QAEH,MAAM,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;YACpE,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CACjD,CAAC;IACN,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,aAAa,CAAC,IAA8B;QAChD,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QAE7C,IAAI,CAAC,2BAA2B,CAAC;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI;YACF,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;SAC5C;QAAC,WAAM;YACN,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CACjD,CAAC;QACF,MAAM,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,cAAc,CAAC,IAGpB;QACC,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QAE7C,IAAI,CAAC,2BAA2B,CAAC;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CACjE,CAAC;QAEF,kBAAkB;QAClB,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CACtE,CAAC;QACF,MAAM,kBAAkB,CAAC,IAAI;aAC1B,eAAe,CAAC,iBAAiB,CAAC;aAClC,eAAe,EAAE;aACjB,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,eAAe,CAAC,IAA8B;QAClD,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QAE7C,IAAI,CAAC,2BAA2B,CAAC;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QAEH,mBAAmB;QACnB,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CACjE,CAAC;QACF,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CACvD,CAAC;QACF,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAClE,CAAC;QACF,MAAM,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;YAClE,MAAM,OAAO,CAAC,qBAAqB,CACjC,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CACjD,CAAC;IACN,CAAC;CACF;AApOD,wCAoOC"}
@@ -1,231 +0,0 @@
1
- import { ManagedServiceModel } from './managed-service-model';
2
-
3
- export class ChannelService extends ManagedServiceModel {
4
- /**
5
- * This method creates a channel by title.
6
- * The management system must be loaded & signed in before using this method.
7
- *
8
- * The following steps will be taken:
9
- * - Navigate to the channels station
10
- * - Click on [New] button
11
- * - Populate channel's title and click on [Proceed] button in order to save newly created channel
12
- *
13
- * @param args.channelTitle The title of the channel
14
- */
15
- async createChannel(args: { channelTitle: string }): Promise<void> {
16
- const { uiShell, uiManagedWorkflows } = this;
17
-
18
- // create channel
19
- await uiShell.goToNavigationPanelItemByTestIds('channels');
20
- await uiManagedWorkflows.list.waitForData();
21
- await uiShell.waitForPageTransition(
22
- uiManagedWorkflows.pageHeader.actions.getActionByLabel('New').click(),
23
- );
24
- await uiManagedWorkflows.form
25
- .getFieldByLabel('Title')
26
- .asSingleLineTextField()
27
- .setValue(args.channelTitle);
28
- await uiShell.waitForPageTransition(
29
- uiManagedWorkflows.actions.getActionByLabel('Proceed').click(),
30
- );
31
- await uiManagedWorkflows.form.waitForData();
32
- }
33
-
34
- /**
35
- * This method opens channel properties page for a channel.
36
- * The management system must be loaded & signed in before using this method.
37
- *
38
- * The following steps will be taken:
39
- * - Navigate to the channels station
40
- * - Filter out for the particular channel by title
41
- * - Open channel properties page
42
- *
43
- * @param args.channelTitle The title of the channel
44
- */
45
- async navigateToChannelProperties(args: {
46
- channelTitle: string;
47
- }): Promise<void> {
48
- const { uiShell, uiManagedWorkflows } = this;
49
-
50
- // filter out newly created channel
51
- await uiShell.goToNavigationPanelItemByTestIds('channels');
52
- await uiManagedWorkflows.list.waitForData();
53
- await uiManagedWorkflows.filters
54
- .getFilterByName('title')
55
- .asFreeTextFilter()
56
- .setValue(args.channelTitle);
57
- await uiManagedWorkflows.list.waitForData();
58
-
59
- // navigate to the channel properties station
60
- await uiShell.waitForPageTransition(
61
- uiManagedWorkflows.list.getRow(1).actionButton.click(),
62
- );
63
- await uiManagedWorkflows.form.waitForData();
64
- }
65
-
66
- /**
67
- * This method publishes a channel.
68
- * The management system must be loaded & signed in before using this method.
69
- *
70
- * The following steps will be taken:
71
- * - Navigate to the channels station
72
- * - Filter out for the particular channel by title
73
- * - Open channel properties page
74
- * - Publish the channel
75
- *
76
- * @param args.channelTitle The title of the channel
77
- */
78
- async publishChannel(args: { channelTitle: string }): Promise<void> {
79
- const { uiShell, uiManagedWorkflows } = this;
80
-
81
- this.navigateToChannelProperties({
82
- channelTitle: args.channelTitle,
83
- });
84
-
85
- // click on [Publishing] button
86
- await uiManagedWorkflows.form.waitForData();
87
- await uiShell.waitForPageTransition(
88
- uiManagedWorkflows.actions.getActionByLabel('Publishing').click(),
89
- );
90
- // publish the channel
91
- await uiManagedWorkflows.actions.getActionByLabel('Publish').click(),
92
- await uiShell.waitForPageTransition(
93
- uiManagedWorkflows.actions.confirmButton.click(),
94
- );
95
- }
96
-
97
- /**
98
- * This method unpublishes a channel.
99
- * The management system must be loaded & signed in before using this method.
100
- *
101
- * The following steps will be taken:
102
- * - Navigate to the channels station
103
- * - Filter out for the particular channel by title
104
- * - Open channel properties page
105
- * - Unpublish the channel
106
- *
107
- * @param args.channelTitle The title of the channel
108
- */
109
- async unpublishChannel(args: { channelTitle: string }): Promise<void> {
110
- const { uiShell, uiManagedWorkflows } = this;
111
-
112
- this.navigateToChannelProperties({
113
- channelTitle: args.channelTitle,
114
- });
115
-
116
- await uiManagedWorkflows.actions.getActionByLabel('Unpublish').click(),
117
- await uiShell.waitForPageTransition(
118
- uiManagedWorkflows.actions.confirmButton.click(),
119
- );
120
- }
121
-
122
- /**
123
- * This method deletes a channel.
124
- * The management system must be loaded & signed in before using this method.
125
- *
126
- * The following steps will be taken:
127
- * - Navigate to the channels station
128
- * - Filter out for the particular channel by title
129
- * - Open channel properties page
130
- * - Delete the channel
131
- *
132
- * @param args.channelTitle The title of the channel
133
- */
134
- async deleteChannel(args: { channelTitle: string }): Promise<void> {
135
- const { uiShell, uiManagedWorkflows } = this;
136
-
137
- this.navigateToChannelProperties({
138
- channelTitle: args.channelTitle,
139
- });
140
-
141
- const action = uiManagedWorkflows.actions.getActionByLabel('Delete');
142
- try {
143
- await action.waitFor({ state: 'visible' });
144
- } catch {
145
- throw new Error(`The "Delete" action is not visible.`);
146
- }
147
- await action.click();
148
- await uiShell.waitForPageTransition(
149
- uiManagedWorkflows.actions.confirmButton.click(),
150
- );
151
- await uiManagedWorkflows.list.waitForData();
152
- }
153
-
154
- /**
155
- * This method creates a playlist for a channel.
156
- * The management system must be loaded & signed in before using this method.
157
- *
158
- * The following steps will be taken:
159
- * - Navigate to the channels station
160
- * - Filter out for the particular channel by title
161
- * - Open channel properties page
162
- * - Click on [Playlists] button
163
- * - Click on [New] button on the Playlists station
164
- * - Populate Scheduled Start date and proceed in order to save newly created playlist
165
- *
166
- * @param args.channelTitle The title of the channel
167
- * @param args.scheduledStart The start date/time of the playlist
168
- */
169
- async createPlaylist(args: {
170
- channelTitle: string;
171
- scheduledStart: string;
172
- }): Promise<void> {
173
- const { uiShell, uiManagedWorkflows } = this;
174
-
175
- this.navigateToChannelProperties({
176
- channelTitle: args.channelTitle,
177
- });
178
- await uiShell.waitForPageTransition(
179
- uiManagedWorkflows.actions.getActionByLabel('Playlists').click(),
180
- );
181
-
182
- // create playlist
183
- await uiShell.waitForPageTransition(
184
- uiManagedWorkflows.pageHeader.actions.getActionByLabel('New').click(),
185
- );
186
- await uiManagedWorkflows.form
187
- .getFieldByLabel('Scheduled Start')
188
- .asDateTimeField()
189
- .setValue(args.scheduledStart);
190
- await uiShell.waitForPageTransition(
191
- uiManagedWorkflows.actions.getActionByLabel('Proceed').click(),
192
- );
193
- }
194
-
195
- /**
196
- * This method publishes a playlist.
197
- * The management system must be loaded & signed in before using this method.
198
- *
199
- * The following steps will be taken:
200
- * - Navigate to the channels station
201
- * - Filter out for the particular channel by title
202
- * - Open channel properties page
203
- * - Click on [Playlists] button
204
- * - Click on first playlist found
205
- * - Publish the playlist
206
- *
207
- * @param args.channelTitle The title of the channel
208
- */
209
- async publishPlaylist(args: { channelTitle: string }): Promise<void> {
210
- const { uiShell, uiManagedWorkflows } = this;
211
-
212
- this.navigateToChannelProperties({
213
- channelTitle: args.channelTitle,
214
- });
215
-
216
- // publish playlist
217
- await uiShell.waitForPageTransition(
218
- uiManagedWorkflows.actions.getActionByLabel('Playlists').click(),
219
- );
220
- await uiShell.waitForPageTransition(
221
- uiManagedWorkflows.list.getRow(1).actionButton.click(),
222
- );
223
- await uiShell.waitForPageTransition(
224
- uiManagedWorkflows.actions.getActionByLabel('Publishing').click(),
225
- );
226
- await uiManagedWorkflows.actions.getActionByLabel('Publish').click(),
227
- await uiShell.waitForPageTransition(
228
- uiManagedWorkflows.actions.confirmButton.click(),
229
- );
230
- }
231
- }