Skip to content

Commit 3ef3cc6

Browse files
Refacto home interface
1 parent 8fc2bdf commit 3ef3cc6

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

src/interfaces/FO/home/index.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,50 @@
11
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+
26
import type {Page} from '@playwright/test';
37

48
export interface FoHomePageInterface extends FOBasePagePageInterface {
9+
readonly pageTitle: string;
10+
readonly successAddToCartMessage: string;
11+
512
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>;
634
goToAllProductsPage(page: Page): Promise<void>;
735
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>;
841
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>;
946
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>;
1050
}

src/versions/develop/pages/FO/classic/home/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -775,7 +775,7 @@ class HomePage extends FOBasePage implements FoHomePageInterface {
775775
* @param page {Page} Browser tab
776776
* @returns {Promise<boolean>}
777777
*/
778-
isBlockCartModalVisible(page: Page): Promise<boolean> {
778+
async isBlockCartModalVisible(page: Page): Promise<boolean> {
779779
return this.elementVisible(page, this.blockCartModalDiv, 2000);
780780
}
781781

@@ -831,6 +831,7 @@ class HomePage extends FOBasePage implements FoHomePageInterface {
831831
*/
832832
async continueShopping(page: Page): Promise<boolean> {
833833
await this.waitForSelectorAndClick(page, this.continueShoppingButton);
834+
834835
return this.elementNotVisible(page, this.blockCartModalDiv, 2000);
835836
}
836837

0 commit comments

Comments
 (0)