Skip to content

Commit 01c1e9f

Browse files
Refacto product and common page interface
1 parent 3ef3cc6 commit 01c1e9f

File tree

2 files changed

+50
-7
lines changed

2 files changed

+50
-7
lines changed

src/interfaces/FO/product/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ export interface FoProductPageInterface extends FOBasePagePageInterface {
1717
addProductReview(page: Page, productReviewData: FakerProductReview): Promise<boolean>;
1818
addProductToTheCart(
1919
page: Page,
20-
quantity: number | string,
21-
combination: ProductAttribute[],
22-
proceedToCheckout: boolean | null,
23-
customizedText: string)
20+
quantity?: number | string,
21+
combination?: ProductAttribute[],
22+
proceedToCheckout?: boolean | null,
23+
customizedText?: string)
2424
: Promise<void>
2525
clickAddReviewButton(page: Page): Promise<void>;
2626
clickOnAddToCartButton(page: Page): Promise<void>;

src/interfaces/index.ts

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,57 @@
1-
import type {PageWaitForSelectorOptionsState} from '@data/types/playwright';
2-
import type {BrowserContext, Frame, Page} from '@playwright/test';
1+
import type {PageWaitForSelectorOptionsState, WaitForNavigationWaitUntil} from '@data/types/playwright';
2+
import type {
3+
BrowserContext, ElementHandle, Frame, JSHandle, Locator, Page,
4+
} from '@playwright/test';
35

46
export interface CommonPageInterface {
57
changePage(browserContext: BrowserContext, tabId?: number): Promise<Page>;
8+
clearInput(page: Frame | Page, selector: string): Promise<void>;
9+
clickAndWaitForDownload(page: Page, selector: string, targetBlank?: boolean): Promise<string | null>;
10+
clickAndWaitForLoadState(page: Frame | Page, selector: string, state?: string, timeout?: number): Promise<void>;
11+
clickAndWaitForURL(page: Frame | Page, selector: string, waitUntil?: WaitForNavigationWaitUntil, timeout?: number)
12+
: Promise<void>
613
closePage(browserContext: BrowserContext, page: Page, tabId?: number): Promise<Page>;
14+
dialogListener(page: Page, accept?: boolean, text?: string): Promise<void>;
15+
dragAndDrop(page: Page, source: string, target: string): Promise<void>;
16+
elementNotVisible(page: Frame | Page, selector: string, timeout?: number): Promise<boolean>;
17+
elementVisible(page: Frame | Page, selector: string, timeout?: number): Promise<boolean>;
18+
getAttributeContent(page: Frame | Page, selector: string, attribute: string): Promise<string>;
19+
getClipboardText(page: Page): Promise<string>;
20+
getCurrentURL(page: Page): Promise<string>;
21+
getInputValue(page: Page, selector: string): Promise<string>;
22+
getNumberFromText(page: Page | Frame, selector: string, timeout?: number): Promise<number>;
723
getPageTitle(page: Page): Promise<string>;
24+
getParentElement(page: Frame | Page, selector: string)
25+
: Promise<ElementHandle<HTMLElement> | JSHandle<undefined> | JSHandle<null>>;
26+
getPriceFromText(page: Frame|Page, selector: string, timeout?: number, waitForSelector?: boolean): Promise<number>;
27+
getTextContent(page: Page | Frame, selector: string, waitForSelector?: boolean): Promise<string>;
828
goTo(page: Page, url: string): Promise<void>;
29+
goToBO(page: Page): Promise<void>;
930
goToFo(page: Page): Promise<void>;
31+
goToPreviousPage(page: Page, waitUntil?: WaitForNavigationWaitUntil): Promise<void>;
32+
isChecked(page: Frame | Page, selector: string): Promise<boolean>;
33+
isDisabled(page: Page, selector: string): Promise<boolean>;
34+
openLinkWithTargetBlank(page: Page, selector: string, newPageSelector?: string, state?:string): Promise<Page>;
35+
reloadPage(page: Page): Promise<void>;
1036
reloadPage(page: Page): Promise<void>;
1137
resize(page: Page, mobileSize: boolean): Promise<void>;
12-
waitForSelector(page: Page | Frame, selector: string, state: PageWaitForSelectorOptionsState, timeout?: number): Promise<void>
38+
scrollTo(page: Page, selector: string): Promise<void>;
39+
selectByValue(page: Frame | Page, selector: string, valueToSelect: number|string, force?: boolean): Promise<void>;
40+
selectByVisibleText(page: Frame | Page, selector: string, textValue: string | number, force?: boolean,): Promise<void>;
41+
setChecked(page: Frame | Page, checkboxSelector: string, valueWanted?: boolean, force?: boolean): Promise<void>;
42+
setCheckedWithIcon(page: Frame | Page, checkboxSelector: string, valueWanted?: boolean): Promise<void>;
43+
setHiddenCheckboxValue(page: Frame | Page, checkboxSelector: string, valueWanted?: boolean): Promise<void>;
44+
setInputValue(page: Page, selector: string, value: string): Promise<void>;
45+
setValue(page: Frame | Page, selector: string, value: string | number): Promise<void>;
46+
uploadFile(page: Page | Frame, selector: string, filePath: string): Promise<void>;
47+
uploadOnFileChooser(page: Page, selector: string, filePath: string[]): Promise<void>;
48+
waitForAttachedSelector(page: Page, selector: string, timeout?: number): Promise<void>;
49+
waitForHiddenSelector(page: Frame | Page, selector: string, timeout?: number): Promise<void>;
50+
waitForPageTitleToLoad(page: Page): Promise<void>;
51+
waitForSelector(page: Page | Frame, selector: string, state: PageWaitForSelectorOptionsState, timeout?: number)
52+
: Promise<void>;
1353
waitForSelectorAndClick(page: Frame | Page, selector: string, timeout?: number): Promise<void>
54+
waitForSelectorAndClick(page: Frame | Page, selector: string, timeout?: number): Promise<void>;
55+
waitForVisibleLocator(locator: Locator, timeout?: number): Promise<void>;
56+
waitForVisibleSelector(page: Page | Frame, selector: string, timeout?: number): Promise<void>;
1457
}

0 commit comments

Comments
 (0)