@digital-ai/devops-page-object-deploy 0.0.2

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/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # @digital-ai/devops-page-object-deploy
2
+
3
+ ## 0.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - d47a9be: [S-94130] Initialize Page Objects for Deploy
package/LICENSE.md ADDED
@@ -0,0 +1 @@
1
+ All materials included in this package are subject to your existing commercial license or subscription agreement terms with Digital.ai Software Inc. or its Affiliates.
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ ## Release page objects
2
+
3
+ ### Compatibility matrix
4
+
5
+ | devops-page-object-deploy | Digital.ai Deploy |
6
+ |----------------------------|:------------------:|
7
+ | 1.x | 23.3.x |
package/dist/main.js ADDED
@@ -0,0 +1,374 @@
1
+ var $1UEKj$playwrighttest = require("@playwright/test");
2
+
3
+ function $parcel$export(e, n, v, s) {
4
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
5
+ }
6
+
7
+ $parcel$export(module.exports, "test", () => $3352700e95ddc19e$export$e0969da9b8fb378d);
8
+ class $b031bda8df4df200$export$6e2c8f0811a474ce {
9
+ constructor(sectionRootLocator){
10
+ this.sectionRoot = sectionRootLocator;
11
+ }
12
+ /**
13
+ * Get child element in the section "this.sectionRoot" refers to
14
+ * @param childElementLocator
15
+ */ findElementInSection(childElementLocator) {
16
+ return this.sectionRoot.locator(childElementLocator);
17
+ }
18
+ }
19
+
20
+
21
+
22
+ class $beb748f674227a72$export$cc4f63927c41742f extends (0, $b031bda8df4df200$export$6e2c8f0811a474ce) {
23
+ constructor(page){
24
+ super(page.getByTestId("primaryNav"));
25
+ }
26
+ /**
27
+ * Click on side navigation links
28
+ */ async clickSideLink(sideLinkLocator) {
29
+ await this.sectionRoot.locator(sideLinkLocator).click();
30
+ }
31
+ }
32
+
33
+
34
+ class $7c2e5bae754cf9e5$export$110709f040143804 extends (0, $beb748f674227a72$export$cc4f63927c41742f) {
35
+ constructor(page){
36
+ super(page);
37
+ this.backButtonLocator = page.getByTestId("back-button");
38
+ this.linkExploreLocator = page.locator("p:has-text('Explorer')");
39
+ this.linkCompareLocator = page.locator("p:has-text('Compare')");
40
+ this.linkReportsLocator = page.locator("p:has-text('Reports')");
41
+ this.linkRulesAndMacrosLocator = page.locator("p:has-text('Rules and Macros')");
42
+ this.linkGitOps = page.locator("p:has-text('GitOps')");
43
+ this.linkLocalSource = page.locator("p:has-text('Local sources')");
44
+ this.linkPlugins = page.locator("p:has-text('Plugins')");
45
+ this.linkUserManagement = page.locator("p:has-text('User management')");
46
+ this.collapseButtonLocator = page.locator("span[title='Collapse']");
47
+ this.expandButtonLocator = page.locator("span[title='Expand']");
48
+ }
49
+ /**
50
+ * Click on go back button on side naviation links
51
+ */ async goBack() {
52
+ await this.backButtonLocator.waitFor();
53
+ await this.backButtonLocator.click();
54
+ }
55
+ /**
56
+ * Click on Explorer from left panel
57
+ */ async clickExplorer() {
58
+ await this.clickSideLink(this.linkExploreLocator);
59
+ }
60
+ /**
61
+ * Click on Compare from left panel
62
+ */ async clickCompare() {
63
+ await this.clickSideLink(this.linkCompareLocator);
64
+ }
65
+ /**
66
+ * Click on Reports from left panel
67
+ */ async clickReports() {
68
+ await this.clickSideLink(this.linkReportsLocator);
69
+ }
70
+ /**
71
+ * Click on Rules and Macros from left panel
72
+ */ async clickRulesAndMacros() {
73
+ await this.clickSideLink(this.linkRulesAndMacrosLocator);
74
+ }
75
+ /**
76
+ * Click on Gitops from left panel
77
+ */ async clickGitOps() {
78
+ await this.clickSideLink(this.linkGitOps);
79
+ }
80
+ /**
81
+ * Click on Local sources from left panel
82
+ */ async clickLocalSources() {
83
+ await this.clickSideLink(this.linkLocalSource);
84
+ }
85
+ /**
86
+ * Click on Plugins from left panel
87
+ */ async clickPlugins() {
88
+ await this.clickSideLink(this.linkPlugins);
89
+ }
90
+ /**
91
+ * Click on User Managements from left panel
92
+ */ async clickUserManagement() {
93
+ await this.clickSideLink(this.linkUserManagement);
94
+ }
95
+ /**
96
+ * Click on Collapse button from left panel
97
+ */ async clickCollapse() {
98
+ await this.clickSideLink(this.collapseButtonLocator);
99
+ }
100
+ /**
101
+ * Click on Expand from left panel
102
+ */ async clickExpand() {
103
+ await this.clickSideLink(this.expandButtonLocator);
104
+ }
105
+ }
106
+
107
+
108
+
109
+ class $4a9d9a80e54af555$export$3b4e64e77073e307 extends (0, $b031bda8df4df200$export$6e2c8f0811a474ce) {
110
+ constructor(page){
111
+ super(page.locator(".banner-container"));
112
+ }
113
+ }
114
+
115
+
116
+ class $9d59b5ce8284c3bf$export$7c6e2c02157bb7d2 extends (0, $b031bda8df4df200$export$6e2c8f0811a474ce) {
117
+ constructor(page){
118
+ super(page.locator(".Pane.vertical.Pane1"));
119
+ this.banner = new (0, $4a9d9a80e54af555$export$3b4e64e77073e307)(page);
120
+ this.leftPanel = new (0, $7c2e5bae754cf9e5$export$110709f040143804)(page);
121
+ }
122
+ }
123
+
124
+
125
+
126
+ class $7149ac56b8ddfcf1$export$d9b273488cd8ce6f extends (0, $b031bda8df4df200$export$6e2c8f0811a474ce) {
127
+ /**
128
+ *
129
+ * @param menuContentRootLocator menu content root locator
130
+ * @param menuLinkLocator Menu link locator thats used to open/close the menu
131
+ * @param menuItemsParentLocator Menu items that opens up when menu link is clicked
132
+ */ constructor(menuContentRootLocator, menuLinkLocator, menuItemsParentLocator){
133
+ super(menuContentRootLocator);
134
+ this.menuLinkLocator = menuLinkLocator;
135
+ this.menuItemsParentLocator = menuContentRootLocator.locator(menuItemsParentLocator);
136
+ }
137
+ /**
138
+ * Click on a menu item
139
+ * @param menuItemLocator
140
+ */ async clickMenuItem(menuItemLocator) {
141
+ if (!await this.menuItemsParentLocator.locator(menuItemLocator).isVisible()) await this.menuLinkLocator.click();
142
+ return await this.menuItemsParentLocator.locator(menuItemLocator).click();
143
+ }
144
+ /**
145
+ * Close a menu item
146
+ */ async close() {
147
+ await this.menuLinkLocator.click();
148
+ }
149
+ /**
150
+ * Note : Support only one level of menu items not being open iow if the link to click
151
+ * @param mouseOverLocator
152
+ * @param menuItemLocator
153
+ */ async hoverFlyoutAndClickMenuItem(mouseOverLocator, menuItemLocator) {
154
+ if (!await this.menuItemsParentLocator.locator(menuItemLocator).isVisible()) {
155
+ await mouseOverLocator.hover();
156
+ await this.menuLinkLocator.click();
157
+ }
158
+ await menuItemLocator.click();
159
+ }
160
+ }
161
+
162
+
163
+ class $8a1acfec011ab8c3$export$5929c05a25eed48f extends (0, $7149ac56b8ddfcf1$export$d9b273488cd8ce6f) {
164
+ constructor(page){
165
+ super(page.locator("#context-menu-popover"), page.locator(".icon-help.dot-i"), page.locator(".dropdown-menu.multi-level.dropdown-menu-0"));
166
+ this.onlineDoc = page.locator('a[title="Online documentation"]');
167
+ this.supportRequest = page.locator('a[title="Submit a support request"]');
168
+ this.website = page.locator('a[title="Digital.ai website"]');
169
+ this.usageMatrix = page.locator('a[title="Usage Metrics"]');
170
+ this.getDataForSupport = page.locator('a[title="Get data for support"]');
171
+ }
172
+ /**
173
+ * Click on online Documentation menu option
174
+ */ async clickOnlineDocumentation() {
175
+ await this.clickMenuItem(this.onlineDoc);
176
+ }
177
+ /**
178
+ * Click on menu option
179
+ */ async clickSupportRequest() {
180
+ await this.clickMenuItem(this.supportRequest);
181
+ }
182
+ /**
183
+ * Click on Digital.ai website menu option
184
+ */ async clickOfficialWebsite() {
185
+ await this.clickMenuItem(this.website);
186
+ }
187
+ /**
188
+ * Click on usage matrix menu option
189
+ */ async clickUsageMatrix() {
190
+ await this.clickMenuItem(this.usageMatrix);
191
+ }
192
+ /**
193
+ * Click on Get data for support menu option
194
+ */ async clickGetDataForSupport() {
195
+ await this.clickMenuItem(this.getDataForSupport);
196
+ }
197
+ }
198
+
199
+
200
+
201
+
202
+ class $f9e40ff7c3e0c582$export$ca8bffe144e51c8 extends (0, $b031bda8df4df200$export$6e2c8f0811a474ce) {
203
+ constructor(page){
204
+ super(page.locator(".dot-branding"));
205
+ this.logo = page.getByTestId("primary-logo");
206
+ }
207
+ async clickLogo() {
208
+ await this.logo.click();
209
+ }
210
+ }
211
+
212
+
213
+
214
+ class $70698a74230ac35b$export$1d7840d5cdc861d5 extends (0, $7149ac56b8ddfcf1$export$d9b273488cd8ce6f) {
215
+ constructor(page){
216
+ super(page.locator("#context-menu-popover"), page.locator(".icon-settings.dot-i"), page.locator('ul[class="dropdown-menu multi-level dropdown-menu-0"]'));
217
+ this.settings = page.getByRole("link", {
218
+ name: "Settings"
219
+ });
220
+ this.renewLicense = page.getByTitle("Renew license");
221
+ this.viewAs = page.getByTitle("View as");
222
+ this.maintenanceMode = page.getByTitle("");
223
+ this.about = page.getByTitle("About");
224
+ this.systemInformation = page.getByTitle("System information");
225
+ }
226
+ /**
227
+ * Click on settings menu option
228
+ */ async clickSettings() {
229
+ await this.clickMenuItem(this.settings);
230
+ }
231
+ /**
232
+ * Click on renew license menu option
233
+ */ async clickRenewLicense() {
234
+ await this.clickMenuItem(this.renewLicense);
235
+ }
236
+ /**
237
+ * Click on view as menu option
238
+ */ async clickViewAs() {
239
+ await this.clickMenuItem(this.viewAs);
240
+ }
241
+ /**
242
+ * Click on maintenance mode menu option
243
+ */ async clickMaintenanceMode() {
244
+ await this.clickMenuItem(this.maintenanceMode);
245
+ }
246
+ /**
247
+ * Click on About menu option
248
+ */ async clickAbout() {
249
+ await this.clickMenuItem(this.about);
250
+ }
251
+ /**
252
+ * Click on System information menu option
253
+ */ async clickSystemInfo() {
254
+ await this.clickMenuItem(this.systemInformation);
255
+ }
256
+ }
257
+
258
+
259
+
260
+ class $0cc6e6068d8adf21$export$f7f58290278dd286 extends (0, $7149ac56b8ddfcf1$export$d9b273488cd8ce6f) {
261
+ constructor(page){
262
+ super(page.locator("#context-menu-popover"), page.getByTitle("admin"), page.locator(".dropdown-menu.multi-level.dropdown-menu-0"));
263
+ this.userProfileLocator = page.getByRole("link", {
264
+ name: "User profile"
265
+ });
266
+ this.logoutLocator = page.getByRole("link", {
267
+ name: "Log out"
268
+ });
269
+ }
270
+ async clickUserProfile() {
271
+ await this.clickMenuItem(this.userProfileLocator);
272
+ }
273
+ async Logout() {
274
+ await this.clickMenuItem(this.logoutLocator);
275
+ }
276
+ }
277
+
278
+
279
+ class $ae9e523da565a5a8$export$8b251419efc915eb extends (0, $b031bda8df4df200$export$6e2c8f0811a474ce) {
280
+ constructor(page){
281
+ super(page.locator(".main-header-wrapper.logged-in"));
282
+ this.brandLogo = new (0, $f9e40ff7c3e0c582$export$ca8bffe144e51c8)(page);
283
+ this.helperMenu = new (0, $8a1acfec011ab8c3$export$5929c05a25eed48f)(page);
284
+ this.settingsMenu = new (0, $70698a74230ac35b$export$1d7840d5cdc861d5)(page);
285
+ this.avatarMenu = new (0, $0cc6e6068d8adf21$export$f7f58290278dd286)(page);
286
+ }
287
+ }
288
+
289
+
290
+ class $ae23b16684112d0b$export$2b65d1d97338f32b {
291
+ constructor(page){
292
+ this.header = new (0, $ae9e523da565a5a8$export$8b251419efc915eb)(page);
293
+ this.content = new (0, $9d59b5ce8284c3bf$export$7c6e2c02157bb7d2)(page);
294
+ }
295
+ }
296
+
297
+
298
+ class $7dcee016eeec0e08$export$f14c0e3f98d164c0 extends (0, $ae23b16684112d0b$export$2b65d1d97338f32b) {
299
+ constructor(page){
300
+ super(page);
301
+ this.page = page;
302
+ this.username = page.getByPlaceholder("User");
303
+ this.password = page.getByPlaceholder("Password");
304
+ this.loginButton = page.getByRole("button", {
305
+ name: "Log in"
306
+ });
307
+ this.rememberMeCheckbox = page.locator("#rememberMeCheckbox");
308
+ }
309
+ async login(user, pwd) {
310
+ await this.page.goto("/#/login");
311
+ await this.username.fill(user);
312
+ await this.password.fill(pwd);
313
+ await this.loginButton.click();
314
+ await this.page.locator(".main-layout").waitFor();
315
+ }
316
+ }
317
+
318
+
319
+
320
+
321
+ class $b375bc430f279b15$export$b477143f7ffae077 extends (0, $7149ac56b8ddfcf1$export$d9b273488cd8ce6f) {
322
+ constructor(page){
323
+ super(page.locator("#context-menu-popover"), page.locator('.infinite-tree-closed.context-menu-button.pull-right[data-id="Applications"]'), page.locator(".dropdown-menu.multi-level.dropdown-menu-0"));
324
+ this.mouseOverLocator = page.locator('css=[data-path=".1"]');
325
+ this.newlinkLocator = page.getByRole("link", {
326
+ name: "New"
327
+ });
328
+ }
329
+ async createNewApplicationDirectory() {
330
+ await this.hoverFlyoutAndClickMenuItem(this.mouseOverLocator, this.newlinkLocator);
331
+ }
332
+ }
333
+
334
+
335
+ class $1fae0b7de3d21f52$export$bf4a5dd3be690f6b extends (0, $ae23b16684112d0b$export$2b65d1d97338f32b) {
336
+ constructor(page){
337
+ super(page);
338
+ this.appMenu = new (0, $b375bc430f279b15$export$b477143f7ffae077)(page);
339
+ }
340
+ }
341
+
342
+
343
+
344
+
345
+ class $114862ed97d76403$export$36d69433c4f81145 extends (0, $ae23b16684112d0b$export$2b65d1d97338f32b) {
346
+ constructor(page){
347
+ super(page);
348
+ }
349
+ }
350
+
351
+
352
+ const $3352700e95ddc19e$export$e0969da9b8fb378d = (0, $1UEKj$playwrighttest.test).extend({
353
+ loginPage: async ({ page: page }, use)=>{
354
+ // Set up the fixture.
355
+ const loginPage = new (0, $7dcee016eeec0e08$export$f14c0e3f98d164c0)(page);
356
+ await use(loginPage);
357
+ return loginPage;
358
+ },
359
+ homePage: async ({ page: page }, use)=>{
360
+ const homePage = new (0, $114862ed97d76403$export$36d69433c4f81145)(page);
361
+ await use(homePage);
362
+ return homePage;
363
+ },
364
+ applicationPage: async ({ page: page }, use)=>{
365
+ const applicationPage = new (0, $1fae0b7de3d21f52$export$bf4a5dd3be690f6b)(page);
366
+ await use(applicationPage);
367
+ return applicationPage;
368
+ }
369
+ });
370
+
371
+
372
+
373
+
374
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["apps/deploy/index.ts","apps/deploy/fixtures/index.ts","apps/deploy/pages/modules/authentication/login.page.ts","apps/deploy/pages/withPage.ts","apps/deploy/pages/layout/2.content/content.ts","apps/deploy/pages/layout/section.ts","apps/deploy/pages/layout/2.content/leftPanel/leftPanel.ts","apps/deploy/pages/common/sideNav.ts","apps/deploy/pages/layout/2.content/banner/banner.ts","apps/deploy/pages/layout/1.header/header.ts","apps/deploy/pages/layout/1.header/b.rightSideIcons/helpMenu.ts","apps/deploy/pages/common/menu.ts","apps/deploy/pages/layout/1.header/a.brandLogo/brandLogo.ts","apps/deploy/pages/layout/1.header/b.rightSideIcons/settingsMenu.ts","apps/deploy/pages/layout/1.header/b.rightSideIcons/avatar.ts","apps/deploy/pages/modules/component/explorer/applications/applications.page.ts","apps/deploy/pages/modules/component/explorer/applications/application.menu.ts","apps/deploy/pages/modules/component/homePage/home.page.ts"],"sourcesContent":["export { test } from './fixtures';\n","\nimport { LoginPage } from '../pages/modules/authentication/login.page';\nimport { ApplicationPage } from '../pages/modules/component/explorer/applications/applications.page';\nimport { test as base } from '@playwright/test';\nimport { HomePage } from '../pages/modules/component/homePage/home.page';\n\ntype deployFixtures = {\n applicationPage: ApplicationPage;\n homePage : HomePage;\n loginPage : LoginPage;\n};\n\nexport const test = base.extend<deployFixtures>({\n loginPage : async ({ page }, use) => {\n // Set up the fixture.\n const loginPage = new LoginPage(page);\n await use(loginPage)\n return loginPage;\n },\n homePage : async ({ page }, use) => {\n const homePage = new HomePage(page);\n await use(homePage);\n return homePage;\n },\n applicationPage : async ({page }, use) => {\n const applicationPage = new ApplicationPage(page);\n await use(applicationPage);\n return applicationPage;\n },\n});\n","import { Locator, Page } from \"@playwright/test\";\nimport { WithPage } from \"../../withPage\";\n\nexport class LoginPage extends WithPage{\n page: Page\n username: Locator\n password: Locator\n loginButton: Locator\n rememberMeCheckbox : Locator\n\n constructor(page: Page){\n super(page)\n this.page = page;\n this.username = page.getByPlaceholder('User')\n this.password = page.getByPlaceholder('Password')\n this.loginButton = page.getByRole('button', { name: 'Log in' })\n this.rememberMeCheckbox = page.locator('#rememberMeCheckbox')\n }\n\n async login(user: string, pwd: string) : Promise<void> {\n await this.page.goto('/#/login');\n await this.username.fill(user);\n await this.password.fill(pwd);\n await this.loginButton.click();\n await this.page.locator('.main-layout').waitFor();\n }\n}","import { Page } from '@playwright/test';\nimport { Content } from './layout/2.content/content';\nimport { Header } from './layout/1.header/header';\n\nexport class WithPage {\n header : Header \n content : Content\n constructor(page: Page) {\n this.header = new Header(page)\n this.content = new Content(page)\n }\n}\n","import { Page } from '@playwright/test';\nimport { Section } from '../section';\nimport { LeftPanel } from './leftPanel/leftPanel';\nimport { Banner } from './banner/banner';\n\nexport class Content extends Section{\n banner : Banner\n leftPanel : LeftPanel\n constructor(page:Page){\n super(page.locator('.Pane.vertical.Pane1')); \n this.banner = new Banner(page)\n this.leftPanel = new LeftPanel(page)\n }\n \n}","import { Locator } from \"@playwright/test\";\n\nexport class Section {\n sectionRoot: Locator;\n constructor(sectionRootLocator: Locator) {\n this.sectionRoot = sectionRootLocator;\n }\n\n /**\n * Get child element in the section \"this.sectionRoot\" refers to\n * @param childElementLocator\n */\n findElementInSection(childElementLocator: Locator): Locator {\n return this.sectionRoot.locator(childElementLocator);\n }\n\n}\n","import { Page, Locator} from \"@playwright/test\";\nimport { SideNavigation } from \"../../../common/sideNav\";\n\nexport class LeftPanel extends SideNavigation {\n backButtonLocator : Locator\n linkExploreLocator : Locator\n linkCompareLocator : Locator\n linkReportsLocator : Locator\n linkRulesAndMacrosLocator : Locator\n linkGitOps : Locator\n linkLocalSource : Locator \n linkPlugins : Locator\n linkUserManagement : Locator\n collapseButtonLocator : Locator\n expandButtonLocator : Locator\n constructor(page: Page) {\n super(page)\n this.backButtonLocator = page.getByTestId('back-button')\n this.linkExploreLocator = page.locator(\"p:has-text('Explorer')\")\n this.linkCompareLocator = page.locator(\"p:has-text('Compare')\")\n this.linkReportsLocator = page.locator(\"p:has-text('Reports')\")\n this.linkRulesAndMacrosLocator = page.locator(\"p:has-text('Rules and Macros')\")\n this.linkGitOps = page.locator(\"p:has-text('GitOps')\")\n this.linkLocalSource = page.locator(\"p:has-text('Local sources')\")\n this.linkPlugins = page.locator(\"p:has-text('Plugins')\")\n this.linkUserManagement = page.locator(\"p:has-text('User management')\")\n this.collapseButtonLocator = page.locator(\"span[title='Collapse']\")\n this.expandButtonLocator = page.locator(\"span[title='Expand']\")\n }\n\n /**\n * Click on go back button on side naviation links\n */\n async goBack() : Promise<void> {\n await this.backButtonLocator.waitFor()\n await this.backButtonLocator.click()\n }\n\n /**\n * Click on Explorer from left panel\n */\n async clickExplorer() : Promise<void> {\n await this.clickSideLink(this.linkExploreLocator)\n }\n\n /**\n * Click on Compare from left panel\n */\n async clickCompare() : Promise<void> {\n await this.clickSideLink(this.linkCompareLocator)\n }\n\n /**\n * Click on Reports from left panel\n */\n async clickReports() : Promise<void> {\n await this.clickSideLink(this.linkReportsLocator)\n }\n\n /**\n * Click on Rules and Macros from left panel\n */\n async clickRulesAndMacros() : Promise<void> {\n await this.clickSideLink(this.linkRulesAndMacrosLocator)\n }\n\n /**\n * Click on Gitops from left panel\n */\n async clickGitOps() : Promise<void> {\n await this.clickSideLink(this.linkGitOps)\n }\n\n /**\n * Click on Local sources from left panel\n */\n async clickLocalSources() : Promise<void> {\n await this.clickSideLink(this.linkLocalSource)\n }\n\n /**\n * Click on Plugins from left panel\n */\n async clickPlugins() : Promise<void> {\n await this.clickSideLink(this.linkPlugins)\n }\n\n /**\n * Click on User Managements from left panel\n */\n async clickUserManagement() : Promise<void> {\n await this.clickSideLink(this.linkUserManagement)\n }\n\n /**\n * Click on Collapse button from left panel\n */\n async clickCollapse() : Promise<void> {\n await this.clickSideLink(this.collapseButtonLocator)\n }\n\n /**\n * Click on Expand from left panel\n */\n async clickExpand() : Promise<void> {\n await this.clickSideLink(this.expandButtonLocator)\n }\n\n}","import { Locator, Page } from \"@playwright/test\";\nimport { Section } from \"../layout/section\";\n\nexport class SideNavigation extends Section {\n constructor (page:Page) {\n super(page.getByTestId('primaryNav'))\n }\n\n /**\n * Click on side navigation links\n */\n async clickSideLink(sideLinkLocator: Locator) : Promise<void> {\n await this.sectionRoot.locator(sideLinkLocator).click()\n }\n\n}","import { Page } from \"@playwright/test\";\nimport { Section } from \"../../section\";\n\nexport class Banner extends Section {\n constructor(page:Page ){\n super(page.locator('.banner-container'))\n }\n}","import { Page } from '@playwright/test';\nimport { HelperMenu } from './b.rightSideIcons/helpMenu';\nimport { Section } from '../section';\nimport { BrandLogo } from './a.brandLogo/brandLogo';\nimport { SettingsMenu } from './b.rightSideIcons/settingsMenu';\nimport { AvatarMenu } from './b.rightSideIcons/avatar';\n\nexport class Header extends Section{\n brandLogo: BrandLogo\n helperMenu : HelperMenu\n settingsMenu : SettingsMenu\n avatarMenu : AvatarMenu\n constructor(page:Page){\n super(page.locator('.main-header-wrapper.logged-in') );\n this.brandLogo = new BrandLogo(page)\n this.helperMenu = new HelperMenu(page)\n this.settingsMenu = new SettingsMenu(page)\n this.avatarMenu = new AvatarMenu(page)\n }\n\n}\n","import { Page, Locator } from \"@playwright/test\";\nimport { Menu } from \"../../../common/menu\";\n\nexport class HelperMenu extends Menu {\n onlineDoc : Locator\n supportRequest : Locator\n website : Locator\n usageMatrix : Locator\n getDataForSupport : Locator\n constructor(page: Page){\n super(page.locator('#context-menu-popover'), page.locator('.icon-help.dot-i') , page.locator('.dropdown-menu.multi-level.dropdown-menu-0'))\n this.onlineDoc = page.locator('a[title=\"Online documentation\"]')\n this.supportRequest = page.locator('a[title=\"Submit a support request\"]')\n this.website = page.locator('a[title=\"Digital.ai website\"]')\n this.usageMatrix = page.locator('a[title=\"Usage Metrics\"]')\n this.getDataForSupport = page.locator('a[title=\"Get data for support\"]') \n }\n \n /**\n * Click on online Documentation menu option\n */\n async clickOnlineDocumentation(): Promise<void>{\n await this.clickMenuItem(this.onlineDoc)\n }\n\n /**\n * Click on menu option\n */\n async clickSupportRequest(): Promise<void>{\n await this.clickMenuItem(this.supportRequest)\n }\n /**\n * Click on Digital.ai website menu option\n */\n async clickOfficialWebsite(): Promise<void> {\n await this.clickMenuItem(this.website)\n }\n /**\n * Click on usage matrix menu option\n */\n async clickUsageMatrix(): Promise<void> {\n await this.clickMenuItem(this.usageMatrix)\n }\n /**\n * Click on Get data for support menu option\n */\n async clickGetDataForSupport(): Promise<void> {\n await this.clickMenuItem(this.getDataForSupport)\n }\n}","import { Locator } from '@playwright/test';\nimport { Section } from '../layout/section';\n\nexport class Menu extends Section {\n private menuLinkLocator : Locator\n private menuItemsParentLocator : Locator\n\n /**\n *\n * @param menuContentRootLocator menu content root locator\n * @param menuLinkLocator Menu link locator thats used to open/close the menu\n * @param menuItemsParentLocator Menu items that opens up when menu link is clicked\n */\n\n constructor(menuContentRootLocator: Locator, menuLinkLocator: Locator, menuItemsParentLocator: Locator) {\n super(menuContentRootLocator)\n this.menuLinkLocator = menuLinkLocator\n this.menuItemsParentLocator = menuContentRootLocator.locator(menuItemsParentLocator)\n }\n\n /**\n * Click on a menu item\n * @param menuItemLocator\n */\n async clickMenuItem(menuItemLocator: Locator): Promise <void> {\n if (!await this.menuItemsParentLocator.locator(menuItemLocator).isVisible()) {\n await this.menuLinkLocator.click();\n }\n return await this.menuItemsParentLocator.locator(menuItemLocator).click();\n }\n\n /**\n * Close a menu item\n */\n async close(): Promise<void> {\n await this.menuLinkLocator.click()\n }\n\n /**\n * Note : Support only one level of menu items not being open iow if the link to click\n * @param mouseOverLocator\n * @param menuItemLocator\n */\n async hoverFlyoutAndClickMenuItem(mouseOverLocator: Locator, menuItemLocator: Locator): Promise <void> {\n if(!await this.menuItemsParentLocator.locator(menuItemLocator).isVisible()) {\n await mouseOverLocator.hover();\n await this.menuLinkLocator.click()\n }\n await menuItemLocator.click()\n }\n\n}\n","import { Locator, Page } from \"@playwright/test\";\nimport { Section} from \"../../section\";\n\nexport class BrandLogo extends Section {\n private logo: Locator\n constructor(page: Page) {\n super(page.locator('.dot-branding'))\n this.logo = page.getByTestId('primary-logo')\n }\n\n async clickLogo(): Promise<void> {\n await this.logo.click()\n }\n}\n","import { Page, Locator } from \"@playwright/test\";\nimport { Menu } from \"../../../common/menu\";\n\nexport class SettingsMenu extends Menu{\n private settings : Locator\n private renewLicense : Locator\n private viewAs : Locator\n private maintenanceMode : Locator\n private about : Locator\n private systemInformation : Locator\n constructor(page: Page){\n super(page.locator('#context-menu-popover'), page.locator('.icon-settings.dot-i') , page.locator('ul[class=\"dropdown-menu multi-level dropdown-menu-0\"]'))\n this.settings = page.getByRole('link', { name: 'Settings' });\n this.renewLicense = page.getByTitle('Renew license')\n this.viewAs = page.getByTitle('View as')\n this.maintenanceMode = page.getByTitle('')\n this.about = page.getByTitle('About')\n this.systemInformation = page.getByTitle('System information')\n }\n\n /**\n * Click on settings menu option\n */\n async clickSettings(): Promise<void> {\n await this.clickMenuItem(this.settings)\n }\n\n /**\n * Click on renew license menu option\n */\n async clickRenewLicense(): Promise<void> {\n await this.clickMenuItem(this.renewLicense)\n }\n\n /**\n * Click on view as menu option\n */\n async clickViewAs(): Promise<void> {\n await this.clickMenuItem(this.viewAs)\n }\n\n /**\n * Click on maintenance mode menu option\n */\n async clickMaintenanceMode(): Promise<void> {\n await this.clickMenuItem(this.maintenanceMode)\n }\n\n /**\n * Click on About menu option\n */\n async clickAbout(): Promise<void> {\n await this.clickMenuItem(this.about)\n }\n\n /**\n * Click on System information menu option\n */\n async clickSystemInfo(): Promise<void> {\n await this.clickMenuItem(this.systemInformation)\n }\n}","import { Locator, Page } from \"@playwright/test\";\nimport { Menu } from \"../../../common/menu\";\n\nexport class AvatarMenu extends Menu {\n userProfileLocator : Locator\n logoutLocator : Locator\n constructor(page: Page) {\n super(page.locator('#context-menu-popover'), page.getByTitle('admin'), page.locator('.dropdown-menu.multi-level.dropdown-menu-0'))\n this.userProfileLocator = page.getByRole('link', {name: 'User profile'});\n this.logoutLocator = page.getByRole('link', {name: 'Log out'})\n }\n\n async clickUserProfile () : Promise <void> {\n await this.clickMenuItem(this.userProfileLocator);\n };\n\n async Logout() : Promise <void> {\n await this.clickMenuItem(this.logoutLocator);\n };\n}","import { Page } from \"@playwright/test\";\nimport { WithPage } from \"../../../../withPage\";\nimport { ApplicationMenu } from \"./application.menu\";\n\nexport class ApplicationPage extends WithPage {\n appMenu : ApplicationMenu\n constructor(page:Page){\n super(page)\n this.appMenu = new ApplicationMenu(page)\n\n }\n}","import { Locator, Page } from \"@playwright/test\";\nimport { Menu } from \"../../../../common/menu\";\n\nexport class ApplicationMenu extends Menu {\n private mouseOverLocator: Locator\n private newlinkLocator : Locator\n constructor(page: Page) {\n super(page.locator('#context-menu-popover'), page.locator('.infinite-tree-closed.context-menu-button.pull-right[data-id=\"Applications\"]'), page.locator('.dropdown-menu.multi-level.dropdown-menu-0'))\n this.mouseOverLocator = page.locator('css=[data-path=\".1\"]')\n this.newlinkLocator = page.getByRole('link', { name: 'New' })\n }\n\n async createNewApplicationDirectory() : Promise <void> {\n await this.hoverFlyoutAndClickMenuItem(this.mouseOverLocator,this.newlinkLocator)\n\n }\n}","import { Page } from \"@playwright/test\";\nimport { WithPage } from \"../../../withPage\";\n\nexport class HomePage extends WithPage {\n constructor(page:Page){\n super(page)\n \n\n }\n}"],"names":[],"version":3,"file":"main.js.map"}
package/dist/module.js ADDED
@@ -0,0 +1,370 @@
1
+ import {test as $lE6ZQ$test} from "@playwright/test";
2
+
3
+ class $b464119f5ec5aad0$export$6e2c8f0811a474ce {
4
+ constructor(sectionRootLocator){
5
+ this.sectionRoot = sectionRootLocator;
6
+ }
7
+ /**
8
+ * Get child element in the section "this.sectionRoot" refers to
9
+ * @param childElementLocator
10
+ */ findElementInSection(childElementLocator) {
11
+ return this.sectionRoot.locator(childElementLocator);
12
+ }
13
+ }
14
+
15
+
16
+
17
+ class $66de4f08dadae772$export$cc4f63927c41742f extends (0, $b464119f5ec5aad0$export$6e2c8f0811a474ce) {
18
+ constructor(page){
19
+ super(page.getByTestId("primaryNav"));
20
+ }
21
+ /**
22
+ * Click on side navigation links
23
+ */ async clickSideLink(sideLinkLocator) {
24
+ await this.sectionRoot.locator(sideLinkLocator).click();
25
+ }
26
+ }
27
+
28
+
29
+ class $26d8c96bf2341a59$export$110709f040143804 extends (0, $66de4f08dadae772$export$cc4f63927c41742f) {
30
+ constructor(page){
31
+ super(page);
32
+ this.backButtonLocator = page.getByTestId("back-button");
33
+ this.linkExploreLocator = page.locator("p:has-text('Explorer')");
34
+ this.linkCompareLocator = page.locator("p:has-text('Compare')");
35
+ this.linkReportsLocator = page.locator("p:has-text('Reports')");
36
+ this.linkRulesAndMacrosLocator = page.locator("p:has-text('Rules and Macros')");
37
+ this.linkGitOps = page.locator("p:has-text('GitOps')");
38
+ this.linkLocalSource = page.locator("p:has-text('Local sources')");
39
+ this.linkPlugins = page.locator("p:has-text('Plugins')");
40
+ this.linkUserManagement = page.locator("p:has-text('User management')");
41
+ this.collapseButtonLocator = page.locator("span[title='Collapse']");
42
+ this.expandButtonLocator = page.locator("span[title='Expand']");
43
+ }
44
+ /**
45
+ * Click on go back button on side naviation links
46
+ */ async goBack() {
47
+ await this.backButtonLocator.waitFor();
48
+ await this.backButtonLocator.click();
49
+ }
50
+ /**
51
+ * Click on Explorer from left panel
52
+ */ async clickExplorer() {
53
+ await this.clickSideLink(this.linkExploreLocator);
54
+ }
55
+ /**
56
+ * Click on Compare from left panel
57
+ */ async clickCompare() {
58
+ await this.clickSideLink(this.linkCompareLocator);
59
+ }
60
+ /**
61
+ * Click on Reports from left panel
62
+ */ async clickReports() {
63
+ await this.clickSideLink(this.linkReportsLocator);
64
+ }
65
+ /**
66
+ * Click on Rules and Macros from left panel
67
+ */ async clickRulesAndMacros() {
68
+ await this.clickSideLink(this.linkRulesAndMacrosLocator);
69
+ }
70
+ /**
71
+ * Click on Gitops from left panel
72
+ */ async clickGitOps() {
73
+ await this.clickSideLink(this.linkGitOps);
74
+ }
75
+ /**
76
+ * Click on Local sources from left panel
77
+ */ async clickLocalSources() {
78
+ await this.clickSideLink(this.linkLocalSource);
79
+ }
80
+ /**
81
+ * Click on Plugins from left panel
82
+ */ async clickPlugins() {
83
+ await this.clickSideLink(this.linkPlugins);
84
+ }
85
+ /**
86
+ * Click on User Managements from left panel
87
+ */ async clickUserManagement() {
88
+ await this.clickSideLink(this.linkUserManagement);
89
+ }
90
+ /**
91
+ * Click on Collapse button from left panel
92
+ */ async clickCollapse() {
93
+ await this.clickSideLink(this.collapseButtonLocator);
94
+ }
95
+ /**
96
+ * Click on Expand from left panel
97
+ */ async clickExpand() {
98
+ await this.clickSideLink(this.expandButtonLocator);
99
+ }
100
+ }
101
+
102
+
103
+
104
+ class $7f808a48ced6cace$export$3b4e64e77073e307 extends (0, $b464119f5ec5aad0$export$6e2c8f0811a474ce) {
105
+ constructor(page){
106
+ super(page.locator(".banner-container"));
107
+ }
108
+ }
109
+
110
+
111
+ class $5dbb03b38de032e2$export$7c6e2c02157bb7d2 extends (0, $b464119f5ec5aad0$export$6e2c8f0811a474ce) {
112
+ constructor(page){
113
+ super(page.locator(".Pane.vertical.Pane1"));
114
+ this.banner = new (0, $7f808a48ced6cace$export$3b4e64e77073e307)(page);
115
+ this.leftPanel = new (0, $26d8c96bf2341a59$export$110709f040143804)(page);
116
+ }
117
+ }
118
+
119
+
120
+
121
+ class $54bcd1bcf08dd053$export$d9b273488cd8ce6f extends (0, $b464119f5ec5aad0$export$6e2c8f0811a474ce) {
122
+ /**
123
+ *
124
+ * @param menuContentRootLocator menu content root locator
125
+ * @param menuLinkLocator Menu link locator thats used to open/close the menu
126
+ * @param menuItemsParentLocator Menu items that opens up when menu link is clicked
127
+ */ constructor(menuContentRootLocator, menuLinkLocator, menuItemsParentLocator){
128
+ super(menuContentRootLocator);
129
+ this.menuLinkLocator = menuLinkLocator;
130
+ this.menuItemsParentLocator = menuContentRootLocator.locator(menuItemsParentLocator);
131
+ }
132
+ /**
133
+ * Click on a menu item
134
+ * @param menuItemLocator
135
+ */ async clickMenuItem(menuItemLocator) {
136
+ if (!await this.menuItemsParentLocator.locator(menuItemLocator).isVisible()) await this.menuLinkLocator.click();
137
+ return await this.menuItemsParentLocator.locator(menuItemLocator).click();
138
+ }
139
+ /**
140
+ * Close a menu item
141
+ */ async close() {
142
+ await this.menuLinkLocator.click();
143
+ }
144
+ /**
145
+ * Note : Support only one level of menu items not being open iow if the link to click
146
+ * @param mouseOverLocator
147
+ * @param menuItemLocator
148
+ */ async hoverFlyoutAndClickMenuItem(mouseOverLocator, menuItemLocator) {
149
+ if (!await this.menuItemsParentLocator.locator(menuItemLocator).isVisible()) {
150
+ await mouseOverLocator.hover();
151
+ await this.menuLinkLocator.click();
152
+ }
153
+ await menuItemLocator.click();
154
+ }
155
+ }
156
+
157
+
158
+ class $b4bd429df4806013$export$5929c05a25eed48f extends (0, $54bcd1bcf08dd053$export$d9b273488cd8ce6f) {
159
+ constructor(page){
160
+ super(page.locator("#context-menu-popover"), page.locator(".icon-help.dot-i"), page.locator(".dropdown-menu.multi-level.dropdown-menu-0"));
161
+ this.onlineDoc = page.locator('a[title="Online documentation"]');
162
+ this.supportRequest = page.locator('a[title="Submit a support request"]');
163
+ this.website = page.locator('a[title="Digital.ai website"]');
164
+ this.usageMatrix = page.locator('a[title="Usage Metrics"]');
165
+ this.getDataForSupport = page.locator('a[title="Get data for support"]');
166
+ }
167
+ /**
168
+ * Click on online Documentation menu option
169
+ */ async clickOnlineDocumentation() {
170
+ await this.clickMenuItem(this.onlineDoc);
171
+ }
172
+ /**
173
+ * Click on menu option
174
+ */ async clickSupportRequest() {
175
+ await this.clickMenuItem(this.supportRequest);
176
+ }
177
+ /**
178
+ * Click on Digital.ai website menu option
179
+ */ async clickOfficialWebsite() {
180
+ await this.clickMenuItem(this.website);
181
+ }
182
+ /**
183
+ * Click on usage matrix menu option
184
+ */ async clickUsageMatrix() {
185
+ await this.clickMenuItem(this.usageMatrix);
186
+ }
187
+ /**
188
+ * Click on Get data for support menu option
189
+ */ async clickGetDataForSupport() {
190
+ await this.clickMenuItem(this.getDataForSupport);
191
+ }
192
+ }
193
+
194
+
195
+
196
+
197
+ class $60e85cd955b64c3b$export$ca8bffe144e51c8 extends (0, $b464119f5ec5aad0$export$6e2c8f0811a474ce) {
198
+ constructor(page){
199
+ super(page.locator(".dot-branding"));
200
+ this.logo = page.getByTestId("primary-logo");
201
+ }
202
+ async clickLogo() {
203
+ await this.logo.click();
204
+ }
205
+ }
206
+
207
+
208
+
209
+ class $e05e449fbf3516f1$export$1d7840d5cdc861d5 extends (0, $54bcd1bcf08dd053$export$d9b273488cd8ce6f) {
210
+ constructor(page){
211
+ super(page.locator("#context-menu-popover"), page.locator(".icon-settings.dot-i"), page.locator('ul[class="dropdown-menu multi-level dropdown-menu-0"]'));
212
+ this.settings = page.getByRole("link", {
213
+ name: "Settings"
214
+ });
215
+ this.renewLicense = page.getByTitle("Renew license");
216
+ this.viewAs = page.getByTitle("View as");
217
+ this.maintenanceMode = page.getByTitle("");
218
+ this.about = page.getByTitle("About");
219
+ this.systemInformation = page.getByTitle("System information");
220
+ }
221
+ /**
222
+ * Click on settings menu option
223
+ */ async clickSettings() {
224
+ await this.clickMenuItem(this.settings);
225
+ }
226
+ /**
227
+ * Click on renew license menu option
228
+ */ async clickRenewLicense() {
229
+ await this.clickMenuItem(this.renewLicense);
230
+ }
231
+ /**
232
+ * Click on view as menu option
233
+ */ async clickViewAs() {
234
+ await this.clickMenuItem(this.viewAs);
235
+ }
236
+ /**
237
+ * Click on maintenance mode menu option
238
+ */ async clickMaintenanceMode() {
239
+ await this.clickMenuItem(this.maintenanceMode);
240
+ }
241
+ /**
242
+ * Click on About menu option
243
+ */ async clickAbout() {
244
+ await this.clickMenuItem(this.about);
245
+ }
246
+ /**
247
+ * Click on System information menu option
248
+ */ async clickSystemInfo() {
249
+ await this.clickMenuItem(this.systemInformation);
250
+ }
251
+ }
252
+
253
+
254
+
255
+ class $e477fae343f80541$export$f7f58290278dd286 extends (0, $54bcd1bcf08dd053$export$d9b273488cd8ce6f) {
256
+ constructor(page){
257
+ super(page.locator("#context-menu-popover"), page.getByTitle("admin"), page.locator(".dropdown-menu.multi-level.dropdown-menu-0"));
258
+ this.userProfileLocator = page.getByRole("link", {
259
+ name: "User profile"
260
+ });
261
+ this.logoutLocator = page.getByRole("link", {
262
+ name: "Log out"
263
+ });
264
+ }
265
+ async clickUserProfile() {
266
+ await this.clickMenuItem(this.userProfileLocator);
267
+ }
268
+ async Logout() {
269
+ await this.clickMenuItem(this.logoutLocator);
270
+ }
271
+ }
272
+
273
+
274
+ class $7bc68dfa9f2318a7$export$8b251419efc915eb extends (0, $b464119f5ec5aad0$export$6e2c8f0811a474ce) {
275
+ constructor(page){
276
+ super(page.locator(".main-header-wrapper.logged-in"));
277
+ this.brandLogo = new (0, $60e85cd955b64c3b$export$ca8bffe144e51c8)(page);
278
+ this.helperMenu = new (0, $b4bd429df4806013$export$5929c05a25eed48f)(page);
279
+ this.settingsMenu = new (0, $e05e449fbf3516f1$export$1d7840d5cdc861d5)(page);
280
+ this.avatarMenu = new (0, $e477fae343f80541$export$f7f58290278dd286)(page);
281
+ }
282
+ }
283
+
284
+
285
+ class $7d546dcaafadc158$export$2b65d1d97338f32b {
286
+ constructor(page){
287
+ this.header = new (0, $7bc68dfa9f2318a7$export$8b251419efc915eb)(page);
288
+ this.content = new (0, $5dbb03b38de032e2$export$7c6e2c02157bb7d2)(page);
289
+ }
290
+ }
291
+
292
+
293
+ class $c2c31ea6199a3576$export$f14c0e3f98d164c0 extends (0, $7d546dcaafadc158$export$2b65d1d97338f32b) {
294
+ constructor(page){
295
+ super(page);
296
+ this.page = page;
297
+ this.username = page.getByPlaceholder("User");
298
+ this.password = page.getByPlaceholder("Password");
299
+ this.loginButton = page.getByRole("button", {
300
+ name: "Log in"
301
+ });
302
+ this.rememberMeCheckbox = page.locator("#rememberMeCheckbox");
303
+ }
304
+ async login(user, pwd) {
305
+ await this.page.goto("/#/login");
306
+ await this.username.fill(user);
307
+ await this.password.fill(pwd);
308
+ await this.loginButton.click();
309
+ await this.page.locator(".main-layout").waitFor();
310
+ }
311
+ }
312
+
313
+
314
+
315
+
316
+ class $b6dcf2a94c3ae3f4$export$b477143f7ffae077 extends (0, $54bcd1bcf08dd053$export$d9b273488cd8ce6f) {
317
+ constructor(page){
318
+ super(page.locator("#context-menu-popover"), page.locator('.infinite-tree-closed.context-menu-button.pull-right[data-id="Applications"]'), page.locator(".dropdown-menu.multi-level.dropdown-menu-0"));
319
+ this.mouseOverLocator = page.locator('css=[data-path=".1"]');
320
+ this.newlinkLocator = page.getByRole("link", {
321
+ name: "New"
322
+ });
323
+ }
324
+ async createNewApplicationDirectory() {
325
+ await this.hoverFlyoutAndClickMenuItem(this.mouseOverLocator, this.newlinkLocator);
326
+ }
327
+ }
328
+
329
+
330
+ class $4e7e9f7ca5788871$export$bf4a5dd3be690f6b extends (0, $7d546dcaafadc158$export$2b65d1d97338f32b) {
331
+ constructor(page){
332
+ super(page);
333
+ this.appMenu = new (0, $b6dcf2a94c3ae3f4$export$b477143f7ffae077)(page);
334
+ }
335
+ }
336
+
337
+
338
+
339
+
340
+ class $736a7a3b2d786796$export$36d69433c4f81145 extends (0, $7d546dcaafadc158$export$2b65d1d97338f32b) {
341
+ constructor(page){
342
+ super(page);
343
+ }
344
+ }
345
+
346
+
347
+ const $114b0b206b8d644f$export$e0969da9b8fb378d = (0, $lE6ZQ$test).extend({
348
+ loginPage: async ({ page: page }, use)=>{
349
+ // Set up the fixture.
350
+ const loginPage = new (0, $c2c31ea6199a3576$export$f14c0e3f98d164c0)(page);
351
+ await use(loginPage);
352
+ return loginPage;
353
+ },
354
+ homePage: async ({ page: page }, use)=>{
355
+ const homePage = new (0, $736a7a3b2d786796$export$36d69433c4f81145)(page);
356
+ await use(homePage);
357
+ return homePage;
358
+ },
359
+ applicationPage: async ({ page: page }, use)=>{
360
+ const applicationPage = new (0, $4e7e9f7ca5788871$export$bf4a5dd3be690f6b)(page);
361
+ await use(applicationPage);
362
+ return applicationPage;
363
+ }
364
+ });
365
+
366
+
367
+
368
+
369
+ export {$114b0b206b8d644f$export$e0969da9b8fb378d as test};
370
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["apps/deploy/index.ts","apps/deploy/fixtures/index.ts","apps/deploy/pages/modules/authentication/login.page.ts","apps/deploy/pages/withPage.ts","apps/deploy/pages/layout/2.content/content.ts","apps/deploy/pages/layout/section.ts","apps/deploy/pages/layout/2.content/leftPanel/leftPanel.ts","apps/deploy/pages/common/sideNav.ts","apps/deploy/pages/layout/2.content/banner/banner.ts","apps/deploy/pages/layout/1.header/header.ts","apps/deploy/pages/layout/1.header/b.rightSideIcons/helpMenu.ts","apps/deploy/pages/common/menu.ts","apps/deploy/pages/layout/1.header/a.brandLogo/brandLogo.ts","apps/deploy/pages/layout/1.header/b.rightSideIcons/settingsMenu.ts","apps/deploy/pages/layout/1.header/b.rightSideIcons/avatar.ts","apps/deploy/pages/modules/component/explorer/applications/applications.page.ts","apps/deploy/pages/modules/component/explorer/applications/application.menu.ts","apps/deploy/pages/modules/component/homePage/home.page.ts"],"sourcesContent":["export { test } from './fixtures';\n","\nimport { LoginPage } from '../pages/modules/authentication/login.page';\nimport { ApplicationPage } from '../pages/modules/component/explorer/applications/applications.page';\nimport { test as base } from '@playwright/test';\nimport { HomePage } from '../pages/modules/component/homePage/home.page';\n\ntype deployFixtures = {\n applicationPage: ApplicationPage;\n homePage : HomePage;\n loginPage : LoginPage;\n};\n\nexport const test = base.extend<deployFixtures>({\n loginPage : async ({ page }, use) => {\n // Set up the fixture.\n const loginPage = new LoginPage(page);\n await use(loginPage)\n return loginPage;\n },\n homePage : async ({ page }, use) => {\n const homePage = new HomePage(page);\n await use(homePage);\n return homePage;\n },\n applicationPage : async ({page }, use) => {\n const applicationPage = new ApplicationPage(page);\n await use(applicationPage);\n return applicationPage;\n },\n});\n","import { Locator, Page } from \"@playwright/test\";\nimport { WithPage } from \"../../withPage\";\n\nexport class LoginPage extends WithPage{\n page: Page\n username: Locator\n password: Locator\n loginButton: Locator\n rememberMeCheckbox : Locator\n\n constructor(page: Page){\n super(page)\n this.page = page;\n this.username = page.getByPlaceholder('User')\n this.password = page.getByPlaceholder('Password')\n this.loginButton = page.getByRole('button', { name: 'Log in' })\n this.rememberMeCheckbox = page.locator('#rememberMeCheckbox')\n }\n\n async login(user: string, pwd: string) : Promise<void> {\n await this.page.goto('/#/login');\n await this.username.fill(user);\n await this.password.fill(pwd);\n await this.loginButton.click();\n await this.page.locator('.main-layout').waitFor();\n }\n}","import { Page } from '@playwright/test';\nimport { Content } from './layout/2.content/content';\nimport { Header } from './layout/1.header/header';\n\nexport class WithPage {\n header : Header \n content : Content\n constructor(page: Page) {\n this.header = new Header(page)\n this.content = new Content(page)\n }\n}\n","import { Page } from '@playwright/test';\nimport { Section } from '../section';\nimport { LeftPanel } from './leftPanel/leftPanel';\nimport { Banner } from './banner/banner';\n\nexport class Content extends Section{\n banner : Banner\n leftPanel : LeftPanel\n constructor(page:Page){\n super(page.locator('.Pane.vertical.Pane1')); \n this.banner = new Banner(page)\n this.leftPanel = new LeftPanel(page)\n }\n \n}","import { Locator } from \"@playwright/test\";\n\nexport class Section {\n sectionRoot: Locator;\n constructor(sectionRootLocator: Locator) {\n this.sectionRoot = sectionRootLocator;\n }\n\n /**\n * Get child element in the section \"this.sectionRoot\" refers to\n * @param childElementLocator\n */\n findElementInSection(childElementLocator: Locator): Locator {\n return this.sectionRoot.locator(childElementLocator);\n }\n\n}\n","import { Page, Locator} from \"@playwright/test\";\nimport { SideNavigation } from \"../../../common/sideNav\";\n\nexport class LeftPanel extends SideNavigation {\n backButtonLocator : Locator\n linkExploreLocator : Locator\n linkCompareLocator : Locator\n linkReportsLocator : Locator\n linkRulesAndMacrosLocator : Locator\n linkGitOps : Locator\n linkLocalSource : Locator \n linkPlugins : Locator\n linkUserManagement : Locator\n collapseButtonLocator : Locator\n expandButtonLocator : Locator\n constructor(page: Page) {\n super(page)\n this.backButtonLocator = page.getByTestId('back-button')\n this.linkExploreLocator = page.locator(\"p:has-text('Explorer')\")\n this.linkCompareLocator = page.locator(\"p:has-text('Compare')\")\n this.linkReportsLocator = page.locator(\"p:has-text('Reports')\")\n this.linkRulesAndMacrosLocator = page.locator(\"p:has-text('Rules and Macros')\")\n this.linkGitOps = page.locator(\"p:has-text('GitOps')\")\n this.linkLocalSource = page.locator(\"p:has-text('Local sources')\")\n this.linkPlugins = page.locator(\"p:has-text('Plugins')\")\n this.linkUserManagement = page.locator(\"p:has-text('User management')\")\n this.collapseButtonLocator = page.locator(\"span[title='Collapse']\")\n this.expandButtonLocator = page.locator(\"span[title='Expand']\")\n }\n\n /**\n * Click on go back button on side naviation links\n */\n async goBack() : Promise<void> {\n await this.backButtonLocator.waitFor()\n await this.backButtonLocator.click()\n }\n\n /**\n * Click on Explorer from left panel\n */\n async clickExplorer() : Promise<void> {\n await this.clickSideLink(this.linkExploreLocator)\n }\n\n /**\n * Click on Compare from left panel\n */\n async clickCompare() : Promise<void> {\n await this.clickSideLink(this.linkCompareLocator)\n }\n\n /**\n * Click on Reports from left panel\n */\n async clickReports() : Promise<void> {\n await this.clickSideLink(this.linkReportsLocator)\n }\n\n /**\n * Click on Rules and Macros from left panel\n */\n async clickRulesAndMacros() : Promise<void> {\n await this.clickSideLink(this.linkRulesAndMacrosLocator)\n }\n\n /**\n * Click on Gitops from left panel\n */\n async clickGitOps() : Promise<void> {\n await this.clickSideLink(this.linkGitOps)\n }\n\n /**\n * Click on Local sources from left panel\n */\n async clickLocalSources() : Promise<void> {\n await this.clickSideLink(this.linkLocalSource)\n }\n\n /**\n * Click on Plugins from left panel\n */\n async clickPlugins() : Promise<void> {\n await this.clickSideLink(this.linkPlugins)\n }\n\n /**\n * Click on User Managements from left panel\n */\n async clickUserManagement() : Promise<void> {\n await this.clickSideLink(this.linkUserManagement)\n }\n\n /**\n * Click on Collapse button from left panel\n */\n async clickCollapse() : Promise<void> {\n await this.clickSideLink(this.collapseButtonLocator)\n }\n\n /**\n * Click on Expand from left panel\n */\n async clickExpand() : Promise<void> {\n await this.clickSideLink(this.expandButtonLocator)\n }\n\n}","import { Locator, Page } from \"@playwright/test\";\nimport { Section } from \"../layout/section\";\n\nexport class SideNavigation extends Section {\n constructor (page:Page) {\n super(page.getByTestId('primaryNav'))\n }\n\n /**\n * Click on side navigation links\n */\n async clickSideLink(sideLinkLocator: Locator) : Promise<void> {\n await this.sectionRoot.locator(sideLinkLocator).click()\n }\n\n}","import { Page } from \"@playwright/test\";\nimport { Section } from \"../../section\";\n\nexport class Banner extends Section {\n constructor(page:Page ){\n super(page.locator('.banner-container'))\n }\n}","import { Page } from '@playwright/test';\nimport { HelperMenu } from './b.rightSideIcons/helpMenu';\nimport { Section } from '../section';\nimport { BrandLogo } from './a.brandLogo/brandLogo';\nimport { SettingsMenu } from './b.rightSideIcons/settingsMenu';\nimport { AvatarMenu } from './b.rightSideIcons/avatar';\n\nexport class Header extends Section{\n brandLogo: BrandLogo\n helperMenu : HelperMenu\n settingsMenu : SettingsMenu\n avatarMenu : AvatarMenu\n constructor(page:Page){\n super(page.locator('.main-header-wrapper.logged-in') );\n this.brandLogo = new BrandLogo(page)\n this.helperMenu = new HelperMenu(page)\n this.settingsMenu = new SettingsMenu(page)\n this.avatarMenu = new AvatarMenu(page)\n }\n\n}\n","import { Page, Locator } from \"@playwright/test\";\nimport { Menu } from \"../../../common/menu\";\n\nexport class HelperMenu extends Menu {\n onlineDoc : Locator\n supportRequest : Locator\n website : Locator\n usageMatrix : Locator\n getDataForSupport : Locator\n constructor(page: Page){\n super(page.locator('#context-menu-popover'), page.locator('.icon-help.dot-i') , page.locator('.dropdown-menu.multi-level.dropdown-menu-0'))\n this.onlineDoc = page.locator('a[title=\"Online documentation\"]')\n this.supportRequest = page.locator('a[title=\"Submit a support request\"]')\n this.website = page.locator('a[title=\"Digital.ai website\"]')\n this.usageMatrix = page.locator('a[title=\"Usage Metrics\"]')\n this.getDataForSupport = page.locator('a[title=\"Get data for support\"]') \n }\n \n /**\n * Click on online Documentation menu option\n */\n async clickOnlineDocumentation(): Promise<void>{\n await this.clickMenuItem(this.onlineDoc)\n }\n\n /**\n * Click on menu option\n */\n async clickSupportRequest(): Promise<void>{\n await this.clickMenuItem(this.supportRequest)\n }\n /**\n * Click on Digital.ai website menu option\n */\n async clickOfficialWebsite(): Promise<void> {\n await this.clickMenuItem(this.website)\n }\n /**\n * Click on usage matrix menu option\n */\n async clickUsageMatrix(): Promise<void> {\n await this.clickMenuItem(this.usageMatrix)\n }\n /**\n * Click on Get data for support menu option\n */\n async clickGetDataForSupport(): Promise<void> {\n await this.clickMenuItem(this.getDataForSupport)\n }\n}","import { Locator } from '@playwright/test';\nimport { Section } from '../layout/section';\n\nexport class Menu extends Section {\n private menuLinkLocator : Locator\n private menuItemsParentLocator : Locator\n\n /**\n *\n * @param menuContentRootLocator menu content root locator\n * @param menuLinkLocator Menu link locator thats used to open/close the menu\n * @param menuItemsParentLocator Menu items that opens up when menu link is clicked\n */\n\n constructor(menuContentRootLocator: Locator, menuLinkLocator: Locator, menuItemsParentLocator: Locator) {\n super(menuContentRootLocator)\n this.menuLinkLocator = menuLinkLocator\n this.menuItemsParentLocator = menuContentRootLocator.locator(menuItemsParentLocator)\n }\n\n /**\n * Click on a menu item\n * @param menuItemLocator\n */\n async clickMenuItem(menuItemLocator: Locator): Promise <void> {\n if (!await this.menuItemsParentLocator.locator(menuItemLocator).isVisible()) {\n await this.menuLinkLocator.click();\n }\n return await this.menuItemsParentLocator.locator(menuItemLocator).click();\n }\n\n /**\n * Close a menu item\n */\n async close(): Promise<void> {\n await this.menuLinkLocator.click()\n }\n\n /**\n * Note : Support only one level of menu items not being open iow if the link to click\n * @param mouseOverLocator\n * @param menuItemLocator\n */\n async hoverFlyoutAndClickMenuItem(mouseOverLocator: Locator, menuItemLocator: Locator): Promise <void> {\n if(!await this.menuItemsParentLocator.locator(menuItemLocator).isVisible()) {\n await mouseOverLocator.hover();\n await this.menuLinkLocator.click()\n }\n await menuItemLocator.click()\n }\n\n}\n","import { Locator, Page } from \"@playwright/test\";\nimport { Section} from \"../../section\";\n\nexport class BrandLogo extends Section {\n private logo: Locator\n constructor(page: Page) {\n super(page.locator('.dot-branding'))\n this.logo = page.getByTestId('primary-logo')\n }\n\n async clickLogo(): Promise<void> {\n await this.logo.click()\n }\n}\n","import { Page, Locator } from \"@playwright/test\";\nimport { Menu } from \"../../../common/menu\";\n\nexport class SettingsMenu extends Menu{\n private settings : Locator\n private renewLicense : Locator\n private viewAs : Locator\n private maintenanceMode : Locator\n private about : Locator\n private systemInformation : Locator\n constructor(page: Page){\n super(page.locator('#context-menu-popover'), page.locator('.icon-settings.dot-i') , page.locator('ul[class=\"dropdown-menu multi-level dropdown-menu-0\"]'))\n this.settings = page.getByRole('link', { name: 'Settings' });\n this.renewLicense = page.getByTitle('Renew license')\n this.viewAs = page.getByTitle('View as')\n this.maintenanceMode = page.getByTitle('')\n this.about = page.getByTitle('About')\n this.systemInformation = page.getByTitle('System information')\n }\n\n /**\n * Click on settings menu option\n */\n async clickSettings(): Promise<void> {\n await this.clickMenuItem(this.settings)\n }\n\n /**\n * Click on renew license menu option\n */\n async clickRenewLicense(): Promise<void> {\n await this.clickMenuItem(this.renewLicense)\n }\n\n /**\n * Click on view as menu option\n */\n async clickViewAs(): Promise<void> {\n await this.clickMenuItem(this.viewAs)\n }\n\n /**\n * Click on maintenance mode menu option\n */\n async clickMaintenanceMode(): Promise<void> {\n await this.clickMenuItem(this.maintenanceMode)\n }\n\n /**\n * Click on About menu option\n */\n async clickAbout(): Promise<void> {\n await this.clickMenuItem(this.about)\n }\n\n /**\n * Click on System information menu option\n */\n async clickSystemInfo(): Promise<void> {\n await this.clickMenuItem(this.systemInformation)\n }\n}","import { Locator, Page } from \"@playwright/test\";\nimport { Menu } from \"../../../common/menu\";\n\nexport class AvatarMenu extends Menu {\n userProfileLocator : Locator\n logoutLocator : Locator\n constructor(page: Page) {\n super(page.locator('#context-menu-popover'), page.getByTitle('admin'), page.locator('.dropdown-menu.multi-level.dropdown-menu-0'))\n this.userProfileLocator = page.getByRole('link', {name: 'User profile'});\n this.logoutLocator = page.getByRole('link', {name: 'Log out'})\n }\n\n async clickUserProfile () : Promise <void> {\n await this.clickMenuItem(this.userProfileLocator);\n };\n\n async Logout() : Promise <void> {\n await this.clickMenuItem(this.logoutLocator);\n };\n}","import { Page } from \"@playwright/test\";\nimport { WithPage } from \"../../../../withPage\";\nimport { ApplicationMenu } from \"./application.menu\";\n\nexport class ApplicationPage extends WithPage {\n appMenu : ApplicationMenu\n constructor(page:Page){\n super(page)\n this.appMenu = new ApplicationMenu(page)\n\n }\n}","import { Locator, Page } from \"@playwright/test\";\nimport { Menu } from \"../../../../common/menu\";\n\nexport class ApplicationMenu extends Menu {\n private mouseOverLocator: Locator\n private newlinkLocator : Locator\n constructor(page: Page) {\n super(page.locator('#context-menu-popover'), page.locator('.infinite-tree-closed.context-menu-button.pull-right[data-id=\"Applications\"]'), page.locator('.dropdown-menu.multi-level.dropdown-menu-0'))\n this.mouseOverLocator = page.locator('css=[data-path=\".1\"]')\n this.newlinkLocator = page.getByRole('link', { name: 'New' })\n }\n\n async createNewApplicationDirectory() : Promise <void> {\n await this.hoverFlyoutAndClickMenuItem(this.mouseOverLocator,this.newlinkLocator)\n\n }\n}","import { Page } from \"@playwright/test\";\nimport { WithPage } from \"../../../withPage\";\n\nexport class HomePage extends WithPage {\n constructor(page:Page){\n super(page)\n \n\n }\n}"],"names":[],"version":3,"file":"module.js.map"}
@@ -0,0 +1,213 @@
1
+ import { Locator, Page } from "@playwright/test";
2
+ declare class Section {
3
+ sectionRoot: Locator;
4
+ constructor(sectionRootLocator: Locator);
5
+ /**
6
+ * Get child element in the section "this.sectionRoot" refers to
7
+ * @param childElementLocator
8
+ */
9
+ findElementInSection(childElementLocator: Locator): Locator;
10
+ }
11
+ declare class SideNavigation extends Section {
12
+ constructor(page: Page);
13
+ /**
14
+ * Click on side navigation links
15
+ */
16
+ clickSideLink(sideLinkLocator: Locator): Promise<void>;
17
+ }
18
+ declare class LeftPanel extends SideNavigation {
19
+ backButtonLocator: Locator;
20
+ linkExploreLocator: Locator;
21
+ linkCompareLocator: Locator;
22
+ linkReportsLocator: Locator;
23
+ linkRulesAndMacrosLocator: Locator;
24
+ linkGitOps: Locator;
25
+ linkLocalSource: Locator;
26
+ linkPlugins: Locator;
27
+ linkUserManagement: Locator;
28
+ collapseButtonLocator: Locator;
29
+ expandButtonLocator: Locator;
30
+ constructor(page: Page);
31
+ /**
32
+ * Click on go back button on side naviation links
33
+ */
34
+ goBack(): Promise<void>;
35
+ /**
36
+ * Click on Explorer from left panel
37
+ */
38
+ clickExplorer(): Promise<void>;
39
+ /**
40
+ * Click on Compare from left panel
41
+ */
42
+ clickCompare(): Promise<void>;
43
+ /**
44
+ * Click on Reports from left panel
45
+ */
46
+ clickReports(): Promise<void>;
47
+ /**
48
+ * Click on Rules and Macros from left panel
49
+ */
50
+ clickRulesAndMacros(): Promise<void>;
51
+ /**
52
+ * Click on Gitops from left panel
53
+ */
54
+ clickGitOps(): Promise<void>;
55
+ /**
56
+ * Click on Local sources from left panel
57
+ */
58
+ clickLocalSources(): Promise<void>;
59
+ /**
60
+ * Click on Plugins from left panel
61
+ */
62
+ clickPlugins(): Promise<void>;
63
+ /**
64
+ * Click on User Managements from left panel
65
+ */
66
+ clickUserManagement(): Promise<void>;
67
+ /**
68
+ * Click on Collapse button from left panel
69
+ */
70
+ clickCollapse(): Promise<void>;
71
+ /**
72
+ * Click on Expand from left panel
73
+ */
74
+ clickExpand(): Promise<void>;
75
+ }
76
+ declare class Banner extends Section {
77
+ constructor(page: Page);
78
+ }
79
+ declare class Content extends Section {
80
+ banner: Banner;
81
+ leftPanel: LeftPanel;
82
+ constructor(page: Page);
83
+ }
84
+ declare class Menu extends Section {
85
+ /**
86
+ *
87
+ * @param menuContentRootLocator menu content root locator
88
+ * @param menuLinkLocator Menu link locator thats used to open/close the menu
89
+ * @param menuItemsParentLocator Menu items that opens up when menu link is clicked
90
+ */
91
+ constructor(menuContentRootLocator: Locator, menuLinkLocator: Locator, menuItemsParentLocator: Locator);
92
+ /**
93
+ * Click on a menu item
94
+ * @param menuItemLocator
95
+ */
96
+ clickMenuItem(menuItemLocator: Locator): Promise<void>;
97
+ /**
98
+ * Close a menu item
99
+ */
100
+ close(): Promise<void>;
101
+ /**
102
+ * Note : Support only one level of menu items not being open iow if the link to click
103
+ * @param mouseOverLocator
104
+ * @param menuItemLocator
105
+ */
106
+ hoverFlyoutAndClickMenuItem(mouseOverLocator: Locator, menuItemLocator: Locator): Promise<void>;
107
+ }
108
+ declare class HelperMenu extends Menu {
109
+ onlineDoc: Locator;
110
+ supportRequest: Locator;
111
+ website: Locator;
112
+ usageMatrix: Locator;
113
+ getDataForSupport: Locator;
114
+ constructor(page: Page);
115
+ /**
116
+ * Click on online Documentation menu option
117
+ */
118
+ clickOnlineDocumentation(): Promise<void>;
119
+ /**
120
+ * Click on menu option
121
+ */
122
+ clickSupportRequest(): Promise<void>;
123
+ /**
124
+ * Click on Digital.ai website menu option
125
+ */
126
+ clickOfficialWebsite(): Promise<void>;
127
+ /**
128
+ * Click on usage matrix menu option
129
+ */
130
+ clickUsageMatrix(): Promise<void>;
131
+ /**
132
+ * Click on Get data for support menu option
133
+ */
134
+ clickGetDataForSupport(): Promise<void>;
135
+ }
136
+ declare class BrandLogo extends Section {
137
+ constructor(page: Page);
138
+ clickLogo(): Promise<void>;
139
+ }
140
+ declare class SettingsMenu extends Menu {
141
+ constructor(page: Page);
142
+ /**
143
+ * Click on settings menu option
144
+ */
145
+ clickSettings(): Promise<void>;
146
+ /**
147
+ * Click on renew license menu option
148
+ */
149
+ clickRenewLicense(): Promise<void>;
150
+ /**
151
+ * Click on view as menu option
152
+ */
153
+ clickViewAs(): Promise<void>;
154
+ /**
155
+ * Click on maintenance mode menu option
156
+ */
157
+ clickMaintenanceMode(): Promise<void>;
158
+ /**
159
+ * Click on About menu option
160
+ */
161
+ clickAbout(): Promise<void>;
162
+ /**
163
+ * Click on System information menu option
164
+ */
165
+ clickSystemInfo(): Promise<void>;
166
+ }
167
+ declare class AvatarMenu extends Menu {
168
+ userProfileLocator: Locator;
169
+ logoutLocator: Locator;
170
+ constructor(page: Page);
171
+ clickUserProfile(): Promise<void>;
172
+ Logout(): Promise<void>;
173
+ }
174
+ declare class Header extends Section {
175
+ brandLogo: BrandLogo;
176
+ helperMenu: HelperMenu;
177
+ settingsMenu: SettingsMenu;
178
+ avatarMenu: AvatarMenu;
179
+ constructor(page: Page);
180
+ }
181
+ declare class WithPage {
182
+ header: Header;
183
+ content: Content;
184
+ constructor(page: Page);
185
+ }
186
+ declare class LoginPage extends WithPage {
187
+ page: Page;
188
+ username: Locator;
189
+ password: Locator;
190
+ loginButton: Locator;
191
+ rememberMeCheckbox: Locator;
192
+ constructor(page: Page);
193
+ login(user: string, pwd: string): Promise<void>;
194
+ }
195
+ declare class ApplicationMenu extends Menu {
196
+ constructor(page: Page);
197
+ createNewApplicationDirectory(): Promise<void>;
198
+ }
199
+ declare class ApplicationPage extends WithPage {
200
+ appMenu: ApplicationMenu;
201
+ constructor(page: Page);
202
+ }
203
+ declare class HomePage extends WithPage {
204
+ constructor(page: Page);
205
+ }
206
+ type deployFixtures = {
207
+ applicationPage: ApplicationPage;
208
+ homePage: HomePage;
209
+ loginPage: LoginPage;
210
+ };
211
+ export const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & deployFixtures, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
212
+
213
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["apps/deploy/pages/layout/section.ts","apps/deploy/pages/common/sideNav.ts","apps/deploy/pages/layout/2.content/leftPanel/leftPanel.ts","apps/deploy/pages/layout/2.content/banner/banner.ts","apps/deploy/pages/layout/2.content/content.ts","apps/deploy/pages/common/menu.ts","apps/deploy/pages/layout/1.header/b.rightSideIcons/helpMenu.ts","apps/deploy/pages/layout/1.header/a.brandLogo/brandLogo.ts","apps/deploy/pages/layout/1.header/b.rightSideIcons/settingsMenu.ts","apps/deploy/pages/layout/1.header/b.rightSideIcons/avatar.ts","apps/deploy/pages/layout/1.header/header.ts","apps/deploy/pages/withPage.ts","apps/deploy/pages/modules/authentication/login.page.ts","apps/deploy/pages/modules/component/explorer/applications/application.menu.ts","apps/deploy/pages/modules/component/explorer/applications/applications.page.ts","apps/deploy/pages/modules/component/homePage/home.page.ts","apps/deploy/fixtures/index.ts","apps/deploy/index.ts"],"sourcesContent":["import { Locator } from \"@playwright/test\";\n\nexport class Section {\n sectionRoot: Locator;\n constructor(sectionRootLocator: Locator) {\n this.sectionRoot = sectionRootLocator;\n }\n\n /**\n * Get child element in the section \"this.sectionRoot\" refers to\n * @param childElementLocator\n */\n findElementInSection(childElementLocator: Locator): Locator {\n return this.sectionRoot.locator(childElementLocator);\n }\n\n}\n","import { Locator, Page } from \"@playwright/test\";\nimport { Section } from \"../layout/section\";\n\nexport class SideNavigation extends Section {\n constructor (page:Page) {\n super(page.getByTestId('primaryNav'))\n }\n\n /**\n * Click on side navigation links\n */\n async clickSideLink(sideLinkLocator: Locator) : Promise<void> {\n await this.sectionRoot.locator(sideLinkLocator).click()\n }\n\n}","import { Page, Locator} from \"@playwright/test\";\nimport { SideNavigation } from \"../../../common/sideNav\";\n\nexport class LeftPanel extends SideNavigation {\n backButtonLocator : Locator\n linkExploreLocator : Locator\n linkCompareLocator : Locator\n linkReportsLocator : Locator\n linkRulesAndMacrosLocator : Locator\n linkGitOps : Locator\n linkLocalSource : Locator \n linkPlugins : Locator\n linkUserManagement : Locator\n collapseButtonLocator : Locator\n expandButtonLocator : Locator\n constructor(page: Page) {\n super(page)\n this.backButtonLocator = page.getByTestId('back-button')\n this.linkExploreLocator = page.locator(\"p:has-text('Explorer')\")\n this.linkCompareLocator = page.locator(\"p:has-text('Compare')\")\n this.linkReportsLocator = page.locator(\"p:has-text('Reports')\")\n this.linkRulesAndMacrosLocator = page.locator(\"p:has-text('Rules and Macros')\")\n this.linkGitOps = page.locator(\"p:has-text('GitOps')\")\n this.linkLocalSource = page.locator(\"p:has-text('Local sources')\")\n this.linkPlugins = page.locator(\"p:has-text('Plugins')\")\n this.linkUserManagement = page.locator(\"p:has-text('User management')\")\n this.collapseButtonLocator = page.locator(\"span[title='Collapse']\")\n this.expandButtonLocator = page.locator(\"span[title='Expand']\")\n }\n\n /**\n * Click on go back button on side naviation links\n */\n async goBack() : Promise<void> {\n await this.backButtonLocator.waitFor()\n await this.backButtonLocator.click()\n }\n\n /**\n * Click on Explorer from left panel\n */\n async clickExplorer() : Promise<void> {\n await this.clickSideLink(this.linkExploreLocator)\n }\n\n /**\n * Click on Compare from left panel\n */\n async clickCompare() : Promise<void> {\n await this.clickSideLink(this.linkCompareLocator)\n }\n\n /**\n * Click on Reports from left panel\n */\n async clickReports() : Promise<void> {\n await this.clickSideLink(this.linkReportsLocator)\n }\n\n /**\n * Click on Rules and Macros from left panel\n */\n async clickRulesAndMacros() : Promise<void> {\n await this.clickSideLink(this.linkRulesAndMacrosLocator)\n }\n\n /**\n * Click on Gitops from left panel\n */\n async clickGitOps() : Promise<void> {\n await this.clickSideLink(this.linkGitOps)\n }\n\n /**\n * Click on Local sources from left panel\n */\n async clickLocalSources() : Promise<void> {\n await this.clickSideLink(this.linkLocalSource)\n }\n\n /**\n * Click on Plugins from left panel\n */\n async clickPlugins() : Promise<void> {\n await this.clickSideLink(this.linkPlugins)\n }\n\n /**\n * Click on User Managements from left panel\n */\n async clickUserManagement() : Promise<void> {\n await this.clickSideLink(this.linkUserManagement)\n }\n\n /**\n * Click on Collapse button from left panel\n */\n async clickCollapse() : Promise<void> {\n await this.clickSideLink(this.collapseButtonLocator)\n }\n\n /**\n * Click on Expand from left panel\n */\n async clickExpand() : Promise<void> {\n await this.clickSideLink(this.expandButtonLocator)\n }\n\n}","import { Page } from \"@playwright/test\";\nimport { Section } from \"../../section\";\n\nexport class Banner extends Section {\n constructor(page:Page ){\n super(page.locator('.banner-container'))\n }\n}","import { Page } from '@playwright/test';\nimport { Section } from '../section';\nimport { LeftPanel } from './leftPanel/leftPanel';\nimport { Banner } from './banner/banner';\n\nexport class Content extends Section{\n banner : Banner\n leftPanel : LeftPanel\n constructor(page:Page){\n super(page.locator('.Pane.vertical.Pane1')); \n this.banner = new Banner(page)\n this.leftPanel = new LeftPanel(page)\n }\n \n}","import { Locator } from '@playwright/test';\nimport { Section } from '../layout/section';\n\nexport class Menu extends Section {\n private menuLinkLocator : Locator\n private menuItemsParentLocator : Locator\n\n /**\n *\n * @param menuContentRootLocator menu content root locator\n * @param menuLinkLocator Menu link locator thats used to open/close the menu\n * @param menuItemsParentLocator Menu items that opens up when menu link is clicked\n */\n\n constructor(menuContentRootLocator: Locator, menuLinkLocator: Locator, menuItemsParentLocator: Locator) {\n super(menuContentRootLocator)\n this.menuLinkLocator = menuLinkLocator\n this.menuItemsParentLocator = menuContentRootLocator.locator(menuItemsParentLocator)\n }\n\n /**\n * Click on a menu item\n * @param menuItemLocator\n */\n async clickMenuItem(menuItemLocator: Locator): Promise <void> {\n if (!await this.menuItemsParentLocator.locator(menuItemLocator).isVisible()) {\n await this.menuLinkLocator.click();\n }\n return await this.menuItemsParentLocator.locator(menuItemLocator).click();\n }\n\n /**\n * Close a menu item\n */\n async close(): Promise<void> {\n await this.menuLinkLocator.click()\n }\n\n /**\n * Note : Support only one level of menu items not being open iow if the link to click\n * @param mouseOverLocator\n * @param menuItemLocator\n */\n async hoverFlyoutAndClickMenuItem(mouseOverLocator: Locator, menuItemLocator: Locator): Promise <void> {\n if(!await this.menuItemsParentLocator.locator(menuItemLocator).isVisible()) {\n await mouseOverLocator.hover();\n await this.menuLinkLocator.click()\n }\n await menuItemLocator.click()\n }\n\n}\n","import { Page, Locator } from \"@playwright/test\";\nimport { Menu } from \"../../../common/menu\";\n\nexport class HelperMenu extends Menu {\n onlineDoc : Locator\n supportRequest : Locator\n website : Locator\n usageMatrix : Locator\n getDataForSupport : Locator\n constructor(page: Page){\n super(page.locator('#context-menu-popover'), page.locator('.icon-help.dot-i') , page.locator('.dropdown-menu.multi-level.dropdown-menu-0'))\n this.onlineDoc = page.locator('a[title=\"Online documentation\"]')\n this.supportRequest = page.locator('a[title=\"Submit a support request\"]')\n this.website = page.locator('a[title=\"Digital.ai website\"]')\n this.usageMatrix = page.locator('a[title=\"Usage Metrics\"]')\n this.getDataForSupport = page.locator('a[title=\"Get data for support\"]') \n }\n \n /**\n * Click on online Documentation menu option\n */\n async clickOnlineDocumentation(): Promise<void>{\n await this.clickMenuItem(this.onlineDoc)\n }\n\n /**\n * Click on menu option\n */\n async clickSupportRequest(): Promise<void>{\n await this.clickMenuItem(this.supportRequest)\n }\n /**\n * Click on Digital.ai website menu option\n */\n async clickOfficialWebsite(): Promise<void> {\n await this.clickMenuItem(this.website)\n }\n /**\n * Click on usage matrix menu option\n */\n async clickUsageMatrix(): Promise<void> {\n await this.clickMenuItem(this.usageMatrix)\n }\n /**\n * Click on Get data for support menu option\n */\n async clickGetDataForSupport(): Promise<void> {\n await this.clickMenuItem(this.getDataForSupport)\n }\n}","import { Locator, Page } from \"@playwright/test\";\nimport { Section} from \"../../section\";\n\nexport class BrandLogo extends Section {\n private logo: Locator\n constructor(page: Page) {\n super(page.locator('.dot-branding'))\n this.logo = page.getByTestId('primary-logo')\n }\n\n async clickLogo(): Promise<void> {\n await this.logo.click()\n }\n}\n","import { Page, Locator } from \"@playwright/test\";\nimport { Menu } from \"../../../common/menu\";\n\nexport class SettingsMenu extends Menu{\n private settings : Locator\n private renewLicense : Locator\n private viewAs : Locator\n private maintenanceMode : Locator\n private about : Locator\n private systemInformation : Locator\n constructor(page: Page){\n super(page.locator('#context-menu-popover'), page.locator('.icon-settings.dot-i') , page.locator('ul[class=\"dropdown-menu multi-level dropdown-menu-0\"]'))\n this.settings = page.getByRole('link', { name: 'Settings' });\n this.renewLicense = page.getByTitle('Renew license')\n this.viewAs = page.getByTitle('View as')\n this.maintenanceMode = page.getByTitle('')\n this.about = page.getByTitle('About')\n this.systemInformation = page.getByTitle('System information')\n }\n\n /**\n * Click on settings menu option\n */\n async clickSettings(): Promise<void> {\n await this.clickMenuItem(this.settings)\n }\n\n /**\n * Click on renew license menu option\n */\n async clickRenewLicense(): Promise<void> {\n await this.clickMenuItem(this.renewLicense)\n }\n\n /**\n * Click on view as menu option\n */\n async clickViewAs(): Promise<void> {\n await this.clickMenuItem(this.viewAs)\n }\n\n /**\n * Click on maintenance mode menu option\n */\n async clickMaintenanceMode(): Promise<void> {\n await this.clickMenuItem(this.maintenanceMode)\n }\n\n /**\n * Click on About menu option\n */\n async clickAbout(): Promise<void> {\n await this.clickMenuItem(this.about)\n }\n\n /**\n * Click on System information menu option\n */\n async clickSystemInfo(): Promise<void> {\n await this.clickMenuItem(this.systemInformation)\n }\n}","import { Locator, Page } from \"@playwright/test\";\nimport { Menu } from \"../../../common/menu\";\n\nexport class AvatarMenu extends Menu {\n userProfileLocator : Locator\n logoutLocator : Locator\n constructor(page: Page) {\n super(page.locator('#context-menu-popover'), page.getByTitle('admin'), page.locator('.dropdown-menu.multi-level.dropdown-menu-0'))\n this.userProfileLocator = page.getByRole('link', {name: 'User profile'});\n this.logoutLocator = page.getByRole('link', {name: 'Log out'})\n }\n\n async clickUserProfile () : Promise <void> {\n await this.clickMenuItem(this.userProfileLocator);\n };\n\n async Logout() : Promise <void> {\n await this.clickMenuItem(this.logoutLocator);\n };\n}","import { Page } from '@playwright/test';\nimport { HelperMenu } from './b.rightSideIcons/helpMenu';\nimport { Section } from '../section';\nimport { BrandLogo } from './a.brandLogo/brandLogo';\nimport { SettingsMenu } from './b.rightSideIcons/settingsMenu';\nimport { AvatarMenu } from './b.rightSideIcons/avatar';\n\nexport class Header extends Section{\n brandLogo: BrandLogo\n helperMenu : HelperMenu\n settingsMenu : SettingsMenu\n avatarMenu : AvatarMenu\n constructor(page:Page){\n super(page.locator('.main-header-wrapper.logged-in') );\n this.brandLogo = new BrandLogo(page)\n this.helperMenu = new HelperMenu(page)\n this.settingsMenu = new SettingsMenu(page)\n this.avatarMenu = new AvatarMenu(page)\n }\n\n}\n","import { Page } from '@playwright/test';\nimport { Content } from './layout/2.content/content';\nimport { Header } from './layout/1.header/header';\n\nexport class WithPage {\n header : Header \n content : Content\n constructor(page: Page) {\n this.header = new Header(page)\n this.content = new Content(page)\n }\n}\n","import { Locator, Page } from \"@playwright/test\";\nimport { WithPage } from \"../../withPage\";\n\nexport class LoginPage extends WithPage{\n page: Page\n username: Locator\n password: Locator\n loginButton: Locator\n rememberMeCheckbox : Locator\n\n constructor(page: Page){\n super(page)\n this.page = page;\n this.username = page.getByPlaceholder('User')\n this.password = page.getByPlaceholder('Password')\n this.loginButton = page.getByRole('button', { name: 'Log in' })\n this.rememberMeCheckbox = page.locator('#rememberMeCheckbox')\n }\n\n async login(user: string, pwd: string) : Promise<void> {\n await this.page.goto('/#/login');\n await this.username.fill(user);\n await this.password.fill(pwd);\n await this.loginButton.click();\n await this.page.locator('.main-layout').waitFor();\n }\n}","import { Locator, Page } from \"@playwright/test\";\nimport { Menu } from \"../../../../common/menu\";\n\nexport class ApplicationMenu extends Menu {\n private mouseOverLocator: Locator\n private newlinkLocator : Locator\n constructor(page: Page) {\n super(page.locator('#context-menu-popover'), page.locator('.infinite-tree-closed.context-menu-button.pull-right[data-id=\"Applications\"]'), page.locator('.dropdown-menu.multi-level.dropdown-menu-0'))\n this.mouseOverLocator = page.locator('css=[data-path=\".1\"]')\n this.newlinkLocator = page.getByRole('link', { name: 'New' })\n }\n\n async createNewApplicationDirectory() : Promise <void> {\n await this.hoverFlyoutAndClickMenuItem(this.mouseOverLocator,this.newlinkLocator)\n\n }\n}","import { Page } from \"@playwright/test\";\nimport { WithPage } from \"../../../../withPage\";\nimport { ApplicationMenu } from \"./application.menu\";\n\nexport class ApplicationPage extends WithPage {\n appMenu : ApplicationMenu\n constructor(page:Page){\n super(page)\n this.appMenu = new ApplicationMenu(page)\n\n }\n}","import { Page } from \"@playwright/test\";\nimport { WithPage } from \"../../../withPage\";\n\nexport class HomePage extends WithPage {\n constructor(page:Page){\n super(page)\n \n\n }\n}","\nimport { LoginPage } from '../pages/modules/authentication/login.page';\nimport { ApplicationPage } from '../pages/modules/component/explorer/applications/applications.page';\nimport { test as base } from '@playwright/test';\nimport { HomePage } from '../pages/modules/component/homePage/home.page';\n\ntype deployFixtures = {\n applicationPage: ApplicationPage;\n homePage : HomePage;\n loginPage : LoginPage;\n};\n\nexport const test = base.extend<deployFixtures>({\n loginPage : async ({ page }, use) => {\n // Set up the fixture.\n const loginPage = new LoginPage(page);\n await use(loginPage)\n return loginPage;\n },\n homePage : async ({ page }, use) => {\n const homePage = new HomePage(page);\n await use(homePage);\n return homePage;\n },\n applicationPage : async ({page }, use) => {\n const applicationPage = new ApplicationPage(page);\n await use(applicationPage);\n return applicationPage;\n },\n});\n","export { test } from './fixtures';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@digital-ai/devops-page-object-deploy",
3
+ "version": "0.0.2",
4
+ "source": "index.ts",
5
+ "main": "dist/main.js",
6
+ "module": "dist/module.js",
7
+ "types": "dist/types.d.ts",
8
+ "license": "SEE LICENSE IN <LICENSE.md>",
9
+ "private": false,
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git@github.com:digital-ai/devops-page-objects.git"
13
+ },
14
+ "description": "This is a collection of page objects for Playwright that can be used to automate actions on Digital.ai Deploy",
15
+ "dependencies": {
16
+ "lodash": "4.17.21"
17
+ },
18
+ "devDependencies": {
19
+ "@parcel/packager-ts": "2.8.3",
20
+ "@parcel/transformer-typescript-types": "^2.8.3",
21
+ "@types/lodash": "4.14.192",
22
+ "parcel": "2.8.3",
23
+ "typescript": "4.5.3",
24
+ "eslint-config-custom": "0.0.0",
25
+ "tsconfig": "0.0.0"
26
+ },
27
+ "peerDependencies": {
28
+ "@playwright/test": "^1.34.3"
29
+ },
30
+ "targets": {
31
+ "main": {
32
+ "includeNodeModules": [
33
+ "lodash"
34
+ ]
35
+ }
36
+ },
37
+ "publishConfig": {
38
+ "access": "public"
39
+ },
40
+ "scripts": {
41
+ "lint": "eslint . --ext .js,.jsx,.ts,.tsx",
42
+ "tsc": "tsc --noEmit",
43
+ "build": "parcel build --cache-dir .parcel-cache",
44
+ "e2e": "e2e-test"
45
+ }
46
+ }