@shopware-ag/acceptance-test-suite 11.15.0 → 11.15.2
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 +69 -1
- 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
|
@@ -605,6 +605,7 @@ const test$b = test$f.extend({
|
|
|
605
605
|
`.trim()
|
|
606
606
|
});
|
|
607
607
|
await expect(page.url()).toContain("login");
|
|
608
|
+
await expect(page.getByLabel(/Username|Email address/)).toBeVisible({ timeout: 9e4 });
|
|
608
609
|
await page.getByLabel(/Username|Email address/).fill(adminUser.username);
|
|
609
610
|
await page.getByLabel("Password", { exact: true }).fill(adminUser.password);
|
|
610
611
|
const config = await (await AdminApiContext.get("./_info/config")).json();
|
|
@@ -637,7 +638,7 @@ const test$b = test$f.extend({
|
|
|
637
638
|
await page.waitForURL((url) => {
|
|
638
639
|
return url.hash !== "#login";
|
|
639
640
|
});
|
|
640
|
-
await expect(page.getByText("
|
|
641
|
+
await expect(page.getByText("Administrator").first()).toBeVisible({ timeout: 6e4 });
|
|
641
642
|
await use(page);
|
|
642
643
|
await page.close();
|
|
643
644
|
await context.close();
|
|
@@ -1249,6 +1250,21 @@ class TestDataService {
|
|
|
1249
1250
|
});
|
|
1250
1251
|
return variantProducts;
|
|
1251
1252
|
}
|
|
1253
|
+
/**
|
|
1254
|
+
* Creates a product review
|
|
1255
|
+
*
|
|
1256
|
+
* @param productId - The uuid of the product to which the review should be assigned.
|
|
1257
|
+
* @param overrides - Specific data overrides that will be applied to the review data struct.
|
|
1258
|
+
*/
|
|
1259
|
+
async createProductReview(productId, overrides = {}) {
|
|
1260
|
+
const basicProductReview = this.getBasicProductReviewStruct(productId, overrides);
|
|
1261
|
+
const productReviewResponse = await this.AdminApiClient.post("product-review?_response=detail", {
|
|
1262
|
+
data: basicProductReview
|
|
1263
|
+
});
|
|
1264
|
+
expect(productReviewResponse.ok()).toBeTruthy();
|
|
1265
|
+
const { data: review } = await productReviewResponse.json();
|
|
1266
|
+
return review;
|
|
1267
|
+
}
|
|
1252
1268
|
/**
|
|
1253
1269
|
* Creates a basic manufacturer without images or other special configuration.
|
|
1254
1270
|
*
|
|
@@ -3201,6 +3217,20 @@ class TestDataService {
|
|
|
3201
3217
|
};
|
|
3202
3218
|
return Object.assign({}, defaultCrossSelling, overrides);
|
|
3203
3219
|
}
|
|
3220
|
+
getBasicProductReviewStruct(productId, overrides = {}) {
|
|
3221
|
+
const { id: productReviewId, uuid: productReviewUuid } = this.IdProvider.getIdPair();
|
|
3222
|
+
const productReviewName = `${this.namePrefix}ProductReview-${productReviewId}${this.nameSuffix}`;
|
|
3223
|
+
const defaultProductReview = {
|
|
3224
|
+
id: productReviewUuid,
|
|
3225
|
+
productId,
|
|
3226
|
+
title: productReviewName,
|
|
3227
|
+
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.",
|
|
3228
|
+
points: 5,
|
|
3229
|
+
status: true,
|
|
3230
|
+
salesChannelId: this.defaultSalesChannel.id
|
|
3231
|
+
};
|
|
3232
|
+
return Object.assign({}, defaultProductReview, overrides);
|
|
3233
|
+
}
|
|
3204
3234
|
}
|
|
3205
3235
|
|
|
3206
3236
|
const test$9 = test$f.extend({
|
|
@@ -3375,6 +3405,17 @@ class Home {
|
|
|
3375
3405
|
* @deprecated Use 'Header/wishlistBasket' instead
|
|
3376
3406
|
*/
|
|
3377
3407
|
__publicField$U(this, "wishlistBasket");
|
|
3408
|
+
//product filters
|
|
3409
|
+
__publicField$U(this, "filterMultiSelect");
|
|
3410
|
+
__publicField$U(this, "manufacturerFilter");
|
|
3411
|
+
__publicField$U(this, "propertyFilters");
|
|
3412
|
+
__publicField$U(this, "priceFilterButton");
|
|
3413
|
+
__publicField$U(this, "resetAllButton");
|
|
3414
|
+
__publicField$U(this, "freeShippingFilter");
|
|
3415
|
+
__publicField$U(this, "productList");
|
|
3416
|
+
__publicField$U(this, "productItemNames");
|
|
3417
|
+
__publicField$U(this, "productRatingButton");
|
|
3418
|
+
__publicField$U(this, "productRatingList");
|
|
3378
3419
|
this.accountMenuButton = page.getByLabel("Your account");
|
|
3379
3420
|
this.closeGuestSessionButton = page.locator(".account-aside-btn");
|
|
3380
3421
|
this.productImages = page.locator(".product-image-wrapper");
|
|
@@ -3413,6 +3454,25 @@ class Home {
|
|
|
3413
3454
|
this.contactFormLink = this.page.getByRole("listitem").getByTitle("Contact form", { exact: true });
|
|
3414
3455
|
this.wishlistIcon = page.locator(".header-wishlist-icon");
|
|
3415
3456
|
this.wishlistBasket = page.locator(".header-wishlist-badge");
|
|
3457
|
+
this.filterMultiSelect = page.locator(".filter-multi-select");
|
|
3458
|
+
this.manufacturerFilter = this.filterMultiSelect.getByRole("button", { name: "Manufacturer" });
|
|
3459
|
+
this.propertyFilters = page.locator(".filter-multi-select-properties");
|
|
3460
|
+
this.priceFilterButton = page.getByRole("button", { name: "Price" }).first();
|
|
3461
|
+
this.resetAllButton = page.getByRole("button", { name: "Reset all" });
|
|
3462
|
+
this.freeShippingFilter = page.getByRole("checkbox", { name: "Free shipping" });
|
|
3463
|
+
this.productList = page.locator(".cms-listing-row");
|
|
3464
|
+
this.productItemNames = this.productList.locator(".product-name");
|
|
3465
|
+
this.productRatingButton = this.filterMultiSelect.locator('.btn:has-text("Rating min.")');
|
|
3466
|
+
this.productRatingList = page.locator(".filter-rating-select-list-item");
|
|
3467
|
+
}
|
|
3468
|
+
async getRatingItemLocatorByRating(rating) {
|
|
3469
|
+
return this.productRatingList.filter({ hasText: `min. ${rating}/5` });
|
|
3470
|
+
}
|
|
3471
|
+
async getFilterItemByFilterName(filterName) {
|
|
3472
|
+
return this.filterMultiSelect.getByRole("checkbox", { name: filterName });
|
|
3473
|
+
}
|
|
3474
|
+
async getFilterButtonByFilterName(filterName) {
|
|
3475
|
+
return this.filterMultiSelect.getByRole("button", { name: filterName });
|
|
3416
3476
|
}
|
|
3417
3477
|
async getMenuItemByCategoryName(categoryName) {
|
|
3418
3478
|
const menuNavigationItem = this.page.locator(".nav-main").getByText(categoryName, { exact: true });
|
|
@@ -3532,6 +3592,9 @@ let ProductDetail$1 = class ProductDetail {
|
|
|
3532
3592
|
__publicField$T(this, "offCanvas");
|
|
3533
3593
|
__publicField$T(this, "wishlistAddedButton");
|
|
3534
3594
|
__publicField$T(this, "wishlistNotAddedButton");
|
|
3595
|
+
__publicField$T(this, "productDetailConfigurator");
|
|
3596
|
+
__publicField$T(this, "productDetailConfiguratorGroupTitle");
|
|
3597
|
+
__publicField$T(this, "productDetailConfiguratorOptionInputs");
|
|
3535
3598
|
this.addToCartButton = page.getByRole("button", { name: "Add to shopping cart" });
|
|
3536
3599
|
this.quantitySelect = page.getByLabel("Quantity", { exact: true });
|
|
3537
3600
|
this.productSingleImage = page.locator(".gallery-slider-single-image");
|
|
@@ -3548,6 +3611,9 @@ let ProductDetail$1 = class ProductDetail {
|
|
|
3548
3611
|
this.offCanvasSummaryTotalPrice = page.locator(".offcanvas-summary").locator('dt:has-text("Subtotal") + dd');
|
|
3549
3612
|
this.wishlistAddedButton = page.locator(".product-wishlist-added");
|
|
3550
3613
|
this.wishlistNotAddedButton = page.locator(".product-wishlist-not-added");
|
|
3614
|
+
this.productDetailConfigurator = page.locator(".product-detail-configurator");
|
|
3615
|
+
this.productDetailConfiguratorGroupTitle = page.locator(".product-detail-configurator-group-title");
|
|
3616
|
+
this.productDetailConfiguratorOptionInputs = page.locator(".product-detail-configurator-option-input");
|
|
3551
3617
|
}
|
|
3552
3618
|
url(productData) {
|
|
3553
3619
|
let namePath = "";
|
|
@@ -4142,6 +4208,7 @@ class AccountAddresses {
|
|
|
4142
4208
|
__publicField$H(this, "deliveryNotPossibleAlert");
|
|
4143
4209
|
__publicField$H(this, "availableAddresses");
|
|
4144
4210
|
__publicField$H(this, "addressDropdownButton");
|
|
4211
|
+
__publicField$H(this, "addressDropdownButtons");
|
|
4145
4212
|
__publicField$H(this, "availableAddressesUseAsBillingAddress");
|
|
4146
4213
|
__publicField$H(this, "availableAddressesUseAsShippingAddress");
|
|
4147
4214
|
this.addNewAddressButton = page.getByRole("link", { name: /Add (new )?address/ });
|
|
@@ -4155,6 +4222,7 @@ class AccountAddresses {
|
|
|
4155
4222
|
} else {
|
|
4156
4223
|
this.availableAddresses = page.locator(".address-manager-list-wrapper");
|
|
4157
4224
|
this.addressDropdownButton = this.availableAddresses.getByRole("button", { name: "Address options" }).first();
|
|
4225
|
+
this.addressDropdownButtons = this.availableAddresses.getByRole("button", { name: "Address options" });
|
|
4158
4226
|
this.availableAddressesUseAsBillingAddress = this.availableAddresses.getByRole("button", { name: "Use as default billing address" });
|
|
4159
4227
|
this.availableAddressesUseAsShippingAddress = this.availableAddresses.getByRole("button", { name: "Use as default shipping address" });
|
|
4160
4228
|
}
|