@shopware-ag/acceptance-test-suite 12.9.0 → 12.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -762,19 +762,39 @@ const administrationCustomField = {
762
762
 
763
763
  const buttons$h = {
764
764
  agree: "Agree",
765
- disableDataSharing: "Disable data sharing"
765
+ disableDataSharing: "Disable data sharing",
766
+ allowAll: "Allow all",
767
+ rejectAll: "Reject All",
768
+ savePreferences: "Save Preferences",
769
+ declineUsageData: "Decline",
770
+ giveConsentUsageData: "Give Consent"
771
+ };
772
+ const checkboxes$3 = {
773
+ shareStoreData: "Share store data (anonymous)",
774
+ shareUsageData: "Share Usage data"
775
+ };
776
+ const headlines$3 = {
777
+ consentModal: "Help us to improve Shopware",
778
+ storeData: "Store data",
779
+ usageData: "Usage data",
780
+ dataConsent: "Data Consent"
781
+ };
782
+ const links$7 = {
783
+ storeDataCollectionDetails: "here",
784
+ privacyPolicy: "Privacy Policy"
766
785
  };
767
786
  const messages$7 = {
787
+ storeData: "Anonymous data from your Shopware environment such as orders, diagnostic data, and store data helps us to improve features. You can find an overview of all collected data and details of the agreement here.",
788
+ usageData: "We use personal usage data about how you interact with the administration to continously improve usability. You can find all details in our Privacy Policy.",
768
789
  sharingData: "You are sharing data with us",
769
790
  termsAgreement: "By clicking \"Agree\", you confirm that you are authorised to enter into this agreement on behalf of your company."
770
791
  };
771
- const headlines$1 = {
772
- dataConsent: "Data Consent"
773
- };
774
792
  const administrationDataSharing = {
775
793
  buttons: buttons$h,
776
- messages: messages$7,
777
- headlines: headlines$1
794
+ checkboxes: checkboxes$3,
795
+ headlines: headlines$3,
796
+ links: links$7,
797
+ messages: messages$7
778
798
  };
779
799
 
780
800
  const listing$m = {
@@ -1084,8 +1104,54 @@ const administrationRule = {
1084
1104
  const header$1 = {
1085
1105
  settings: "Settings"
1086
1106
  };
1107
+ const links$6 = {
1108
+ basicInformation: "Basic information",
1109
+ cartSettings: "Cart settings",
1110
+ languages: "Languages",
1111
+ measurementSystem: "Measurement system",
1112
+ numberRanges: "Number ranges",
1113
+ productUnits: "Product units",
1114
+ search: "Search",
1115
+ statusManagement: "Status management",
1116
+ customerGroups: "Customer groups",
1117
+ loginAndSignUp: "Log-in & sign-up",
1118
+ salutations: "Salutations",
1119
+ flowBuilder: "Flow Builder",
1120
+ importExport: "Import/Export",
1121
+ ruleBuilder: "Rule builder",
1122
+ countries: "Countries",
1123
+ currencies: "Currencies",
1124
+ snippets: "Snippets",
1125
+ tax: "Tax",
1126
+ customFields: "Custom fields",
1127
+ emailTemplates: "Email templates",
1128
+ media: "Media",
1129
+ newsletter: "Newsletter",
1130
+ seo: "SEO",
1131
+ sitemap: "Sitemap",
1132
+ tags: "Tags",
1133
+ deliveryTimes: "Delivery times",
1134
+ documents: "Documents",
1135
+ essentialCharacteristics: "Essential characteristics",
1136
+ paymentMethods: "Payment methods",
1137
+ products: "Products",
1138
+ shipping: "Shipping",
1139
+ cachesAndIndexes: "Caches & indexes",
1140
+ eventLogs: "Event logs",
1141
+ firstRunWizard: "First Run Wizard",
1142
+ integrations: "Integrations",
1143
+ mailer: "Mailer",
1144
+ messageQueueStatistics: "Message queue statistics",
1145
+ privacy: "Privacy",
1146
+ shopwareAccount: "Shopware Account",
1147
+ shopwareServices: "Shopware Services",
1148
+ shopwareUpdates: "Shopware updates",
1149
+ storefront: "Storefront",
1150
+ usersAndPermissions: "Users & permissions"
1151
+ };
1087
1152
  const administrationSettings = {
1088
- header: header$1
1153
+ header: header$1,
1154
+ links: links$6
1089
1155
  };
1090
1156
 
1091
1157
  const common$9 = {
@@ -1116,7 +1182,8 @@ const administrationShipping = {
1116
1182
  };
1117
1183
 
1118
1184
  const tabs$8 = {
1119
- searchPreferences: "Search preferences"
1185
+ searchPreferences: "Search preferences",
1186
+ privacyPreferences: "Privacy preferences"
1120
1187
  };
1121
1188
  const fields$6 = {
1122
1189
  firstName: "First name",
@@ -1127,10 +1194,23 @@ const fields$6 = {
1127
1194
  const buttons$e = {
1128
1195
  deselectAll: "Deselect all"
1129
1196
  };
1197
+ const links$5 = {
1198
+ privacy: "Privacy Policy"
1199
+ };
1200
+ const checkboxes$2 = {
1201
+ usageDataCheckbox: "Share Usage Data"
1202
+ };
1203
+ const headlines$2 = {
1204
+ usageDataHeadline: "Usage data",
1205
+ cardTitle: "Help us to improve Shopware"
1206
+ };
1130
1207
  const administrationYourProfile = {
1131
1208
  tabs: tabs$8,
1132
1209
  fields: fields$6,
1133
- buttons: buttons$e
1210
+ buttons: buttons$e,
1211
+ links: links$5,
1212
+ checkboxes: checkboxes$2,
1213
+ headlines: headlines$2
1134
1214
  };
1135
1215
 
1136
1216
  const listing$g = {
@@ -1227,7 +1307,7 @@ const modals$3 = {
1227
1307
  const messages$5 = {
1228
1308
  accessDenied: "Access denied"
1229
1309
  };
1230
- const links$1 = {
1310
+ const links$4 = {
1231
1311
  shopwareServices: "Shopware Services"
1232
1312
  };
1233
1313
  const dashboard$1 = {
@@ -1238,7 +1318,7 @@ const administrationShopwareServices = {
1238
1318
  buttons: buttons$c,
1239
1319
  modals: modals$3,
1240
1320
  messages: messages$5,
1241
- links: links$1,
1321
+ links: links$4,
1242
1322
  dashboard: dashboard$1
1243
1323
  };
1244
1324
 
@@ -1957,19 +2037,39 @@ const deAdministrationDashboard = {
1957
2037
 
1958
2038
  const buttons$8 = {
1959
2039
  agree: "Zustimmen",
1960
- disableDataSharing: "Datenfreigabe deaktivieren"
2040
+ disableDataSharing: "Datenfreigabe deaktivieren",
2041
+ allowAll: "Alle akzeptieren",
2042
+ rejectAll: "Alle ablehnen",
2043
+ savePreferences: "Auswahl speichern",
2044
+ declineUsageData: "Ablehnen",
2045
+ giveConsentUsageData: "Zustimmung geben"
2046
+ };
2047
+ const checkboxes$1 = {
2048
+ shareStoreData: "Shopdaten teilen (anonym)",
2049
+ shareUsageData: "Nutzungsdaten teilen"
2050
+ };
2051
+ const headlines$1 = {
2052
+ consentModal: "Hilf uns dabei, Shopware zu verbessern",
2053
+ storeData: "Shopdaten",
2054
+ usageData: "Nutzungsdaten",
2055
+ dataConsent: "Dateneinverständnis"
2056
+ };
2057
+ const links$3 = {
2058
+ storeDataCollectionDetails: "hier",
2059
+ privacyPolicy: "Datenschutzerklärung"
1961
2060
  };
1962
2061
  const messages$3 = {
2062
+ storeData: "Anonyme Daten aus Deiner Shopware-Umgebung wie Bestellungen, Diagnosedaten und Shopdaten helfen uns, Funktionen zu verbessern. Eine Übersicht über alle Daten und Einzelheiten der Vereinbarung findest Du hier.",
2063
+ usageData: "Wir nutzen personenbezogene Daten über dein Verhalten in der Administration, um die Benutzerfreundlichkeit weiter zu verbessern. Alle Einzelheiten findest Du in unserer Datenschutzerklärung.",
1963
2064
  sharingData: "Sie teilen Daten mit uns",
1964
2065
  termsAgreement: "Durch Klicken auf \"Zustimmen\" bestätigen Sie, dass Sie berechtigt sind, diese Vereinbarung im Namen Ihres Unternehmens abzuschließen."
1965
2066
  };
1966
- const headlines = {
1967
- dataConsent: "Dateneinverständnis"
1968
- };
1969
2067
  const deAdministrationDataSharing = {
1970
2068
  buttons: buttons$8,
1971
- messages: messages$3,
1972
- headlines: headlines
2069
+ checkboxes: checkboxes$1,
2070
+ headlines: headlines$1,
2071
+ links: links$3,
2072
+ messages: messages$3
1973
2073
  };
1974
2074
 
1975
2075
  const listing$9 = {
@@ -2430,8 +2530,54 @@ const deAdministrationRule = {
2430
2530
  const header = {
2431
2531
  settings: "Einstellungen"
2432
2532
  };
2533
+ const links$2 = {
2534
+ basicInformation: "Stammdaten",
2535
+ cartSettings: "Warenkorb",
2536
+ languages: "Sprachen",
2537
+ measurementSystem: "Maßeinheitensystem",
2538
+ numberRanges: "Nummernkreise",
2539
+ productUnits: "Produkteinheiten",
2540
+ search: "Suche",
2541
+ statusManagement: "Statusverwaltung",
2542
+ customerGroups: "Kundengruppen",
2543
+ loginAndSignUp: "Anmeldung & Registrierung",
2544
+ salutations: "Anreden",
2545
+ flowBuilder: "Flow Builder",
2546
+ importExport: "Import/Export",
2547
+ ruleBuilder: "Rule Builder",
2548
+ countries: "Länder",
2549
+ currencies: "Währungen",
2550
+ snippets: "Textbausteine",
2551
+ tax: "Steuern",
2552
+ customFields: "Zusatzfelder",
2553
+ emailTemplates: "E-Mail-Templates",
2554
+ media: "Medien",
2555
+ newsletter: "Newsletter",
2556
+ seo: "SEO",
2557
+ sitemap: "Sitemap",
2558
+ tags: "Tags",
2559
+ deliveryTimes: "Lieferzeiten",
2560
+ documents: "Dokumente",
2561
+ essentialCharacteristics: "Wesentliche Merkmale",
2562
+ paymentMethods: "Zahlungsarten",
2563
+ products: "Produkte",
2564
+ shipping: "Versand",
2565
+ cachesAndIndexes: "Caches & Indizes",
2566
+ eventLogs: "Ereignis-Logs",
2567
+ firstRunWizard: "Ersteinrichtungs-Assistent",
2568
+ integrations: "Integrationen",
2569
+ mailer: "Mailer",
2570
+ messageQueueStatistics: "Nachrichtenwarteschlangen-Statistiken",
2571
+ privacy: "Datenschutzeinstellungen",
2572
+ shopwareAccount: "Shopware Account",
2573
+ shopwareServices: "Shopware Services",
2574
+ shopwareUpdates: "Shopware-Aktualisierungen",
2575
+ storefront: "Storefront",
2576
+ usersAndPermissions: "Benutzer & Rechte"
2577
+ };
2433
2578
  const deAdministrationSettings = {
2434
- header: header
2579
+ header: header,
2580
+ links: links$2
2435
2581
  };
2436
2582
 
2437
2583
  const common$3 = {
@@ -2476,7 +2622,7 @@ const modals = {
2476
2622
  const messages$1 = {
2477
2623
  accessDenied: "Zugriff verweigert"
2478
2624
  };
2479
- const links = {
2625
+ const links$1 = {
2480
2626
  shopwareServices: "Shopware Services"
2481
2627
  };
2482
2628
  const dashboard = {
@@ -2487,7 +2633,7 @@ const deAdministrationShopwareServices = {
2487
2633
  buttons: buttons$3,
2488
2634
  modals: modals,
2489
2635
  messages: messages$1,
2490
- links: links,
2636
+ links: links$1,
2491
2637
  dashboard: dashboard
2492
2638
  };
2493
2639
 
@@ -2506,7 +2652,8 @@ const general$2 = {
2506
2652
  saveSuccess: "Profil wurde erfolgreich aktualisiert."
2507
2653
  };
2508
2654
  const tabs$1 = {
2509
- searchPreferences: "Suchen"
2655
+ searchPreferences: "Suchen",
2656
+ privacyPreferences: "Datenschutzeinstellungen"
2510
2657
  };
2511
2658
  const fields = {
2512
2659
  firstName: "Vorname",
@@ -2517,11 +2664,24 @@ const fields = {
2517
2664
  const buttons$2 = {
2518
2665
  deselectAll: "Alle abwählen"
2519
2666
  };
2667
+ const links = {
2668
+ privacy: "Datenschutzerklärung"
2669
+ };
2670
+ const checkboxes = {
2671
+ usageDataCheckbox: "Nutzungsdaten teilen"
2672
+ };
2673
+ const headlines = {
2674
+ usageDataHeadline: "Nutzungsdaten",
2675
+ cardTitle: "Hilfen Sie uns, Shopware zu verbessern"
2676
+ };
2520
2677
  const deAdministrationYourProfile = {
2521
2678
  general: general$2,
2522
2679
  tabs: tabs$1,
2523
2680
  fields: fields,
2524
- buttons: buttons$2
2681
+ buttons: buttons$2,
2682
+ links: links,
2683
+ checkboxes: checkboxes,
2684
+ headlines: headlines
2525
2685
  };
2526
2686
 
2527
2687
  const tabs = {
@@ -5250,6 +5410,30 @@ class TestDataService {
5250
5410
  const { data: result } = await response.json();
5251
5411
  return result[0];
5252
5412
  }
5413
+ /**
5414
+ * Retrieves a payment method by its distinguishable name.
5415
+ *
5416
+ * @param name - The name of the payment method.
5417
+ * @param exact - exact name or part of it
5418
+ */
5419
+ async getPaymentMethodByDistinguishableName(name, exact = true) {
5420
+ const searchType = exact ? "equals" : "contains";
5421
+ const response = await this.AdminApiClient.post("search/payment-method", {
5422
+ data: {
5423
+ limit: 1,
5424
+ filter: [
5425
+ {
5426
+ type: searchType,
5427
+ field: "distinguishableName",
5428
+ value: name
5429
+ }
5430
+ ]
5431
+ }
5432
+ });
5433
+ expect(response.ok()).toBeTruthy();
5434
+ const { data: result } = await response.json();
5435
+ return result[0];
5436
+ }
5253
5437
  /**
5254
5438
  * Retrieves the address of a customer by its uuid.
5255
5439
  *
@@ -7462,9 +7646,7 @@ class AccountOrder extends BaseAccount {
7462
7646
  name: new RegExp(`${translate("storefront:account:orders.expand")}|${translate("storefront:account:orders.showDetails")}`)
7463
7647
  });
7464
7648
  const orderImage = orderItem.locator(".line-item-img-link");
7465
- const taxPrice = orderItem.locator(
7466
- `dt:text-matches('${translate("storefront:account:orders.includeVat")} [0-9]\\+\\?${translate("storefront:account:orders.vatSuffix")}') + dd`
7467
- );
7649
+ const taxPrice = orderItem.locator(`dt:text-matches(${JSON.stringify(this.buildTaxPricePattern())}) + dd`);
7468
7650
  const shippingCosts = orderItem.locator(`dt:text-matches('${translate("storefront:account:orders.shippingCosts")}') + dd`);
7469
7651
  const totalGross = orderItem.locator(`dt:text-matches('${translate("storefront:account:orders.totalGross")}') + dd`);
7470
7652
  return {
@@ -7488,6 +7670,17 @@ class AccountOrder extends BaseAccount {
7488
7670
  url() {
7489
7671
  return "account/order";
7490
7672
  }
7673
+ buildTaxPricePattern() {
7674
+ const taxRatePattern = "[0-9]+(?:[.,][0-9]+)?";
7675
+ const taxLabelPattern = [
7676
+ this.escapeRegex(translate("storefront:account:orders.includeVat")),
7677
+ this.escapeRegex(translate("storefront:account:orders.plusVat"))
7678
+ ].join("|");
7679
+ return `(?:${taxLabelPattern})\\s+${taxRatePattern}${this.escapeRegex(translate("storefront:account:orders.vatSuffix"))}`;
7680
+ }
7681
+ escapeRegex(text) {
7682
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
7683
+ }
7491
7684
  }
7492
7685
 
7493
7686
  class AccountAddresses extends BaseAccount {
@@ -8932,18 +9125,29 @@ class DataSharing {
8932
9125
  dataSharingTermsAgreementLabel;
8933
9126
  page;
8934
9127
  instanceMeta;
9128
+ dataSharingCardTitle;
9129
+ dataSharingStoreDataHeadline;
9130
+ dataSharingStoreDataCheckbox;
9131
+ dataUseDetailsLink;
8935
9132
  constructor(page, instanceMeta) {
8936
9133
  this.page = page;
8937
9134
  this.instanceMeta = instanceMeta;
8938
- if (satisfies(instanceMeta.version, "<6.6.1")) {
8939
- this.dataConsentHeadline = page.locator("header.sw-usage-data-consent-banner__title");
9135
+ if (satisfies(instanceMeta.version, "<6.7.9.0")) {
9136
+ if (satisfies(instanceMeta.version, "<6.6.1")) {
9137
+ this.dataConsentHeadline = page.locator("header.sw-usage-data-consent-banner__title");
9138
+ } else {
9139
+ this.dataConsentHeadline = page.locator("h3.sw-usage-data-consent-banner__content-headline");
9140
+ }
9141
+ this.dataSharingAgreeButton = page.getByRole("button", { name: translate("administration:dataSharing:buttons.agree") });
9142
+ this.dataSharingDisableButton = page.getByRole("button", { name: translate("administration:dataSharing:buttons.disableDataSharing") });
9143
+ this.dataSharingSuccessMessageLabel = page.getByText(translate("administration:dataSharing:messages.sharingData"), { exact: true });
9144
+ this.dataSharingTermsAgreementLabel = page.getByText(translate("administration:dataSharing:messages.termsAgreement"));
8940
9145
  } else {
8941
- this.dataConsentHeadline = page.locator("h3.sw-usage-data-consent-banner__content-headline");
9146
+ this.dataSharingCardTitle = page.getByRole("heading", { name: translate("administration:dataSharing:headlines.consentModal") });
9147
+ this.dataSharingStoreDataHeadline = page.getByRole("heading", { name: translate("administration:dataSharing:headlines.storeData") });
9148
+ this.dataSharingStoreDataCheckbox = page.getByRole("checkbox", { name: translate("administration:dataSharing:checkboxes.shareStoreData") });
9149
+ this.dataUseDetailsLink = page.getByRole("link", { name: translate("administration:dataSharing:links.storeDataCollectionDetails") });
8942
9150
  }
8943
- this.dataSharingAgreeButton = page.getByRole("button", { name: translate("administration:dataSharing:buttons.agree") });
8944
- this.dataSharingDisableButton = page.getByRole("button", { name: translate("administration:dataSharing:buttons.disableDataSharing") });
8945
- this.dataSharingSuccessMessageLabel = page.getByText(translate("administration:dataSharing:messages.sharingData"), { exact: true });
8946
- this.dataSharingTermsAgreementLabel = page.getByText(translate("administration:dataSharing:messages.termsAgreement"));
8947
9151
  }
8948
9152
  url() {
8949
9153
  if (satisfies(this.instanceMeta.version, "<6.6.1")) {
@@ -8963,6 +9167,7 @@ class Dashboard {
8963
9167
  adminMenuContent;
8964
9168
  adminMenuMarketing;
8965
9169
  adminMenuExtension;
9170
+ adminMenuSettings;
8966
9171
  adminMenuUserChevron;
8967
9172
  adminMenuUserIcon;
8968
9173
  adminMenuUserName;
@@ -8997,6 +9202,7 @@ class Dashboard {
8997
9202
  this.adminMenuUserChevron = page.locator(".sw-admin-menu__user-actions-indicator");
8998
9203
  this.adminMenuUserIcon = page.locator(".sw-avatar");
8999
9204
  this.adminMenuUserName = page.locator(".sw-admin-menu__user-name");
9205
+ this.adminMenuSettings = page.locator(".sw-settings");
9000
9206
  this.welcomeHeadline = page.locator("h1.sw-dashboard-index__welcome-title");
9001
9207
  this.welcomeMessage = page.locator(".sw-dashboard-index__welcome-message");
9002
9208
  this.dataSharingConsentBanner = page.locator(".sw-usage-data-consent-banner");
@@ -10019,13 +10225,99 @@ class CustomerBulkEdit {
10019
10225
  class SettingsListing {
10020
10226
  contentView;
10021
10227
  header;
10022
- shopwareServicesLink;
10023
10228
  page;
10229
+ basicInformationLink;
10230
+ cartSettingsLink;
10231
+ languagesLink;
10232
+ measurementSystemLink;
10233
+ numberRangesLink;
10234
+ productUnitsLink;
10235
+ searchLink;
10236
+ statusManagementLink;
10237
+ customerGroupsLink;
10238
+ loginAndSignUpLink;
10239
+ salutationsLink;
10240
+ flowBuilderLink;
10241
+ importExportLink;
10242
+ ruleBuilderLink;
10243
+ countriesLink;
10244
+ currenciesLink;
10245
+ snippetsLink;
10246
+ taxLink;
10247
+ customFieldsLink;
10248
+ emailTemplatesLink;
10249
+ mediaLink;
10250
+ newsletterLink;
10251
+ seoLink;
10252
+ sitemapLink;
10253
+ tagsLink;
10254
+ deliveryTimesLink;
10255
+ documentsLink;
10256
+ essentialCharacteristicsLink;
10257
+ paymentMethodsLink;
10258
+ productsLink;
10259
+ shippingLink;
10260
+ cachesAndIndexesLink;
10261
+ eventLogsLink;
10262
+ firstRunWizardLink;
10263
+ integrationsLink;
10264
+ mailerLink;
10265
+ messageQueueStatisticsLink;
10266
+ privacyLink;
10267
+ shopwareAccountLink;
10268
+ shopwareServicesLink;
10269
+ shopwareUpdatesLink;
10270
+ storefrontLink;
10271
+ usersAndPermissionsLink;
10024
10272
  constructor(page) {
10025
10273
  this.page = page;
10026
10274
  this.header = page.locator(".sw-settings__content-header");
10027
10275
  this.contentView = page.locator(".sw-desktop__content");
10028
10276
  this.shopwareServicesLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:shopwareServices:links.shopwareServices") });
10277
+ this.privacyLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.privacy") });
10278
+ this.basicInformationLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.basicInformation") });
10279
+ this.cartSettingsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.cartSettings") });
10280
+ this.languagesLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.languages") });
10281
+ this.measurementSystemLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.measurementSystem") });
10282
+ this.numberRangesLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.numberRanges") });
10283
+ this.productUnitsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.productUnits") });
10284
+ this.searchLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.search") });
10285
+ this.statusManagementLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.statusManagement") });
10286
+ this.customerGroupsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.customerGroups") });
10287
+ this.loginAndSignUpLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.loginAndSignUp") });
10288
+ this.salutationsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.salutations") });
10289
+ this.flowBuilderLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.flowBuilder") });
10290
+ this.importExportLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.importExport") });
10291
+ this.ruleBuilderLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.ruleBuilder") });
10292
+ this.countriesLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.countries") });
10293
+ this.currenciesLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.currencies") });
10294
+ this.snippetsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.snippets") });
10295
+ this.taxLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.tax") });
10296
+ this.customFieldsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.customFields") });
10297
+ this.emailTemplatesLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.emailTemplates") });
10298
+ this.mediaLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.media") });
10299
+ this.newsletterLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.newsletter") });
10300
+ this.seoLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.seo") });
10301
+ this.sitemapLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.sitemap") });
10302
+ this.tagsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.tags") });
10303
+ this.deliveryTimesLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.deliveryTimes") });
10304
+ this.documentsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.documents") });
10305
+ this.essentialCharacteristicsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.essentialCharacteristics") });
10306
+ this.paymentMethodsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.paymentMethods") });
10307
+ this.productsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.products") });
10308
+ this.shippingLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.shipping") });
10309
+ this.cachesAndIndexesLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.cachesAndIndexes") });
10310
+ this.eventLogsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.eventLogs") });
10311
+ this.firstRunWizardLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.firstRunWizard") });
10312
+ this.integrationsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.integrations") });
10313
+ this.mailerLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.mailer") });
10314
+ this.messageQueueStatisticsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.messageQueueStatistics") });
10315
+ this.privacyLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.privacy") });
10316
+ this.shopwareAccountLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.shopwareAccount") });
10317
+ this.shopwareServicesLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.shopwareServices") });
10318
+ this.shopwareUpdatesLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.shopwareUpdates") });
10319
+ this.storefrontLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.storefront") });
10320
+ this.usersAndPermissionsLink = page.locator(".sw-settings__content-grid").getByRole("link", { name: translate("administration:settings:links.usersAndPermissions") });
10029
10321
  }
10030
10322
  url() {
10031
10323
  return "#/sw/settings/index/shop";
@@ -10334,6 +10626,11 @@ class YourProfile {
10334
10626
  userNameField;
10335
10627
  emailField;
10336
10628
  deselectAllButton;
10629
+ privacyPreferencesTab;
10630
+ dataSharingCardTitle;
10631
+ dataSharingUsageDataHeadline;
10632
+ dataSharingUsageDataCheckbox;
10633
+ privacyPolicyLink;
10337
10634
  constructor(page) {
10338
10635
  this.page = page;
10339
10636
  this.contentView = page.locator(".sw-desktop__content");
@@ -10343,9 +10640,14 @@ class YourProfile {
10343
10640
  this.userNameField = page.getByRole("textbox", { name: translate("administration:yourProfile:fields.username") });
10344
10641
  this.emailField = page.getByRole("textbox", { name: translate("administration:yourProfile:fields.email") });
10345
10642
  this.deselectAllButton = page.getByRole("button", { name: translate("administration:yourProfile:buttons.deselectAll") });
10643
+ this.privacyPreferencesTab = page.locator(".sw-tabs-item").filter({ hasText: translate("administration:yourProfile:tabs.privacyPreferences") });
10644
+ this.dataSharingCardTitle = page.getByRole("heading", { name: translate("administration:yourProfile:headlines.cardTitle") });
10645
+ this.dataSharingUsageDataHeadline = page.getByRole("heading", { name: translate("administration:yourProfile:headlines.usageDataHeadline") });
10646
+ this.dataSharingUsageDataCheckbox = page.getByRole("checkbox", { name: translate("administration:yourProfile:checkboxes.usageDataCheckbox") });
10647
+ this.privacyPolicyLink = page.getByRole("link", { name: translate("administration:yourProfile:links.privacy") });
10346
10648
  }
10347
- url() {
10348
- return "#/sw/profile/index/general";
10649
+ url(tabName = "general") {
10650
+ return `#/sw/profile/index/${tabName}`;
10349
10651
  }
10350
10652
  }
10351
10653
 
@@ -10572,6 +10874,70 @@ class OrderListing {
10572
10874
  }
10573
10875
  }
10574
10876
 
10877
+ class DataSharingConsentModal {
10878
+ page;
10879
+ consentModal;
10880
+ allowAllButton;
10881
+ rejectAllButton;
10882
+ savePreferencesButton;
10883
+ declineUsageDataButton;
10884
+ giveConsentUsageDataButton;
10885
+ shareStoreDataHeadline;
10886
+ shareStoreDataText;
10887
+ shareStoreDataCheckbox;
10888
+ shareUsageDataHeadline;
10889
+ shareUsageDataText;
10890
+ shareUsageDataCheckbox;
10891
+ storeDataCollectionDetailsLink;
10892
+ privacyPolicyLink;
10893
+ constructor(page) {
10894
+ this.page = page;
10895
+ this.consentModal = page.getByRole("dialog").filter({
10896
+ has: page.getByRole("heading", {
10897
+ name: translate("administration:dataSharing:headlines.consentModal")
10898
+ })
10899
+ });
10900
+ this.allowAllButton = this.consentModal.getByRole("button", {
10901
+ name: translate("administration:dataSharing:buttons.allowAll")
10902
+ });
10903
+ this.rejectAllButton = this.consentModal.getByRole("button", {
10904
+ name: translate("administration:dataSharing:buttons.rejectAll")
10905
+ });
10906
+ this.savePreferencesButton = this.consentModal.getByRole("button", {
10907
+ name: translate("administration:dataSharing:buttons.savePreferences")
10908
+ });
10909
+ this.declineUsageDataButton = this.consentModal.getByRole("button", {
10910
+ name: translate("administration:dataSharing:buttons.declineUsageData")
10911
+ });
10912
+ this.giveConsentUsageDataButton = this.consentModal.getByRole("button", {
10913
+ name: translate("administration:dataSharing:buttons.giveConsentUsageData")
10914
+ });
10915
+ this.shareStoreDataHeadline = this.consentModal.getByRole("heading", {
10916
+ name: translate("administration:dataSharing:headlines.storeData")
10917
+ });
10918
+ this.shareStoreDataText = this.consentModal.getByText(translate("administration:dataSharing:messages.storeData"));
10919
+ this.shareStoreDataCheckbox = this.consentModal.getByRole("checkbox", {
10920
+ name: translate("administration:dataSharing:checkboxes.shareStoreData")
10921
+ });
10922
+ this.shareUsageDataHeadline = this.consentModal.getByRole("heading", {
10923
+ name: translate("administration:dataSharing:headlines.usageData")
10924
+ });
10925
+ this.shareUsageDataText = this.consentModal.getByText(translate("administration:dataSharing:messages.usageData"));
10926
+ this.shareUsageDataCheckbox = this.consentModal.getByRole("checkbox", {
10927
+ name: translate("administration:dataSharing:checkboxes.shareUsageData")
10928
+ });
10929
+ this.storeDataCollectionDetailsLink = this.consentModal.getByRole("link", {
10930
+ name: translate("administration:dataSharing:links.storeDataCollectionDetails")
10931
+ });
10932
+ this.privacyPolicyLink = this.consentModal.getByRole("link", {
10933
+ name: translate("administration:dataSharing:links.privacyPolicy")
10934
+ });
10935
+ }
10936
+ url() {
10937
+ return new Error("Method not implemented, because it is a modal which can not be routed.").message;
10938
+ }
10939
+ }
10940
+
10575
10941
  const AdminPageObjects = {
10576
10942
  ProductDetail,
10577
10943
  OrderDetail,
@@ -10622,7 +10988,8 @@ const AdminPageObjects = {
10622
10988
  LayoutListing,
10623
10989
  ListingPageLayoutDetail,
10624
10990
  LayoutCreate,
10625
- OrderListing
10991
+ OrderListing,
10992
+ DataSharingConsentModal
10626
10993
  };
10627
10994
  const test$6 = test$e.extend({
10628
10995
  AdminProductDetail: async ({ AdminPage, InstanceMeta }, use) => {
@@ -10774,6 +11141,9 @@ const test$6 = test$e.extend({
10774
11141
  },
10775
11142
  AdminOrderListing: async ({ AdminPage, InstanceMeta }, use) => {
10776
11143
  await use(new OrderListing(AdminPage, InstanceMeta));
11144
+ },
11145
+ AdminDataSharingConsentModal: async ({ AdminPage }, use) => {
11146
+ await use(new DataSharingConsentModal(AdminPage));
10777
11147
  }
10778
11148
  });
10779
11149
 
@@ -12740,6 +13110,23 @@ async function assertScreenshot(page, filename, locator) {
12740
13110
  }
12741
13111
  }
12742
13112
 
13113
+ async function uploadRandomPngMedia(target, imageName) {
13114
+ const image = createRandomImage();
13115
+ const fileChooserPromise = target.page.waitForEvent("filechooser");
13116
+ await target.uploadMediaButton.click();
13117
+ const fileChooser = await fileChooserPromise;
13118
+ const responsePromise = target.page.waitForResponse(
13119
+ (response2) => response2.url().includes("/api/search/media") && response2.ok()
13120
+ );
13121
+ await fileChooser.setFiles({
13122
+ name: `${imageName}.png`,
13123
+ mimeType: "image/png",
13124
+ buffer: encodeImage(image)
13125
+ });
13126
+ const response = await responsePromise;
13127
+ expect(response.ok()).toBeTruthy();
13128
+ }
13129
+
12743
13130
  const test = mergeTests(
12744
13131
  test$8,
12745
13132
  test$d,
@@ -12756,4 +13143,4 @@ const test = mergeTests(
12756
13143
  test$3
12757
13144
  );
12758
13145
 
12759
- export { Actor, AdminPageObjects, BUNDLED_RESOURCES, COUNTRY_ADDRESS_DATA, FeatureService, IdProvider, LanguageHelper, RuleType, StorefrontPageObjects, TestDataService, assertScreenshot, baseNamespaces, clearDelayedCache, compareFlowTemplateWithFlow, createNewAdminPageContext, createRandomImage, createSolidColorImage, encodeImage, extractIdFromUrl, formatPrice, getCountryAddressData, getCountryCodeFromLocale, getCountryId, getCurrency, getCurrencyCodeFromLocale, getCurrencySymbolFromLocale, getCurrentContext, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageCode, getLanguageData, getLocale, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, hideElements, isSaaSInstance, isThemeCompiled, loginToAdministration, mockApiCalls, replaceElements, replaceElementsIndividually, setCurrentContext, setOrderStatus, setViewport, test, translate, updateAdminUser };
13146
+ export { Actor, AdminPageObjects, BUNDLED_RESOURCES, COUNTRY_ADDRESS_DATA, FeatureService, IdProvider, LanguageHelper, RuleType, StorefrontPageObjects, TestDataService, assertScreenshot, baseNamespaces, clearDelayedCache, compareFlowTemplateWithFlow, createNewAdminPageContext, createRandomImage, createSolidColorImage, encodeImage, extractIdFromUrl, formatPrice, getCountryAddressData, getCountryCodeFromLocale, getCountryId, getCurrency, getCurrencyCodeFromLocale, getCurrencySymbolFromLocale, getCurrentContext, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageCode, getLanguageData, getLocale, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, hideElements, isSaaSInstance, isThemeCompiled, loginToAdministration, mockApiCalls, replaceElements, replaceElementsIndividually, setCurrentContext, setOrderStatus, setViewport, test, translate, updateAdminUser, uploadRandomPngMedia };