Skip to content

Commit e0d82a8

Browse files
committed
Enable boDashboardPage in the Core
1 parent 507ff38 commit e0d82a8

File tree

4 files changed

+74
-4
lines changed

4 files changed

+74
-4
lines changed

src/interfaces/BO/dashboard/index.ts

+42
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,47 @@
11
import {BOBasePagePageInterface} from '@interfaces/BO';
2+
import {type Page} from '@playwright/test';
23

34
export interface DashboardPageInterface extends BOBasePagePageInterface {
45
readonly pageTitle: string;
6+
7+
clickOnAbandonedCartsLink(page: Page): Promise<void>;
8+
clickOnActiveShoppingCartsLink(page: Page): Promise<void>;
9+
clickOnConfigureLink(page: Page): Promise<boolean>;
10+
clickOnConfigureProductsAndSalesLink(page: Page): Promise<boolean>;
11+
clickOnDetailsButtonOfRecentOrdersTable(page: Page, row?: number): Promise<void>;
12+
clickOnNewCustomersLink(page: Page): Promise<void>;
13+
clickOnNewMessagesLink(page: Page): Promise<void>;
14+
clickOnNewSubscriptionsLink(page: Page): Promise<void>;
15+
clickOnOrdersLink(page: Page): Promise<void>;
16+
clickOnOutOfStockProductsLink(page: Page): Promise<void>;
17+
clickOnProductReviewsLink(page: Page): Promise<void>;
18+
clickOnReturnExchangeLink(page: Page): Promise<void>;
19+
clickOnTotalSubscribersLink(page: Page): Promise<void>;
20+
clickOnVisitsLink(page: Page): Promise<void>;
21+
closeHelpCard(page: Page): Promise<boolean>;
22+
getBestSellersTabTitle(page: Page): Promise<string>;
23+
getHelpDocumentTitle(page: Page): Promise<string>;
24+
getMostViewedTabTitle(page: Page): Promise<string>;
25+
getNumberOfAbandonedCarts(page: Page): Promise<number>;
26+
getNumberOfActiveShoppingCarts(page: Page): Promise<number>;
27+
getNumberOfNewCustomers(page: Page): Promise<number>;
28+
getNumberOfNewMessages(page: Page): Promise<number>;
29+
getNumberOfNewSubscriptions(page: Page): Promise<number>;
30+
getNumberOfOrders(page: Page): Promise<number>;
31+
getNumberOfProductReviews(page: Page): Promise<number>;
32+
getNumberOfReturnExchange(page: Page): Promise<number>;
33+
getNumberOfTotalSubscribers(page: Page): Promise<number>;
34+
getNumberOfVisits(page: Page): Promise<number>;
35+
getOutOfStockProducts(page: Page): Promise<number>;
36+
getRecentOrdersTitle(page: Page): Promise<string>;
37+
getSalesScore(page: Page): Promise<number>;
38+
getTopSearchersTabTitle(page: Page): Promise<string>;
39+
goToBestSellersTab(page: Page): Promise<void>;
40+
goToMostViewedTab(page: Page): Promise<void>;
41+
goToTopSearchersTab(page: Page): Promise<void>;
42+
isBestSellersTableVisible(page: Page): Promise<boolean>;
43+
isMostViewedTableVisible(page: Page): Promise<boolean>;
44+
isTopSearchersTableVisible(page: Page): Promise<boolean>;
45+
openHelpCard(page: Page): Promise<boolean>;
46+
setDemoMode(page: Page, toEnable: boolean): Promise<void>;
547
}

src/interfaces/BO/index.ts

