@shopware-ag/acceptance-test-suite 11.15.0 → 11.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +34 -1
- package/dist/index.d.ts +34 -1
- package/dist/index.mjs +67 -0
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -244,6 +244,14 @@ type Product = Omit<components['schemas']['Product'], 'price' | 'prices' | 'opti
|
|
|
244
244
|
visibilities?: Record<string, unknown>[];
|
|
245
245
|
variantListingConfig?: VariantListingConfig;
|
|
246
246
|
};
|
|
247
|
+
type ProductReview = components['schemas']['ProductReview'] & {
|
|
248
|
+
id: string;
|
|
249
|
+
productId: string;
|
|
250
|
+
salesChannelId: string;
|
|
251
|
+
title: string;
|
|
252
|
+
content: string;
|
|
253
|
+
points: number;
|
|
254
|
+
};
|
|
247
255
|
type OrderDelivery = Omit<components['schemas']['OrderDelivery'], 'shippingOrderAddress' | 'shippingCosts'> & {
|
|
248
256
|
id: string;
|
|
249
257
|
shippingOrderAddress: Partial<components['schemas']['OrderAddress']>;
|
|
@@ -585,6 +593,13 @@ declare class TestDataService {
|
|
|
585
593
|
* @param overrides - Specific data overrides that will be applied to the variant data struct.
|
|
586
594
|
*/
|
|
587
595
|
createVariantProducts(parentProduct: Product, propertyGroups: PropertyGroup[], overrides?: Partial<Product>): Promise<Product[]>;
|
|
596
|
+
/**
|
|
597
|
+
* Creates a product review
|
|
598
|
+
*
|
|
599
|
+
* @param productId - The uuid of the product to which the review should be assigned.
|
|
600
|
+
* @param overrides - Specific data overrides that will be applied to the review data struct.
|
|
601
|
+
*/
|
|
602
|
+
createProductReview(productId: string, overrides?: Partial<ProductReview>): Promise<ProductReview>;
|
|
588
603
|
/**
|
|
589
604
|
* Creates a basic manufacturer without images or other special configuration.
|
|
590
605
|
*
|
|
@@ -1130,6 +1145,7 @@ declare class TestDataService {
|
|
|
1130
1145
|
getSalesChannelDomainStruct(salesChannelId: string, currencyId: string, languageId: string, snippetSetId: string, overrides?: Partial<SalesChannelDomain>): Partial<SalesChannelDomain>;
|
|
1131
1146
|
getTaxStruct(overrides: Partial<Tax$1>): Partial<Tax$1>;
|
|
1132
1147
|
getBasicCrossSellingStruct(productId: string, overrides?: Partial<ProductCrossSelling>): never;
|
|
1148
|
+
getBasicProductReviewStruct(productId: string, overrides?: Partial<ProductReview>): Partial<ProductReview>;
|
|
1133
1149
|
}
|
|
1134
1150
|
|
|
1135
1151
|
interface TestDataFixtureTypes {
|
|
@@ -1275,7 +1291,20 @@ declare class Home implements PageObject {
|
|
|
1275
1291
|
* @deprecated Use 'Header/wishlistBasket' instead
|
|
1276
1292
|
*/
|
|
1277
1293
|
readonly wishlistBasket: Locator;
|
|
1294
|
+
readonly filterMultiSelect: Locator;
|
|
1295
|
+
readonly manufacturerFilter: Locator;
|
|
1296
|
+
readonly propertyFilters: Locator;
|
|
1297
|
+
readonly priceFilterButton: Locator;
|
|
1298
|
+
readonly resetAllButton: Locator;
|
|
1299
|
+
readonly freeShippingFilter: Locator;
|
|
1300
|
+
readonly productList: Locator;
|
|
1301
|
+
readonly productItemNames: Locator;
|
|
1302
|
+
readonly productRatingButton: Locator;
|
|
1303
|
+
readonly productRatingList: Locator;
|
|
1278
1304
|
constructor(page: Page);
|
|
1305
|
+
getRatingItemLocatorByRating(rating: number): Promise<Locator>;
|
|
1306
|
+
getFilterItemByFilterName(filterName: string): Promise<Locator>;
|
|
1307
|
+
getFilterButtonByFilterName(filterName: string): Promise<Locator>;
|
|
1279
1308
|
getMenuItemByCategoryName(categoryName: string): Promise<Record<string, Locator>>;
|
|
1280
1309
|
/**
|
|
1281
1310
|
* @deprecated - use getListingItemByProductName instead
|
|
@@ -1303,6 +1332,9 @@ declare class ProductDetail$1 implements PageObject {
|
|
|
1303
1332
|
readonly offCanvas: Locator;
|
|
1304
1333
|
readonly wishlistAddedButton: Locator;
|
|
1305
1334
|
readonly wishlistNotAddedButton: Locator;
|
|
1335
|
+
readonly productDetailConfigurator: Locator;
|
|
1336
|
+
readonly productDetailConfiguratorGroupTitle: Locator;
|
|
1337
|
+
readonly productDetailConfiguratorOptionInputs: Locator;
|
|
1306
1338
|
constructor(page: Page);
|
|
1307
1339
|
url(productData: Product): string;
|
|
1308
1340
|
}
|
|
@@ -1529,6 +1561,7 @@ declare class AccountAddresses implements PageObject {
|
|
|
1529
1561
|
readonly deliveryNotPossibleAlert: Locator | undefined;
|
|
1530
1562
|
readonly availableAddresses: Locator | undefined;
|
|
1531
1563
|
readonly addressDropdownButton: Locator | undefined;
|
|
1564
|
+
readonly addressDropdownButtons: Locator | undefined;
|
|
1532
1565
|
readonly availableAddressesUseAsBillingAddress: Locator | undefined;
|
|
1533
1566
|
readonly availableAddressesUseAsShippingAddress: Locator | undefined;
|
|
1534
1567
|
constructor(page: Page, instanceMeta: HelperFixtureTypes['InstanceMeta']);
|
|
@@ -2698,4 +2731,4 @@ declare const test: _playwright_test.TestType<_playwright_test.PlaywrightTestArg
|
|
|
2698
2731
|
AddProductToWishlist: Task;
|
|
2699
2732
|
}, _playwright_test.PlaywrightWorkerArgs & _playwright_test.PlaywrightWorkerOptions & FixtureTypes>;
|
|
2700
2733
|
|
|
2701
|
-
export { type AccountData, type Address, AdminPageObjects, type CalculatedTaxes, type Category$1 as Category, type CategoryCustomizableLinkData, type CategoryData, type CmsPage, type Country$1 as Country, type CreatedRecord, type Currency$2 as Currency, type CustomField, type CustomFieldData, type CustomFieldSet, type Customer, type CustomerAddress, type CustomerGroup, type DataServiceOptions, type DeliveryTime, type FixtureTypes, type Flow, type FlowTemplate, type Language$2 as Language, type Manufacturer, type Media, type Order, type OrderDelivery, type OrderLineItem, type OrderStatus, type PageObject, type PaymentMethod$1 as PaymentMethod, type Price, type Product, type ProductCrossSelling, type ProductPrice, type Promotion, type PromotionDiscount, type PropertyGroup, type PropertyGroupOption, type RegistrationData, type Rule, type RuleAssignmentEntity, RuleType, type SalesChannel, type SalesChannelAnalytics, type SalesChannelDomain, type SalesChannelRecord, type Salutation, type ShippingMethod$1 as ShippingMethod, type SimpleLineItem, type StateMachine, type StateMachineState, StorefrontPageObjects, type SyncApiOperation, type SystemConfig, type Tag, type TagData, type Task, type Tax$1 as Tax, type TaxRules, TestDataService, type VariantListingConfig, compareFlowTemplateWithFlow, createRandomImage, extractIdFromUrl, getCountryId, getCurrency, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageData, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, isSaaSInstance, isThemeCompiled, setOrderStatus, test };
|
|
2734
|
+
export { type AccountData, type Address, AdminPageObjects, type CalculatedTaxes, type Category$1 as Category, type CategoryCustomizableLinkData, type CategoryData, type CmsPage, type Country$1 as Country, type CreatedRecord, type Currency$2 as Currency, type CustomField, type CustomFieldData, type CustomFieldSet, type Customer, type CustomerAddress, type CustomerGroup, type DataServiceOptions, type DeliveryTime, type FixtureTypes, type Flow, type FlowTemplate, type Language$2 as Language, type Manufacturer, type Media, type Order, type OrderDelivery, type OrderLineItem, type OrderStatus, type PageObject, type PaymentMethod$1 as PaymentMethod, type Price, type Product, type ProductCrossSelling, type ProductPrice, type ProductReview, type Promotion, type PromotionDiscount, type PropertyGroup, type PropertyGroupOption, type RegistrationData, type Rule, type RuleAssignmentEntity, RuleType, type SalesChannel, type SalesChannelAnalytics, type SalesChannelDomain, type SalesChannelRecord, type Salutation, type ShippingMethod$1 as ShippingMethod, type SimpleLineItem, type StateMachine, type StateMachineState, StorefrontPageObjects, type SyncApiOperation, type SystemConfig, type Tag, type TagData, type Task, type Tax$1 as Tax, type TaxRules, TestDataService, type VariantListingConfig, compareFlowTemplateWithFlow, createRandomImage, extractIdFromUrl, getCountryId, getCurrency, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageData, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, isSaaSInstance, isThemeCompiled, setOrderStatus, test };
|
package/dist/index.d.ts
CHANGED
|
@@ -244,6 +244,14 @@ type Product = Omit<components['schemas']['Product'], 'price' | 'prices' | 'opti
|
|
|
244
244
|
visibilities?: Record<string, unknown>[];
|
|
245
245
|
variantListingConfig?: VariantListingConfig;
|
|
246
246
|
};
|
|
247
|
+
type ProductReview = components['schemas']['ProductReview'] & {
|
|
248
|
+
id: string;
|
|
249
|
+
productId: string;
|
|
250
|
+
salesChannelId: string;
|
|
251
|
+
title: string;
|
|
252
|
+
content: string;
|
|
253
|
+
points: number;
|
|
254
|
+
};
|
|
247
255
|
type OrderDelivery = Omit<components['schemas']['OrderDelivery'], 'shippingOrderAddress' | 'shippingCosts'> & {
|
|
248
256
|
id: string;
|
|
249
257
|
shippingOrderAddress: Partial<components['schemas']['OrderAddress']>;
|
|
@@ -585,6 +593,13 @@ declare class TestDataService {
|
|
|
585
593
|
* @param overrides - Specific data overrides that will be applied to the variant data struct.
|
|
586
594
|
*/
|
|
587
595
|
createVariantProducts(parentProduct: Product, propertyGroups: PropertyGroup[], overrides?: Partial<Product>): Promise<Product[]>;
|
|
596
|
+
/**
|
|
597
|
+
* Creates a product review
|
|
598
|
+
*
|
|
599
|
+
* @param productId - The uuid of the product to which the review should be assigned.
|
|
600
|
+
* @param overrides - Specific data overrides that will be applied to the review data struct.
|
|
601
|
+
*/
|
|
602
|
+
createProductReview(productId: string, overrides?: Partial<ProductReview>): Promise<ProductReview>;
|
|
588
603
|
/**
|
|
589
604
|
* Creates a basic manufacturer without images or other special configuration.
|
|
590
605
|
*
|
|
@@ -1130,6 +1145,7 @@ declare class TestDataService {
|
|
|
1130
1145
|
getSalesChannelDomainStruct(salesChannelId: string, currencyId: string, languageId: string, snippetSetId: string, overrides?: Partial<SalesChannelDomain>): Partial<SalesChannelDomain>;
|
|
1131
1146
|
getTaxStruct(overrides: Partial<Tax$1>): Partial<Tax$1>;
|
|
1132
1147
|
getBasicCrossSellingStruct(productId: string, overrides?: Partial<ProductCrossSelling>): never;
|
|
1148
|
+
getBasicProductReviewStruct(productId: string, overrides?: Partial<ProductReview>): Partial<ProductReview>;
|
|
1133
1149
|
}
|
|
1134
1150
|
|
|
1135
1151
|
interface TestDataFixtureTypes {
|
|
@@ -1275,7 +1291,20 @@ declare class Home implements PageObject {
|
|
|
1275
1291
|
* @deprecated Use 'Header/wishlistBasket' instead
|
|
1276
1292
|
*/
|
|
1277
1293
|
readonly wishlistBasket: Locator;
|
|
1294
|
+
readonly filterMultiSelect: Locator;
|
|
1295
|
+
readonly manufacturerFilter: Locator;
|
|
1296
|
+
readonly propertyFilters: Locator;
|
|
1297
|
+
readonly priceFilterButton: Locator;
|
|
1298
|
+
readonly resetAllButton: Locator;
|
|
1299
|
+
readonly freeShippingFilter: Locator;
|
|
1300
|
+
readonly productList: Locator;
|
|
1301
|
+
readonly productItemNames: Locator;
|
|
1302
|
+
readonly productRatingButton: Locator;
|
|
1303
|
+
readonly productRatingList: Locator;
|
|
1278
1304
|
constructor(page: Page);
|
|
1305
|
+
getRatingItemLocatorByRating(rating: number): Promise<Locator>;
|
|
1306
|
+
getFilterItemByFilterName(filterName: string): Promise<Locator>;
|
|
1307
|
+
getFilterButtonByFilterName(filterName: string): Promise<Locator>;
|
|
1279
1308
|
getMenuItemByCategoryName(categoryName: string): Promise<Record<string, Locator>>;
|
|
1280
1309
|
/**
|
|
1281
1310
|
* @deprecated - use getListingItemByProductName instead
|
|
@@ -1303,6 +1332,9 @@ declare class ProductDetail$1 implements PageObject {
|
|
|
1303
1332
|
readonly offCanvas: Locator;
|
|
1304
1333
|
readonly wishlistAddedButton: Locator;
|
|
1305
1334
|
readonly wishlistNotAddedButton: Locator;
|
|
1335
|
+
readonly productDetailConfigurator: Locator;
|
|
1336
|
+
readonly productDetailConfiguratorGroupTitle: Locator;
|
|
1337
|
+
readonly productDetailConfiguratorOptionInputs: Locator;
|
|
1306
1338
|
constructor(page: Page);
|
|
1307
1339
|
url(productData: Product): string;
|
|
1308
1340
|
}
|
|
@@ -1529,6 +1561,7 @@ declare class AccountAddresses implements PageObject {
|
|
|
1529
1561
|
readonly deliveryNotPossibleAlert: Locator | undefined;
|
|
1530
1562
|
readonly availableAddresses: Locator | undefined;
|
|
1531
1563
|
readonly addressDropdownButton: Locator | undefined;
|
|
1564
|
+
readonly addressDropdownButtons: Locator | undefined;
|
|
1532
1565
|
readonly availableAddressesUseAsBillingAddress: Locator | undefined;
|
|
1533
1566
|
readonly availableAddressesUseAsShippingAddress: Locator | undefined;
|
|
1534
1567
|
constructor(page: Page, instanceMeta: HelperFixtureTypes['InstanceMeta']);
|
|
@@ -2698,4 +2731,4 @@ declare const test: _playwright_test.TestType<_playwright_test.PlaywrightTestArg
|
|
|
2698
2731
|
AddProductToWishlist: Task;
|
|
2699
2732
|
}, _playwright_test.PlaywrightWorkerArgs & _playwright_test.PlaywrightWorkerOptions & FixtureTypes>;
|
|
2700
2733
|
|
|
2701
|
-
export { type AccountData, type Address, AdminPageObjects, type CalculatedTaxes, type Category$1 as Category, type CategoryCustomizableLinkData, type CategoryData, type CmsPage, type Country$1 as Country, type CreatedRecord, type Currency$2 as Currency, type CustomField, type CustomFieldData, type CustomFieldSet, type Customer, type CustomerAddress, type CustomerGroup, type DataServiceOptions, type DeliveryTime, type FixtureTypes, type Flow, type FlowTemplate, type Language$2 as Language, type Manufacturer, type Media, type Order, type OrderDelivery, type OrderLineItem, type OrderStatus, type PageObject, type PaymentMethod$1 as PaymentMethod, type Price, type Product, type ProductCrossSelling, type ProductPrice, type Promotion, type PromotionDiscount, type PropertyGroup, type PropertyGroupOption, type RegistrationData, type Rule, type RuleAssignmentEntity, RuleType, type SalesChannel, type SalesChannelAnalytics, type SalesChannelDomain, type SalesChannelRecord, type Salutation, type ShippingMethod$1 as ShippingMethod, type SimpleLineItem, type StateMachine, type StateMachineState, StorefrontPageObjects, type SyncApiOperation, type SystemConfig, type Tag, type TagData, type Task, type Tax$1 as Tax, type TaxRules, TestDataService, type VariantListingConfig, compareFlowTemplateWithFlow, createRandomImage, extractIdFromUrl, getCountryId, getCurrency, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageData, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, isSaaSInstance, isThemeCompiled, setOrderStatus, test };
|
|
2734
|
+
export { type AccountData, type Address, AdminPageObjects, type CalculatedTaxes, type Category$1 as Category, type CategoryCustomizableLinkData, type CategoryData, type CmsPage, type Country$1 as Country, type CreatedRecord, type Currency$2 as Currency, type CustomField, type CustomFieldData, type CustomFieldSet, type Customer, type CustomerAddress, type CustomerGroup, type DataServiceOptions, type DeliveryTime, type FixtureTypes, type Flow, type FlowTemplate, type Language$2 as Language, type Manufacturer, type Media, type Order, type OrderDelivery, type OrderLineItem, type OrderStatus, type PageObject, type PaymentMethod$1 as PaymentMethod, type Price, type Product, type ProductCrossSelling, type ProductPrice, type ProductReview, type Promotion, type PromotionDiscount, type PropertyGroup, type PropertyGroupOption, type RegistrationData, type Rule, type RuleAssignmentEntity, RuleType, type SalesChannel, type SalesChannelAnalytics, type SalesChannelDomain, type SalesChannelRecord, type Salutation, type ShippingMethod$1 as ShippingMethod, type SimpleLineItem, type StateMachine, type StateMachineState, StorefrontPageObjects, type SyncApiOperation, type SystemConfig, type Tag, type TagData, type Task, type Tax$1 as Tax, type TaxRules, TestDataService, type VariantListingConfig, compareFlowTemplateWithFlow, createRandomImage, extractIdFromUrl, getCountryId, getCurrency, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageData, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, isSaaSInstance, isThemeCompiled, setOrderStatus, test };
|
package/dist/index.mjs
CHANGED
|
@@ -1249,6 +1249,21 @@ class TestDataService {
|
|
|
1249
1249
|
});
|
|
1250
1250
|
return variantProducts;
|
|
1251
1251
|
}
|
|
1252
|
+
/**
|
|
1253
|
+
* Creates a product review
|
|
1254
|
+
*
|
|
1255
|
+
* @param productId - The uuid of the product to which the review should be assigned.
|
|
1256
|
+
* @param overrides - Specific data overrides that will be applied to the review data struct.
|
|
1257
|
+
*/
|
|
1258
|
+
async createProductReview(productId, overrides = {}) {
|
|
1259
|
+
const basicProductReview = this.getBasicProductReviewStruct(productId, overrides);
|
|
1260
|
+
const productReviewResponse = await this.AdminApiClient.post("product-review?_response=detail", {
|
|
1261
|
+
data: basicProductReview
|
|
1262
|
+
});
|
|
1263
|
+
expect(productReviewResponse.ok()).toBeTruthy();
|
|
1264
|
+
const { data: review } = await productReviewResponse.json();
|
|
1265
|
+
return review;
|
|
1266
|
+
}
|
|
1252
1267
|
/**
|
|
1253
1268
|
* Creates a basic manufacturer without images or other special configuration.
|
|
1254
1269
|
*
|
|
@@ -3201,6 +3216,20 @@ class TestDataService {
|
|
|
3201
3216
|
};
|
|
3202
3217
|
return Object.assign({}, defaultCrossSelling, overrides);
|
|
3203
3218
|
}
|
|
3219
|
+
getBasicProductReviewStruct(productId, overrides = {}) {
|
|
3220
|
+
const { id: productReviewId, uuid: productReviewUuid } = this.IdProvider.getIdPair();
|
|
3221
|
+
const productReviewName = `${this.namePrefix}ProductReview-${productReviewId}${this.nameSuffix}`;
|
|
3222
|
+
const defaultProductReview = {
|
|
3223
|
+
id: productReviewUuid,
|
|
3224
|
+
productId,
|
|
3225
|
+
title: productReviewName,
|
|
3226
|
+
content: "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.",
|
|
3227
|
+
points: 5,
|
|
3228
|
+
status: true,
|
|
3229
|
+
salesChannelId: this.defaultSalesChannel.id
|
|
3230
|
+
};
|
|
3231
|
+
return Object.assign({}, defaultProductReview, overrides);
|
|
3232
|
+
}
|
|
3204
3233
|
}
|
|
3205
3234
|
|
|
3206
3235
|
const test$9 = test$f.extend({
|
|
@@ -3375,6 +3404,17 @@ class Home {
|
|
|
3375
3404
|
* @deprecated Use 'Header/wishlistBasket' instead
|
|
3376
3405
|
*/
|
|
3377
3406
|
__publicField$U(this, "wishlistBasket");
|
|
3407
|
+
//product filters
|
|
3408
|
+
__publicField$U(this, "filterMultiSelect");
|
|
3409
|
+
__publicField$U(this, "manufacturerFilter");
|
|
3410
|
+
__publicField$U(this, "propertyFilters");
|
|
3411
|
+
__publicField$U(this, "priceFilterButton");
|
|
3412
|
+
__publicField$U(this, "resetAllButton");
|
|
3413
|
+
__publicField$U(this, "freeShippingFilter");
|
|
3414
|
+
__publicField$U(this, "productList");
|
|
3415
|
+
__publicField$U(this, "productItemNames");
|
|
3416
|
+
__publicField$U(this, "productRatingButton");
|
|
3417
|
+
__publicField$U(this, "productRatingList");
|
|
3378
3418
|
this.accountMenuButton = page.getByLabel("Your account");
|
|
3379
3419
|
this.closeGuestSessionButton = page.locator(".account-aside-btn");
|
|
3380
3420
|
this.productImages = page.locator(".product-image-wrapper");
|
|
@@ -3413,6 +3453,25 @@ class Home {
|
|
|
3413
3453
|
this.contactFormLink = this.page.getByRole("listitem").getByTitle("Contact form", { exact: true });
|
|
3414
3454
|
this.wishlistIcon = page.locator(".header-wishlist-icon");
|
|
3415
3455
|
this.wishlistBasket = page.locator(".header-wishlist-badge");
|
|
3456
|
+
this.filterMultiSelect = page.locator(".filter-multi-select");
|
|
3457
|
+
this.manufacturerFilter = this.filterMultiSelect.getByRole("button", { name: "Manufacturer" });
|
|
3458
|
+
this.propertyFilters = page.locator(".filter-multi-select-properties");
|
|
3459
|
+
this.priceFilterButton = page.getByRole("button", { name: "Price" }).first();
|
|
3460
|
+
this.resetAllButton = page.getByRole("button", { name: "Reset all" });
|
|
3461
|
+
this.freeShippingFilter = page.getByRole("checkbox", { name: "Free shipping" });
|
|
3462
|
+
this.productList = page.locator(".cms-listing-row");
|
|
3463
|
+
this.productItemNames = this.productList.locator(".product-name");
|
|
3464
|
+
this.productRatingButton = this.filterMultiSelect.locator('.btn:has-text("Rating min.")');
|
|
3465
|
+
this.productRatingList = page.locator(".filter-rating-select-list-item");
|
|
3466
|
+
}
|
|
3467
|
+
async getRatingItemLocatorByRating(rating) {
|
|
3468
|
+
return this.productRatingList.filter({ hasText: `min. ${rating}/5` });
|
|
3469
|
+
}
|
|
3470
|
+
async getFilterItemByFilterName(filterName) {
|
|
3471
|
+
return this.filterMultiSelect.getByRole("checkbox", { name: filterName });
|
|
3472
|
+
}
|
|
3473
|
+
async getFilterButtonByFilterName(filterName) {
|
|
3474
|
+
return this.filterMultiSelect.getByRole("button", { name: filterName });
|
|
3416
3475
|
}
|
|
3417
3476
|
async getMenuItemByCategoryName(categoryName) {
|
|
3418
3477
|
const menuNavigationItem = this.page.locator(".nav-main").getByText(categoryName, { exact: true });
|
|
@@ -3532,6 +3591,9 @@ let ProductDetail$1 = class ProductDetail {
|
|
|
3532
3591
|
__publicField$T(this, "offCanvas");
|
|
3533
3592
|
__publicField$T(this, "wishlistAddedButton");
|
|
3534
3593
|
__publicField$T(this, "wishlistNotAddedButton");
|
|
3594
|
+
__publicField$T(this, "productDetailConfigurator");
|
|
3595
|
+
__publicField$T(this, "productDetailConfiguratorGroupTitle");
|
|
3596
|
+
__publicField$T(this, "productDetailConfiguratorOptionInputs");
|
|
3535
3597
|
this.addToCartButton = page.getByRole("button", { name: "Add to shopping cart" });
|
|
3536
3598
|
this.quantitySelect = page.getByLabel("Quantity", { exact: true });
|
|
3537
3599
|
this.productSingleImage = page.locator(".gallery-slider-single-image");
|
|
@@ -3548,6 +3610,9 @@ let ProductDetail$1 = class ProductDetail {
|
|
|
3548
3610
|
this.offCanvasSummaryTotalPrice = page.locator(".offcanvas-summary").locator('dt:has-text("Subtotal") + dd');
|
|
3549
3611
|
this.wishlistAddedButton = page.locator(".product-wishlist-added");
|
|
3550
3612
|
this.wishlistNotAddedButton = page.locator(".product-wishlist-not-added");
|
|
3613
|
+
this.productDetailConfigurator = page.locator(".product-detail-configurator");
|
|
3614
|
+
this.productDetailConfiguratorGroupTitle = page.locator(".product-detail-configurator-group-title");
|
|
3615
|
+
this.productDetailConfiguratorOptionInputs = page.locator(".product-detail-configurator-option-input");
|
|
3551
3616
|
}
|
|
3552
3617
|
url(productData) {
|
|
3553
3618
|
let namePath = "";
|
|
@@ -4142,6 +4207,7 @@ class AccountAddresses {
|
|
|
4142
4207
|
__publicField$H(this, "deliveryNotPossibleAlert");
|
|
4143
4208
|
__publicField$H(this, "availableAddresses");
|
|
4144
4209
|
__publicField$H(this, "addressDropdownButton");
|
|
4210
|
+
__publicField$H(this, "addressDropdownButtons");
|
|
4145
4211
|
__publicField$H(this, "availableAddressesUseAsBillingAddress");
|
|
4146
4212
|
__publicField$H(this, "availableAddressesUseAsShippingAddress");
|
|
4147
4213
|
this.addNewAddressButton = page.getByRole("link", { name: /Add (new )?address/ });
|
|
@@ -4155,6 +4221,7 @@ class AccountAddresses {
|
|
|
4155
4221
|
} else {
|
|
4156
4222
|
this.availableAddresses = page.locator(".address-manager-list-wrapper");
|
|
4157
4223
|
this.addressDropdownButton = this.availableAddresses.getByRole("button", { name: "Address options" }).first();
|
|
4224
|
+
this.addressDropdownButtons = this.availableAddresses.getByRole("button", { name: "Address options" });
|
|
4158
4225
|
this.availableAddressesUseAsBillingAddress = this.availableAddresses.getByRole("button", { name: "Use as default billing address" });
|
|
4159
4226
|
this.availableAddressesUseAsShippingAddress = this.availableAddresses.getByRole("button", { name: "Use as default shipping address" });
|
|
4160
4227
|
}
|