Skip to content

Commit f506458

Browse files
authored
Merge pull request #40 from nesrineabdmouleh/fixFoBasePageInterface
Add all methods in FO base page interface
2 parents 4c1ac8e + be4419d commit f506458

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

src/interfaces/FO/index.ts

+31-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,39 @@ import type {CommonPageInterface} from '@interfaces/index';
22
import type {Page} from '@playwright/test';
33

44
export interface FOBasePagePageInterface extends CommonPageInterface {
5-
changeLanguage(page: Page, lang: string): Promise<void>;
5+
changeCurrency(page: Page, isoCode?: string, symbol?: string): Promise<void>;
6+
changeLanguage(page: Page, lang?: string): Promise<void>;
7+
clickAutocompleteSearchResult(page: Page, productName: string, nthResult: number): Promise<void>;
8+
clickOnBreadCrumbLink(page: Page, link: string): Promise<void>;
9+
clickOnHeaderLink(page: Page, link: string, hasPageChange?: boolean): Promise<void>;
10+
closeAutocompleteSearch(page: Page): Promise<void>;
11+
countAutocompleteSearchResult(page: Page, productName: string): Promise<number>
12+
currencyExists(page: Page, currencyName?: string): Promise<boolean>;
13+
getAutocompleteSearchResult(page: Page, productName: string): Promise<string>;
14+
getBreadcrumbText(page: Page): Promise<string>;
15+
getCartNotificationsNumber(page: Page): Promise<number>;
16+
getCopyright(page: Page): Promise<string>;
17+
getDefaultCurrency(page: Page): Promise<string>;
18+
getDefaultShopLanguage(page: Page): Promise<string>;
19+
getFooterLinksBlockTitle(page: Page, position: number): Promise<string>;
20+
getFooterLinksTextContent(page: Page, position: number): Promise<Array<string>>;
21+
getSearchValue(page: Page): Promise<string>;
22+
getShopLanguage(page: Page): Promise<string>;
23+
getStoreInformation(page: Page): Promise<string>;
24+
goToCartPage(page: Page): Promise<void>;
25+
goToCategory(page: Page, categoryID: number): Promise<void>;
26+
goToFooterLink(page: Page, textSelector: string): Promise<void>;
627
goToHomePage(page: Page): Promise<void>;
728
goToLoginPage(page: Page): Promise<void>;
29+
goToMyAccountPage(page: Page): Promise<void>;
30+
goToSubCategory(page: Page, categoryID: number, subCategoryID: number): Promise<void>;
31+
hasAutocompleteSearchResult(page: Page, productName: string): Promise<boolean>;
32+
isAutocompleteSearchResultVisible(page: Page): Promise<boolean>;
33+
isCurrencyDropdownExist(page: Page): Promise<boolean>;
34+
isCurrencyVisible(page: Page): Promise<boolean>;
835
isCustomerConnected(page: Page): Promise<boolean>;
36+
isLanguageListVisible(page: Page): Promise<boolean>;
37+
languageExists(page: Page, lang?: string): Promise<boolean>;
938
logout(page: Page): Promise<void>;
39+
searchProduct(page: Page, productName: string): Promise<void>;
1040
}

src/pages/FO/FOBasePage.ts

+3
Original file line numberDiff line numberDiff line change
@@ -565,6 +565,7 @@ export default class FOBasePage extends CommonPage implements FOBasePagePageInte
565565
*/
566566
async hasAutocompleteSearchResult(page: Page, productName: string): Promise<boolean> {
567567
await this.setValue(page, this.searchInput, productName);
568+
568569
return this.isAutocompleteSearchResultVisible(page);
569570
}
570571

@@ -577,6 +578,7 @@ export default class FOBasePage extends CommonPage implements FOBasePagePageInte
577578
async getAutocompleteSearchResult(page: Page, productName: string): Promise<string> {
578579
await this.setValue(page, this.searchInput, productName);
579580
await this.waitForVisibleSelector(page, this.autocompleteSearchResult);
581+
580582
return this.getTextContent(page, this.autocompleteSearchResult);
581583
}
582584

@@ -589,6 +591,7 @@ export default class FOBasePage extends CommonPage implements FOBasePagePageInte
589591
async countAutocompleteSearchResult(page: Page, productName: string): Promise<number> {
590592
await this.setValue(page, this.searchInput, productName);
591593
await this.waitForVisibleSelector(page, this.autocompleteSearchResultItem);
594+
592595
return page.locator(this.autocompleteSearchResultItem).count();
593596
}
594597

0 commit comments

Comments
 (0)