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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +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"}
1
+ {"mappings":";;;AKEO,MAAM;IAEX,YAAY,kBAA2B,CAAE;QACvC,IAAI,CAAC,WAAW,GAAG;IACrB;IAEA;;;GAGC,GACD,qBAAqB,mBAA4B,EAAW;QAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAClC;AACF;;ADfA;AGAA;AAGO,MAAM,kDAAuB,CAAA,GAAA,yCAAO,AAAD;IACxC,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC,KAAK,WAAW,CAAC;IACzB;IAEA;;GAEC,GACD,MAAM,cAAc,eAAwB,EAAiB;QAC3D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,KAAK;IACvD;AACF;;ADdA;AAGO,MAAM,kDAAkB,CAAA,GAAA,yCAAc,AAAD;IAY1C,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC;QACN,IAAI,CAAC,iBAAiB,GAAG,KAAK,WAAW,CAAC;QAC1C,IAAI,CAAC,kBAAkB,GAAG,KAAK,OAAO,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,KAAK,OAAO,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,KAAK,OAAO,CAAC;QACvC,IAAI,CAAC,yBAAyB,GAAG,KAAK,OAAO,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,KAAK,OAAO,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,OAAO,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,KAAK,OAAO,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,OAAO,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,KAAK,OAAO,CAAC;QAC1C,IAAI,CAAC,mBAAmB,GAAG,KAAK,OAAO,CAAC;IAC1C;IAEA;;GAEC,GACD,MAAM,SAAwB;QAC5B,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO;QACpC,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK;IACpC;IAEA;;GAEC,GACD,MAAM,gBAA+B;QACnC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB;IAClD;IAEA;;GAEC,GACD,MAAM,eAA8B;QAClC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB;IAClD;IAEA;;GAEC,GACD,MAAM,eAA8B;QAClC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB;IAClD;IAEA;;GAEC,GACD,MAAM,sBAAqC;QACzC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,yBAAyB;IACzD;IAEA;;GAEC,GACD,MAAM,cAA6B;QACjC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU;IAC1C;IAEA;;GAEC,GACD,MAAM,oBAAmC;QACvC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe;IAC/C;IAEA;;GAEC,GACD,MAAM,eAA8B;QAClC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW;IAC3C;IAEA;;GAEC,GACD,MAAM,sBAAqC;QACzC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB;IAClD;IAEA;;GAEC,GACD,MAAM,gBAA+B;QACnC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB;IACrD;IAEA;;GAEC,GACD,MAAM,cAA6B;QACjC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB;IACnD;AACF;;;AE3GA;AAGO,MAAM,kDAAe,CAAA,GAAA,yCAAO,AAAD;IAChC,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC,KAAK,OAAO,CAAC;IACrB;AACF;;;AJFO,MAAM,kDAAgB,CAAA,GAAA,yCAAO,AAAD;IAGjC,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC,KAAK,OAAO,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA,GAAA,yCAAM,AAAD,EAAE;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA,GAAA,yCAAS,AAAD,EAAE;IACjC;AACF;;ADbA;AQAA;AAGO,MAAM,kDAAa,CAAA,GAAA,yCAAO,AAAD;IAI9B;;;;;GAKC,GAED,YAAY,sBAA+B,EAAE,eAAwB,EAAE,sBAA+B,CAAE;QACtG,KAAK,CAAC;QACN,IAAI,CAAC,eAAe,GAAG;QACvB,IAAI,CAAC,sBAAsB,GAAG,uBAAuB,OAAO,CAAC;IAC/D;IAEA;;;GAGC,GACD,MAAM,cAAc,eAAwB,EAAiB;QAC3D,IAAI,CAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,iBAAiB,SAAS,IACxE,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK;QAElC,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,iBAAiB,KAAK;IACzE;IAEA;;GAEC,GACD,MAAM,QAAuB;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK;IAClC;IAEA;;;;GAIC,GACD,MAAM,4BAA4B,gBAAyB,EAAE,eAAwB,EAAiB;QACpG,IAAI,CAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,iBAAiB,SAAS,IAAK;YAC7E,MAAM,iBAAiB,KAAK;YAC5B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK;QAClC,CAAC;QACD,MAAM,gBAAgB,KAAK;IAC7B;IAEA;;GAEC,GACD,MAAM,yBAAwC;QAC5C,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK;IAClC;IAEA;;;;GAIC,GACD,MAAM,kBAAkB,mBAA4B,EAAoB;QACtE,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;IAC7C;AACF;;ADlEA;AAGO,MAAM,kDAAmB,CAAA,GAAA,yCAAI,AAAD;IAMjC,YAAY,IAAU,CAAE;QACtB,KAAK,CACH,KAAK,OAAO,CAAC,0BACb,KAAK,OAAO,CAAC,qBACb,KAAK,OAAO,CAAC;QAEf,IAAI,CAAC,SAAS,GAAG,KAAK,OAAO,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,OAAO,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,OAAO,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,OAAO,CAAC;IACxC;IAEA;;GAEC,GACD,MAAM,2BAA0C;QAC9C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS;IACzC;IAEA;;GAEC,GACD,MAAM,sBAAqC;QACzC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc;IAC9C;IACA;;GAEC,GACD,MAAM,uBAAsC;QAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO;IACvC;IACA;;GAEC,GACD,MAAM,mBAAkC;QACtC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW;IAC3C;IACA;;GAEC,GACD,MAAM,yBAAwC;QAC5C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB;IACjD;AACF;;ADrDA;;AGAA;AAGO,MAAM,iDAAkB,CAAA,GAAA,yCAAO,AAAD;IAEnC,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC,KAAK,OAAO,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,WAAW,CAAC;IAC/B;IAEA,MAAM,YAA2B;QAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK;IACvB;AACF;;;ACbA;AAGO,MAAM,kDAAqB,CAAA,GAAA,yCAAI,AAAD;IAOnC,YAAY,IAAU,CAAE;QACtB,KAAK,CACH,KAAK,OAAO,CAAC,0BACb,KAAK,OAAO,CAAC,yBACb,KAAK,OAAO,CAAC;QAEf,IAAI,CAAC,QAAQ,GAAG,KAAK,SAAS,CAAC,QAAQ;YAAE,MAAM;QAAW;QAC1D,IAAI,CAAC,YAAY,GAAG,KAAK,UAAU,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,KAAK,UAAU,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,UAAU,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,KAAK,UAAU,CAAC;IAC3C;IAEA;;GAEC,GACD,MAAM,gBAA+B;QACnC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ;IACxC;IAEA;;GAEC,GACD,MAAM,oBAAmC;QACvC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY;IAC5C;IAEA;;GAEC,GACD,MAAM,cAA6B;QACjC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM;IACtC;IAEA;;GAEC,GACD,MAAM,uBAAsC;QAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe;IAC/C;IAEA;;GAEC,GACD,MAAM,aAA4B;QAChC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK;IACrC;IAEA;;GAEC,GACD,MAAM,kBAAiC;QACrC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB;IACjD;AACF;;;ACjEA;AAGO,MAAM,kDAAmB,CAAA,GAAA,yCAAI,AAAD;IAGjC,YAAY,IAAU,CAAE;QACtB,KAAK,CACH,KAAK,OAAO,CAAC,0BACb,KAAK,UAAU,CAAC,UAChB,KAAK,OAAO,CAAC;QAEf,IAAI,CAAC,kBAAkB,GAAG,KAAK,SAAS,CAAC,QAAQ;YAAE,MAAM;QAAe;QACxE,IAAI,CAAC,aAAa,GAAG,KAAK,SAAS,CAAC,QAAQ;YAAE,MAAM;QAAU;IAChE;IAEA,MAAM,mBAAkC;QACtC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB;IAClD;IAEA,MAAM,SAAwB;QAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa;IAC7C;AACF;;;ALhBO,MAAM,kDAAe,CAAA,GAAA,yCAAO,AAAD;IAKhC,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC,KAAK,OAAO,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA,GAAA,wCAAS,AAAD,EAAE;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA,GAAA,yCAAU,AAAD,EAAE;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA,GAAA,yCAAY,AAAD,EAAE;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA,GAAA,yCAAU,AAAD,EAAE;IACnC;AACF;;;ANfO,MAAM;IAGX,YAAY,IAAU,CAAE;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA,GAAA,yCAAM,AAAD,EAAE;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA,GAAA,yCAAO,AAAD,EAAE;IAC7B;AACF;;ADXA;AAGO,MAAM,kDAAkB,CAAA,GAAA,yCAAQ,AAAD;IAOpC,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC;QACN,IAAI,CAAC,IAAI,GAAG;QACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,gBAAgB,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,gBAAgB,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,KAAK,SAAS,CAAC,UAAU;YAAE,MAAM;QAAS;QAC7D,IAAI,CAAC,kBAAkB,GAAG,KAAK,OAAO,CAAC;IACzC;IAEA,MAAM,MAAM,IAAY,EAAE,GAAW,EAAiB;QACpD,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK;QAC5B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,OAAO;IACjD;AACF;;AD1BA;AcAA;ACAA;AAGO,MAAM,kDAAwB,CAAA,GAAA,yCAAI,AAAD;IAMtC,YAAY,IAAU,CAAE;QACtB,KAAK,CACH,KAAK,OAAO,CAAC,0BACb,KAAK,OAAO,CAAC,gDACb,KAAK,OAAO,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG;QACZ,IAAI,CAAC,cAAc,GAAG,KAAK,SAAS,CAAC,QAAQ;YAAE,MAAM;YAAO,OAAO,IAAI;QAAC;QACxE,IAAI,CAAC,iBAAiB,GAAG,KAAK,SAAS,CAAC,QAAQ;YAAE,MAAM;YAAU,OAAO,IAAI;QAAC;QAC9E,IAAI,CAAC,kBAAkB,GAAG,KAAK,OAAO,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,KAAK,SAAS,CAAC,QAAQ;YAAE,MAAM;YAAU,OAAO,IAAI;QAAC;IAChF;IAEA;;GAEC,GACD,MAAM,qBAAoC;QACxC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK;QACnC,MAAM,IAAI,CAAC,sBAAsB;IACnC;IAEA;;;;GAIC,GACD,MAAM,cAAc,IAAS,EAAiB;QAC5C,MAAM,QAAQ,KAAK,MAAM,GAAG;QAC5B,IAAK,IAAI,IAAI,GAAG,IAAI,OAAO,IACzB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ;YAAE,MAAM,KAAK,IAAI,CAAC,EAAE,GAAG;QAAG,GAAG,KAAK;QAEtE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,KAAK,IAAI,CAAC,QAAQ,MAAM,KAAK;IAC3F;AACF;;;AC1CA;ACAA;AAGO,MAAM,kDAAa,CAAA,GAAA,yCAAO,AAAD;IAC9B,YAAY,sBAA+B,CAAE;QAC3C,KAAK,CAAC;IACR;IAEA,MAAM,cAAc,SAAkB,EAAE,SAAiB,EAAiB;QACxE,MAAM,UAAU,KAAK;QACrB,MAAM,UAAU,IAAI,CAAC;IACvB;AACF;;;ADTO,MAAM,kDAAwB,CAAA,GAAA,yCAAI,AAAD;IAOtC,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC,KAAK,OAAO,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG;QACZ,IAAI,CAAC,SAAS,GAAG,KAAK,OAAO,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,KAAK,OAAO,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,KAAK,SAAS,CAAC,UAAU;YAAE,MAAM;YAAQ,OAAO,IAAI;QAAC;QACvE,IAAI,CAAC,kBAAkB,GAAG,KAAK,SAAS,CAAC,UAAU;YAAE,MAAM;YAAkB,OAAO,IAAI;QAAC;QACzF,IAAI,CAAC,YAAY,GAAG,KAAK,SAAS,CAAC,UAAU;YAAE,MAAM;YAAU,OAAO,IAAI;QAAC;IAC7E;IAEA;;;;GAIC,GACD,MAAM,UAAU,IAAY,EAAiB;QAC3C,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;IAC9D;IAEA;;;;GAIC,GACD,MAAM,mBAAmB,OAAe,EAAiB;QACvD,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC;IACvE;IAEA;;;GAGC,GACD,MAAM,YAA2B;QAC/B,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK;IAC/D;IAEA;;;GAGC,GACD,MAAM,oBAAmC;QACvC,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK;IACvE;IAEA;;;GAGC,GACD,MAAM,cAA6B;QACjC,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK;IACjE;IAEA;;;GAGC,GACD,MAAM,6BAA4C;QAChD,OAAO,MAAM,CAAA,GAAA,aAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,GAAG,YAAY;IAC9E;IAEA;;;GAGC,GACD,MAAM,qCAAoD;QACxD,OAAO,MAAM,CAAA,GAAA,aAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,GAAG,YAAY;IACtF;AACF;;;AE7EA;AAIO,MAAM;IAGX,YAAY,KAAsB,EAAE,IAAU,CAAE;QAC9C,IAAI,CAAC,eAAe,GAAG;QACvB,IAAI,CAAC,IAAI,GAAG;IACd;IAEA;;;;GAIC,GACD,MAAM,8BAA8B,gBAAwB,EAAE,cAAsB,EAAiB;QACnG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB;QACrD,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC;YAAC;YAAO;SAAY;QACrE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,0BAA0B;QAC7D,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,kCAAkC;QACrE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACvD,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB;IACtD;IAEA;;;;GAIC,GACD,MAAM,qBAAqB,OAAe,EAAE,cAAsB,EAAiB;QACjF,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB;QACrD,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC;YAAC;YAAO;SAAc;QACvE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,0BAA0B;QAC7D,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,kCAAkC;QACrE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB;QACpD,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACzD;IAEA;;GAEC,GACD,MAAM,uBAAsC;QAC1C,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB;QACrD,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC;YAAC;YAAU;SAAe;IAC7E;IAEA;;;;;;GAMC,GACD,MAAM,YAAY,YAAoB,EAAE,QAAa,EAAE,OAAe,EAAiB;QACrF,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,eAAe,MAAM,KAAK;QACpE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,eAAe,0BAA0B,KAAK;QACtF,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC;QACjD,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,0BAA0B;QAC7D,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,kCAAkC;QACrE,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,uBAAuB,CAAC,gBAAgB,QAAQ,CAAC,EAAE,GAAG;QACrF,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB;IACtD;IAEA;;;GAGC,GACD,MAAM,WAAW,QAAgB,EAAiB;QAChD,IACE,MAAM,IAAI,CAAC,IAAI,CACZ,OAAO,CAAC,kBAAkB,WAAW,mDACrC,SAAS,IAEZ,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,WAAW,QAAQ,KAAK;IAEtE;IAEA;;;GAGC,GACD,MAAM,eAAe,YAAoB,EAAiB;QACxD,MAAM,cAAc,aAAQ,KAAK;QACjC,IAAK,IAAI,MAAM,GAAG,MAAM,YAAY,MAAM,EAAE,OAAO,EAAG;YACpD,MAAM,OAAO,YAAO,KAAK,YAAO,MAAM,GAAG;YACzC,IAAI,CAAC,UAAU,CAAC;QAClB;IACF;IAEA;;;GAGC,GACD,MAAM,aAAa,YAAoB,EAAiB;QACtD,IACE,MAAM,IAAI,CAAC,IAAI,CACZ,OAAO,CAAC,kBAAkB,eAAe,mDACzC,QAAQ,IAEX,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,eAAe,QAAQ,KAAK;IAE1E;IAEA;;;GAGC,GACD,MAAM,SAAS,IAAY,EAAiB;QAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,OAAO,MAAM,KAAK;QAC5D,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,OAAO,0BAA0B,KAAK;QAC9E,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC;YAAC;SAAS;QAC3D,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW;IACjD;AACF;;;ACvHA;;AAGO,MAAM,kDAAY,CAAA,GAAA,yCAAQ,AAAD;IAI9B,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC;QACN,IAAI,CAAC,IAAI,GAAG;QACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC9C;IAEA,MAAM,wBAAwB,cAAsB,EAAiB;QACnE,OAAO,MAAM,CAAA,GAAA,aAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,yBAAyB,UAAU,CAAC,gBAAgB;YACpG,YAAY,IAAI;QAClB;IACF;AACF;;;AEnBA;AAGO,MAAM,kDAAc,CAAA,GAAA,yCAAO,AAAD;IAK/B,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC,KAAK,OAAO,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,OAAO,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,OAAO,CAAC;IAC7B;AACF;;ADdA;AAGO,MAAM,kDAAyB,CAAA,GAAA,yCAAK,AAAD;IAGxC,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC;QACN,IAAI,CAAC,YAAY,GAAG,KAAK,SAAS,CAAC,UAAU;YAAE,MAAM;YAAU,OAAO,IAAI;QAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,KAAK,SAAS,CAAC,UAAU;YAAE,MAAM;YAAU,OAAO,IAAI;QAAC;IAC7E;IAEA,MAAM,cAA6B;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK;IACpD;IAEA,MAAM,cAA6B;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK;IACpD;AACF;;;ANXO,MAAM,kDAAwB,CAAA,GAAA,yCAAQ,AAAD;IAM1C,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA,GAAA,yCAAe,AAAD,EAAE;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA,GAAA,yCAAe,AAAD,EAAE;QACnC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA,GAAA,yCAAG,AAAD,EAAE;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA,GAAA,yCAAe,AAAD,EAAE,IAAI,EAAE;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA,GAAA,yCAAgB,AAAD,EAAE;IACvC;AACF;;;;AQtBA;AAGO,MAAM,kDAAiB,CAAA,GAAA,yCAAQ,AAAD;IACnC,YAAY,IAAU,CAAE;QACtB,KAAK,CAAC;IACR;AACF;;;;AtBMO,MAAM,4CAAO,CAAA,GAAA,WAAI,AAAD,EAAE,MAAM,CAAiB;IAC9C,WAAW,OAAO,QAAE,KAAI,EAAE,EAAE,MAAQ;QAClC,sBAAsB;QACtB,MAAM,YAAY,IAAI,CAAA,GAAA,yCAAQ,EAAE;QAChC,MAAM,IAAI;QACV,OAAO;IACT;IACA,UAAU,OAAO,QAAE,KAAI,EAAE,EAAE,MAAQ;QACjC,MAAM,WAAW,IAAI,CAAA,GAAA,yCAAO,EAAE;QAC9B,MAAM,IAAI;QACV,OAAO;IACT;IACA,iBAAiB,OAAO,QAAE,KAAI,EAAE,EAAE,MAAQ;QACxC,MAAM,kBAAkB,IAAI,CAAA,GAAA,yCAAc,EAAE;QAC5C,MAAM,IAAI;QACV,OAAO;IACT;IAEA,KAAK,OAAO,QAAE,KAAI,EAAE,EAAE,MAAQ;QAC5B,MAAM,MAAM,IAAI,CAAA,GAAA,yCAAE,EAAE;QACpB,MAAM,IAAI;QACV,OAAO;IACT;AACF;;ADpCA","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/explorer/applications/application.form.ts","apps/deploy/pages/common/form.ts","apps/deploy/pages/modules/component/explorer/applications/application.util.ts","apps/deploy/pages/modules/common/tab.ts","apps/deploy/pages/modules/component/explorer/applications/application.model.ts","apps/deploy/pages/common/model.ts","apps/deploy/pages/modules/component/homePage/home.page.ts"],"sourcesContent":["export { test } from './fixtures';\n","import { 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';\nimport { Tab } from '../pages/modules/common/tab';\n\ntype deployFixtures = {\n applicationPage: ApplicationPage;\n homePage: HomePage;\n loginPage: LoginPage;\n tab: Tab;\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 tab: async ({ page }, use) => {\n const tab = new Tab(page);\n await use(tab);\n return tab;\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}\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","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}\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","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(\n page.locator('#context-menu-popover'),\n page.locator('.icon-help.dot-i'),\n page.locator('.dropdown-menu.multi-level.dropdown-menu-0'),\n );\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}\n","import { Locator } from '@playwright/test';\nimport { Section } from '../layout/section';\n\nexport class Menu extends Section {\n menuLinkLocator: Locator;\n 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 * Open contextual menu dots of ci to work with contextual-menu items.\n */\n async openContextualMenuDots(): Promise<void> {\n await this.menuLinkLocator.click();\n }\n\n /**\n * Find exact menu locators using menu parent locators.\n * @param childElementLocator\n * @returns\n */\n async findElementInMenu(childElementLocator: Locator): Promise<Locator> {\n return this.menuItemsParentLocator.locator(childElementLocator);\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(\n page.locator('#context-menu-popover'),\n page.locator('.icon-settings.dot-i'),\n page.locator('ul[class=\"dropdown-menu multi-level dropdown-menu-0\"]'),\n );\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}\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(\n page.locator('#context-menu-popover'),\n page.getByTitle('admin'),\n page.locator('.dropdown-menu.multi-level.dropdown-menu-0'),\n );\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}\n","import { Page } from '@playwright/test';\nimport { WithPage } from '../../../../withPage';\nimport { ApplicationMenu } from './application.menu';\nimport { ApplicationForm } from './application.form';\nimport { ApplicationUtil } from './application.util';\nimport { Tab } from '../../../common/tab';\nimport { ApplicationModal } from './application.model';\n\nexport class ApplicationPage extends WithPage {\n appMenu: ApplicationMenu;\n appForm: ApplicationForm;\n tab: Tab;\n util: ApplicationUtil;\n appModal: ApplicationModal;\n constructor(page: Page) {\n super(page);\n this.appMenu = new ApplicationMenu(page);\n this.appForm = new ApplicationForm(page);\n this.tab = new Tab(page);\n this.util = new ApplicationUtil(this, page);\n this.appModal = new ApplicationModal(page);\n }\n}\n","import { Locator, Page } from '@playwright/test';\nimport { Menu } from '../../../../common/menu';\n\nexport class ApplicationMenu extends Menu {\n page: Page;\n newlinkLocator: Locator;\n importlinkLocator: Locator;\n applicationLocator: Locator;\n deleteLinkLocator: Locator;\n constructor(page: Page) {\n super(\n page.locator('#context-menu-popover'),\n page.locator('i[data-id=Applications].context-menu-button'),\n page.locator('.dropdown-menu.multi-level.dropdown-menu-0'),\n );\n this.page = page;\n this.newlinkLocator = page.getByRole('link', { name: 'New', exact: true });\n this.importlinkLocator = page.getByRole('link', { name: 'Import', exact: true });\n this.applicationLocator = page.locator('div[data-id=\"Applications\"]');\n this.deleteLinkLocator = page.getByRole('link', { name: 'Delete', exact: true });\n }\n\n /**\n * Click on application CI in contextual-menu option.\n */\n async clickApplicationCi(): Promise<void> {\n await this.applicationLocator.click();\n await this.openContextualMenuDots();\n }\n\n /**\n * Click on menu items from contextual-menu option using path navigation option\n * @param path: Provide menu navigation path using array\n * eg: ['new','Application'] -> to click on menu to create new application\n */\n async clickMenuPath(path: any): Promise<void> {\n const count = path.length - 1;\n for (let i = 0; i < count; i++) {\n await this.page.getByRole('link', { name: '' + path[i] + '' }).click();\n }\n await this.page.locator('.popover-content li[data-path=\"' + path.join('->') + '\"]').click();\n }\n}\n","import { Locator, Page, expect } from '@playwright/test';\nimport { Form } from '../../../../common/form';\n\nexport class ApplicationForm extends Form {\n page: Page;\n inputName: Locator;\n inputLatestVersion: Locator;\n saveButton: Locator;\n saveAndCloseButton: Locator;\n cancelButton: Locator;\n constructor(page: Page) {\n super(page.locator('.dip-view-body'));\n this.page = page;\n this.inputName = page.locator('input[name=\"name\"]');\n this.inputLatestVersion = page.locator('input[name=\"lastVersion\"]');\n this.saveButton = page.getByRole('button', { name: 'Save', exact: true });\n this.saveAndCloseButton = page.getByRole('button', { name: 'Save and close', exact: true });\n this.cancelButton = page.getByRole('button', { name: 'Cancel', exact: true });\n }\n\n /**\n * Enter name in name field of the application form\n * @param name\n * @returns\n */\n async enterName(name: string): Promise<void> {\n return await this.findElementInSection(this.inputName).fill(name);\n }\n\n /**\n * Enter latest version field\n * @param version\n * @returns\n */\n async enterLatestVersion(version: string): Promise<void> {\n return await this.findElementInSection(this.inputLatestVersion).fill(version);\n }\n\n /**\n * Click save button\n * @returns\n */\n async clickSave(): Promise<void> {\n return await this.findElementInSection(this.saveButton).click();\n }\n\n /**\n * Click save and close button\n * @returns\n */\n async clickSaveAndClose(): Promise<void> {\n return await this.findElementInSection(this.saveAndCloseButton).click();\n }\n\n /**\n * Click cancel button\n * @returns\n */\n async clickCancel(): Promise<void> {\n return await this.findElementInSection(this.cancelButton).click();\n }\n\n /**\n * Expecting save button is disabled\n * @returns\n */\n async assertSaveButtonIsDisabled(): Promise<void> {\n return await expect(this.findElementInSection(this.saveButton)).toBeDisabled();\n }\n\n /**\n * Expecting Save and close button is disabled\n * @returns\n */\n async assertSaveAndCloseButtonIsDisabled(): Promise<void> {\n return await expect(this.findElementInSection(this.saveAndCloseButton)).toBeDisabled();\n }\n}\n","import { Locator } from '@playwright/test';\nimport { Section } from '../layout/section';\n\nexport class Form extends Section {\n constructor(mainContentRootLocator: Locator) {\n super(mainContentRootLocator);\n }\n\n async fillTextInput(textInput: Locator, textValue: string): Promise<void> {\n await textInput.clear();\n await textInput.fill(textValue);\n }\n}\n","import { Page } from '@playwright/test';\nimport { ApplicationPage } from './applications.page';\nimport * as R from 'rambda';\n\nexport class ApplicationUtil {\n page: Page;\n applicationPage: ApplicationPage;\n constructor(page1: ApplicationPage, page: Page) {\n this.applicationPage = page1;\n this.page = page;\n }\n\n /**\n * Create New directory under applications CI.\n * @param appDirectoryName\n * @param expectedCiType\n */\n async createNewApplicationDirectory(appDirectoryName: string, expectedCiType: string): Promise<void> {\n await this.applicationPage.appMenu.clickApplicationCi();\n await this.applicationPage.appMenu.clickMenuPath(['new', 'directory']);\n await this.applicationPage.appForm.assertSaveButtonIsDisabled();\n await this.applicationPage.appForm.assertSaveAndCloseButtonIsDisabled();\n await this.applicationPage.appForm.enterName(appDirectoryName);\n await this.applicationPage.tab.assertActiveTabSelector(expectedCiType);\n await this.applicationPage.appForm.clickSaveAndClose();\n }\n\n /**\n * Create new application under Application ci\n * @param appName\n * @param expectedCiType\n */\n async createNewApplication(appName: string, expectedCiType: string): Promise<void> {\n await this.applicationPage.appMenu.clickApplicationCi();\n await this.applicationPage.appMenu.clickMenuPath(['new', 'application']);\n await this.applicationPage.appForm.assertSaveButtonIsDisabled();\n await this.applicationPage.appForm.assertSaveAndCloseButtonIsDisabled();\n await this.applicationPage.appForm.enterName(appName);\n await this.applicationPage.appForm.clickSaveAndClose();\n await this.applicationPage.tab.assertActiveTabSelector(expectedCiType);\n }\n\n /**\n * TODO: It is half done just to check on menu path other than new. Need to create as per scenario.\n */\n async createFromFileImport(): Promise<void> {\n await this.applicationPage.appMenu.clickApplicationCi();\n await this.applicationPage.appMenu.clickMenuPath(['import', 'fromComputer']);\n }\n\n /**\n * Create new ci (application, package) under applications by providing following parameters.\n * @param parentNodeId\n * @param menuPath\n * @param expectedCiType\n * @param appName\n */\n async createNewCi(parentNodeId: string, menuPath: any, appName: string): Promise<void> {\n await this.expandNodePath(parentNodeId);\n await this.page.locator('div[data-id=\"' + parentNodeId + '\"]').click();\n await this.page.locator('i[data-id=\"' + parentNodeId + '\"].context-menu-button').click();\n await this.applicationPage.appMenu.clickMenuPath(menuPath);\n await this.applicationPage.appForm.assertSaveButtonIsDisabled();\n await this.applicationPage.appForm.assertSaveAndCloseButtonIsDisabled();\n await this.applicationPage.tab.assertActiveTabSelector('Create udm.' + menuPath[1] + '');\n await this.applicationPage.appForm.enterName(appName);\n await this.applicationPage.appForm.clickSaveAndClose();\n }\n\n /**\n * Expand the ci path tree toggler.\n * @param pathnode\n */\n async expandNode(pathnode: string): Promise<void> {\n if (\n await this.page\n .locator('div[data-id=\"' + pathnode + '\"] a.infinite-tree-toggler.infinite-tree-closed')\n .isVisible()\n ) {\n await this.page.locator('div[data-id=\"' + pathnode + '\"] a').click();\n }\n }\n\n /**\n * expands the path of CI by separating path from \"/\"\n * @param parentNodeId\n */\n async expandNodePath(parentNodeId: string): Promise<void> {\n const nodeIdParts = R.split('/', parentNodeId);\n for (let ind = 0; ind < nodeIdParts.length; ind += 1) {\n const path = R.join('/', R.take(ind + 1, nodeIdParts));\n this.expandNode(path);\n }\n }\n\n /**\n * Collapse the tree toggler of ci path.\n * @param parentNodeId\n */\n async collapseNode(parentNodeId: string): Promise<void> {\n if (\n await this.page\n .locator('div[data-id=\"' + parentNodeId + '\"] a.infinite-tree-toggler.infinite-tree-closed')\n .isHidden()\n ) {\n await this.page.locator('div[data-id=\"' + parentNodeId + '\"] a').click();\n }\n }\n\n /**\n * Delete the ci\n * @param node\n */\n async deleteCi(node: string): Promise<void> {\n await this.page.locator('div[data-id=\"' + node + '\"]').click();\n await this.page.locator('i[data-id=\"' + node + '\"].context-menu-button').click();\n await this.applicationPage.appMenu.clickMenuPath(['delete']);\n await this.applicationPage.appModal.clickDelete();\n }\n}\n","import { Locator, Page, expect } from '@playwright/test';\nimport { WithPage } from '../../withPage';\n\nexport class Tab extends WithPage {\n page: Page;\n parentTabLocator: Locator;\n getTabTitleLocator: Locator;\n constructor(page: Page) {\n super(page);\n this.page = page;\n this.parentTabLocator = this.page.locator('.working-panel-section .xl-react-tab-system');\n this.getTabTitleLocator = this.page.locator('li.active .tab-title');\n }\n\n async assertActiveTabSelector(expectedCiType: string): Promise<void> {\n return await expect(this.parentTabLocator.locator('li.active .tab-title')).toHaveText(expectedCiType, {\n ignoreCase: true,\n });\n }\n}\n","import { Locator, Page } from '@playwright/test';\nimport { Modal } from '../../../../common/model';\n\nexport class ApplicationModal extends Modal {\n deleteButton: Locator;\n cancelButton: Locator;\n constructor(page: Page) {\n super(page);\n this.deleteButton = page.getByRole('button', { name: 'Delete', exact: true });\n this.cancelButton = page.getByRole('button', { name: 'Cancel', exact: true });\n }\n\n async clickDelete(): Promise<void> {\n await this.footer.locator(this.deleteButton).click();\n }\n\n async clickCancel(): Promise<void> {\n await this.footer.locator(this.cancelButton).click();\n }\n}\n","import { Locator, Page } from '@playwright/test';\nimport { Section } from '../layout/section';\n\nexport class Modal extends Section {\n header: Locator;\n body: Locator;\n footer: Locator;\n\n constructor(page: Page) {\n super(page.locator('.xl-react-modal-content'));\n this.header = page.locator('.modal-header');\n this.body = page.locator('.modal-body');\n this.footer = page.locator('.modal-footer');\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"],"names":[],"version":3,"file":"module.js.map"}
package/dist/types.d.ts CHANGED
@@ -82,12 +82,14 @@ declare class Content extends Section {
82
82
  constructor(page: Page);
83
83
  }