+23-1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ export interface BOBasePagePageInterface extends CommonPageInterface {
5858

5959
readonly themeAndLogoParentLink: string;
6060

61+
readonly themeAndLogoLink: string
62+
6163
readonly emailThemeLink: string;
6264

6365
readonly pagesLink: string;
@@ -126,16 +128,36 @@ export interface BOBasePagePageInterface extends CommonPageInterface {
126128

127129
readonly logsLink: string;
128130

129-
readonly authorizationServerLink: string;
131+
readonly adminAPILink: string;
130132

131133
readonly featureFlagLink: string;
132134

133135
readonly securityLink: string;
134136

135137
readonly multistoreLink: string;
138+
readonly menuTree: { parent: string; children: string[] }[];
136139

140+
clickOnNotification(page: Page, tabName: string, row?: number): Promise<void>;
141+
clickOnNotificationsLink(page: Page): Promise<boolean>;
142+
clickOnNotificationsTab(page: Page, tabName: string): Promise<void>;
143+
clickSubMenu(page: Page, parentSelector: string): Promise<void>;
137144
closeSfToolBar(page: Frame | Page): Promise<void>;
145+
getAllNotificationsNumber(page: Page): Promise<number>;
146+
getNotificationsNumberInTab(page: Page, tabName: string): Promise<number>;
147+
goToMyProfile(page: Page): Promise<void>;
138148
goToSubMenu(page: Page, parentSelector: string, linkSelector: string): Promise<void>;
149+
isMobileMenuVisible(page: Page): Promise<boolean>;
150+
isNavbarVisible(page: Page): Promise<boolean>;
151+
isSidebarCollapsed(page: Page): Promise<boolean>;
152+
isSubMenuActive(page: Page, linkSelector: string): Promise<boolean>;
153+
isSubmenuVisible(page: Page, parentSelector: string, linkSelector: string): Promise<boolean>;
139154
logoutBO(page: Page): Promise<void>;
155+
navigateToPageWithInvalidToken(page: Page, url: string, continueToPage?: boolean): Promise<void>;
156+
quickAccessToPage(page: Page, linkName: string): Promise<void>;
157+
quickAccessToPageNewWindow(page: Page, linkName: string): Promise<Page>;
158+
quickAccessToPageWithFrame(page: Page, linkName: string): Promise<void>;
159+
resize(page: Page, mobileSize: boolean): Promise<void>;
160+
search(page: Page, query: string): Promise<void>;
161+
setSidebarCollapsed(page: Page, isCollapsed: boolean): Promise<void>;
140162
viewMyShop(page: Page): Promise<Page>;
141163
}

src/interfaces/index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@ export interface CommonPageInterface {
66
getPageTitle(page: Page): Promise<string>;
77
goTo(page: Page, url: string): Promise<void>;
88
goToFo(page: Page): Promise<void>;
9+
reloadPage(page: Page): Promise<void>;
10+
resize(page: Page, mobileSize: boolean): Promise<void>;
911
}

src/pages/BO/BOBasePage.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// Import pages
2+
import { BOBasePagePageInterface } from '@interfaces/BO';
23
import CommonPage from '@pages/commonPage';
34

45
import {Frame, Page} from '@playwright/test';
@@ -11,7 +12,7 @@ import semver from 'semver';
1112
* @class
1213
* @extends CommonPage
1314
*/
14-
export default class BOBasePage extends CommonPage {
15+
export default class BOBasePage extends CommonPage implements BOBasePagePageInterface {
1516
public successfulCreationMessage: string;
1617

1718
public successfulUpdateMessage: string;
@@ -136,6 +137,8 @@ export default class BOBasePage extends CommonPage {
136137

137138
public readonly themeAndLogoParentLink: string;
138139

140+
public readonly themeAndLogoLink: string;
141+
139142
public readonly emailThemeLink: string;
140143

141144
public readonly pagesLink: string;
@@ -204,7 +207,7 @@ export default class BOBasePage extends CommonPage {
204207

205208
public readonly logsLink: string;
206209

207-
public readonly authorizationServerLink: string;
210+
public readonly adminAPILink: string;
208211

209212
public readonly featureFlagLink: string;
210213

@@ -403,6 +406,7 @@ export default class BOBasePage extends CommonPage {
403406
this.designParentLink = '#subtab-AdminParentThemes';
404407
// Theme & Logo
405408
this.themeAndLogoParentLink = '#subtab-AdminThemesParent';
409+
this.themeAndLogoLink = '#subtab-AdminThemes';
406410
// Email theme
407411
this.emailThemeLink = '#subtab-AdminParentMailTheme';
408412
// Pages
@@ -475,7 +479,7 @@ export default class BOBasePage extends CommonPage {
475479
// Logs
476480
this.logsLink = '#subtab-AdminLogs';
477481
// Authorization Server
478-
this.authorizationServerLink = '#subtab-AdminAuthorizationServer';
482+
this.adminAPILink = '#subtab-AdminAdminAPI';
479483
// New & Experimental Features
480484
this.featureFlagLink = '#subtab-AdminFeatureFlag';
481485
// Security

0 commit comments

Comments
 (0)