@shopware-ag/acceptance-test-suite 11.5.0 → 11.6.0

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.mjs CHANGED
@@ -386,16 +386,16 @@ const test$c = test$e.extend({
386
386
  ]
387
387
  });
388
388
 
389
- var __defProp$V = Object.defineProperty;
390
- var __defNormalProp$V = (obj, key, value) => key in obj ? __defProp$V(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
391
- var __publicField$V = (obj, key, value) => {
392
- __defNormalProp$V(obj, typeof key !== "symbol" ? key + "" : key, value);
389
+ var __defProp$X = Object.defineProperty;
390
+ var __defNormalProp$X = (obj, key, value) => key in obj ? __defProp$X(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
391
+ var __publicField$X = (obj, key, value) => {
392
+ __defNormalProp$X(obj, typeof key !== "symbol" ? key + "" : key, value);
393
393
  return value;
394
394
  };
395
395
  const _AdminApiContext = class _AdminApiContext {
396
396
  constructor(context, options) {
397
- __publicField$V(this, "context");
398
- __publicField$V(this, "options");
397
+ __publicField$X(this, "context");
398
+ __publicField$X(this, "options");
399
399
  this.context = context;
400
400
  this.options = options;
401
401
  }
@@ -508,7 +508,7 @@ const _AdminApiContext = class _AdminApiContext {
508
508
  return response;
509
509
  }
510
510
  };
511
- __publicField$V(_AdminApiContext, "defaultOptions", {
511
+ __publicField$X(_AdminApiContext, "defaultOptions", {
512
512
  app_url: process.env["APP_URL"],
513
513
  client_id: process.env["SHOPWARE_ACCESS_KEY_ID"],
514
514
  client_secret: process.env["SHOPWARE_SECRET_ACCESS_KEY"],
@@ -518,16 +518,16 @@ __publicField$V(_AdminApiContext, "defaultOptions", {
518
518
  });
519
519
  let AdminApiContext = _AdminApiContext;
520
520
 
521
- var __defProp$U = Object.defineProperty;
522
- var __defNormalProp$U = (obj, key, value) => key in obj ? __defProp$U(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
523
- var __publicField$U = (obj, key, value) => {
524
- __defNormalProp$U(obj, typeof key !== "symbol" ? key + "" : key, value);
521
+ var __defProp$W = Object.defineProperty;
522
+ var __defNormalProp$W = (obj, key, value) => key in obj ? __defProp$W(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
523
+ var __publicField$W = (obj, key, value) => {
524
+ __defNormalProp$W(obj, typeof key !== "symbol" ? key + "" : key, value);
525
525
  return value;
526
526
  };
527
527
  const _StoreApiContext = class _StoreApiContext {
528
528
  constructor(context, options) {
529
- __publicField$U(this, "context");
530
- __publicField$U(this, "options");
529
+ __publicField$W(this, "context");
530
+ __publicField$W(this, "options");
531
531
  this.context = context;
532
532
  this.options = options;
533
533
  }
@@ -586,21 +586,21 @@ const _StoreApiContext = class _StoreApiContext {
586
586
  return this.context.head(url, options);
587
587
  }
588
588
  };
589
- __publicField$U(_StoreApiContext, "defaultOptions", {
589
+ __publicField$W(_StoreApiContext, "defaultOptions", {
590
590
  app_url: process.env["APP_URL"],
591
591
  ignoreHTTPSErrors: true
592
592
  });
593
593
  let StoreApiContext = _StoreApiContext;
594
594
 
595
- var __defProp$T = Object.defineProperty;
596
- var __defNormalProp$T = (obj, key, value) => key in obj ? __defProp$T(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
597
- var __publicField$T = (obj, key, value) => {
598
- __defNormalProp$T(obj, typeof key !== "symbol" ? key + "" : key, value);
595
+ var __defProp$V = Object.defineProperty;
596
+ var __defNormalProp$V = (obj, key, value) => key in obj ? __defProp$V(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
597
+ var __publicField$V = (obj, key, value) => {
598
+ __defNormalProp$V(obj, typeof key !== "symbol" ? key + "" : key, value);
599
599
  return value;
600
600
  };
601
601
  class MailpitApiContext {
602
602
  constructor(context) {
603
- __publicField$T(this, "context");
603
+ __publicField$V(this, "context");
604
604
  this.context = context;
605
605
  }
606
606
  /**
@@ -897,17 +897,17 @@ const test$a = test$e.extend({
897
897
  }
898
898
  });
899
899
 
900
- var __defProp$S = Object.defineProperty;
901
- var __defNormalProp$S = (obj, key, value) => key in obj ? __defProp$S(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
902
- var __publicField$S = (obj, key, value) => {
903
- __defNormalProp$S(obj, typeof key !== "symbol" ? key + "" : key, value);
900
+ var __defProp$U = Object.defineProperty;
901
+ var __defNormalProp$U = (obj, key, value) => key in obj ? __defProp$U(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
902
+ var __publicField$U = (obj, key, value) => {
903
+ __defNormalProp$U(obj, typeof key !== "symbol" ? key + "" : key, value);
904
904
  return value;
905
905
  };
906
906
  class Actor {
907
907
  constructor(name, page) {
908
- __publicField$S(this, "page");
909
- __publicField$S(this, "name");
910
- __publicField$S(this, "expects", expect);
908
+ __publicField$U(this, "page");
909
+ __publicField$U(this, "name");
910
+ __publicField$U(this, "expects", expect);
911
911
  this.name = name;
912
912
  this.page = page;
913
913
  }
@@ -956,31 +956,31 @@ function createRandomImage(width = 800, height = 600) {
956
956
  return new Image(width, height, buffer);
957
957
  }
958
958
 
959
- var __defProp$R = Object.defineProperty;
960
- var __defNormalProp$R = (obj, key, value) => key in obj ? __defProp$R(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
961
- var __publicField$R = (obj, key, value) => {
962
- __defNormalProp$R(obj, typeof key !== "symbol" ? key + "" : key, value);
959
+ var __defProp$T = Object.defineProperty;
960
+ var __defNormalProp$T = (obj, key, value) => key in obj ? __defProp$T(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
961
+ var __publicField$T = (obj, key, value) => {
962
+ __defNormalProp$T(obj, typeof key !== "symbol" ? key + "" : key, value);
963
963
  return value;
964
964
  };
965
965
  class TestDataService {
966
966
  constructor(AdminApiClient, IdProvider, options) {
967
- __publicField$R(this, "AdminApiClient");
968
- __publicField$R(this, "IdProvider");
969
- __publicField$R(this, "namePrefix", "Test-");
970
- __publicField$R(this, "nameSuffix", "");
971
- __publicField$R(this, "defaultSalesChannel");
972
- __publicField$R(this, "defaultTaxId");
973
- __publicField$R(this, "defaultCurrencyId");
974
- __publicField$R(this, "defaultCategoryId");
975
- __publicField$R(this, "defaultLanguageId");
976
- __publicField$R(this, "defaultCountryId");
977
- __publicField$R(this, "defaultCustomerGroupId");
967
+ __publicField$T(this, "AdminApiClient");
968
+ __publicField$T(this, "IdProvider");
969
+ __publicField$T(this, "namePrefix", "Test-");
970
+ __publicField$T(this, "nameSuffix", "");
971
+ __publicField$T(this, "defaultSalesChannel");
972
+ __publicField$T(this, "defaultTaxId");
973
+ __publicField$T(this, "defaultCurrencyId");
974
+ __publicField$T(this, "defaultCategoryId");
975
+ __publicField$T(this, "defaultLanguageId");
976
+ __publicField$T(this, "defaultCountryId");
977
+ __publicField$T(this, "defaultCustomerGroupId");
978
978
  /**
979
979
  * Configures if an automated cleanup of the data should be executed.
980
980
  *
981
981
  * @private
982
982
  */
983
- __publicField$R(this, "shouldCleanUp", true);
983
+ __publicField$T(this, "shouldCleanUp", true);
984
984
  /**
985
985
  * Configuration of higher priority entities for the cleanup operation.
986
986
  * These entities will be deleted before others.
@@ -988,26 +988,26 @@ class TestDataService {
988
988
  *
989
989
  * @private
990
990
  */
991
- __publicField$R(this, "highPriorityEntities", ["order", "product", "landing_page", "shipping_method", "sales_channel_domain", "sales_channel_currency", "sales_channel_country", "sales_channel_payment_method", "customer"]);
991
+ __publicField$T(this, "highPriorityEntities", ["order", "product", "product_cross_selling", "landing_page", "shipping_method", "sales_channel_domain", "sales_channel_currency", "sales_channel_country", "sales_channel_payment_method", "customer"]);
992
992
  /**
993
993
  * A registry of all created records.
994
994
  *
995
995
  * @private
996
996
  */
997
- __publicField$R(this, "createdRecords", []);
998
- __publicField$R(this, "restoreSystemConfig", {});
997
+ __publicField$T(this, "createdRecords", []);
998
+ __publicField$T(this, "restoreSystemConfig", {});
999
999
  /**
1000
1000
  * A registry of all created sales channel records.
1001
1001
  *
1002
1002
  * @private
1003
1003
  */
1004
- __publicField$R(this, "createdSalesChannelRecords", []);
1004
+ __publicField$T(this, "createdSalesChannelRecords", []);
1005
1005
  /**
1006
1006
  * Function that generates combinations from n number of arrays
1007
1007
  * with m number of elements in them.
1008
1008
  * @param array
1009
1009
  */
1010
- __publicField$R(this, "combineAll", (array) => {
1010
+ __publicField$T(this, "combineAll", (array) => {
1011
1011
  const result = [];
1012
1012
  const max = array.length - 1;
1013
1013
  const helper = (tmpArray, i) => {
@@ -1063,6 +1063,22 @@ class TestDataService {
1063
1063
  this.addCreatedRecord("product", product.id);
1064
1064
  return product;
1065
1065
  }
1066
+ /**
1067
+ * Creates a basic product cross-selling entity without products.
1068
+ *
1069
+ * @param productId - The uuid of the product to which the pproduct cross-selling should be assigned.
1070
+ * @param overrides - Specific data overrides that will be applied to the property group data struct.
1071
+ */
1072
+ async createProductCrossSelling(productId, overrides = {}) {
1073
+ const crossSellingStruct = this.getBasicCrossSellingStruct(productId, overrides);
1074
+ const response = await this.AdminApiClient.post("product-cross-selling?_response=detail", {
1075
+ data: crossSellingStruct
1076
+ });
1077
+ expect(response.ok()).toBeTruthy();
1078
+ const { data: productCrossSelling } = await response.json();
1079
+ this.addCreatedRecord("product_cross_selling", productCrossSelling.id);
1080
+ return productCrossSelling;
1081
+ }
1066
1082
  /**
1067
1083
  * Creates a basic product with one randomly generated image.
1068
1084
  * The product will be added to the default sales channel category if configured.
@@ -3057,6 +3073,23 @@ class TestDataService {
3057
3073
  };
3058
3074
  return Object.assign({}, basicTaxStruct, overrides);
3059
3075
  }
3076
+ getBasicCrossSellingStruct(productId, overrides = {}) {
3077
+ const { id: productCrossSellingId, uuid: productCrossSellingUuid } = this.IdProvider.getIdPair();
3078
+ const productCrossSellingName = `${this.namePrefix}ProductCrossSelling-${productCrossSellingId}${this.nameSuffix}`;
3079
+ const defaultCrossSelling = {
3080
+ id: productCrossSellingUuid,
3081
+ productId,
3082
+ name: productCrossSellingName,
3083
+ type: "product_list",
3084
+ position: 1,
3085
+ active: true,
3086
+ productStreamId: null,
3087
+ sortingType: "name",
3088
+ limit: 10,
3089
+ sortBy: "name"
3090
+ };
3091
+ return Object.assign({}, defaultCrossSelling, overrides);
3092
+ }
3060
3093
  }
3061
3094
 
3062
3095
  const test$8 = test$e.extend({
@@ -3075,16 +3108,16 @@ const test$8 = test$e.extend({
3075
3108
  }
3076
3109
  });
3077
3110
 
3078
- var __defProp$Q = Object.defineProperty;
3079
- var __defNormalProp$Q = (obj, key, value) => key in obj ? __defProp$Q(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3080
- var __publicField$Q = (obj, key, value) => {
3081
- __defNormalProp$Q(obj, typeof key !== "symbol" ? key + "" : key, value);
3111
+ var __defProp$S = Object.defineProperty;
3112
+ var __defNormalProp$S = (obj, key, value) => key in obj ? __defProp$S(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3113
+ var __publicField$S = (obj, key, value) => {
3114
+ __defNormalProp$S(obj, typeof key !== "symbol" ? key + "" : key, value);
3082
3115
  return value;
3083
3116
  };
3084
3117
  class IdProvider {
3085
3118
  constructor(workerIndex, seed) {
3086
- __publicField$Q(this, "workerIndex");
3087
- __publicField$Q(this, "seed");
3119
+ __publicField$S(this, "workerIndex");
3120
+ __publicField$S(this, "seed");
3088
3121
  this.workerIndex = workerIndex;
3089
3122
  this.seed = seed;
3090
3123
  }
@@ -3168,40 +3201,42 @@ const test$7 = test$e.extend({
3168
3201
  ]
3169
3202
  });
3170
3203
 
3171
- var __defProp$P = Object.defineProperty;
3172
- var __defNormalProp$P = (obj, key, value) => key in obj ? __defProp$P(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3173
- var __publicField$P = (obj, key, value) => {
3174
- __defNormalProp$P(obj, typeof key !== "symbol" ? key + "" : key, value);
3204
+ var __defProp$R = Object.defineProperty;
3205
+ var __defNormalProp$R = (obj, key, value) => key in obj ? __defProp$R(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3206
+ var __publicField$R = (obj, key, value) => {
3207
+ __defNormalProp$R(obj, typeof key !== "symbol" ? key + "" : key, value);
3175
3208
  return value;
3176
3209
  };
3177
3210
  class Home {
3178
3211
  constructor(page) {
3179
3212
  this.page = page;
3180
- __publicField$P(this, "accountMenuButton");
3181
- __publicField$P(this, "closeGuestSessionButton");
3182
- __publicField$P(this, "productImages");
3183
- __publicField$P(this, "productListItems");
3184
- __publicField$P(this, "languagesDropdown");
3185
- __publicField$P(this, "languagesMenuOptions");
3186
- __publicField$P(this, "currenciesDropdown");
3187
- __publicField$P(this, "currenciesMenuOptions");
3188
- __publicField$P(this, "consentOnlyTechnicallyRequiredButton");
3189
- __publicField$P(this, "consentConfigureButton");
3190
- __publicField$P(this, "consentAcceptAllCookiesButton");
3191
- __publicField$P(this, "consentCookiePreferences");
3192
- __publicField$P(this, "consentCookiePermissionContent");
3193
- __publicField$P(this, "consentDialog");
3194
- __publicField$P(this, "consentDialogTechnicallyRequiredCheckbox");
3195
- __publicField$P(this, "consentDialogStatisticsCheckbox");
3213
+ __publicField$R(this, "accountMenuButton");
3214
+ __publicField$R(this, "closeGuestSessionButton");
3215
+ __publicField$R(this, "productImages");
3216
+ __publicField$R(this, "productListItems");
3217
+ __publicField$R(this, "languagesDropdown");
3218
+ __publicField$R(this, "languagesMenuOptions");
3219
+ __publicField$R(this, "currenciesDropdown");
3220
+ __publicField$R(this, "currenciesMenuOptions");
3221
+ __publicField$R(this, "consentOnlyTechnicallyRequiredButton");
3222
+ __publicField$R(this, "consentConfigureButton");
3223
+ __publicField$R(this, "consentAcceptAllCookiesButton");
3224
+ __publicField$R(this, "consentCookiePreferences");
3225
+ __publicField$R(this, "consentCookiePermissionContent");
3226
+ __publicField$R(this, "consentDialog");
3227
+ __publicField$R(this, "consentDialogTechnicallyRequiredCheckbox");
3228
+ __publicField$R(this, "consentDialogStatisticsCheckbox");
3196
3229
  /**
3197
3230
  * @deprecated Use 'consentDialogMarketingCheckbox' instead
3198
3231
  */
3199
- __publicField$P(this, "consentDialogMarketingdCheckbox");
3200
- __publicField$P(this, "consentDialogMarketingCheckbox");
3201
- __publicField$P(this, "consentDialogAcceptAllCookiesButton");
3202
- __publicField$P(this, "consentDialogSaveButton");
3203
- __publicField$P(this, "consentCookieBannerContainer");
3204
- __publicField$P(this, "offcanvasBackdrop");
3232
+ __publicField$R(this, "consentDialogMarketingdCheckbox");
3233
+ __publicField$R(this, "consentDialogMarketingCheckbox");
3234
+ __publicField$R(this, "consentDialogAcceptAllCookiesButton");
3235
+ __publicField$R(this, "consentDialogSaveButton");
3236
+ __publicField$R(this, "consentCookieBannerContainer");
3237
+ __publicField$R(this, "offcanvasBackdrop");
3238
+ __publicField$R(this, "mainNavigationLink");
3239
+ __publicField$R(this, "contactFormLink");
3205
3240
  this.accountMenuButton = page.getByLabel("Your account");
3206
3241
  this.closeGuestSessionButton = page.locator(".account-aside-btn");
3207
3242
  this.productImages = page.locator(".product-image-wrapper");
@@ -3236,6 +3271,8 @@ class Home {
3236
3271
  exact: true
3237
3272
  });
3238
3273
  this.offcanvasBackdrop = page.locator(".offcanvas-backdrop");
3274
+ this.mainNavigationLink = page.locator(".main-navigation-link-text");
3275
+ this.contactFormLink = this.page.getByRole("listitem").getByTitle("Contact form", { exact: true });
3239
3276
  }
3240
3277
  async getMenuItemByCategoryName(categoryName) {
3241
3278
  const menuNavigationItem = this.page.locator(".nav-main").getByText(categoryName, { exact: true });
@@ -3264,6 +3301,9 @@ class Home {
3264
3301
  const productAddToShoppingCart = listingItem.getByRole("button", {
3265
3302
  name: "Add to shopping cart"
3266
3303
  });
3304
+ const productListingPrice = listingItem.locator(".list-price-price");
3305
+ const productListingPricePercentage = listingItem.locator(".list-price-percentage");
3306
+ const productListingPriceBadge = listingItem.locator(".badge-discount");
3267
3307
  return {
3268
3308
  productImage,
3269
3309
  productRating,
@@ -3273,7 +3313,10 @@ class Home {
3273
3313
  productCheapestPrice,
3274
3314
  productPrice,
3275
3315
  productName,
3276
- productAddToShoppingCart
3316
+ productAddToShoppingCart,
3317
+ productListingPrice,
3318
+ productListingPricePercentage,
3319
+ productListingPriceBadge
3277
3320
  };
3278
3321
  }
3279
3322
  url() {
@@ -3281,31 +3324,37 @@ class Home {
3281
3324
  }
3282
3325
  }
3283
3326
 
3284
- var __defProp$O = Object.defineProperty;
3285
- var __defNormalProp$O = (obj, key, value) => key in obj ? __defProp$O(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3286
- var __publicField$O = (obj, key, value) => {
3287
- __defNormalProp$O(obj, typeof key !== "symbol" ? key + "" : key, value);
3327
+ var __defProp$Q = Object.defineProperty;
3328
+ var __defNormalProp$Q = (obj, key, value) => key in obj ? __defProp$Q(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3329
+ var __publicField$Q = (obj, key, value) => {
3330
+ __defNormalProp$Q(obj, typeof key !== "symbol" ? key + "" : key, value);
3288
3331
  return value;
3289
3332
  };
3290
3333
  let ProductDetail$1 = class ProductDetail {
3291
3334
  constructor(page) {
3292
3335
  this.page = page;
3293
- __publicField$O(this, "addToCartButton");
3294
- __publicField$O(this, "quantitySelect");
3295
- __publicField$O(this, "productSingleImage");
3296
- __publicField$O(this, "productSinglePrice");
3297
- __publicField$O(this, "productPriceRangesRow");
3298
- __publicField$O(this, "offCanvasCartTitle");
3299
- __publicField$O(this, "offCanvasCart");
3300
- __publicField$O(this, "offCanvasCartGoToCheckoutButton");
3301
- __publicField$O(this, "offCanvasLineItemImages");
3302
- __publicField$O(this, "offCanvasSummaryTotalPrice");
3303
- __publicField$O(this, "offCanvas");
3336
+ __publicField$Q(this, "addToCartButton");
3337
+ __publicField$Q(this, "quantitySelect");
3338
+ __publicField$Q(this, "productSingleImage");
3339
+ __publicField$Q(this, "productSinglePrice");
3340
+ __publicField$Q(this, "productPriceRangesRow");
3341
+ __publicField$Q(this, "productListingPriceBadge");
3342
+ __publicField$Q(this, "productListingPrice");
3343
+ __publicField$Q(this, "productListingPricePercentage");
3344
+ __publicField$Q(this, "offCanvasCartTitle");
3345
+ __publicField$Q(this, "offCanvasCart");
3346
+ __publicField$Q(this, "offCanvasCartGoToCheckoutButton");
3347
+ __publicField$Q(this, "offCanvasLineItemImages");
3348
+ __publicField$Q(this, "offCanvasSummaryTotalPrice");
3349
+ __publicField$Q(this, "offCanvas");
3304
3350
  this.addToCartButton = page.getByRole("button", { name: "Add to shopping cart" });
3305
3351
  this.quantitySelect = page.getByLabel("Quantity", { exact: true });
3306
3352
  this.productSingleImage = page.locator(".gallery-slider-single-image");
3307
3353
  this.productSinglePrice = page.locator(".product-detail-price");
3308
3354
  this.productPriceRangesRow = page.locator(".product-block-prices-row");
3355
+ this.productListingPriceBadge = page.locator(".list-price-badge");
3356
+ this.productListingPrice = page.locator(".list-price-price");
3357
+ this.productListingPricePercentage = page.locator(".list-price-percentage");
3309
3358
  this.offCanvas = page.locator("offcanvas-body");
3310
3359
  this.offCanvasCartTitle = page.getByText("Shopping cart", { exact: true });
3311
3360
  this.offCanvasCart = page.getByRole("dialog");
@@ -3322,18 +3371,18 @@ let ProductDetail$1 = class ProductDetail {
3322
3371
  }
3323
3372
  };
3324
3373
 
3325
- var __defProp$N = Object.defineProperty;
3326
- var __defNormalProp$N = (obj, key, value) => key in obj ? __defProp$N(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3327
- var __publicField$N = (obj, key, value) => {
3328
- __defNormalProp$N(obj, typeof key !== "symbol" ? key + "" : key, value);
3374
+ var __defProp$P = Object.defineProperty;
3375
+ var __defNormalProp$P = (obj, key, value) => key in obj ? __defProp$P(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3376
+ var __publicField$P = (obj, key, value) => {
3377
+ __defNormalProp$P(obj, typeof key !== "symbol" ? key + "" : key, value);
3329
3378
  return value;
3330
3379
  };
3331
3380
  class Category {
3332
3381
  constructor(page) {
3333
3382
  this.page = page;
3334
- __publicField$N(this, "sortingSelect");
3335
- __publicField$N(this, "firstProductBuyButton");
3336
- __publicField$N(this, "noProductsFoundAlert");
3383
+ __publicField$P(this, "sortingSelect");
3384
+ __publicField$P(this, "firstProductBuyButton");
3385
+ __publicField$P(this, "noProductsFoundAlert");
3337
3386
  this.sortingSelect = page.getByLabel("Sorting");
3338
3387
  this.firstProductBuyButton = page.getByRole("button", { name: "Add to shopping cart" }).first();
3339
3388
  this.noProductsFoundAlert = page.getByText("No products found.");
@@ -3343,24 +3392,24 @@ class Category {
3343
3392
  }
3344
3393
  }
3345
3394
 
3346
- var __defProp$M = Object.defineProperty;
3347
- var __defNormalProp$M = (obj, key, value) => key in obj ? __defProp$M(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3348
- var __publicField$M = (obj, key, value) => {
3349
- __defNormalProp$M(obj, typeof key !== "symbol" ? key + "" : key, value);
3395
+ var __defProp$O = Object.defineProperty;
3396
+ var __defNormalProp$O = (obj, key, value) => key in obj ? __defProp$O(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3397
+ var __publicField$O = (obj, key, value) => {
3398
+ __defNormalProp$O(obj, typeof key !== "symbol" ? key + "" : key, value);
3350
3399
  return value;
3351
3400
  };
3352
3401
  class CheckoutCart {
3353
3402
  constructor(page) {
3354
3403
  this.page = page;
3355
- __publicField$M(this, "headline");
3356
- __publicField$M(this, "goToCheckoutButton");
3357
- __publicField$M(this, "enterPromoInput");
3358
- __publicField$M(this, "grandTotalPrice");
3359
- __publicField$M(this, "emptyCartAlert");
3360
- __publicField$M(this, "stockReachedAlert");
3361
- __publicField$M(this, "cartLineItemImages");
3362
- __publicField$M(this, "unitPriceInfo");
3363
- __publicField$M(this, "cartQuantityNumber");
3404
+ __publicField$O(this, "headline");
3405
+ __publicField$O(this, "goToCheckoutButton");
3406
+ __publicField$O(this, "enterPromoInput");
3407
+ __publicField$O(this, "grandTotalPrice");
3408
+ __publicField$O(this, "emptyCartAlert");
3409
+ __publicField$O(this, "stockReachedAlert");
3410
+ __publicField$O(this, "cartLineItemImages");
3411
+ __publicField$O(this, "unitPriceInfo");
3412
+ __publicField$O(this, "cartQuantityNumber");
3364
3413
  this.headline = page.getByRole("heading", { name: "Shopping cart" });
3365
3414
  this.goToCheckoutButton = page.getByRole("link", { name: "Go to checkout" });
3366
3415
  this.enterPromoInput = page.getByLabel("Promo code");
@@ -3401,25 +3450,25 @@ class CheckoutCart {
3401
3450
  }
3402
3451
  }
3403
3452
 
3404
- var __defProp$L = Object.defineProperty;
3405
- var __defNormalProp$L = (obj, key, value) => key in obj ? __defProp$L(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3406
- var __publicField$L = (obj, key, value) => {
3407
- __defNormalProp$L(obj, typeof key !== "symbol" ? key + "" : key, value);
3453
+ var __defProp$N = Object.defineProperty;
3454
+ var __defNormalProp$N = (obj, key, value) => key in obj ? __defProp$N(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3455
+ var __publicField$N = (obj, key, value) => {
3456
+ __defNormalProp$N(obj, typeof key !== "symbol" ? key + "" : key, value);
3408
3457
  return value;
3409
3458
  };
3410
3459
  class OffCanvasCart {
3411
3460
  constructor(page) {
3412
3461
  this.page = page;
3413
- __publicField$L(this, "headline");
3414
- __publicField$L(this, "itemCount");
3415
- __publicField$L(this, "goToCheckoutButton");
3416
- __publicField$L(this, "goToCartButton");
3417
- __publicField$L(this, "continueShoppingButton");
3418
- __publicField$L(this, "enterPromoInput");
3419
- __publicField$L(this, "submitDiscountButton");
3420
- __publicField$L(this, "subTotalPrice");
3421
- __publicField$L(this, "shippingCosts");
3422
- __publicField$L(this, "cartQuantityNumber");
3462
+ __publicField$N(this, "headline");
3463
+ __publicField$N(this, "itemCount");
3464
+ __publicField$N(this, "goToCheckoutButton");
3465
+ __publicField$N(this, "goToCartButton");
3466
+ __publicField$N(this, "continueShoppingButton");
3467
+ __publicField$N(this, "enterPromoInput");
3468
+ __publicField$N(this, "submitDiscountButton");
3469
+ __publicField$N(this, "subTotalPrice");
3470
+ __publicField$N(this, "shippingCosts");
3471
+ __publicField$N(this, "cartQuantityNumber");
3423
3472
  this.headline = page.getByRole("heading", { name: "Shopping cart" });
3424
3473
  this.itemCount = page.locator(".offcanvas-cart-header-count");
3425
3474
  this.goToCheckoutButton = page.getByRole("link", { name: "Go to checkout" });
@@ -3461,36 +3510,36 @@ class OffCanvasCart {
3461
3510
  }
3462
3511
  }
3463
3512
 
3464
- var __defProp$K = Object.defineProperty;
3465
- var __defNormalProp$K = (obj, key, value) => key in obj ? __defProp$K(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3466
- var __publicField$K = (obj, key, value) => {
3467
- __defNormalProp$K(obj, typeof key !== "symbol" ? key + "" : key, value);
3513
+ var __defProp$M = Object.defineProperty;
3514
+ var __defNormalProp$M = (obj, key, value) => key in obj ? __defProp$M(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3515
+ var __publicField$M = (obj, key, value) => {
3516
+ __defNormalProp$M(obj, typeof key !== "symbol" ? key + "" : key, value);
3468
3517
  return value;
3469
3518
  };
3470
3519
  class CheckoutConfirm {
3471
3520
  constructor(page) {
3472
3521
  this.page = page;
3473
- __publicField$K(this, "headline");
3474
- __publicField$K(this, "termsAndConditionsCheckbox");
3475
- __publicField$K(this, "immediateAccessToDigitalProductCheckbox");
3476
- __publicField$K(this, "grandTotalPrice");
3477
- __publicField$K(this, "taxPrice");
3478
- __publicField$K(this, "submitOrderButton");
3522
+ __publicField$M(this, "headline");
3523
+ __publicField$M(this, "termsAndConditionsCheckbox");
3524
+ __publicField$M(this, "immediateAccessToDigitalProductCheckbox");
3525
+ __publicField$M(this, "grandTotalPrice");
3526
+ __publicField$M(this, "taxPrice");
3527
+ __publicField$M(this, "submitOrderButton");
3479
3528
  /**
3480
3529
  * Payment options
3481
3530
  */
3482
- __publicField$K(this, "paymentCashOnDelivery");
3483
- __publicField$K(this, "paymentPaidInAdvance");
3484
- __publicField$K(this, "paymentInvoice");
3531
+ __publicField$M(this, "paymentCashOnDelivery");
3532
+ __publicField$M(this, "paymentPaidInAdvance");
3533
+ __publicField$M(this, "paymentInvoice");
3485
3534
  /**
3486
3535
  * Shipping options
3487
3536
  */
3488
- __publicField$K(this, "shippingStandard");
3489
- __publicField$K(this, "shippingExpress");
3537
+ __publicField$M(this, "shippingStandard");
3538
+ __publicField$M(this, "shippingExpress");
3490
3539
  /**
3491
3540
  * Product details
3492
3541
  */
3493
- __publicField$K(this, "cartLineItemImages");
3542
+ __publicField$M(this, "cartLineItemImages");
3494
3543
  this.headline = page.getByRole("heading", { name: "Complete order" });
3495
3544
  this.termsAndConditionsCheckbox = page.getByLabel("I have read and accepted the general terms and conditions.");
3496
3545
  this.immediateAccessToDigitalProductCheckbox = page.getByLabel("I want immediate access to the digital content and I acknowledge that thereby I waive my right to cancel.");
@@ -3509,21 +3558,21 @@ class CheckoutConfirm {
3509
3558
  }
3510
3559
  }
3511
3560
 
3512
- var __defProp$J = Object.defineProperty;
3513
- var __defNormalProp$J = (obj, key, value) => key in obj ? __defProp$J(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3514
- var __publicField$J = (obj, key, value) => {
3515
- __defNormalProp$J(obj, typeof key !== "symbol" ? key + "" : key, value);
3561
+ var __defProp$L = Object.defineProperty;
3562
+ var __defNormalProp$L = (obj, key, value) => key in obj ? __defProp$L(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3563
+ var __publicField$L = (obj, key, value) => {
3564
+ __defNormalProp$L(obj, typeof key !== "symbol" ? key + "" : key, value);
3516
3565
  return value;
3517
3566
  };
3518
3567
  class CheckoutFinish {
3519
3568
  constructor(page) {
3520
3569
  this.page = page;
3521
- __publicField$J(this, "headline");
3522
- __publicField$J(this, "orderNumberText");
3523
- __publicField$J(this, "grandTotalPrice");
3524
- __publicField$J(this, "taxPrice");
3525
- __publicField$J(this, "cartLineItemImages");
3526
- __publicField$J(this, "orderNumberRegex", /Your order number: #(\d+)/);
3570
+ __publicField$L(this, "headline");
3571
+ __publicField$L(this, "orderNumberText");
3572
+ __publicField$L(this, "grandTotalPrice");
3573
+ __publicField$L(this, "taxPrice");
3574
+ __publicField$L(this, "cartLineItemImages");
3575
+ __publicField$L(this, "orderNumberRegex", /Your order number: #(\d+)/);
3527
3576
  this.headline = page.getByRole("heading", { name: "Thank you for your order" });
3528
3577
  this.orderNumberText = page.getByText(this.orderNumberRegex);
3529
3578
  this.grandTotalPrice = page.locator('dt:has-text("Grand total") + dd');
@@ -3552,16 +3601,16 @@ class CheckoutFinish {
3552
3601
  }
3553
3602
  }
3554
3603
 
3555
- var __defProp$I = Object.defineProperty;
3556
- var __defNormalProp$I = (obj, key, value) => key in obj ? __defProp$I(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3557
- var __publicField$I = (obj, key, value) => {
3558
- __defNormalProp$I(obj, typeof key !== "symbol" ? key + "" : key, value);
3604
+ var __defProp$K = Object.defineProperty;
3605
+ var __defNormalProp$K = (obj, key, value) => key in obj ? __defProp$K(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3606
+ var __publicField$K = (obj, key, value) => {
3607
+ __defNormalProp$K(obj, typeof key !== "symbol" ? key + "" : key, value);
3559
3608
  return value;
3560
3609
  };
3561
3610
  class CheckoutRegister {
3562
3611
  constructor(page) {
3563
3612
  this.page = page;
3564
- __publicField$I(this, "cartLineItemImages");
3613
+ __publicField$K(this, "cartLineItemImages");
3565
3614
  this.cartLineItemImages = page.locator(".line-item-img-link");
3566
3615
  }
3567
3616
  url() {
@@ -3569,24 +3618,24 @@ class CheckoutRegister {
3569
3618
  }
3570
3619
  }
3571
3620
 
3572
- var __defProp$H = Object.defineProperty;
3573
- var __defNormalProp$H = (obj, key, value) => key in obj ? __defProp$H(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3574
- var __publicField$H = (obj, key, value) => {
3575
- __defNormalProp$H(obj, typeof key !== "symbol" ? key + "" : key, value);
3621
+ var __defProp$J = Object.defineProperty;
3622
+ var __defNormalProp$J = (obj, key, value) => key in obj ? __defProp$J(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3623
+ var __publicField$J = (obj, key, value) => {
3624
+ __defNormalProp$J(obj, typeof key !== "symbol" ? key + "" : key, value);
3576
3625
  return value;
3577
3626
  };
3578
3627
  class Account {
3579
3628
  constructor(page, instanceMeta) {
3580
3629
  this.page = page;
3581
3630
  this.instanceMeta = instanceMeta;
3582
- __publicField$H(this, "headline");
3583
- __publicField$H(this, "personalDataCardTitle");
3584
- __publicField$H(this, "paymentMethodCardTitle");
3585
- __publicField$H(this, "billingAddressCardTitle");
3586
- __publicField$H(this, "shippingAddressCardTitle");
3587
- __publicField$H(this, "newsletterCheckbox");
3588
- __publicField$H(this, "newsletterRegistrationSuccessMessage");
3589
- __publicField$H(this, "customerGroupRequestMessage");
3631
+ __publicField$J(this, "headline");
3632
+ __publicField$J(this, "personalDataCardTitle");
3633
+ __publicField$J(this, "paymentMethodCardTitle");
3634
+ __publicField$J(this, "billingAddressCardTitle");
3635
+ __publicField$J(this, "shippingAddressCardTitle");
3636
+ __publicField$J(this, "newsletterCheckbox");
3637
+ __publicField$J(this, "newsletterRegistrationSuccessMessage");
3638
+ __publicField$J(this, "customerGroupRequestMessage");
3590
3639
  this.headline = page.getByRole("heading", { name: "Overview" });
3591
3640
  this.personalDataCardTitle = page.getByRole("heading", { name: "Personal data" });
3592
3641
  this.paymentMethodCardTitle = page.getByRole("heading", { name: "Default payment method" });
@@ -3608,40 +3657,46 @@ class Account {
3608
3657
  }
3609
3658
  }
3610
3659
 
3611
- var __defProp$G = Object.defineProperty;
3612
- var __defNormalProp$G = (obj, key, value) => key in obj ? __defProp$G(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3613
- var __publicField$G = (obj, key, value) => {
3614
- __defNormalProp$G(obj, typeof key !== "symbol" ? key + "" : key, value);
3660
+ var __defProp$I = Object.defineProperty;
3661
+ var __defNormalProp$I = (obj, key, value) => key in obj ? __defProp$I(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3662
+ var __publicField$I = (obj, key, value) => {
3663
+ __defNormalProp$I(obj, typeof key !== "symbol" ? key + "" : key, value);
3615
3664
  return value;
3616
3665
  };
3617
3666
  class AccountLogin {
3618
3667
  constructor(page) {
3619
3668
  this.page = page;
3620
- __publicField$G(this, "emailInput");
3621
- __publicField$G(this, "passwordInput");
3622
- __publicField$G(this, "forgotPasswordLink");
3623
- __publicField$G(this, "loginButton");
3624
- __publicField$G(this, "logoutLink");
3625
- __publicField$G(this, "successAlert");
3626
- __publicField$G(this, "invalidCredentialsAlert");
3627
- __publicField$G(this, "passwordUpdatedAlert");
3669
+ __publicField$I(this, "emailInput");
3670
+ __publicField$I(this, "passwordInput");
3671
+ __publicField$I(this, "forgotPasswordLink");
3672
+ __publicField$I(this, "loginButton");
3673
+ __publicField$I(this, "logoutLink");
3674
+ __publicField$I(this, "successAlert");
3675
+ __publicField$I(this, "invalidCredentialsAlert");
3676
+ __publicField$I(this, "passwordUpdatedAlert");
3628
3677
  // Inputs for registration
3629
- __publicField$G(this, "personalFormArea");
3630
- __publicField$G(this, "billingAddressFormArea");
3631
- __publicField$G(this, "accountTypeSelect");
3632
- __publicField$G(this, "salutationSelect");
3633
- __publicField$G(this, "firstNameInput");
3634
- __publicField$G(this, "lastNameInput");
3635
- __publicField$G(this, "companyInput");
3636
- __publicField$G(this, "departmentInput");
3637
- __publicField$G(this, "vatRegNoInput");
3638
- __publicField$G(this, "registerEmailInput");
3639
- __publicField$G(this, "registerPasswordInput");
3640
- __publicField$G(this, "streetAddressInput");
3641
- __publicField$G(this, "cityInput");
3642
- __publicField$G(this, "countryInput");
3643
- __publicField$G(this, "postalCodeInput");
3644
- __publicField$G(this, "registerButton");
3678
+ __publicField$I(this, "personalFormArea");
3679
+ __publicField$I(this, "billingAddressFormArea");
3680
+ __publicField$I(this, "accountTypeSelect");
3681
+ __publicField$I(this, "salutationSelect");
3682
+ __publicField$I(this, "firstNameInput");
3683
+ __publicField$I(this, "lastNameInput");
3684
+ __publicField$I(this, "companyInput");
3685
+ __publicField$I(this, "departmentInput");
3686
+ __publicField$I(this, "vatRegNoInput");
3687
+ __publicField$I(this, "registerEmailInput");
3688
+ __publicField$I(this, "registerPasswordInput");
3689
+ __publicField$I(this, "streetAddressInput");
3690
+ __publicField$I(this, "cityInput");
3691
+ __publicField$I(this, "countryInput");
3692
+ __publicField$I(this, "postalCodeInput");
3693
+ __publicField$I(this, "registerButton");
3694
+ // Inputs for reCaptcha
3695
+ __publicField$I(this, "greCaptchaV2Container");
3696
+ __publicField$I(this, "greCaptchaV2Input");
3697
+ __publicField$I(this, "greCaptchaV3Input");
3698
+ __publicField$I(this, "greCaptchaProtectionInformation");
3699
+ __publicField$I(this, "greCaptchaBadge");
3645
3700
  this.emailInput = page.getByLabel("Your email address");
3646
3701
  this.passwordInput = page.getByLabel("Your password");
3647
3702
  this.loginButton = page.getByRole("button", { name: "Log in" });
@@ -3667,32 +3722,37 @@ class AccountLogin {
3667
3722
  this.logoutLink = page.getByRole("link", { name: "Log out" });
3668
3723
  this.successAlert = page.getByText("Successfully logged out.");
3669
3724
  this.passwordUpdatedAlert = page.getByText("Your password has been updated.");
3725
+ this.greCaptchaV2Container = this.page.locator(".grecaptcha-v2-container");
3726
+ this.greCaptchaV2Input = this.page.locator(".grecaptcha-v2-input");
3727
+ this.greCaptchaV3Input = this.page.locator(".grecaptcha_v3-input");
3728
+ this.greCaptchaProtectionInformation = this.page.locator(".grecaptcha-protection-information");
3729
+ this.greCaptchaBadge = this.page.locator(".grecaptcha-badge");
3670
3730
  }
3671
3731
  url() {
3672
3732
  return "account/login";
3673
3733
  }
3674
3734
  }
3675
3735
 
3676
- var __defProp$F = Object.defineProperty;
3677
- var __defNormalProp$F = (obj, key, value) => key in obj ? __defProp$F(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3678
- var __publicField$F = (obj, key, value) => {
3679
- __defNormalProp$F(obj, typeof key !== "symbol" ? key + "" : key, value);
3736
+ var __defProp$H = Object.defineProperty;
3737
+ var __defNormalProp$H = (obj, key, value) => key in obj ? __defProp$H(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3738
+ var __publicField$H = (obj, key, value) => {
3739
+ __defNormalProp$H(obj, typeof key !== "symbol" ? key + "" : key, value);
3680
3740
  return value;
3681
3741
  };
3682
3742
  class AccountRecover {
3683
3743
  constructor(page) {
3684
3744
  this.page = page;
3685
- __publicField$F(this, "passwordRecoveryForm");
3686
- __publicField$F(this, "title");
3687
- __publicField$F(this, "subtitle");
3688
- __publicField$F(this, "emailInput");
3689
- __publicField$F(this, "requestEmailButton");
3690
- __publicField$F(this, "backButton");
3691
- __publicField$F(this, "passwordResetEmailSentMessage");
3692
- __publicField$F(this, "newPasswordInput");
3693
- __publicField$F(this, "newPasswordConfirmInput");
3694
- __publicField$F(this, "changePasswordButton");
3695
- __publicField$F(this, "invalidLinkMessage");
3745
+ __publicField$H(this, "passwordRecoveryForm");
3746
+ __publicField$H(this, "title");
3747
+ __publicField$H(this, "subtitle");
3748
+ __publicField$H(this, "emailInput");
3749
+ __publicField$H(this, "requestEmailButton");
3750
+ __publicField$H(this, "backButton");
3751
+ __publicField$H(this, "passwordResetEmailSentMessage");
3752
+ __publicField$H(this, "newPasswordInput");
3753
+ __publicField$H(this, "newPasswordConfirmInput");
3754
+ __publicField$H(this, "changePasswordButton");
3755
+ __publicField$H(this, "invalidLinkMessage");
3696
3756
  this.passwordRecoveryForm = page.locator(".account-recover-password-form");
3697
3757
  const cardTitle = this.passwordRecoveryForm.locator(".card-title");
3698
3758
  this.title = cardTitle.getByText("Password recovery");
@@ -3714,36 +3774,36 @@ class AccountRecover {
3714
3774
  }
3715
3775
  }
3716
3776
 
3717
- var __defProp$E = Object.defineProperty;
3718
- var __defNormalProp$E = (obj, key, value) => key in obj ? __defProp$E(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3719
- var __publicField$E = (obj, key, value) => {
3720
- __defNormalProp$E(obj, typeof key !== "symbol" ? key + "" : key, value);
3777
+ var __defProp$G = Object.defineProperty;
3778
+ var __defNormalProp$G = (obj, key, value) => key in obj ? __defProp$G(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3779
+ var __publicField$G = (obj, key, value) => {
3780
+ __defNormalProp$G(obj, typeof key !== "symbol" ? key + "" : key, value);
3721
3781
  return value;
3722
3782
  };
3723
3783
  class AccountProfile {
3724
3784
  constructor(page, instanceMeta) {
3725
3785
  this.page = page;
3726
3786
  this.instanceMeta = instanceMeta;
3727
- __publicField$E(this, "salutationSelect");
3728
- __publicField$E(this, "firstNameInput");
3729
- __publicField$E(this, "lastNameInput");
3730
- __publicField$E(this, "saveProfileButton");
3731
- __publicField$E(this, "changeEmailButton");
3732
- __publicField$E(this, "emailAddressInput");
3733
- __publicField$E(this, "emailAddressConfirmInput");
3734
- __publicField$E(this, "emailConfirmPasswordInput");
3735
- __publicField$E(this, "saveEmailAddressButton");
3736
- __publicField$E(this, "changePasswordButton");
3737
- __publicField$E(this, "newPasswordInput");
3738
- __publicField$E(this, "newPasswordConfirmInput");
3739
- __publicField$E(this, "currentPasswordInput");
3740
- __publicField$E(this, "saveNewPasswordButton");
3741
- __publicField$E(this, "loginDataEmailAddress");
3742
- __publicField$E(this, "emailUpdateMessage");
3743
- __publicField$E(this, "passwordUpdateMessage");
3744
- __publicField$E(this, "emailValidationAlert");
3745
- __publicField$E(this, "emailUpdateFailureAlert");
3746
- __publicField$E(this, "passwordUpdateFailureAlert");
3787
+ __publicField$G(this, "salutationSelect");
3788
+ __publicField$G(this, "firstNameInput");
3789
+ __publicField$G(this, "lastNameInput");
3790
+ __publicField$G(this, "saveProfileButton");
3791
+ __publicField$G(this, "changeEmailButton");
3792
+ __publicField$G(this, "emailAddressInput");
3793
+ __publicField$G(this, "emailAddressConfirmInput");
3794
+ __publicField$G(this, "emailConfirmPasswordInput");
3795
+ __publicField$G(this, "saveEmailAddressButton");
3796
+ __publicField$G(this, "changePasswordButton");
3797
+ __publicField$G(this, "newPasswordInput");
3798
+ __publicField$G(this, "newPasswordConfirmInput");
3799
+ __publicField$G(this, "currentPasswordInput");
3800
+ __publicField$G(this, "saveNewPasswordButton");
3801
+ __publicField$G(this, "loginDataEmailAddress");
3802
+ __publicField$G(this, "emailUpdateMessage");
3803
+ __publicField$G(this, "passwordUpdateMessage");
3804
+ __publicField$G(this, "emailValidationAlert");
3805
+ __publicField$G(this, "emailUpdateFailureAlert");
3806
+ __publicField$G(this, "passwordUpdateFailureAlert");
3747
3807
  this.salutationSelect = page.getByLabel("Salutation");
3748
3808
  this.firstNameInput = page.getByLabel("First name");
3749
3809
  this.lastNameInput = page.getByLabel("Last name");
@@ -3783,25 +3843,21 @@ class AccountProfile {
3783
3843
  }
3784
3844
  }
3785
3845
 
3786
- var __defProp$D = Object.defineProperty;
3787
- var __defNormalProp$D = (obj, key, value) => key in obj ? __defProp$D(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3788
- var __publicField$D = (obj, key, value) => {
3789
- __defNormalProp$D(obj, typeof key !== "symbol" ? key + "" : key, value);
3846
+ var __defProp$F = Object.defineProperty;
3847
+ var __defNormalProp$F = (obj, key, value) => key in obj ? __defProp$F(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3848
+ var __publicField$F = (obj, key, value) => {
3849
+ __defNormalProp$F(obj, typeof key !== "symbol" ? key + "" : key, value);
3790
3850
  return value;
3791
3851
  };
3792
3852
  class AccountOrder {
3793
3853
  constructor(page) {
3794
3854
  this.page = page;
3795
- __publicField$D(this, "cartLineItemImages");
3796
- __publicField$D(this, "orderExpandButton");
3797
- __publicField$D(this, "digitalProductDownloadButton");
3798
- __publicField$D(this, "dialogOrderCancel");
3799
- __publicField$D(this, "dialogOrderCancelButton");
3800
- __publicField$D(this, "dialogBackButton");
3801
- __publicField$D(this, "getViewSubscriptionLink", (orderNumber) => {
3802
- const orderContainer = this.page.locator(".order-item-header", { hasText: `Order Number: ${orderNumber}` });
3803
- return orderContainer.getByText("View Subscription");
3804
- });
3855
+ __publicField$F(this, "cartLineItemImages");
3856
+ __publicField$F(this, "orderExpandButton");
3857
+ __publicField$F(this, "digitalProductDownloadButton");
3858
+ __publicField$F(this, "dialogOrderCancel");
3859
+ __publicField$F(this, "dialogOrderCancelButton");
3860
+ __publicField$F(this, "dialogBackButton");
3805
3861
  this.orderExpandButton = page.getByRole("button", { name: /Expand|Show details/ }).first();
3806
3862
  this.cartLineItemImages = page.locator(".line-item-img-link");
3807
3863
  this.digitalProductDownloadButton = page.getByRole("link", { name: "Download" }).first();
@@ -3849,20 +3905,20 @@ class AccountOrder {
3849
3905
  }
3850
3906
  }
3851
3907
 
3852
- var __defProp$C = Object.defineProperty;
3853
- var __defNormalProp$C = (obj, key, value) => key in obj ? __defProp$C(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3854
- var __publicField$C = (obj, key, value) => {
3855
- __defNormalProp$C(obj, typeof key !== "symbol" ? key + "" : key, value);
3908
+ var __defProp$E = Object.defineProperty;
3909
+ var __defNormalProp$E = (obj, key, value) => key in obj ? __defProp$E(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3910
+ var __publicField$E = (obj, key, value) => {
3911
+ __defNormalProp$E(obj, typeof key !== "symbol" ? key + "" : key, value);
3856
3912
  return value;
3857
3913
  };
3858
3914
  class AccountAddresses {
3859
3915
  constructor(page) {
3860
3916
  this.page = page;
3861
- __publicField$C(this, "addNewAddressButton");
3862
- __publicField$C(this, "editBillingAddressButton");
3863
- __publicField$C(this, "editShippingAddressButton");
3864
- __publicField$C(this, "useDefaultBillingAddressButton");
3865
- __publicField$C(this, "useDefaultShippingAddressButton");
3917
+ __publicField$E(this, "addNewAddressButton");
3918
+ __publicField$E(this, "editBillingAddressButton");
3919
+ __publicField$E(this, "editShippingAddressButton");
3920
+ __publicField$E(this, "useDefaultBillingAddressButton");
3921
+ __publicField$E(this, "useDefaultShippingAddressButton");
3866
3922
  this.addNewAddressButton = page.getByRole("link", { name: /Add (new )?address/ });
3867
3923
  this.editBillingAddressButton = page.getByRole("link", { name: "Edit address" }).first();
3868
3924
  this.editShippingAddressButton = page.getByRole("link", { name: "Edit address" }).nth(1);
@@ -3874,19 +3930,19 @@ class AccountAddresses {
3874
3930
  }
3875
3931
  }
3876
3932
 
3877
- var __defProp$B = Object.defineProperty;
3878
- var __defNormalProp$B = (obj, key, value) => key in obj ? __defProp$B(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3879
- var __publicField$B = (obj, key, value) => {
3880
- __defNormalProp$B(obj, typeof key !== "symbol" ? key + "" : key, value);
3933
+ var __defProp$D = Object.defineProperty;
3934
+ var __defNormalProp$D = (obj, key, value) => key in obj ? __defProp$D(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3935
+ var __publicField$D = (obj, key, value) => {
3936
+ __defNormalProp$D(obj, typeof key !== "symbol" ? key + "" : key, value);
3881
3937
  return value;
3882
3938
  };
3883
3939
  class AccountPayment {
3884
3940
  constructor(page) {
3885
3941
  this.page = page;
3886
- __publicField$B(this, "cashOnDeliveryOption");
3887
- __publicField$B(this, "paidInAdvanceOption");
3888
- __publicField$B(this, "invoiceOption");
3889
- __publicField$B(this, "changeDefaultPaymentButton");
3942
+ __publicField$D(this, "cashOnDeliveryOption");
3943
+ __publicField$D(this, "paidInAdvanceOption");
3944
+ __publicField$D(this, "invoiceOption");
3945
+ __publicField$D(this, "changeDefaultPaymentButton");
3890
3946
  this.cashOnDeliveryOption = page.getByLabel("Cash on delivery");
3891
3947
  this.paidInAdvanceOption = page.getByLabel("Paid in advance");
3892
3948
  this.invoiceOption = page.getByLabel("Invoice");
@@ -3897,17 +3953,17 @@ class AccountPayment {
3897
3953
  }
3898
3954
  }
3899
3955
 
3900
- var __defProp$A = Object.defineProperty;
3901
- var __defNormalProp$A = (obj, key, value) => key in obj ? __defProp$A(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3902
- var __publicField$A = (obj, key, value) => {
3903
- __defNormalProp$A(obj, typeof key !== "symbol" ? key + "" : key, value);
3956
+ var __defProp$C = Object.defineProperty;
3957
+ var __defNormalProp$C = (obj, key, value) => key in obj ? __defProp$C(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3958
+ var __publicField$C = (obj, key, value) => {
3959
+ __defNormalProp$C(obj, typeof key !== "symbol" ? key + "" : key, value);
3904
3960
  return value;
3905
3961
  };
3906
3962
  class Search {
3907
3963
  constructor(page) {
3908
3964
  this.page = page;
3909
- __publicField$A(this, "headline");
3910
- __publicField$A(this, "productImages");
3965
+ __publicField$C(this, "headline");
3966
+ __publicField$C(this, "productImages");
3911
3967
  this.headline = page.locator("h1.search-headline");
3912
3968
  this.productImages = page.locator(".product-image-wrapper");
3913
3969
  }
@@ -3916,25 +3972,25 @@ class Search {
3916
3972
  }
3917
3973
  }
3918
3974
 
3919
- var __defProp$z = Object.defineProperty;
3920
- var __defNormalProp$z = (obj, key, value) => key in obj ? __defProp$z(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3921
- var __publicField$z = (obj, key, value) => {
3922
- __defNormalProp$z(obj, typeof key !== "symbol" ? key + "" : key, value);
3975
+ var __defProp$B = Object.defineProperty;
3976
+ var __defNormalProp$B = (obj, key, value) => key in obj ? __defProp$B(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3977
+ var __publicField$B = (obj, key, value) => {
3978
+ __defNormalProp$B(obj, typeof key !== "symbol" ? key + "" : key, value);
3923
3979
  return value;
3924
3980
  };
3925
3981
  class SearchSuggest extends Home {
3926
3982
  constructor(page) {
3927
3983
  super(page);
3928
3984
  this.page = page;
3929
- __publicField$z(this, "searchSuggestLineItemImages");
3930
- __publicField$z(this, "searchInput");
3931
- __publicField$z(this, "searchIcon");
3932
- __publicField$z(this, "searchSuggestNoResult");
3933
- __publicField$z(this, "searchSuggestLineItemName");
3934
- __publicField$z(this, "searchSuggestLineItemPrice");
3935
- __publicField$z(this, "searchSuggestTotalLink");
3936
- __publicField$z(this, "searchResultTotal");
3937
- __publicField$z(this, "searchHeadline");
3985
+ __publicField$B(this, "searchSuggestLineItemImages");
3986
+ __publicField$B(this, "searchInput");
3987
+ __publicField$B(this, "searchIcon");
3988
+ __publicField$B(this, "searchSuggestNoResult");
3989
+ __publicField$B(this, "searchSuggestLineItemName");
3990
+ __publicField$B(this, "searchSuggestLineItemPrice");
3991
+ __publicField$B(this, "searchSuggestTotalLink");
3992
+ __publicField$B(this, "searchResultTotal");
3993
+ __publicField$B(this, "searchHeadline");
3938
3994
  this.searchSuggestLineItemImages = page.locator(".search-suggest-product-image-container");
3939
3995
  this.searchInput = page.locator(".header-search-input");
3940
3996
  this.searchIcon = page.locator(".header-search-icon");
@@ -3964,31 +4020,31 @@ class CustomRegister extends AccountLogin {
3964
4020
  }
3965
4021
  }
3966
4022
 
3967
- var __defProp$y = Object.defineProperty;
3968
- var __defNormalProp$y = (obj, key, value) => key in obj ? __defProp$y(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3969
- var __publicField$y = (obj, key, value) => {
3970
- __defNormalProp$y(obj, typeof key !== "symbol" ? key + "" : key, value);
4023
+ var __defProp$A = Object.defineProperty;
4024
+ var __defNormalProp$A = (obj, key, value) => key in obj ? __defProp$A(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4025
+ var __publicField$A = (obj, key, value) => {
4026
+ __defNormalProp$A(obj, typeof key !== "symbol" ? key + "" : key, value);
3971
4027
  return value;
3972
4028
  };
3973
4029
  class CheckoutOrderEdit {
3974
4030
  constructor(page) {
3975
4031
  this.page = page;
3976
- __publicField$y(this, "completePaymentButton");
3977
- __publicField$y(this, "orderCancelButton");
3978
- __publicField$y(this, "dialogOrderCancel");
3979
- __publicField$y(this, "dialogOrderCancelButton");
3980
- __publicField$y(this, "dialogBackButton");
4032
+ __publicField$A(this, "completePaymentButton");
4033
+ __publicField$A(this, "orderCancelButton");
4034
+ __publicField$A(this, "dialogOrderCancel");
4035
+ __publicField$A(this, "dialogOrderCancelButton");
4036
+ __publicField$A(this, "dialogBackButton");
3981
4037
  /**
3982
4038
  * Payment options
3983
4039
  */
3984
- __publicField$y(this, "paymentCashOnDelivery");
3985
- __publicField$y(this, "paymentPaidInAdvance");
3986
- __publicField$y(this, "paymentInvoice");
4040
+ __publicField$A(this, "paymentCashOnDelivery");
4041
+ __publicField$A(this, "paymentPaidInAdvance");
4042
+ __publicField$A(this, "paymentInvoice");
3987
4043
  /**
3988
4044
  * Shipping options
3989
4045
  */
3990
- __publicField$y(this, "shippingStandard");
3991
- __publicField$y(this, "shippingExpress");
4046
+ __publicField$A(this, "shippingStandard");
4047
+ __publicField$A(this, "shippingExpress");
3992
4048
  this.completePaymentButton = page.getByRole("button", { name: "Complete payment" });
3993
4049
  this.orderCancelButton = page.getByRole("button", { name: "Cancel order" });
3994
4050
  this.dialogOrderCancel = page.getByRole("dialog", { name: "Cancel order" });
@@ -4013,25 +4069,25 @@ class CheckoutOrderEdit {
4013
4069
  }
4014
4070
  }
4015
4071
 
4016
- var __defProp$x = Object.defineProperty;
4017
- var __defNormalProp$x = (obj, key, value) => key in obj ? __defProp$x(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4018
- var __publicField$x = (obj, key, value) => {
4019
- __defNormalProp$x(obj, typeof key !== "symbol" ? key + "" : key, value);
4072
+ var __defProp$z = Object.defineProperty;
4073
+ var __defNormalProp$z = (obj, key, value) => key in obj ? __defProp$z(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4074
+ var __publicField$z = (obj, key, value) => {
4075
+ __defNormalProp$z(obj, typeof key !== "symbol" ? key + "" : key, value);
4020
4076
  return value;
4021
4077
  };
4022
4078
  class AccountAddressCreate {
4023
4079
  constructor(page) {
4024
4080
  this.page = page;
4025
- __publicField$x(this, "salutationDropdown");
4026
- __publicField$x(this, "firstNameInput");
4027
- __publicField$x(this, "lastNameInput");
4028
- __publicField$x(this, "companyInput");
4029
- __publicField$x(this, "departmentInput");
4030
- __publicField$x(this, "streetInput");
4031
- __publicField$x(this, "zipcodeInput");
4032
- __publicField$x(this, "cityInput");
4033
- __publicField$x(this, "countryDropdown");
4034
- __publicField$x(this, "saveAddressButton");
4081
+ __publicField$z(this, "salutationDropdown");
4082
+ __publicField$z(this, "firstNameInput");
4083
+ __publicField$z(this, "lastNameInput");
4084
+ __publicField$z(this, "companyInput");
4085
+ __publicField$z(this, "departmentInput");
4086
+ __publicField$z(this, "streetInput");
4087
+ __publicField$z(this, "zipcodeInput");
4088
+ __publicField$z(this, "cityInput");
4089
+ __publicField$z(this, "countryDropdown");
4090
+ __publicField$z(this, "saveAddressButton");
4035
4091
  this.salutationDropdown = page.locator("#addresspersonalSalutation");
4036
4092
  this.firstNameInput = page.locator("#addresspersonalFirstName");
4037
4093
  this.lastNameInput = page.locator("#addresspersonalLastName");
@@ -4048,6 +4104,88 @@ class AccountAddressCreate {
4048
4104
  }
4049
4105
  }
4050
4106
 
4107
+ var __defProp$y = Object.defineProperty;
4108
+ var __defNormalProp$y = (obj, key, value) => key in obj ? __defProp$y(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4109
+ var __publicField$y = (obj, key, value) => {
4110
+ __defNormalProp$y(obj, typeof key !== "symbol" ? key + "" : key, value);
4111
+ return value;
4112
+ };
4113
+ class PageNotFound {
4114
+ constructor(page) {
4115
+ this.page = page;
4116
+ __publicField$y(this, "pageNotFoundImage");
4117
+ __publicField$y(this, "headline");
4118
+ __publicField$y(this, "pageNotFoundMessage");
4119
+ __publicField$y(this, "backToShopButton");
4120
+ this.pageNotFoundImage = page.getByAltText("Page not found");
4121
+ this.headline = page.getByRole("heading", { name: "Page not found" });
4122
+ this.pageNotFoundMessage = page.getByText(`We are sorry, the page you're looking for could not be found. It may no longer exist or may have been moved.`);
4123
+ this.backToShopButton = page.getByRole("link", { name: "Back to shop" });
4124
+ }
4125
+ url() {
4126
+ return "non-existing-page";
4127
+ }
4128
+ }
4129
+
4130
+ var __defProp$x = Object.defineProperty;
4131
+ var __defNormalProp$x = (obj, key, value) => key in obj ? __defProp$x(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4132
+ var __publicField$x = (obj, key, value) => {
4133
+ __defNormalProp$x(obj, typeof key !== "symbol" ? key + "" : key, value);
4134
+ return value;
4135
+ };
4136
+ class ContactForm extends Home {
4137
+ constructor(page) {
4138
+ super(page);
4139
+ this.page = page;
4140
+ __publicField$x(this, "contactModal");
4141
+ __publicField$x(this, "contactSuccessModal");
4142
+ __publicField$x(this, "salutationSelect");
4143
+ __publicField$x(this, "firstNameInput");
4144
+ __publicField$x(this, "lastNameInput");
4145
+ __publicField$x(this, "emailInput");
4146
+ __publicField$x(this, "phoneInput");
4147
+ __publicField$x(this, "subjectInput");
4148
+ __publicField$x(this, "commentInput");
4149
+ __publicField$x(this, "privacyPolicyCheckbox");
4150
+ __publicField$x(this, "submitButton");
4151
+ __publicField$x(this, "contactSuccessMessage");
4152
+ __publicField$x(this, "cardTitle");
4153
+ /**
4154
+ * Captcha locators
4155
+ */
4156
+ __publicField$x(this, "basicCaptcha");
4157
+ __publicField$x(this, "basicCaptchaImage");
4158
+ __publicField$x(this, "basicCaptchaRefreshButton");
4159
+ __publicField$x(this, "basicCaptchaInput");
4160
+ __publicField$x(this, "greCaptchaV2Container");
4161
+ __publicField$x(this, "greCaptchaV2Input");
4162
+ __publicField$x(this, "greCaptchaProtectionInformation");
4163
+ this.contactModal = this.page.getByRole("dialog").filter({ has: this.page.getByLabel("Contact", { exact: true }) });
4164
+ this.salutationSelect = this.contactModal.getByLabel("Salutation*");
4165
+ this.firstNameInput = this.contactModal.getByLabel("First name*");
4166
+ this.lastNameInput = this.contactModal.getByLabel("Last name*");
4167
+ this.emailInput = this.contactModal.getByLabel("Your email address*");
4168
+ this.phoneInput = this.contactModal.getByLabel("Phone*");
4169
+ this.subjectInput = this.contactModal.getByLabel("Subject*");
4170
+ this.commentInput = this.contactModal.getByLabel("Comment*");
4171
+ this.privacyPolicyCheckbox = this.contactModal.getByRole("checkbox", { name: "By selecting continue you confirm that you have read and agree to our" });
4172
+ this.submitButton = this.contactModal.getByRole("button", { name: "Submit" });
4173
+ this.contactSuccessModal = this.page.getByRole("dialog").filter({ has: this.page.locator(".confirm-message") });
4174
+ this.contactSuccessMessage = this.contactSuccessModal.locator(".confirm-message");
4175
+ this.cardTitle = this.contactModal.locator(".card-title");
4176
+ this.basicCaptcha = this.contactModal.locator(".basic-captcha");
4177
+ this.basicCaptchaImage = this.basicCaptcha.locator("img");
4178
+ this.basicCaptchaRefreshButton = this.basicCaptcha.locator(".basic-captcha-content-refresh-icon");
4179
+ this.basicCaptchaInput = this.basicCaptcha.locator('input[name="shopware_basic_captcha_confirm"]');
4180
+ this.greCaptchaV2Container = this.contactModal.locator(".grecaptcha-v2-container");
4181
+ this.greCaptchaV2Input = this.contactModal.locator(".grecaptcha-v2-input");
4182
+ this.greCaptchaProtectionInformation = this.contactModal.locator(".grecaptcha-protection-information");
4183
+ }
4184
+ url() {
4185
+ return new Error("Function not implemented, because it is a modal page object").message;
4186
+ }
4187
+ }
4188
+
4051
4189
  const StorefrontPageObjects = {
4052
4190
  Home,
4053
4191
  ProductDetail: ProductDetail$1,
@@ -4068,7 +4206,9 @@ const StorefrontPageObjects = {
4068
4206
  Search,
4069
4207
  SearchSuggest,
4070
4208
  CustomRegister,
4071
- CheckoutOrderEdit
4209
+ CheckoutOrderEdit,
4210
+ PageNotFound,
4211
+ ContactForm
4072
4212
  };
4073
4213
  const test$6 = test$e.extend({
4074
4214
  StorefrontHome: async ({ StorefrontPage }, use) => {
@@ -4130,6 +4270,12 @@ const test$6 = test$e.extend({
4130
4270
  },
4131
4271
  StorefrontCheckoutOrderEdit: async ({ StorefrontPage }, use) => {
4132
4272
  await use(new CheckoutOrderEdit(StorefrontPage));
4273
+ },
4274
+ StorefrontPageNotFound: async ({ StorefrontPage }, use) => {
4275
+ await use(new PageNotFound(StorefrontPage));
4276
+ },
4277
+ StorefrontContactForm: async ({ StorefrontPage }, use) => {
4278
+ await use(new ContactForm(StorefrontPage));
4133
4279
  }
4134
4280
  });
4135
4281