84
84
  declare class Menu extends Section {
85
+ menuLinkLocator: Locator;
86
+ menuItemsParentLocator: Locator;
85
87
  /**
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
- */
88
+ *
89
+ * @param menuContentRootLocator menu content root locator
90
+ * @param menuLinkLocator Menu link locator thats used to open/close the menu
91
+ * @param menuItemsParentLocator Menu items that opens up when menu link is clicked
92
+ */
91
93
  constructor(menuContentRootLocator: Locator, menuLinkLocator: Locator, menuItemsParentLocator: Locator);
92
94
  /**
93
95
  * Click on a menu item
@@ -104,6 +106,16 @@ declare class Menu extends Section {
104
106
  * @param menuItemLocator
105
107
  */
106
108
  hoverFlyoutAndClickMenuItem(mouseOverLocator: Locator, menuItemLocator: Locator): Promise<void>;
109
+ /**
110
+ * Open contextual menu dots of ci to work with contextual-menu items.
111
+ */
112
+ openContextualMenuDots(): Promise<void>;
113
+ /**
114
+ * Find exact menu locators using menu parent locators.
115
+ * @param childElementLocator
116
+ * @returns
117
+ */
118
+ findElementInMenu(childElementLocator: Locator): Promise<Locator>;
107
119
  }
