|
1 | 1 | import {FOBasePagePageInterface} from '@interfaces/FO';
|
| 2 | +// Import data |
| 3 | +import type {CartProductDetails} from '@data/types/cart'; |
| 4 | +import type {ProductAttribute} from '@data/types/product'; |
| 5 | + |
2 | 6 | import type {Page} from '@playwright/test';
|
3 | 7 |
|
4 | 8 | export interface FoHomePageInterface extends FOBasePagePageInterface {
|
| 9 | + readonly pageTitle: string; |
| 10 | + readonly successAddToCartMessage: string; |
| 11 | + |
5 | 12 | addProductToCartByQuickView(page: Page, id: number, quantityWanted?: number): Promise<string>;
|
| 13 | + addToCartByQuickView(page: Page): Promise<void>; |
| 14 | + changeAttributes(page: Page, attributes: ProductAttribute): Promise<void>; |
| 15 | + changeAttributesAndAddToCart(page: Page, attributes: ProductAttribute[], quantity: number): Promise<void>; |
| 16 | + changeQuantity(page: Page, quantity: number): Promise<void>; |
| 17 | + clickOnLeftOrRightArrow(page: Page, direction: string): Promise<void>; |
| 18 | + closeBlockCartModal(page: Page): Promise<boolean>; |
| 19 | + closeQuickViewModal(page: Page): Promise<boolean>; |
| 20 | + continueShopping(page: Page): Promise<boolean>; |
| 21 | + getBlockTitle(page: Page, blockID?: number): Promise<string>; |
| 22 | + getProductAttributesFromBlockCartModal(page: Page): Promise<ProductAttribute[]>; |
| 23 | + getProductAttributesFromQuickViewModal(page: Page): Promise<ProductAttribute[]>; |
| 24 | + getProductAvailabilityText(page: Page): Promise<string>; |
| 25 | + getProductDetailsFromBlockCartModal(page: Page): Promise<CartProductDetails>; |
| 26 | + getProductDetailsFromQuickViewModal(page: Page): Promise<object>; |
| 27 | + getProductWithDiscountDetailsFromQuickViewModal(page: Page): Promise<object>; |
| 28 | + getProductsBlockNumber(page: Page, blockID?: number): Promise<number>; |
| 29 | + getProductsNumber(page: Page): Promise<number> |
| 30 | + getSelectedAttributesFromQuickViewModal(page: Page, attribute: ProductAttribute): Promise<ProductAttribute[]>; |
| 31 | + getSliderURL(page: Page): Promise<string>; |
| 32 | + getSocialSharingLink(page: Page, socialSharing: string): Promise<string>; |
| 33 | + goToAllProductsBlockPage(page: Page, blockID?: number): Promise<void>; |
6 | 34 | goToAllProductsPage(page: Page): Promise<void>;
|
7 | 35 | goToProductPage(page: Page, id: number): Promise<void>;
|
| 36 | + isAddToCartButtonDisabled(page: Page): Promise<boolean>; |
| 37 | + isAddToCartButtonEnabled(page: Page): Promise<boolean>; |
| 38 | + isBannerVisible(page: Page): Promise<boolean>; |
| 39 | + isBlockCartModalVisible(page: Page): Promise<boolean>; |
| 40 | + isCustomTextBlockVisible(page: Page): Promise<boolean>; |
8 | 41 | isHomePage(page: Page): Promise<boolean>;
|
| 42 | + isNewFlagVisible(page: Page, id?: number): Promise<boolean>; |
| 43 | + isPriceVisible(page: Page, id?: number): Promise<boolean>; |
| 44 | + isQuickViewProductModalVisible(page: Page): Promise<boolean>; |
| 45 | + isSliderVisible(page: Page, position: number): Promise<boolean>; |
9 | 46 | proceedToCheckout(page: Page): Promise<void>;
|
| 47 | + quickViewProduct(page: Page, id: number): Promise<void>; |
| 48 | + selectProductColor(page: Page, id: number, color: string): Promise<void>; |
| 49 | + subscribeToNewsletter(page: Page, email: string): Promise<string>; |
10 | 50 | }
|
0 commit comments