@shopware-ag/acceptance-test-suite 11.6.0 → 11.7.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$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);
389
+ var __defProp$Y = Object.defineProperty;
390
+ var __defNormalProp$Y = (obj, key, value) => key in obj ? __defProp$Y(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
391
+ var __publicField$Y = (obj, key, value) => {
392
+ __defNormalProp$Y(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$X(this, "context");
398
- __publicField$X(this, "options");
397
+ __publicField$Y(this, "context");
398
+ __publicField$Y(this, "options");
399
399
  this.context = context;
400
400
  this.options = options;
401
401
  }
@@ -502,13 +502,20 @@ const _AdminApiContext = class _AdminApiContext {
502
502
  let response = await methodMap[method](url, options);
503
503
  if (response.status() === 401) {
504
504
  await this.refreshAccessToken();
505
- const updatedOptions = { ...options, headers: { Authorization: `Bearer ${this.options["access_token"]}` } };
505
+ const updatedOptions = {
506
+ ...options,
507
+ data: options?.data ?? void 0,
508
+ headers: {
509
+ ...options?.headers || {},
510
+ Authorization: `Bearer ${this.options["access_token"]}`
511
+ }
512
+ };
506
513
  response = await methodMap[method](url, updatedOptions);
507
514
  }
508
515
  return response;
509
516
  }
510
517
  };
511
- __publicField$X(_AdminApiContext, "defaultOptions", {
518
+ __publicField$Y(_AdminApiContext, "defaultOptions", {
512
519
  app_url: process.env["APP_URL"],
513
520
  client_id: process.env["SHOPWARE_ACCESS_KEY_ID"],
514
521
  client_secret: process.env["SHOPWARE_SECRET_ACCESS_KEY"],
@@ -518,16 +525,16 @@ __publicField$X(_AdminApiContext, "defaultOptions", {
518
525
  });
519
526
  let AdminApiContext = _AdminApiContext;
520
527
 
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);
528
+ var __defProp$X = Object.defineProperty;
529
+ var __defNormalProp$X = (obj, key, value) => key in obj ? __defProp$X(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
530
+ var __publicField$X = (obj, key, value) => {
531
+ __defNormalProp$X(obj, typeof key !== "symbol" ? key + "" : key, value);
525
532
  return value;
526
533
  };
527
534
  const _StoreApiContext = class _StoreApiContext {
528
535
  constructor(context, options) {
529
- __publicField$W(this, "context");
530
- __publicField$W(this, "options");
536
+ __publicField$X(this, "context");
537
+ __publicField$X(this, "options");
531
538
  this.context = context;
532
539
  this.options = options;
533
540
  }
@@ -586,21 +593,21 @@ const _StoreApiContext = class _StoreApiContext {
586
593
  return this.context.head(url, options);
587
594
  }
588
595
  };
589
- __publicField$W(_StoreApiContext, "defaultOptions", {
596
+ __publicField$X(_StoreApiContext, "defaultOptions", {
590
597
  app_url: process.env["APP_URL"],
591
598
  ignoreHTTPSErrors: true
592
599
  });
593
600
  let StoreApiContext = _StoreApiContext;
594
601
 
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);
602
+ var __defProp$W = Object.defineProperty;
603
+ var __defNormalProp$W = (obj, key, value) => key in obj ? __defProp$W(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
604
+ var __publicField$W = (obj, key, value) => {
605
+ __defNormalProp$W(obj, typeof key !== "symbol" ? key + "" : key, value);
599
606
  return value;
600
607
  };
601
608
  class MailpitApiContext {
602
609
  constructor(context) {
603
- __publicField$V(this, "context");
610
+ __publicField$W(this, "context");
604
611
  this.context = context;
605
612
  }
606
613
  /**
@@ -897,17 +904,17 @@ const test$a = test$e.extend({
897
904
  }
898
905
  });
899
906
 
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);
907
+ var __defProp$V = Object.defineProperty;
908
+ var __defNormalProp$V = (obj, key, value) => key in obj ? __defProp$V(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
909
+ var __publicField$V = (obj, key, value) => {
910
+ __defNormalProp$V(obj, typeof key !== "symbol" ? key + "" : key, value);
904
911
  return value;
905
912
  };
906
913
  class Actor {
907
914
  constructor(name, page) {
908
- __publicField$U(this, "page");
909
- __publicField$U(this, "name");
910
- __publicField$U(this, "expects", expect);
915
+ __publicField$V(this, "page");
916
+ __publicField$V(this, "name");
917
+ __publicField$V(this, "expects", expect);
911
918
  this.name = name;
912
919
  this.page = page;
913
920
  }
@@ -956,31 +963,31 @@ function createRandomImage(width = 800, height = 600) {
956
963
  return new Image(width, height, buffer);
957
964
  }
958
965
 
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);
966
+ var __defProp$U = Object.defineProperty;
967
+ var __defNormalProp$U = (obj, key, value) => key in obj ? __defProp$U(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
968
+ var __publicField$U = (obj, key, value) => {
969
+ __defNormalProp$U(obj, typeof key !== "symbol" ? key + "" : key, value);
963
970
  return value;
964
971
  };
965
972
  class TestDataService {
966
973
  constructor(AdminApiClient, IdProvider, options) {
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");
974
+ __publicField$U(this, "AdminApiClient");
975
+ __publicField$U(this, "IdProvider");
976
+ __publicField$U(this, "namePrefix", "Test-");
977
+ __publicField$U(this, "nameSuffix", "");
978
+ __publicField$U(this, "defaultSalesChannel");
979
+ __publicField$U(this, "defaultTaxId");
980
+ __publicField$U(this, "defaultCurrencyId");
981
+ __publicField$U(this, "defaultCategoryId");
982
+ __publicField$U(this, "defaultLanguageId");
983
+ __publicField$U(this, "defaultCountryId");
984
+ __publicField$U(this, "defaultCustomerGroupId");
978
985
  /**
979
986
  * Configures if an automated cleanup of the data should be executed.
980
987
  *
981
988
  * @private
982
989
  */
983
- __publicField$T(this, "shouldCleanUp", true);
990
+ __publicField$U(this, "shouldCleanUp", true);
984
991
  /**
985
992
  * Configuration of higher priority entities for the cleanup operation.
986
993
  * These entities will be deleted before others.
@@ -988,26 +995,26 @@ class TestDataService {
988
995
  *
989
996
  * @private
990
997
  */
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"]);
998
+ __publicField$U(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
999
  /**
993
1000
  * A registry of all created records.
994
1001
  *
995
1002
  * @private
996
1003
  */
997
- __publicField$T(this, "createdRecords", []);
998
- __publicField$T(this, "restoreSystemConfig", {});
1004
+ __publicField$U(this, "createdRecords", []);
1005
+ __publicField$U(this, "restoreSystemConfig", {});
999
1006
  /**
1000
1007
  * A registry of all created sales channel records.
1001
1008
  *
1002
1009
  * @private
1003
1010
  */
1004
- __publicField$T(this, "createdSalesChannelRecords", []);
1011
+ __publicField$U(this, "createdSalesChannelRecords", []);
1005
1012
  /**
1006
1013
  * Function that generates combinations from n number of arrays
1007
1014
  * with m number of elements in them.
1008
1015
  * @param array
1009
1016
  */
1010
- __publicField$T(this, "combineAll", (array) => {
1017
+ __publicField$U(this, "combineAll", (array) => {
1011
1018
  const result = [];
1012
1019
  const max = array.length - 1;
1013
1020
  const helper = (tmpArray, i) => {
@@ -2109,6 +2116,29 @@ class TestDataService {
2109
2116
  const { data: address } = await response.json();
2110
2117
  return address;
2111
2118
  }
2119
+ /**
2120
+ * Retrieves a customer by its email address.
2121
+ *
2122
+ * @param email - The email address of the customer.
2123
+ * @returns The customer object.
2124
+ */
2125
+ async getCustomerByEmail(email) {
2126
+ const response = await this.AdminApiClient.post("search/customer", {
2127
+ data: {
2128
+ limit: 1,
2129
+ filter: [
2130
+ {
2131
+ type: "equals",
2132
+ field: "email",
2133
+ value: email
2134
+ }
2135
+ ]
2136
+ }
2137
+ });
2138
+ expect(response.ok()).toBeTruthy();
2139
+ const { data: result } = await response.json();
2140
+ return result[0];
2141
+ }
2112
2142
  /**
2113
2143
  * Retrieves a customer salutations by its key.
2114
2144
  *
@@ -2358,11 +2388,20 @@ class TestDataService {
2358
2388
  return date.toISOString().slice(0, 19).replace("T", " ");
2359
2389
  }
2360
2390
  /**
2391
+ * @deprecated Use `getCountry` instead.
2361
2392
  * Retrieves a country Id based on its iso2 code.
2362
2393
  *
2363
2394
  * @param iso2 - The iso2 code of the country, for example "DE".
2364
2395
  */
2365
2396
  async getCountryId(iso2) {
2397
+ return await this.getCountry(iso2);
2398
+ }
2399
+ /**
2400
+ * Retrieves a country based on its iso2 code.
2401
+ *
2402
+ * @param iso2 - The iso2 code of the country, for example "DE".
2403
+ */
2404
+ async getCountry(iso2) {
2366
2405
  const countryResponse = await this.AdminApiClient.post("search/country", {
2367
2406
  data: {
2368
2407
  limit: 1,
@@ -3108,16 +3147,16 @@ const test$8 = test$e.extend({
3108
3147
  }
3109
3148
  });
3110
3149
 
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);
3150
+ var __defProp$T = Object.defineProperty;
3151
+ var __defNormalProp$T = (obj, key, value) => key in obj ? __defProp$T(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3152
+ var __publicField$T = (obj, key, value) => {
3153
+ __defNormalProp$T(obj, typeof key !== "symbol" ? key + "" : key, value);
3115
3154
  return value;
3116
3155
  };
3117
3156
  class IdProvider {
3118
3157
  constructor(workerIndex, seed) {
3119
- __publicField$S(this, "workerIndex");
3120
- __publicField$S(this, "seed");
3158
+ __publicField$T(this, "workerIndex");
3159
+ __publicField$T(this, "seed");
3121
3160
  this.workerIndex = workerIndex;
3122
3161
  this.seed = seed;
3123
3162
  }
@@ -3201,42 +3240,45 @@ const test$7 = test$e.extend({
3201
3240
  ]
3202
3241
  });
3203
3242
 
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);
3243
+ var __defProp$S = Object.defineProperty;
3244
+ var __defNormalProp$S = (obj, key, value) => key in obj ? __defProp$S(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3245
+ var __publicField$S = (obj, key, value) => {
3246
+ __defNormalProp$S(obj, typeof key !== "symbol" ? key + "" : key, value);
3208
3247
  return value;
3209
3248
  };
3210
3249
  class Home {
3211
3250
  constructor(page) {
3212
3251
  this.page = page;
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");
3252
+ __publicField$S(this, "accountMenuButton");
3253
+ __publicField$S(this, "closeGuestSessionButton");
3254
+ __publicField$S(this, "productImages");
3255
+ __publicField$S(this, "productListItems");
3256
+ __publicField$S(this, "languagesDropdown");
3257
+ __publicField$S(this, "languagesMenuOptions");
3258
+ __publicField$S(this, "currenciesDropdown");
3259
+ __publicField$S(this, "currenciesMenuOptions");
3260
+ __publicField$S(this, "consentOnlyTechnicallyRequiredButton");
3261
+ __publicField$S(this, "consentConfigureButton");
3262
+ __publicField$S(this, "consentAcceptAllCookiesButton");
3263
+ __publicField$S(this, "consentCookiePreferences");
3264
+ __publicField$S(this, "consentCookiePermissionContent");
3265
+ __publicField$S(this, "consentDialog");
3266
+ __publicField$S(this, "consentDialogTechnicallyRequiredCheckbox");
3267
+ __publicField$S(this, "consentDialogStatisticsCheckbox");
3229
3268
  /**
3230
3269
  * @deprecated Use 'consentDialogMarketingCheckbox' instead
3231
3270
  */
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");
3271
+ __publicField$S(this, "consentDialogMarketingdCheckbox");
3272
+ __publicField$S(this, "consentDialogMarketingCheckbox");
3273
+ __publicField$S(this, "consentDialogAcceptAllCookiesButton");
3274
+ __publicField$S(this, "consentDialogSaveButton");
3275
+ __publicField$S(this, "consentCookieBannerContainer");
3276
+ __publicField$S(this, "offcanvasBackdrop");
3277
+ __publicField$S(this, "mainNavigationLink");
3278
+ __publicField$S(this, "contactFormLink");
3279
+ //wishlist
3280
+ __publicField$S(this, "wishlistIcon");
3281
+ __publicField$S(this, "wishlistBasket");
3240
3282
  this.accountMenuButton = page.getByLabel("Your account");
3241
3283
  this.closeGuestSessionButton = page.locator(".account-aside-btn");
3242
3284
  this.productImages = page.locator(".product-image-wrapper");
@@ -3273,6 +3315,8 @@ class Home {
3273
3315
  this.offcanvasBackdrop = page.locator(".offcanvas-backdrop");
3274
3316
  this.mainNavigationLink = page.locator(".main-navigation-link-text");
3275
3317
  this.contactFormLink = this.page.getByRole("listitem").getByTitle("Contact form", { exact: true });
3318
+ this.wishlistIcon = page.locator(".header-wishlist-icon");
3319
+ this.wishlistBasket = page.locator(".header-wishlist-badge");
3276
3320
  }
3277
3321
  async getMenuItemByCategoryName(categoryName) {
3278
3322
  const menuNavigationItem = this.page.locator(".nav-main").getByText(categoryName, { exact: true });
@@ -3288,6 +3332,9 @@ class Home {
3288
3332
  flyoutCategoryLink
3289
3333
  };
3290
3334
  }
3335
+ /**
3336
+ * @deprecated - use getListingItemByProductName instead
3337
+ */
3291
3338
  async getListingItemByProductId(productId) {
3292
3339
  const listingItem = this.page.getByRole("listitem").filter({ has: this.page.locator(`[value="${productId}"]`) });
3293
3340
  const productImage = listingItem.locator(".product-image-link");
@@ -3304,6 +3351,8 @@ class Home {
3304
3351
  const productListingPrice = listingItem.locator(".list-price-price");
3305
3352
  const productListingPricePercentage = listingItem.locator(".list-price-percentage");
3306
3353
  const productListingPriceBadge = listingItem.locator(".badge-discount");
3354
+ const wishlistNotAddedIcon = listingItem.locator(".product-wishlist-not-added");
3355
+ const wishlistAddedIcon = listingItem.locator(".product-wishlist-added");
3307
3356
  return {
3308
3357
  productImage,
3309
3358
  productRating,
@@ -3316,7 +3365,44 @@ class Home {
3316
3365
  productAddToShoppingCart,
3317
3366
  productListingPrice,
3318
3367
  productListingPricePercentage,
3319
- productListingPriceBadge
3368
+ productListingPriceBadge,
3369
+ wishlistNotAddedIcon,
3370
+ wishlistAddedIcon
3371
+ };
3372
+ }
3373
+ async getListingItemByProductName(productListingName) {
3374
+ const listingItem = this.page.getByRole("listitem").filter({ has: this.page.getByText(productListingName) });
3375
+ const productImage = listingItem.locator(".product-image-link");
3376
+ const productRating = listingItem.locator(".product-rating");
3377
+ const productVariantCharacteristics = listingItem.locator(".product-variant-characteristics");
3378
+ const productDescription = listingItem.locator(".product-description");
3379
+ const productPriceUnit = listingItem.locator(".product-price-unit");
3380
+ const productCheapestPrice = listingItem.locator(".product-cheapest-price");
3381
+ const productPrice = listingItem.locator(".product-price");
3382
+ const productName = listingItem.locator(".product-name");
3383
+ const productAddToShoppingCart = listingItem.getByRole("button", {
3384
+ name: "Add to shopping cart"
3385
+ });
3386
+ const productListingPrice = listingItem.locator(".list-price-price");
3387
+ const productListingPricePercentage = listingItem.locator(".list-price-percentage");
3388
+ const productListingPriceBadge = listingItem.locator(".badge-discount");
3389
+ const wishlistNotAddedIcon = listingItem.locator(".product-wishlist-not-added");
3390
+ const wishlistAddedIcon = listingItem.locator(".product-wishlist-added");
3391
+ return {
3392
+ productImage,
3393
+ productRating,
3394
+ productVariantCharacteristics,
3395
+ productDescription,
3396
+ productPriceUnit,
3397
+ productCheapestPrice,
3398
+ productPrice,
3399
+ productName,
3400
+ productAddToShoppingCart,
3401
+ productListingPrice,
3402
+ productListingPricePercentage,
3403
+ productListingPriceBadge,
3404
+ wishlistNotAddedIcon,
3405
+ wishlistAddedIcon
3320
3406
  };
3321
3407
  }
3322
3408
  url() {
@@ -3324,29 +3410,31 @@ class Home {
3324
3410
  }
3325
3411
  }
3326
3412
 
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);
3413
+ var __defProp$R = Object.defineProperty;
3414
+ var __defNormalProp$R = (obj, key, value) => key in obj ? __defProp$R(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3415
+ var __publicField$R = (obj, key, value) => {
3416
+ __defNormalProp$R(obj, typeof key !== "symbol" ? key + "" : key, value);
3331
3417
  return value;
3332
3418
  };
3333
3419
  let ProductDetail$1 = class ProductDetail {
3334
3420
  constructor(page) {
3335
3421
  this.page = page;
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");
3422
+ __publicField$R(this, "addToCartButton");
3423
+ __publicField$R(this, "quantitySelect");
3424
+ __publicField$R(this, "productSingleImage");
3425
+ __publicField$R(this, "productSinglePrice");
3426
+ __publicField$R(this, "productPriceRangesRow");
3427
+ __publicField$R(this, "productListingPriceBadge");
3428
+ __publicField$R(this, "productListingPrice");
3429
+ __publicField$R(this, "productListingPricePercentage");
3430
+ __publicField$R(this, "offCanvasCartTitle");
3431
+ __publicField$R(this, "offCanvasCart");
3432
+ __publicField$R(this, "offCanvasCartGoToCheckoutButton");
3433
+ __publicField$R(this, "offCanvasLineItemImages");
3434
+ __publicField$R(this, "offCanvasSummaryTotalPrice");
3435
+ __publicField$R(this, "offCanvas");
3436
+ __publicField$R(this, "wishlistAddedButton");
3437
+ __publicField$R(this, "wishlistNotAddedButton");
3350
3438
  this.addToCartButton = page.getByRole("button", { name: "Add to shopping cart" });
3351
3439
  this.quantitySelect = page.getByLabel("Quantity", { exact: true });
3352
3440
  this.productSingleImage = page.locator(".gallery-slider-single-image");
@@ -3361,6 +3449,8 @@ let ProductDetail$1 = class ProductDetail {
3361
3449
  this.offCanvasCartGoToCheckoutButton = page.getByRole("link", { name: "Go to checkout" });
3362
3450
  this.offCanvasLineItemImages = page.locator(".line-item-img-link");
3363
3451
  this.offCanvasSummaryTotalPrice = page.locator(".offcanvas-summary").locator('dt:has-text("Subtotal") + dd');
3452
+ this.wishlistAddedButton = page.locator(".product-wishlist-added");
3453
+ this.wishlistNotAddedButton = page.locator(".product-wishlist-not-added");
3364
3454
  }
3365
3455
  url(productData) {
3366
3456
  let namePath = "";
@@ -3371,18 +3461,18 @@ let ProductDetail$1 = class ProductDetail {
3371
3461
  }
3372
3462
  };
3373
3463
 
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);
3464
+ var __defProp$Q = Object.defineProperty;
3465
+ var __defNormalProp$Q = (obj, key, value) => key in obj ? __defProp$Q(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3466
+ var __publicField$Q = (obj, key, value) => {
3467
+ __defNormalProp$Q(obj, typeof key !== "symbol" ? key + "" : key, value);
3378
3468
  return value;
3379
3469
  };
3380
3470
  class Category {
3381
3471
  constructor(page) {
3382
3472
  this.page = page;
3383
- __publicField$P(this, "sortingSelect");
3384
- __publicField$P(this, "firstProductBuyButton");
3385
- __publicField$P(this, "noProductsFoundAlert");
3473
+ __publicField$Q(this, "sortingSelect");
3474
+ __publicField$Q(this, "firstProductBuyButton");
3475
+ __publicField$Q(this, "noProductsFoundAlert");
3386
3476
  this.sortingSelect = page.getByLabel("Sorting");
3387
3477
  this.firstProductBuyButton = page.getByRole("button", { name: "Add to shopping cart" }).first();
3388
3478
  this.noProductsFoundAlert = page.getByText("No products found.");
@@ -3392,24 +3482,24 @@ class Category {
3392
3482
  }
3393
3483
  }
3394
3484
 
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);
3485
+ var __defProp$P = Object.defineProperty;
3486
+ var __defNormalProp$P = (obj, key, value) => key in obj ? __defProp$P(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3487
+ var __publicField$P = (obj, key, value) => {
3488
+ __defNormalProp$P(obj, typeof key !== "symbol" ? key + "" : key, value);
3399
3489
  return value;
3400
3490
  };
3401
3491
  class CheckoutCart {
3402
3492
  constructor(page) {
3403
3493
  this.page = page;
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");
3494
+ __publicField$P(this, "headline");
3495
+ __publicField$P(this, "goToCheckoutButton");
3496
+ __publicField$P(this, "enterPromoInput");
3497
+ __publicField$P(this, "grandTotalPrice");
3498
+ __publicField$P(this, "emptyCartAlert");
3499
+ __publicField$P(this, "stockReachedAlert");
3500
+ __publicField$P(this, "cartLineItemImages");
3501
+ __publicField$P(this, "unitPriceInfo");
3502
+ __publicField$P(this, "cartQuantityNumber");
3413
3503
  this.headline = page.getByRole("heading", { name: "Shopping cart" });
3414
3504
  this.goToCheckoutButton = page.getByRole("link", { name: "Go to checkout" });
3415
3505
  this.enterPromoInput = page.getByLabel("Promo code");
@@ -3450,25 +3540,25 @@ class CheckoutCart {
3450
3540
  }
3451
3541
  }
3452
3542
 
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);
3543
+ var __defProp$O = Object.defineProperty;
3544
+ var __defNormalProp$O = (obj, key, value) => key in obj ? __defProp$O(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3545
+ var __publicField$O = (obj, key, value) => {
3546
+ __defNormalProp$O(obj, typeof key !== "symbol" ? key + "" : key, value);
3457
3547
  return value;
3458
3548
  };
3459
3549
  class OffCanvasCart {
3460
3550
  constructor(page) {
3461
3551
  this.page = page;
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");
3552
+ __publicField$O(this, "headline");
3553
+ __publicField$O(this, "itemCount");
3554
+ __publicField$O(this, "goToCheckoutButton");
3555
+ __publicField$O(this, "goToCartButton");
3556
+ __publicField$O(this, "continueShoppingButton");
3557
+ __publicField$O(this, "enterPromoInput");
3558
+ __publicField$O(this, "submitDiscountButton");
3559
+ __publicField$O(this, "subTotalPrice");
3560
+ __publicField$O(this, "shippingCosts");
3561
+ __publicField$O(this, "cartQuantityNumber");
3472
3562
  this.headline = page.getByRole("heading", { name: "Shopping cart" });
3473
3563
  this.itemCount = page.locator(".offcanvas-cart-header-count");
3474
3564
  this.goToCheckoutButton = page.getByRole("link", { name: "Go to checkout" });
@@ -3495,6 +3585,8 @@ class OffCanvasCart {
3495
3585
  const productUnitPriceValue = lineItem.locator(".line-item-unit-price-value");
3496
3586
  const productTotalPriceValue = lineItem.locator(".line-item-total-price-value");
3497
3587
  const removeButton = lineItem.locator(".line-item-remove-button");
3588
+ const wishlistAddedButton = lineItem.locator(".product-wishlist-added");
3589
+ const wishlistNotAddedButton = lineItem.locator(".product-wishlist-not-added");
3498
3590
  return {
3499
3591
  lineItemImage,
3500
3592
  productNameLabel,
@@ -3505,41 +3597,43 @@ class OffCanvasCart {
3505
3597
  productQuantityInput,
3506
3598
  productUnitPriceValue,
3507
3599
  productTotalPriceValue,
3508
- removeButton
3600
+ removeButton,
3601
+ wishlistAddedButton,
3602
+ wishlistNotAddedButton
3509
3603
  };
3510
3604
  }
3511
3605
  }
3512
3606
 
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);
3607
+ var __defProp$N = Object.defineProperty;
3608
+ var __defNormalProp$N = (obj, key, value) => key in obj ? __defProp$N(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3609
+ var __publicField$N = (obj, key, value) => {
3610
+ __defNormalProp$N(obj, typeof key !== "symbol" ? key + "" : key, value);
3517
3611
  return value;
3518
3612
  };
3519
3613
  class CheckoutConfirm {
3520
3614
  constructor(page) {
3521
3615
  this.page = page;
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");
3616
+ __publicField$N(this, "headline");
3617
+ __publicField$N(this, "termsAndConditionsCheckbox");
3618
+ __publicField$N(this, "immediateAccessToDigitalProductCheckbox");
3619
+ __publicField$N(this, "grandTotalPrice");
3620
+ __publicField$N(this, "taxPrice");
3621
+ __publicField$N(this, "submitOrderButton");
3528
3622
  /**
3529
3623
  * Payment options
3530
3624
  */
3531
- __publicField$M(this, "paymentCashOnDelivery");
3532
- __publicField$M(this, "paymentPaidInAdvance");
3533
- __publicField$M(this, "paymentInvoice");
3625
+ __publicField$N(this, "paymentCashOnDelivery");
3626
+ __publicField$N(this, "paymentPaidInAdvance");
3627
+ __publicField$N(this, "paymentInvoice");
3534
3628
  /**
3535
3629
  * Shipping options
3536
3630
  */
3537
- __publicField$M(this, "shippingStandard");
3538
- __publicField$M(this, "shippingExpress");
3631
+ __publicField$N(this, "shippingStandard");
3632
+ __publicField$N(this, "shippingExpress");
3539
3633
  /**
3540
3634
  * Product details
3541
3635
  */
3542
- __publicField$M(this, "cartLineItemImages");
3636
+ __publicField$N(this, "cartLineItemImages");
3543
3637
  this.headline = page.getByRole("heading", { name: "Complete order" });
3544
3638
  this.termsAndConditionsCheckbox = page.getByLabel("I have read and accepted the general terms and conditions.");
3545
3639
  this.immediateAccessToDigitalProductCheckbox = page.getByLabel("I want immediate access to the digital content and I acknowledge that thereby I waive my right to cancel.");
@@ -3558,21 +3652,21 @@ class CheckoutConfirm {
3558
3652
  }
3559
3653
  }
3560
3654
 
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);
3655
+ var __defProp$M = Object.defineProperty;
3656
+ var __defNormalProp$M = (obj, key, value) => key in obj ? __defProp$M(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3657
+ var __publicField$M = (obj, key, value) => {
3658
+ __defNormalProp$M(obj, typeof key !== "symbol" ? key + "" : key, value);
3565
3659
  return value;
3566
3660
  };
3567
3661
  class CheckoutFinish {
3568
3662
  constructor(page) {
3569
3663
  this.page = page;
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+)/);
3664
+ __publicField$M(this, "headline");
3665
+ __publicField$M(this, "orderNumberText");
3666
+ __publicField$M(this, "grandTotalPrice");
3667
+ __publicField$M(this, "taxPrice");
3668
+ __publicField$M(this, "cartLineItemImages");
3669
+ __publicField$M(this, "orderNumberRegex", /Your order number: #(\d+)/);
3576
3670
  this.headline = page.getByRole("heading", { name: "Thank you for your order" });
3577
3671
  this.orderNumberText = page.getByText(this.orderNumberRegex);
3578
3672
  this.grandTotalPrice = page.locator('dt:has-text("Grand total") + dd');
@@ -3601,16 +3695,16 @@ class CheckoutFinish {
3601
3695
  }
3602
3696
  }
3603
3697
 
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);
3698
+ var __defProp$L = Object.defineProperty;
3699
+ var __defNormalProp$L = (obj, key, value) => key in obj ? __defProp$L(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3700
+ var __publicField$L = (obj, key, value) => {
3701
+ __defNormalProp$L(obj, typeof key !== "symbol" ? key + "" : key, value);
3608
3702
  return value;
3609
3703
  };
3610
3704
  class CheckoutRegister {
3611
3705
  constructor(page) {
3612
3706
  this.page = page;
3613
- __publicField$K(this, "cartLineItemImages");
3707
+ __publicField$L(this, "cartLineItemImages");
3614
3708
  this.cartLineItemImages = page.locator(".line-item-img-link");
3615
3709
  }
3616
3710
  url() {
@@ -3618,24 +3712,26 @@ class CheckoutRegister {
3618
3712
  }
3619
3713
  }
3620
3714
 
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);
3715
+ var __defProp$K = Object.defineProperty;
3716
+ var __defNormalProp$K = (obj, key, value) => key in obj ? __defProp$K(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3717
+ var __publicField$K = (obj, key, value) => {
3718
+ __defNormalProp$K(obj, typeof key !== "symbol" ? key + "" : key, value);
3625
3719
  return value;
3626
3720
  };
3627
3721
  class Account {
3628
3722
  constructor(page, instanceMeta) {
3629
3723
  this.page = page;
3630
3724
  this.instanceMeta = instanceMeta;
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");
3725
+ __publicField$K(this, "headline");
3726
+ __publicField$K(this, "personalDataCardTitle");
3727
+ __publicField$K(this, "paymentMethodCardTitle");
3728
+ __publicField$K(this, "billingAddressCardTitle");
3729
+ __publicField$K(this, "shippingAddressCardTitle");
3730
+ __publicField$K(this, "newsletterCheckbox");
3731
+ __publicField$K(this, "newsletterRegistrationSuccessMessage");
3732
+ __publicField$K(this, "customerGroupRequestMessage");
3733
+ __publicField$K(this, "cannotDeliverToCountryAlert");
3734
+ __publicField$K(this, "shippingToAddressNotPossibleAlert");
3639
3735
  this.headline = page.getByRole("heading", { name: "Overview" });
3640
3736
  this.personalDataCardTitle = page.getByRole("heading", { name: "Personal data" });
3641
3737
  this.paymentMethodCardTitle = page.getByRole("heading", { name: "Default payment method" });
@@ -3648,6 +3744,8 @@ class Account {
3648
3744
  } else {
3649
3745
  this.customerGroupRequestMessage = page.locator(".alert-content-container");
3650
3746
  }
3747
+ this.cannotDeliverToCountryAlert = page.getByText("We can not deliver to the country that is stored in your delivery address.");
3748
+ this.shippingToAddressNotPossibleAlert = page.getByText("Shipping to the selected shipping address is currently not possible.");
3651
3749
  }
3652
3750
  async getCustomerGroupAlert(customerGroup) {
3653
3751
  return this.customerGroupRequestMessage.getByText(`Access to customer group "${customerGroup}" requested.`);
@@ -3657,46 +3755,57 @@ class Account {
3657
3755
  }
3658
3756
  }
3659
3757
 
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);
3758
+ var __defProp$J = Object.defineProperty;
3759
+ var __defNormalProp$J = (obj, key, value) => key in obj ? __defProp$J(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3760
+ var __publicField$J = (obj, key, value) => {
3761
+ __defNormalProp$J(obj, typeof key !== "symbol" ? key + "" : key, value);
3664
3762
  return value;
3665
3763
  };
3666
3764
  class AccountLogin {
3667
3765
  constructor(page) {
3668
3766
  this.page = page;
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");
3767
+ __publicField$J(this, "emailInput");
3768
+ __publicField$J(this, "passwordInput");
3769
+ __publicField$J(this, "forgotPasswordLink");
3770
+ __publicField$J(this, "loginButton");
3771
+ __publicField$J(this, "logoutLink");
3772
+ __publicField$J(this, "successAlert");
3773
+ __publicField$J(this, "invalidCredentialsAlert");
3774
+ __publicField$J(this, "passwordUpdatedAlert");
3677
3775
  // Inputs for registration
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");
3776
+ __publicField$J(this, "personalFormArea");
3777
+ __publicField$J(this, "billingAddressFormArea");
3778
+ __publicField$J(this, "accountTypeSelect");
3779
+ __publicField$J(this, "salutationSelect");
3780
+ __publicField$J(this, "firstNameInput");
3781
+ __publicField$J(this, "lastNameInput");
3782
+ __publicField$J(this, "companyInput");
3783
+ __publicField$J(this, "departmentInput");
3784
+ __publicField$J(this, "vatRegNoInput");
3785
+ __publicField$J(this, "registerEmailInput");
3786
+ __publicField$J(this, "registerPasswordInput");
3787
+ __publicField$J(this, "streetAddressInput");
3788
+ __publicField$J(this, "cityInput");
3789
+ __publicField$J(this, "countryInput");
3790
+ __publicField$J(this, "postalCodeInput");
3791
+ __publicField$J(this, "registerButton");
3694
3792
  // 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");
3793
+ __publicField$J(this, "greCaptchaV2Container");
3794
+ __publicField$J(this, "greCaptchaV2Input");
3795
+ __publicField$J(this, "greCaptchaV3Input");
3796
+ __publicField$J(this, "greCaptchaProtectionInformation");
3797
+ __publicField$J(this, "greCaptchaBadge");
3798
+ //Input for shipping address
3799
+ __publicField$J(this, "differentShippingAddressCheckbox");
3800
+ __publicField$J(this, "registerShippingAddressFormArea");
3801
+ __publicField$J(this, "shippingAddressSalutationSelect");
3802
+ __publicField$J(this, "shippingAddressFirstNameInput");
3803
+ __publicField$J(this, "shippingAddressLastNameInput");
3804
+ __publicField$J(this, "shippingAddressStreetAddressInput");
3805
+ __publicField$J(this, "shippingAddressCityInput");
3806
+ __publicField$J(this, "shippingAddressCountryInput");
3807
+ __publicField$J(this, "shippingAddressPostalCodeInput");
3808
+ __publicField$J(this, "shippingAddressStateInput");
3700
3809
  this.emailInput = page.getByLabel("Your email address");
3701
3810
  this.passwordInput = page.getByLabel("Your password");
3702
3811
  this.loginButton = page.getByRole("button", { name: "Log in" });
@@ -3718,6 +3827,16 @@ class AccountLogin {
3718
3827
  this.cityInput = this.billingAddressFormArea.getByLabel("City");
3719
3828
  this.countryInput = this.billingAddressFormArea.getByLabel("Country");
3720
3829
  this.postalCodeInput = this.billingAddressFormArea.getByLabel("Postal code");
3830
+ this.differentShippingAddressCheckbox = page.getByRole("checkbox", { name: "Shipping and billing address do not match." });
3831
+ this.registerShippingAddressFormArea = page.locator(".register-shipping");
3832
+ this.shippingAddressSalutationSelect = this.registerShippingAddressFormArea.locator(".form-group").filter({ has: page.getByLabel("Salutation") }).locator(".form-select");
3833
+ this.shippingAddressFirstNameInput = this.registerShippingAddressFormArea.getByLabel("First name");
3834
+ this.shippingAddressLastNameInput = this.registerShippingAddressFormArea.getByLabel("Last name");
3835
+ this.shippingAddressStreetAddressInput = this.registerShippingAddressFormArea.getByLabel("Street address");
3836
+ this.shippingAddressCityInput = this.registerShippingAddressFormArea.getByLabel("City");
3837
+ this.shippingAddressCountryInput = this.registerShippingAddressFormArea.getByLabel("Country");
3838
+ this.shippingAddressPostalCodeInput = this.registerShippingAddressFormArea.getByLabel("Postal code");
3839
+ this.shippingAddressStateInput = this.registerShippingAddressFormArea.getByLabel("State");
3721
3840
  this.registerButton = page.getByRole("button", { name: "Continue" });
3722
3841
  this.logoutLink = page.getByRole("link", { name: "Log out" });
3723
3842
  this.successAlert = page.getByText("Successfully logged out.");
@@ -3728,31 +3847,34 @@ class AccountLogin {
3728
3847
  this.greCaptchaProtectionInformation = this.page.locator(".grecaptcha-protection-information");
3729
3848
  this.greCaptchaBadge = this.page.locator(".grecaptcha-badge");
3730
3849
  }
3850
+ async getShippingCountryLocatorByName(countryName) {
3851
+ return this.shippingAddressCountryInput.locator("option").filter({ hasText: countryName });
3852
+ }
3731
3853
  url() {
3732
3854
  return "account/login";
3733
3855
  }
3734
3856
  }
3735
3857
 
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);
3858
+ var __defProp$I = Object.defineProperty;
3859
+ var __defNormalProp$I = (obj, key, value) => key in obj ? __defProp$I(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3860
+ var __publicField$I = (obj, key, value) => {
3861
+ __defNormalProp$I(obj, typeof key !== "symbol" ? key + "" : key, value);
3740
3862
  return value;
3741
3863
  };
3742
3864
  class AccountRecover {
3743
3865
  constructor(page) {
3744
3866
  this.page = page;
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");
3867
+ __publicField$I(this, "passwordRecoveryForm");
3868
+ __publicField$I(this, "title");
3869
+ __publicField$I(this, "subtitle");
3870
+ __publicField$I(this, "emailInput");
3871
+ __publicField$I(this, "requestEmailButton");
3872
+ __publicField$I(this, "backButton");
3873
+ __publicField$I(this, "passwordResetEmailSentMessage");
3874
+ __publicField$I(this, "newPasswordInput");
3875
+ __publicField$I(this, "newPasswordConfirmInput");
3876
+ __publicField$I(this, "changePasswordButton");
3877
+ __publicField$I(this, "invalidLinkMessage");
3756
3878
  this.passwordRecoveryForm = page.locator(".account-recover-password-form");
3757
3879
  const cardTitle = this.passwordRecoveryForm.locator(".card-title");
3758
3880
  this.title = cardTitle.getByText("Password recovery");
@@ -3774,36 +3896,36 @@ class AccountRecover {
3774
3896
  }
3775
3897
  }
3776
3898
 
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);
3899
+ var __defProp$H = Object.defineProperty;
3900
+ var __defNormalProp$H = (obj, key, value) => key in obj ? __defProp$H(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3901
+ var __publicField$H = (obj, key, value) => {
3902
+ __defNormalProp$H(obj, typeof key !== "symbol" ? key + "" : key, value);
3781
3903
  return value;
3782
3904
  };
3783
3905
  class AccountProfile {
3784
3906
  constructor(page, instanceMeta) {
3785
3907
  this.page = page;
3786
3908
  this.instanceMeta = instanceMeta;
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");
3909
+ __publicField$H(this, "salutationSelect");
3910
+ __publicField$H(this, "firstNameInput");
3911
+ __publicField$H(this, "lastNameInput");
3912
+ __publicField$H(this, "saveProfileButton");
3913
+ __publicField$H(this, "changeEmailButton");
3914
+ __publicField$H(this, "emailAddressInput");
3915
+ __publicField$H(this, "emailAddressConfirmInput");
3916
+ __publicField$H(this, "emailConfirmPasswordInput");
3917
+ __publicField$H(this, "saveEmailAddressButton");
3918
+ __publicField$H(this, "changePasswordButton");
3919
+ __publicField$H(this, "newPasswordInput");
3920
+ __publicField$H(this, "newPasswordConfirmInput");
3921
+ __publicField$H(this, "currentPasswordInput");
3922
+ __publicField$H(this, "saveNewPasswordButton");
3923
+ __publicField$H(this, "loginDataEmailAddress");
3924
+ __publicField$H(this, "emailUpdateMessage");
3925
+ __publicField$H(this, "passwordUpdateMessage");
3926
+ __publicField$H(this, "emailValidationAlert");
3927
+ __publicField$H(this, "emailUpdateFailureAlert");
3928
+ __publicField$H(this, "passwordUpdateFailureAlert");
3807
3929
  this.salutationSelect = page.getByLabel("Salutation");
3808
3930
  this.firstNameInput = page.getByLabel("First name");
3809
3931
  this.lastNameInput = page.getByLabel("Last name");
@@ -3843,21 +3965,21 @@ class AccountProfile {
3843
3965
  }
3844
3966
  }
3845
3967
 
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);
3968
+ var __defProp$G = Object.defineProperty;
3969
+ var __defNormalProp$G = (obj, key, value) => key in obj ? __defProp$G(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3970
+ var __publicField$G = (obj, key, value) => {
3971
+ __defNormalProp$G(obj, typeof key !== "symbol" ? key + "" : key, value);
3850
3972
  return value;
3851
3973
  };
3852
3974
  class AccountOrder {
3853
3975
  constructor(page) {
3854
3976
  this.page = page;
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");
3977
+ __publicField$G(this, "cartLineItemImages");
3978
+ __publicField$G(this, "orderExpandButton");
3979
+ __publicField$G(this, "digitalProductDownloadButton");
3980
+ __publicField$G(this, "dialogOrderCancel");
3981
+ __publicField$G(this, "dialogOrderCancelButton");
3982
+ __publicField$G(this, "dialogBackButton");
3861
3983
  this.orderExpandButton = page.getByRole("button", { name: /Expand|Show details/ }).first();
3862
3984
  this.cartLineItemImages = page.locator(".line-item-img-link");
3863
3985
  this.digitalProductDownloadButton = page.getByRole("link", { name: "Download" }).first();
@@ -3905,44 +4027,59 @@ class AccountOrder {
3905
4027
  }
3906
4028
  }
3907
4029
 
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);
4030
+ var __defProp$F = Object.defineProperty;
4031
+ var __defNormalProp$F = (obj, key, value) => key in obj ? __defProp$F(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4032
+ var __publicField$F = (obj, key, value) => {
4033
+ __defNormalProp$F(obj, typeof key !== "symbol" ? key + "" : key, value);
3912
4034
  return value;
3913
4035
  };
3914
4036
  class AccountAddresses {
3915
- constructor(page) {
4037
+ constructor(page, instanceMeta) {
3916
4038
  this.page = page;
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");
4039
+ this.instanceMeta = instanceMeta;
4040
+ __publicField$F(this, "addNewAddressButton");
4041
+ __publicField$F(this, "editBillingAddressButton");
4042
+ __publicField$F(this, "editShippingAddressButton");
4043
+ __publicField$F(this, "useDefaultBillingAddressButton");
4044
+ __publicField$F(this, "useDefaultShippingAddressButton");
4045
+ __publicField$F(this, "deliveryNotPossibleAlert");
4046
+ __publicField$F(this, "availableAddresses");
4047
+ __publicField$F(this, "addressDropdownButton");
4048
+ __publicField$F(this, "availableAddressesUseAsBillingAddress");
4049
+ __publicField$F(this, "availableAddressesUseAsShippingAddress");
3922
4050
  this.addNewAddressButton = page.getByRole("link", { name: /Add (new )?address/ });
3923
4051
  this.editBillingAddressButton = page.getByRole("link", { name: "Edit address" }).first();
3924
4052
  this.editShippingAddressButton = page.getByRole("link", { name: "Edit address" }).nth(1);
3925
4053
  this.useDefaultBillingAddressButton = page.getByRole("button", { name: "Use as default billing address" });
3926
4054
  this.useDefaultShippingAddressButton = page.getByRole("button", { name: "Use as default shipping address" });
4055
+ if (satisfies(instanceMeta.version, "<6.7")) {
4056
+ this.availableAddresses = page.locator(".other-address").locator(".address").nth(1);
4057
+ this.deliveryNotPossibleAlert = this.availableAddresses.getByText("A delivery to this country is not possible.");
4058
+ } else {
4059
+ this.availableAddresses = page.locator(".address-manager-list-wrapper");
4060
+ this.addressDropdownButton = this.availableAddresses.locator("#dropdownMenuButton");
4061
+ this.availableAddressesUseAsBillingAddress = this.availableAddresses.getByRole("button", { name: "Use as default billing address" });
4062
+ this.availableAddressesUseAsShippingAddress = this.availableAddresses.getByRole("button", { name: "Use as default shipping address" });
4063
+ }
3927
4064
  }
3928
4065
  url() {
3929
4066
  return "account/address";
3930
4067
  }
3931
4068
  }
3932
4069
 
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);
4070
+ var __defProp$E = Object.defineProperty;
4071
+ var __defNormalProp$E = (obj, key, value) => key in obj ? __defProp$E(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4072
+ var __publicField$E = (obj, key, value) => {
4073
+ __defNormalProp$E(obj, typeof key !== "symbol" ? key + "" : key, value);
3937
4074
  return value;
3938
4075
  };
3939
4076
  class AccountPayment {
3940
4077
  constructor(page) {
3941
4078
  this.page = page;
3942
- __publicField$D(this, "cashOnDeliveryOption");
3943
- __publicField$D(this, "paidInAdvanceOption");
3944
- __publicField$D(this, "invoiceOption");
3945
- __publicField$D(this, "changeDefaultPaymentButton");
4079
+ __publicField$E(this, "cashOnDeliveryOption");
4080
+ __publicField$E(this, "paidInAdvanceOption");
4081
+ __publicField$E(this, "invoiceOption");
4082
+ __publicField$E(this, "changeDefaultPaymentButton");
3946
4083
  this.cashOnDeliveryOption = page.getByLabel("Cash on delivery");
3947
4084
  this.paidInAdvanceOption = page.getByLabel("Paid in advance");
3948
4085
  this.invoiceOption = page.getByLabel("Invoice");
@@ -3953,17 +4090,17 @@ class AccountPayment {
3953
4090
  }
3954
4091
  }
3955
4092
 
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);
4093
+ var __defProp$D = Object.defineProperty;
4094
+ var __defNormalProp$D = (obj, key, value) => key in obj ? __defProp$D(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4095
+ var __publicField$D = (obj, key, value) => {
4096
+ __defNormalProp$D(obj, typeof key !== "symbol" ? key + "" : key, value);
3960
4097
  return value;
3961
4098
  };
3962
4099
  class Search {
3963
4100
  constructor(page) {
3964
4101
  this.page = page;
3965
- __publicField$C(this, "headline");
3966
- __publicField$C(this, "productImages");
4102
+ __publicField$D(this, "headline");
4103
+ __publicField$D(this, "productImages");
3967
4104
  this.headline = page.locator("h1.search-headline");
3968
4105
  this.productImages = page.locator(".product-image-wrapper");
3969
4106
  }
@@ -3972,25 +4109,25 @@ class Search {
3972
4109
  }
3973
4110
  }
3974
4111
 
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);
4112
+ var __defProp$C = Object.defineProperty;
4113
+ var __defNormalProp$C = (obj, key, value) => key in obj ? __defProp$C(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4114
+ var __publicField$C = (obj, key, value) => {
4115
+ __defNormalProp$C(obj, typeof key !== "symbol" ? key + "" : key, value);
3979
4116
  return value;
3980
4117
  };
3981
4118
  class SearchSuggest extends Home {
3982
4119
  constructor(page) {
3983
4120
  super(page);
3984
4121
  this.page = page;
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");
4122
+ __publicField$C(this, "searchSuggestLineItemImages");
4123
+ __publicField$C(this, "searchInput");
4124
+ __publicField$C(this, "searchIcon");
4125
+ __publicField$C(this, "searchSuggestNoResult");
4126
+ __publicField$C(this, "searchSuggestLineItemName");
4127
+ __publicField$C(this, "searchSuggestLineItemPrice");
4128
+ __publicField$C(this, "searchSuggestTotalLink");
4129
+ __publicField$C(this, "searchResultTotal");
4130
+ __publicField$C(this, "searchHeadline");
3994
4131
  this.searchSuggestLineItemImages = page.locator(".search-suggest-product-image-container");
3995
4132
  this.searchInput = page.locator(".header-search-input");
3996
4133
  this.searchIcon = page.locator(".header-search-icon");
@@ -4020,31 +4157,31 @@ class CustomRegister extends AccountLogin {
4020
4157
  }
4021
4158
  }
4022
4159
 
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);
4160
+ var __defProp$B = Object.defineProperty;
4161
+ var __defNormalProp$B = (obj, key, value) => key in obj ? __defProp$B(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4162
+ var __publicField$B = (obj, key, value) => {
4163
+ __defNormalProp$B(obj, typeof key !== "symbol" ? key + "" : key, value);
4027
4164
  return value;
4028
4165
  };
4029
4166
  class CheckoutOrderEdit {
4030
4167
  constructor(page) {
4031
4168
  this.page = page;
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");
4169
+ __publicField$B(this, "completePaymentButton");
4170
+ __publicField$B(this, "orderCancelButton");
4171
+ __publicField$B(this, "dialogOrderCancel");
4172
+ __publicField$B(this, "dialogOrderCancelButton");
4173
+ __publicField$B(this, "dialogBackButton");
4037
4174
  /**
4038
4175
  * Payment options
4039
4176
  */
4040
- __publicField$A(this, "paymentCashOnDelivery");
4041
- __publicField$A(this, "paymentPaidInAdvance");
4042
- __publicField$A(this, "paymentInvoice");
4177
+ __publicField$B(this, "paymentCashOnDelivery");
4178
+ __publicField$B(this, "paymentPaidInAdvance");
4179
+ __publicField$B(this, "paymentInvoice");
4043
4180
  /**
4044
4181
  * Shipping options
4045
4182
  */
4046
- __publicField$A(this, "shippingStandard");
4047
- __publicField$A(this, "shippingExpress");
4183
+ __publicField$B(this, "shippingStandard");
4184
+ __publicField$B(this, "shippingExpress");
4048
4185
  this.completePaymentButton = page.getByRole("button", { name: "Complete payment" });
4049
4186
  this.orderCancelButton = page.getByRole("button", { name: "Cancel order" });
4050
4187
  this.dialogOrderCancel = page.getByRole("dialog", { name: "Cancel order" });
@@ -4069,34 +4206,36 @@ class CheckoutOrderEdit {
4069
4206
  }
4070
4207
  }
4071
4208
 
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);
4209
+ var __defProp$A = Object.defineProperty;
4210
+ var __defNormalProp$A = (obj, key, value) => key in obj ? __defProp$A(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4211
+ var __publicField$A = (obj, key, value) => {
4212
+ __defNormalProp$A(obj, typeof key !== "symbol" ? key + "" : key, value);
4076
4213
  return value;
4077
4214
  };
4078
4215
  class AccountAddressCreate {
4079
4216
  constructor(page) {
4080
4217
  this.page = page;
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");
4091
- this.salutationDropdown = page.locator("#addresspersonalSalutation");
4092
- this.firstNameInput = page.locator("#addresspersonalFirstName");
4093
- this.lastNameInput = page.locator("#addresspersonalLastName");
4094
- this.companyInput = page.locator("#addresscompany");
4095
- this.departmentInput = page.locator("#addressdepartment");
4096
- this.streetInput = page.locator("#addressAddressStreet");
4097
- this.zipcodeInput = page.locator("#addressAddressZipcode");
4218
+ __publicField$A(this, "salutationDropdown");
4219
+ __publicField$A(this, "firstNameInput");
4220
+ __publicField$A(this, "lastNameInput");
4221
+ __publicField$A(this, "companyInput");
4222
+ __publicField$A(this, "departmentInput");
4223
+ __publicField$A(this, "streetInput");
4224
+ __publicField$A(this, "zipcodeInput");
4225
+ __publicField$A(this, "cityInput");
4226
+ __publicField$A(this, "countryDropdown");
4227
+ __publicField$A(this, "saveAddressButton");
4228
+ __publicField$A(this, "stateDropdown");
4229
+ this.salutationDropdown = page.getByRole("combobox", { name: "Salutation" });
4230
+ this.firstNameInput = page.getByRole("textbox", { name: "First name" });
4231
+ this.lastNameInput = page.getByRole("textbox", { name: "Last name" });
4232
+ this.companyInput = page.getByRole("textbox", { name: "Company" });
4233
+ this.departmentInput = page.getByRole("textbox", { name: "Department" });
4234
+ this.streetInput = page.getByRole("textbox", { name: "Street" });
4235
+ this.zipcodeInput = page.getByRole("textbox", { name: "Postal code" });
4098
4236
  this.cityInput = page.locator("#addressAddressCity");
4099
4237
  this.countryDropdown = page.locator("#addressAddressCountry");
4238
+ this.stateDropdown = page.locator("#addressAddressCountryState");
4100
4239
  this.saveAddressButton = page.locator(".address-form-submit");
4101
4240
  }
4102
4241
  url() {
@@ -4104,19 +4243,19 @@ class AccountAddressCreate {
4104
4243
  }
4105
4244
  }
4106
4245
 
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);
4246
+ var __defProp$z = Object.defineProperty;
4247
+ var __defNormalProp$z = (obj, key, value) => key in obj ? __defProp$z(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4248
+ var __publicField$z = (obj, key, value) => {
4249
+ __defNormalProp$z(obj, typeof key !== "symbol" ? key + "" : key, value);
4111
4250
  return value;
4112
4251
  };
4113
4252
  class PageNotFound {
4114
4253
  constructor(page) {
4115
4254
  this.page = page;
4116
- __publicField$y(this, "pageNotFoundImage");
4117
- __publicField$y(this, "headline");
4118
- __publicField$y(this, "pageNotFoundMessage");
4119
- __publicField$y(this, "backToShopButton");
4255
+ __publicField$z(this, "pageNotFoundImage");
4256
+ __publicField$z(this, "headline");
4257
+ __publicField$z(this, "pageNotFoundMessage");
4258
+ __publicField$z(this, "backToShopButton");
4120
4259
  this.pageNotFoundImage = page.getByAltText("Page not found");
4121
4260
  this.headline = page.getByRole("heading", { name: "Page not found" });
4122
4261
  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.`);
@@ -4127,65 +4266,115 @@ class PageNotFound {
4127
4266
  }
4128
4267
  }
4129
4268
 
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);
4269
+ var __defProp$y = Object.defineProperty;
4270
+ var __defNormalProp$y = (obj, key, value) => key in obj ? __defProp$y(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4271
+ var __publicField$y = (obj, key, value) => {
4272
+ __defNormalProp$y(obj, typeof key !== "symbol" ? key + "" : key, value);
4134
4273
  return value;
4135
4274
  };
4136
4275
  class ContactForm extends Home {
4137
- constructor(page) {
4276
+ constructor(page, instanceMeta) {
4138
4277
  super(page);
4139
4278
  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");
4279
+ this.instanceMeta = instanceMeta;
4280
+ /**
4281
+ * @deprecated Compatible until 6.6.x, will be removed in 6.8.x, use 'contactWrapper' instead
4282
+ */
4283
+ __publicField$y(this, "contactModal");
4284
+ /**
4285
+ * @deprecated Compatible until 6.6.x, will be removed in 6.8.x, use 'contactSuccessMessage' instead
4286
+ */
4287
+ __publicField$y(this, "contactSuccessModal");
4288
+ __publicField$y(this, "contactWrapper");
4289
+ __publicField$y(this, "salutationSelect");
4290
+ __publicField$y(this, "firstNameInput");
4291
+ __publicField$y(this, "lastNameInput");
4292
+ __publicField$y(this, "emailInput");
4293
+ __publicField$y(this, "phoneInput");
4294
+ __publicField$y(this, "subjectInput");
4295
+ __publicField$y(this, "commentInput");
4296
+ __publicField$y(this, "privacyPolicyCheckbox");
4297
+ __publicField$y(this, "submitButton");
4298
+ __publicField$y(this, "contactSuccessMessage");
4299
+ __publicField$y(this, "cardTitle");
4300
+ __publicField$y(this, "formFieldFeedback");
4301
+ __publicField$y(this, "formAlert");
4153
4302
  /**
4154
4303
  * Captcha locators
4155
4304
  */
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");
4305
+ __publicField$y(this, "basicCaptcha");
4306
+ __publicField$y(this, "basicCaptchaImage");
4307
+ __publicField$y(this, "basicCaptchaRefreshButton");
4308
+ __publicField$y(this, "basicCaptchaInput");
4309
+ __publicField$y(this, "greCaptchaV2Container");
4310
+ __publicField$y(this, "greCaptchaV2Input");
4311
+ __publicField$y(this, "greCaptchaProtectionInformation");
4312
+ this.contactModal = this.page.getByRole("dialog").filter({ has: this.page.getByText("Contact") });
4313
+ if (satisfies(instanceMeta.version, "<6.7")) {
4314
+ this.contactWrapper = this.page.getByRole("dialog").filter({ has: this.page.getByText("Contact") });
4315
+ this.contactSuccessModal = this.page.getByRole("dialog").filter({ has: this.page.locator(".confirm-message") });
4316
+ this.contactSuccessMessage = this.contactSuccessModal.locator(".confirm-message");
4317
+ } else {
4318
+ this.contactWrapper = this.page.locator(".card").filter({ has: this.page.getByText("Contact") });
4319
+ this.formFieldFeedback = this.contactWrapper.locator(".form-field-feedback");
4320
+ this.formAlert = this.page.getByRole("alert");
4321
+ this.contactSuccessMessage = this.page.locator(".confirm-message");
4322
+ }
4323
+ this.basicCaptcha = this.contactWrapper.locator(".basic-captcha");
4324
+ this.salutationSelect = this.contactWrapper.getByLabel("Salutation");
4325
+ this.firstNameInput = this.contactWrapper.getByLabel("First name");
4326
+ this.lastNameInput = this.contactWrapper.getByLabel("Last name");
4327
+ this.emailInput = this.contactWrapper.getByLabel("Your email address");
4328
+ this.phoneInput = this.contactWrapper.getByLabel("Phone");
4329
+ this.subjectInput = this.contactWrapper.getByLabel("Subject");
4330
+ this.commentInput = this.contactWrapper.getByLabel("Comment");
4331
+ this.privacyPolicyCheckbox = this.contactWrapper.getByRole("checkbox", { name: "By selecting continue you confirm that you have read and agree to our" });
4332
+ this.submitButton = this.contactWrapper.getByRole("button", { name: "Submit" });
4333
+ this.cardTitle = this.contactWrapper.locator(".card-title");
4334
+ this.basicCaptcha = this.contactWrapper.locator(".basic-captcha");
4335
+ this.greCaptchaV2Container = this.contactWrapper.locator(".grecaptcha-v2-container");
4336
+ this.greCaptchaV2Input = this.contactWrapper.locator(".grecaptcha-v2-input");
4337
+ this.greCaptchaProtectionInformation = this.contactWrapper.locator(".grecaptcha-protection-information");
4177
4338
  this.basicCaptchaImage = this.basicCaptcha.locator("img");
4178
4339
  this.basicCaptchaRefreshButton = this.basicCaptcha.locator(".basic-captcha-content-refresh-icon");
4179
4340
  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
4341
  }
4184
4342
  url() {
4185
4343
  return new Error("Function not implemented, because it is a modal page object").message;
4186
4344
  }
4187
4345
  }
4188
4346
 
4347
+ var __defProp$x = Object.defineProperty;
4348
+ var __defNormalProp$x = (obj, key, value) => key in obj ? __defProp$x(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4349
+ var __publicField$x = (obj, key, value) => {
4350
+ __defNormalProp$x(obj, typeof key !== "symbol" ? key + "" : key, value);
4351
+ return value;
4352
+ };
4353
+ class Wishlist extends Home {
4354
+ constructor(page) {
4355
+ super(page);
4356
+ this.page = page;
4357
+ __publicField$x(this, "wishListHeader");
4358
+ __publicField$x(this, "removeAlert");
4359
+ __publicField$x(this, "emptyListing");
4360
+ this.wishListHeader = page.locator(".wishlist-headline");
4361
+ this.removeAlert = page.locator(".alert-success");
4362
+ this.emptyListing = page.locator(".wishlist-listing-empty");
4363
+ }
4364
+ async getListingItemByProductName(productListingName) {
4365
+ const baseItems = await super.getListingItemByProductName(productListingName);
4366
+ const listingItem = this.page.getByRole("listitem").filter({ has: this.page.getByText(productListingName) });
4367
+ const removeFromWishlistButton = listingItem.locator(".icon-wishlist-remove");
4368
+ return {
4369
+ ...baseItems,
4370
+ removeFromWishlistButton
4371
+ };
4372
+ }
4373
+ url() {
4374
+ return `wishlist`;
4375
+ }
4376
+ }
4377
+
4189
4378
  const StorefrontPageObjects = {
4190
4379
  Home,
4191
4380
  ProductDetail: ProductDetail$1,
@@ -4208,7 +4397,8 @@ const StorefrontPageObjects = {
4208
4397
  CustomRegister,
4209
4398
  CheckoutOrderEdit,
4210
4399
  PageNotFound,
4211
- ContactForm
4400
+ ContactForm,
4401
+ Wishlist
4212
4402
  };
4213
4403
  const test$6 = test$e.extend({
4214
4404
  StorefrontHome: async ({ StorefrontPage }, use) => {
@@ -4250,8 +4440,8 @@ const test$6 = test$e.extend({
4250
4440
  StorefrontAccountOrder: async ({ StorefrontPage }, use) => {
4251
4441
  await use(new AccountOrder(StorefrontPage));
4252
4442
  },
4253
- StorefrontAccountAddresses: async ({ StorefrontPage }, use) => {
4254
- await use(new AccountAddresses(StorefrontPage));
4443
+ StorefrontAccountAddresses: async ({ StorefrontPage, InstanceMeta }, use) => {
4444
+ await use(new AccountAddresses(StorefrontPage, InstanceMeta));
4255
4445
  },
4256
4446
  StorefrontAccountAddressCreate: async ({ StorefrontPage }, use) => {
4257
4447
  await use(new AccountAddressCreate(StorefrontPage));
@@ -4274,8 +4464,11 @@ const test$6 = test$e.extend({
4274
4464
  StorefrontPageNotFound: async ({ StorefrontPage }, use) => {
4275
4465
  await use(new PageNotFound(StorefrontPage));
4276
4466
  },
4277
- StorefrontContactForm: async ({ StorefrontPage }, use) => {
4278
- await use(new ContactForm(StorefrontPage));
4467
+ StorefrontContactForm: async ({ StorefrontPage, InstanceMeta }, use) => {
4468
+ await use(new ContactForm(StorefrontPage, InstanceMeta));
4469
+ },
4470
+ StorefrontWishlist: async ({ StorefrontPage }, use) => {
4471
+ await use(new Wishlist(StorefrontPage));
4279
4472
  }
4280
4473
  });
4281
4474
 
@@ -4608,8 +4801,9 @@ var __publicField$r = (obj, key, value) => {
4608
4801
  return value;
4609
4802
  };
4610
4803
  class CustomerGroupCreate {
4611
- constructor(page) {
4804
+ constructor(page, instanceMeta) {
4612
4805
  this.page = page;
4806
+ this.instanceMeta = instanceMeta;
4613
4807
  __publicField$r(this, "headline");
4614
4808
  __publicField$r(this, "saveButton");
4615
4809
  __publicField$r(this, "cancelButton");
@@ -4633,7 +4827,11 @@ class CustomerGroupCreate {
4633
4827
  this.customerGroupNetTaxDisplay = page.locator("#sw-field--castedValue-1");
4634
4828
  this.customSignupFormToggle = page.getByLabel("Custom signup form");
4635
4829
  this.signupFormTitle = page.locator("#sw-field--customerGroup-registrationTitle");
4636
- this.signupFormIntroduction = page.locator(".sw-text-editor__content-editor");
4830
+ if (satisfies(instanceMeta.version, "<6.7")) {
4831
+ this.signupFormIntroduction = page.locator(".sw-text-editor__content-editor");
4832
+ } else {
4833
+ this.signupFormIntroduction = page.locator(".mt-text-editor__content-editor");
4834
+ }
4637
4835
  this.signupFormSeoDescription = page.locator("#sw-field--customerGroup-registrationSeoMetaDescription");
4638
4836
  this.signupFormCompanySignupToggle = page.getByLabel("Company signup form");
4639
4837
  this.customerGroupSaleschannelSelection = page.locator("input[class=sw-select-selection-list__input]");
@@ -4651,9 +4849,10 @@ var __publicField$q = (obj, key, value) => {
4651
4849
  return value;
4652
4850
  };
4653
4851
  class CustomerGroupDetail extends CustomerGroupCreate {
4654
- constructor(page) {
4655
- super(page);
4852
+ constructor(page, instanceMeta) {
4853
+ super(page, instanceMeta);
4656
4854
  this.page = page;
4855
+ this.instanceMeta = instanceMeta;
4657
4856
  __publicField$q(this, "headline");
4658
4857
  __publicField$q(this, "selectedSalesChannel");
4659
4858
  __publicField$q(this, "technicalUrl");
@@ -5905,11 +6104,11 @@ const test$5 = test$e.extend({
5905
6104
  AdminCustomerGroupListing: async ({ AdminPage }, use) => {
5906
6105
  await use(new CustomerGroupListing(AdminPage));
5907
6106
  },
5908
- AdminCustomerGroupCreate: async ({ AdminPage }, use) => {
5909
- await use(new CustomerGroupCreate(AdminPage));
6107
+ AdminCustomerGroupCreate: async ({ AdminPage, InstanceMeta }, use) => {
6108
+ await use(new CustomerGroupCreate(AdminPage, InstanceMeta));
5910
6109
  },
5911
- AdminCustomerGroupDetail: async ({ AdminPage }, use) => {
5912
- await use(new CustomerGroupDetail(AdminPage));
6110
+ AdminCustomerGroupDetail: async ({ AdminPage, InstanceMeta }, use) => {
6111
+ await use(new CustomerGroupDetail(AdminPage, InstanceMeta));
5913
6112
  },
5914
6113
  AdminFirstRunWizard: async ({ AdminPage, InstanceMeta }, use) => {
5915
6114
  await use(new FirstRunWizard(AdminPage, InstanceMeta));
@@ -6876,7 +7075,7 @@ const Logout = test$e.extend({
6876
7075
  });
6877
7076
 
6878
7077
  const Register = test$e.extend({
6879
- Register: async ({ StorefrontAccountLogin, AdminApiContext: AdminApiContext2, IdProvider }, use) => {
7078
+ Register: async ({ StorefrontAccountLogin, IdProvider, TestDataService }, use) => {
6880
7079
  let registeredEmail = "";
6881
7080
  const defaultRegistrationData = {
6882
7081
  isCommercial: false,
@@ -6915,36 +7114,15 @@ const Register = test$e.extend({
6915
7114
  await StorefrontAccountLogin.cityInput.fill(registrationData.city);
6916
7115
  await StorefrontAccountLogin.countryInput.selectOption({ label: registrationData.country });
6917
7116
  await StorefrontAccountLogin.registerButton.click();
7117
+ const customer = await TestDataService.getCustomerByEmail(registeredEmail);
7118
+ if (customer) {
7119
+ TestDataService.addCreatedRecord("customer", customer.id);
7120
+ }
6918
7121
  };
6919
7122
  };
6920
7123
  await use(task);
6921
- await deleteRegisteredUser(AdminApiContext2, registeredEmail);
6922
7124
  }
6923
7125
  });
6924
- async function deleteRegisteredUser(adminApiContext, email) {
6925
- if (!email)
6926
- return;
6927
- try {
6928
- const response = await adminApiContext.post("search/customer", {
6929
- data: {
6930
- limit: 1,
6931
- filter: [
6932
- {
6933
- type: "equals",
6934
- field: "email",
6935
- value: email
6936
- }
6937
- ]
6938
- }
6939
- });
6940
- const { data: customers } = await response.json();
6941
- for (const customer of customers) {
6942
- await adminApiContext.delete(`customer/${customer.id}`);
6943
- }
6944
- } catch (error) {
6945
- console.error(`Error deleting user with email ${email}:`, error);
6946
- }
6947
- }
6948
7126
 
6949
7127
  const RegisterGuest = test$e.extend({
6950
7128
  RegisterGuest: async ({ StorefrontAccountLogin, AdminApiContext }, use) => {
@@ -7006,6 +7184,29 @@ const ChangeStorefrontCurrency = test$e.extend({
7006
7184
  }
7007
7185
  });
7008
7186
 
7187
+ const AddNewAddress = test$e.extend({
7188
+ AddNewAddress: async ({ StorefrontAccountAddresses, StorefrontAccountAddressCreate }, use) => {
7189
+ const task = (address) => {
7190
+ return async function AddNewAddress2() {
7191
+ await StorefrontAccountAddresses.addNewAddressButton.click();
7192
+ await StorefrontAccountAddressCreate.firstNameInput.fill(address.firstName);
7193
+ await StorefrontAccountAddressCreate.lastNameInput.fill(address.lastName);
7194
+ await StorefrontAccountAddressCreate.companyInput.fill(address.company);
7195
+ await StorefrontAccountAddressCreate.departmentInput.fill(address.department);
7196
+ await StorefrontAccountAddressCreate.streetInput.fill(address.street);
7197
+ await StorefrontAccountAddressCreate.zipcodeInput.fill(address.zipCode);
7198
+ await StorefrontAccountAddressCreate.cityInput.fill(address.city);
7199
+ await StorefrontAccountAddressCreate.countryDropdown.selectOption({ label: address.country });
7200
+ if (address.state) {
7201
+ await StorefrontAccountAddressCreate.stateDropdown.selectOption({ label: address.state });
7202
+ }
7203
+ await StorefrontAccountAddressCreate.saveAddressButton.click();
7204
+ };
7205
+ };
7206
+ await use(task);
7207
+ }
7208
+ });
7209
+
7009
7210
  const AddProductToCart = test$e.extend({
7010
7211
  AddProductToCart: async ({ ShopCustomer, StorefrontProductDetail }, use) => {
7011
7212
  const task = (ProductData, quantity = "1") => {
@@ -7213,12 +7414,55 @@ const ValidateAccessibility = test$e.extend({
7213
7414
  }
7214
7415
  });
7215
7416
 
7417
+ const AddProductToCartFromWishlist = test$e.extend({
7418
+ AddProductToCartFromWishlist: async ({ ShopCustomer, StorefrontWishlist, StorefrontOffCanvasCart }, use) => {
7419
+ const task = (ProductData) => {
7420
+ return async function AddProductToCartFromWishlist2() {
7421
+ const listedItem = await StorefrontWishlist.getListingItemByProductName(ProductData.name);
7422
+ await listedItem.productAddToShoppingCart.click();
7423
+ await StorefrontWishlist.page.waitForResponse((response) => response.url().includes(`checkout/offcanvas`) && response.ok());
7424
+ await ShopCustomer.expects(StorefrontOffCanvasCart.itemCount).toBeVisible();
7425
+ const offcanvasItem = await StorefrontOffCanvasCart.getLineItemByProductNumber(ProductData.productNumber);
7426
+ const itemsPrice = await offcanvasItem.productTotalPriceValue.innerText();
7427
+ const expectedPrice = await listedItem.productPrice.innerText();
7428
+ ShopCustomer.expects(itemsPrice).toBe(expectedPrice);
7429
+ };
7430
+ };
7431
+ await use(task);
7432
+ }
7433
+ });
7434
+ const RemoveProductFromWishlist = test$e.extend({
7435
+ RemoveProductFromWishlist: async ({ StorefrontHome, StorefrontWishlist }, use) => {
7436
+ const task = (ProductData) => {
7437
+ return async function RemoveProductFromWishlist2() {
7438
+ const listedItem = await StorefrontHome.getListingItemByProductName(ProductData.name);
7439
+ await listedItem.wishlistAddedIcon.click();
7440
+ await StorefrontWishlist.page.waitForResponse((response) => response.url().includes(`remove/${ProductData.id}`) && response.ok());
7441
+ };
7442
+ };
7443
+ await use(task);
7444
+ }
7445
+ });
7446
+ const AddProductToWishlist = test$e.extend({
7447
+ AddProductToWishlist: async ({ StorefrontHome, ShopCustomer }, use) => {
7448
+ const task = (ProductData) => {
7449
+ return async function AddProductToWishlist2() {
7450
+ const listedItem = await StorefrontHome.getListingItemByProductName(ProductData.name);
7451
+ await listedItem.wishlistNotAddedIcon.click();
7452
+ await ShopCustomer.expects(listedItem.wishlistAddedIcon).toBeVisible();
7453
+ };
7454
+ };
7455
+ await use(task);
7456
+ }
7457
+ });
7458
+
7216
7459
  const test$2 = mergeTests(
7217
7460
  Login,
7218
7461
  Logout,
7219
7462
  Register,
7220
7463
  RegisterGuest,
7221
7464
  ChangeStorefrontCurrency,
7465
+ AddNewAddress,
7222
7466
  AddProductToCart,
7223
7467
  ChangeProductQuantity,
7224
7468
  ProceedFromProductToCheckout,
@@ -7233,7 +7477,10 @@ const test$2 = mergeTests(
7233
7477
  OpenSearchResultPage,
7234
7478
  OpenSearchSuggestPage,
7235
7479
  SearchForTerm,
7236
- ValidateAccessibility
7480
+ ValidateAccessibility,
7481
+ RemoveProductFromWishlist,
7482
+ AddProductToCartFromWishlist,
7483
+ AddProductToWishlist
7237
7484
  );
7238
7485
 
7239
7486
  var __defProp = Object.defineProperty;