108
120
  declare class HelperMenu extends Menu {
109
121
  onlineDoc: Locator;
@@ -140,28 +152,28 @@ declare class BrandLogo extends Section {
140
152
  declare class SettingsMenu extends Menu {
141
153
  constructor(page: Page);
142
154
  /**
143
- * Click on settings menu option
144
- */
155
+ * Click on settings menu option
156
+ */
145
157
  clickSettings(): Promise<void>;
146
158
  /**
147
- * Click on renew license menu option
148
- */
159
+ * Click on renew license menu option
160
+ */
149
161
  clickRenewLicense(): Promise<void>;
150
162
  /**
151
- * Click on view as menu option
152
- */
163
+ * Click on view as menu option
164
+ */
153
165
  clickViewAs(): Promise<void>;
154
166
  /**
155
- * Click on maintenance mode menu option
156
- */
167
+ * Click on maintenance mode menu option
168
+ */
157
169
  clickMaintenanceMode(): Promise<void>;
158
170
  /**
159
- * Click on About menu option
160
- */
171
+ * Click on About menu option
172
+ */
161
173
  clickAbout(): Promise<void>;
162
174
  /**
163
- * Click on System information menu option
164
- */
175
+ * Click on System information menu option
176
+ */
165
177
  clickSystemInfo(): Promise<void>;
166
178
  }
167
179
  declare class AvatarMenu extends Menu {
@@ -193,11 +205,148 @@ declare class LoginPage extends WithPage {
193
205
  login(user: string, pwd: string): Promise<void>;
194
206
  }
195
207
  declare class ApplicationMenu extends Menu {
208
+ page: Page;
209
+ newlinkLocator: Locator;
210
+ importlinkLocator: Locator;
211
+ applicationLocator: Locator;
212
+ deleteLinkLocator: Locator;
213
+ constructor(page: Page);
214
+ /**
215
+ * Click on application CI in contextual-menu option.
216
+ */
217
+ clickApplicationCi(): Promise<void>;
218
+ /**
219
+ * Click on menu items from contextual-menu option using path navigation option
220
+ * @param path: Provide menu navigation path using array
221
+ * eg: ['new','Application'] -> to click on menu to create new application
222
+ */
223
+ clickMenuPath(path: any): Promise<void>;
224
+ }
225
+ declare class Form extends Section {
226
+ constructor(mainContentRootLocator: Locator);
227
+ fillTextInput(textInput: Locator, textValue: string): Promise<void>;
228
+ }
229
+ declare class ApplicationForm extends Form {
230
+ page: Page;
231
+ inputName: Locator;
232
+ inputLatestVersion: Locator;
233
+ saveButton: Locator;
234
+ saveAndCloseButton: Locator;
235
+ cancelButton: Locator;
236
+ constructor(page: Page);
237
+ /**
238
+ * Enter name in name field of the application form
239
+ * @param name
240
+ * @returns
241
+ */
242
+ enterName(name: string): Promise<void>;
243
+ /**
244
+ * Enter latest version field
245
+ * @param version
246
+ * @returns
247
+ */
248
+ enterLatestVersion(version: string): Promise<void>;
249
+ /**
250
+ * Click save button
251
+ * @returns
252
+ */
253
+ clickSave(): Promise<void>;
254
+ /**
255
+ * Click save and close button
256
+ * @returns
257
+ */
258
+ clickSaveAndClose(): Promise<void>;
259
+ /**
260
+ * Click cancel button
261
+ * @returns
262
+ */
263
+ clickCancel(): Promise<void>;
264
+ /**
265
+ * Expecting save button is disabled
266
+ * @returns
267
+ */
268
+ assertSaveButtonIsDisabled(): Promise<void>;
269
+ /**
270
+ * Expecting Save and close button is disabled
271
+ * @returns
272
+ */
273
+ assertSaveAndCloseButtonIsDisabled(): Promise<void>;
274
+ }
275
+ declare class ApplicationUtil {
276
+ page: Page;
277
+ applicationPage: ApplicationPage;
278
+ constructor(page1: ApplicationPage, page: Page);
279
+ /**
280
+ * Create New directory under applications CI.
281
+ * @param appDirectoryName
282
+ * @param expectedCiType
283
+ */
284
+ createNewApplicationDirectory(appDirectoryName: string, expectedCiType: string): Promise<void>;
285
+ /**
286
+ * Create new application under Application ci
287
+ * @param appName
288
+ * @param expectedCiType
289
+ */
290
+ createNewApplication(appName: string, expectedCiType: string): Promise<void>;
291
+ /**
292
+ * TODO: It is half done just to check on menu path other than new. Need to create as per scenario.
293
+ */
294
+ createFromFileImport(): Promise<void>;
295
+ /**
296
+ * Create new ci (application, package) under applications by providing following parameters.
297
+ * @param parentNodeId
298
+ * @param menuPath
299
+ * @param expectedCiType
300
+ * @param appName
301
+ */
302
+ createNewCi(parentNodeId: string, menuPath: any, appName: string): Promise<void>;
303
+ /**
304
+ * Expand the ci path tree toggler.
305
+ * @param pathnode
306
+ */
307
+ expandNode(pathnode: string): Promise<void>;
308
+ /**
309
+ * expands the path of CI by separating path from "/"
310
+ * @param parentNodeId
311
+ */
312
+ expandNodePath(parentNodeId: string): Promise<void>;
313
+ /**
314
+ * Collapse the tree toggler of ci path.
315
+ * @param parentNodeId
316
+ */
317
+ collapseNode(parentNodeId: string): Promise<void>;
318
+ /**
319
+ * Delete the ci
320
+ * @param node
321
+ */
322
+ deleteCi(node: string): Promise<void>;
323
+ }
324
+ declare class Tab extends WithPage {
325
+ page: Page;
326
+ parentTabLocator: Locator;
327
+ getTabTitleLocator: Locator;
328
+ constructor(page: Page);
329
+ assertActiveTabSelector(expectedCiType: string): Promise<void>;
330
+ }
331
+ declare class Modal extends Section {
332
+ header: Locator;
333
+ body: Locator;
334
+ footer: Locator;
335
+ constructor(page: Page);
336
+ }
337
+ declare class ApplicationModal extends Modal {
338
+ deleteButton: Locator;
339
+ cancelButton: Locator;
196
340
  constructor(page: Page);
197
- createNewApplicationDirectory(): Promise<void>;
341
+ clickDelete(): Promise<void>;
342
+ clickCancel(): Promise<void>;
198
343
  }
199
344
  declare class ApplicationPage extends WithPage {
200
345
  appMenu: ApplicationMenu;
346
+ appForm: ApplicationForm;
347
+ tab: Tab;
348
+ util: ApplicationUtil;
349
+ appModal: ApplicationModal;
201
350
  constructor(page: Page);
202
351
  }
203
352
  declare class HomePage extends WithPage {
@@ -207,6 +356,7 @@ type deployFixtures = {
207
356
  applicationPage: ApplicationPage;
208
357
  homePage: HomePage;
209
358
  loginPage: LoginPage;
359
+ tab: Tab;
210
360
  };
211
361
  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
362
 
@@ -1 +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"}
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/common/form.ts","apps/deploy/pages/modules/component/explorer/applications/application.form.ts","apps/deploy/pages/modules/component/explorer/applications/application.util.ts","apps/deploy/pages/modules/common/tab.ts","apps/deploy/pages/common/model.ts","apps/deploy/pages/modules/component/explorer/applications/application.model.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","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}\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 menuLinkLocator: Locator;\n 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 * Open contextual menu dots of ci to work with contextual-menu items.\n */\n async openContextualMenuDots(): Promise<void> {\n await this.menuLinkLocator.click();\n }\n\n /**\n * Find exact menu locators using menu parent locators.\n * @param childElementLocator\n * @returns\n */\n async findElementInMenu(childElementLocator: Locator): Promise<Locator> {\n return this.menuItemsParentLocator.locator(childElementLocator);\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(\n page.locator('#context-menu-popover'),\n page.locator('.icon-help.dot-i'),\n page.locator('.dropdown-menu.multi-level.dropdown-menu-0'),\n );\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}\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(\n page.locator('#context-menu-popover'),\n page.locator('.icon-settings.dot-i'),\n page.locator('ul[class=\"dropdown-menu multi-level dropdown-menu-0\"]'),\n );\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}\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(\n page.locator('#context-menu-popover'),\n page.getByTitle('admin'),\n page.locator('.dropdown-menu.multi-level.dropdown-menu-0'),\n );\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}\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","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}\n","import { Locator, Page } from '@playwright/test';\nimport { Menu } from '../../../../common/menu';\n\nexport class ApplicationMenu extends Menu {\n page: Page;\n newlinkLocator: Locator;\n importlinkLocator: Locator;\n applicationLocator: Locator;\n deleteLinkLocator: Locator;\n constructor(page: Page) {\n super(\n page.locator('#context-menu-popover'),\n page.locator('i[data-id=Applications].context-menu-button'),\n page.locator('.dropdown-menu.multi-level.dropdown-menu-0'),\n );\n this.page = page;\n this.newlinkLocator = page.getByRole('link', { name: 'New', exact: true });\n this.importlinkLocator = page.getByRole('link', { name: 'Import', exact: true });\n this.applicationLocator = page.locator('div[data-id=\"Applications\"]');\n this.deleteLinkLocator = page.getByRole('link', { name: 'Delete', exact: true });\n }\n\n /**\n * Click on application CI in contextual-menu option.\n */\n async clickApplicationCi(): Promise<void> {\n await this.applicationLocator.click();\n await this.openContextualMenuDots();\n }\n\n /**\n * Click on menu items from contextual-menu option using path navigation option\n * @param path: Provide menu navigation path using array\n * eg: ['new','Application'] -> to click on menu to create new application\n */\n async clickMenuPath(path: any): Promise<void> {\n const count = path.length - 1;\n for (let i = 0; i < count; i++) {\n await this.page.getByRole('link', { name: '' + path[i] + '' }).click();\n }\n await this.page.locator('.popover-content li[data-path=\"' + path.join('->') + '\"]').click();\n }\n}\n","import { Locator } from '@playwright/test';\nimport { Section } from '../layout/section';\n\nexport class Form extends Section {\n constructor(mainContentRootLocator: Locator) {\n super(mainContentRootLocator);\n }\n\n async fillTextInput(textInput: Locator, textValue: string): Promise<void> {\n await textInput.clear();\n await textInput.fill(textValue);\n }\n}\n","import { Locator, Page, expect } from '@playwright/test';\nimport { Form } from '../../../../common/form';\n\nexport class ApplicationForm extends Form {\n page: Page;\n inputName: Locator;\n inputLatestVersion: Locator;\n saveButton: Locator;\n saveAndCloseButton: Locator;\n cancelButton: Locator;\n constructor(page: Page) {\n super(page.locator('.dip-view-body'));\n this.page = page;\n this.inputName = page.locator('input[name=\"name\"]');\n this.inputLatestVersion = page.locator('input[name=\"lastVersion\"]');\n this.saveButton = page.getByRole('button', { name: 'Save', exact: true });\n this.saveAndCloseButton = page.getByRole('button', { name: 'Save and close', exact: true });\n this.cancelButton = page.getByRole('button', { name: 'Cancel', exact: true });\n }\n\n /**\n * Enter name in name field of the application form\n * @param name\n * @returns\n */\n async enterName(name: string): Promise<void> {\n return await this.findElementInSection(this.inputName).fill(name);\n }\n\n /**\n * Enter latest version field\n * @param version\n * @returns\n */\n async enterLatestVersion(version: string): Promise<void> {\n return await this.findElementInSection(this.inputLatestVersion).fill(version);\n }\n\n /**\n * Click save button\n * @returns\n */\n async clickSave(): Promise<void> {\n return await this.findElementInSection(this.saveButton).click();\n }\n\n /**\n * Click save and close button\n * @returns\n */\n async clickSaveAndClose(): Promise<void> {\n return await this.findElementInSection(this.saveAndCloseButton).click();\n }\n\n /**\n * Click cancel button\n * @returns\n */\n async clickCancel(): Promise<void> {\n return await this.findElementInSection(this.cancelButton).click();\n }\n\n /**\n * Expecting save button is disabled\n * @returns\n */\n async assertSaveButtonIsDisabled(): Promise<void> {\n return await expect(this.findElementInSection(this.saveButton)).toBeDisabled();\n }\n\n /**\n * Expecting Save and close button is disabled\n * @returns\n */\n async assertSaveAndCloseButtonIsDisabled(): Promise<void> {\n return await expect(this.findElementInSection(this.saveAndCloseButton)).toBeDisabled();\n }\n}\n","import { Page } from '@playwright/test';\nimport { ApplicationPage } from './applications.page';\nimport * as R from 'rambda';\n\nexport class ApplicationUtil {\n page: Page;\n applicationPage: ApplicationPage;\n constructor(page1: ApplicationPage, page: Page) {\n this.applicationPage = page1;\n this.page = page;\n }\n\n /**\n * Create New directory under applications CI.\n * @param appDirectoryName\n * @param expectedCiType\n */\n async createNewApplicationDirectory(appDirectoryName: string, expectedCiType: string): Promise<void> {\n await this.applicationPage.appMenu.clickApplicationCi();\n await this.applicationPage.appMenu.clickMenuPath(['new', 'directory']);\n await this.applicationPage.appForm.assertSaveButtonIsDisabled();\n await this.applicationPage.appForm.assertSaveAndCloseButtonIsDisabled();\n await this.applicationPage.appForm.enterName(appDirectoryName);\n await this.applicationPage.tab.assertActiveTabSelector(expectedCiType);\n await this.applicationPage.appForm.clickSaveAndClose();\n }\n\n /**\n * Create new application under Application ci\n * @param appName\n * @param expectedCiType\n */\n async createNewApplication(appName: string, expectedCiType: string): Promise<void> {\n await this.applicationPage.appMenu.clickApplicationCi();\n await this.applicationPage.appMenu.clickMenuPath(['new', 'application']);\n await this.applicationPage.appForm.assertSaveButtonIsDisabled();\n await this.applicationPage.appForm.assertSaveAndCloseButtonIsDisabled();\n await this.applicationPage.appForm.enterName(appName);\n await this.applicationPage.appForm.clickSaveAndClose();\n await this.applicationPage.tab.assertActiveTabSelector(expectedCiType);\n }\n\n /**\n * TODO: It is half done just to check on menu path other than new. Need to create as per scenario.\n */\n async createFromFileImport(): Promise<void> {\n await this.applicationPage.appMenu.clickApplicationCi();\n await this.applicationPage.appMenu.clickMenuPath(['import', 'fromComputer']);\n }\n\n /**\n * Create new ci (application, package) under applications by providing following parameters.\n * @param parentNodeId\n * @param menuPath\n * @param expectedCiType\n * @param appName\n */\n async createNewCi(parentNodeId: string, menuPath: any, appName: string): Promise<void> {\n await this.expandNodePath(parentNodeId);\n await this.page.locator('div[data-id=\"' + parentNodeId + '\"]').click();\n await this.page.locator('i[data-id=\"' + parentNodeId + '\"].context-menu-button').click();\n await this.applicationPage.appMenu.clickMenuPath(menuPath);\n await this.applicationPage.appForm.assertSaveButtonIsDisabled();\n await this.applicationPage.appForm.assertSaveAndCloseButtonIsDisabled();\n await this.applicationPage.tab.assertActiveTabSelector('Create udm.' + menuPath[1] + '');\n await this.applicationPage.appForm.enterName(appName);\n await this.applicationPage.appForm.clickSaveAndClose();\n }\n\n /**\n * Expand the ci path tree toggler.\n * @param pathnode\n */\n async expandNode(pathnode: string): Promise<void> {\n if (\n await this.page\n .locator('div[data-id=\"' + pathnode + '\"] a.infinite-tree-toggler.infinite-tree-closed')\n .isVisible()\n ) {\n await this.page.locator('div[data-id=\"' + pathnode + '\"] a').click();\n }\n }\n\n /**\n * expands the path of CI by separating path from \"/\"\n * @param parentNodeId\n */\n async expandNodePath(parentNodeId: string): Promise<void> {\n const nodeIdParts = R.split('/', parentNodeId);\n for (let ind = 0; ind < nodeIdParts.length; ind += 1) {\n const path = R.join('/', R.take(ind + 1, nodeIdParts));\n this.expandNode(path);\n }\n }\n\n /**\n * Collapse the tree toggler of ci path.\n * @param parentNodeId\n */\n async collapseNode(parentNodeId: string): Promise<void> {\n if (\n await this.page\n .locator('div[data-id=\"' + parentNodeId + '\"] a.infinite-tree-toggler.infinite-tree-closed')\n .isHidden()\n ) {\n await this.page.locator('div[data-id=\"' + parentNodeId + '\"] a').click();\n }\n }\n\n /**\n * Delete the ci\n * @param node\n */\n async deleteCi(node: string): Promise<void> {\n await this.page.locator('div[data-id=\"' + node + '\"]').click();\n await this.page.locator('i[data-id=\"' + node + '\"].context-menu-button').click();\n await this.applicationPage.appMenu.clickMenuPath(['delete']);\n await this.applicationPage.appModal.clickDelete();\n }\n}\n","import { Locator, Page, expect } from '@playwright/test';\nimport { WithPage } from '../../withPage';\n\nexport class Tab extends WithPage {\n page: Page;\n parentTabLocator: Locator;\n getTabTitleLocator: Locator;\n constructor(page: Page) {\n super(page);\n this.page = page;\n this.parentTabLocator = this.page.locator('.working-panel-section .xl-react-tab-system');\n this.getTabTitleLocator = this.page.locator('li.active .tab-title');\n }\n\n async assertActiveTabSelector(expectedCiType: string): Promise<void> {\n return await expect(this.parentTabLocator.locator('li.active .tab-title')).toHaveText(expectedCiType, {\n ignoreCase: true,\n });\n }\n}\n","import { Locator, Page } from '@playwright/test';\nimport { Section } from '../layout/section';\n\nexport class Modal extends Section {\n header: Locator;\n body: Locator;\n footer: Locator;\n\n constructor(page: Page) {\n super(page.locator('.xl-react-modal-content'));\n this.header = page.locator('.modal-header');\n this.body = page.locator('.modal-body');\n this.footer = page.locator('.modal-footer');\n }\n}\n","import { Locator, Page } from '@playwright/test';\nimport { Modal } from '../../../../common/model';\n\nexport class ApplicationModal extends Modal {\n deleteButton: Locator;\n cancelButton: Locator;\n constructor(page: Page) {\n super(page);\n this.deleteButton = page.getByRole('button', { name: 'Delete', exact: true });\n this.cancelButton = page.getByRole('button', { name: 'Cancel', exact: true });\n }\n\n async clickDelete(): Promise<void> {\n await this.footer.locator(this.deleteButton).click();\n }\n\n async clickCancel(): Promise<void> {\n await this.footer.locator(this.cancelButton).click();\n }\n}\n","import { Page } from '@playwright/test';\nimport { WithPage } from '../../../../withPage';\nimport { ApplicationMenu } from './application.menu';\nimport { ApplicationForm } from './application.form';\nimport { ApplicationUtil } from './application.util';\nimport { Tab } from '../../../common/tab';\nimport { ApplicationModal } from './application.model';\n\nexport class ApplicationPage extends WithPage {\n appMenu: ApplicationMenu;\n appForm: ApplicationForm;\n tab: Tab;\n util: ApplicationUtil;\n appModal: ApplicationModal;\n constructor(page: Page) {\n super(page);\n this.appMenu = new ApplicationMenu(page);\n this.appForm = new ApplicationForm(page);\n this.tab = new Tab(page);\n this.util = new ApplicationUtil(this, page);\n this.appModal = new ApplicationModal(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","import { 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';\nimport { Tab } from '../pages/modules/common/tab';\n\ntype deployFixtures = {\n applicationPage: ApplicationPage;\n homePage: HomePage;\n loginPage: LoginPage;\n tab: Tab;\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 tab: async ({ page }, use) => {\n const tab = new Tab(page);\n await use(tab);\n return tab;\n },\n});\n","export { test } from './fixtures';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digital-ai/devops-page-object-deploy",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "source": "index.ts",
5
5
  "main": "dist/main.js",
6
6
  "module": "dist/module.js",
@@ -13,7 +13,8 @@
13
13
  },
14
14
  "description": "This is a collection of page objects for Playwright that can be used to automate actions on Digital.ai Deploy",
15
15
  "dependencies": {
16
- "lodash": "4.17.21"
16
+ "lodash": "4.17.21",
17
+ "rambda": "^8.2.0"
17
18
  },
18
19
  "devDependencies": {
19
20
  "@parcel/packager-ts": "2.8.3",