@shopware-ag/acceptance-test-suite 11.37.0 → 12.0.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
@@ -14,17 +14,17 @@ const test$d = test$e.extend({
14
14
  SalesChannelBaseConfig: [
15
15
  async ({ Country, Currency, Language, PaymentMethod, ShippingMethod, SnippetSet, Tax, Theme }, use) => {
16
16
  await use({
17
- enGBLocaleId: Language.translationCode.id,
18
- enGBLanguageId: Language.id,
17
+ currentLocaleId: Language.translationCode.id,
19
18
  storefrontTypeId: "8a243080f92e4c719546314b577cf82b",
20
- eurCurrencyId: Currency.id,
19
+ currentCurrencyId: Currency.id,
21
20
  defaultCurrencyId: "b7d2554b0ce847cd82f3ac9bd1c0dfca",
21
+ currentLanguageId: Language.id,
22
22
  defaultLanguageId: "2fbb5fe2e29a4d70aa5854ce7ce3e20b",
23
23
  invoicePaymentMethodId: PaymentMethod.id,
24
24
  defaultShippingMethod: ShippingMethod.id,
25
25
  taxId: Tax.id,
26
- deCountryId: Country.id,
27
- enGBSnippetSetId: SnippetSet.id,
26
+ currentCountryId: Country.id,
27
+ currentSnippetSetId: SnippetSet.id,
28
28
  defaultThemeId: Theme.id,
29
29
  appUrl: process.env["APP_URL"],
30
30
  adminUrl: process.env["ADMIN_URL"] || `${process.env["APP_URL"]}admin/`
@@ -41,7 +41,7 @@ const test$d = test$e.extend({
41
41
  const { uuid: customerUuid } = IdProvider.getWorkerDerivedStableId("customer");
42
42
  const baseUrl = `${SalesChannelBaseConfig.appUrl}test-${uuid}/`;
43
43
  await AdminApiContext.delete(`./customer/${customerUuid}`);
44
- const wantedLanguages = /* @__PURE__ */ new Set([SalesChannelBaseConfig.enGBLanguageId, SalesChannelBaseConfig.defaultLanguageId]);
44
+ const wantedLanguages = /* @__PURE__ */ new Set([SalesChannelBaseConfig.currentLanguageId, SalesChannelBaseConfig.defaultLanguageId]);
45
45
  const languages = [];
46
46
  const result = await AdminApiContext.get(`./sales-channel/${uuid}/languages`);
47
47
  if (result.ok()) {
@@ -66,11 +66,11 @@ const test$d = test$e.extend({
66
66
  id: uuid,
67
67
  name: `${id} acceptance test`,
68
68
  typeId: SalesChannelBaseConfig.storefrontTypeId,
69
- languageId: SalesChannelBaseConfig.enGBLanguageId,
70
- currencyId: SalesChannelBaseConfig.eurCurrencyId,
69
+ languageId: SalesChannelBaseConfig.currentLanguageId,
70
+ currencyId: SalesChannelBaseConfig.currentCurrencyId,
71
71
  paymentMethodId: SalesChannelBaseConfig.invoicePaymentMethodId,
72
72
  shippingMethodId: SalesChannelBaseConfig.defaultShippingMethod,
73
- countryId: SalesChannelBaseConfig.deCountryId,
73
+ countryId: SalesChannelBaseConfig.currentCountryId,
74
74
  accessKey: "SWSC" + uuid,
75
75
  homeEnabled: true,
76
76
  navigationCategory: {
@@ -80,22 +80,24 @@ const test$d = test$e.extend({
80
80
  type: "page",
81
81
  productAssignmentType: "product"
82
82
  },
83
- domains: [{
84
- id: domainUuid,
85
- url: baseUrl,
86
- languageId: SalesChannelBaseConfig.enGBLanguageId,
87
- snippetSetId: SalesChannelBaseConfig.enGBSnippetSetId,
88
- currencyId: SalesChannelBaseConfig.eurCurrencyId
89
- }],
83
+ domains: [
84
+ {
85
+ id: domainUuid,
86
+ url: baseUrl,
87
+ languageId: SalesChannelBaseConfig.currentLanguageId,
88
+ snippetSetId: SalesChannelBaseConfig.currentSnippetSetId,
89
+ currencyId: SalesChannelBaseConfig.currentCurrencyId
90
+ }
91
+ ],
90
92
  customerGroup: {
91
93
  id: customerGroupUuid,
92
94
  name: `${id} Acceptance test`
93
95
  },
94
96
  languages,
95
- countries: [{ id: SalesChannelBaseConfig.deCountryId }],
97
+ countries: [{ id: SalesChannelBaseConfig.currentCountryId }],
96
98
  shippingMethods: [{ id: SalesChannelBaseConfig.defaultShippingMethod }],
97
99
  paymentMethods: [{ id: SalesChannelBaseConfig.invoicePaymentMethodId }],
98
- currencies: [{ id: SalesChannelBaseConfig.eurCurrencyId }]
100
+ currencies: [{ id: SalesChannelBaseConfig.currentCurrencyId }]
99
101
  }
100
102
  ]
101
103
  }
@@ -110,14 +112,14 @@ const test$d = test$e.extend({
110
112
  email: `customer_${id}@example.com`,
111
113
  password: "shopware",
112
114
  salutationId: salutations.data[0].id,
113
- languageId: SalesChannelBaseConfig.enGBLanguageId,
115
+ languageId: SalesChannelBaseConfig.currentLanguageId,
114
116
  defaultShippingAddress: {
115
117
  firstName: `${id} admin`,
116
118
  lastName: `${id} admin`,
117
119
  city: "not",
118
120
  street: "not",
119
121
  zipcode: "not",
120
- countryId: SalesChannelBaseConfig.deCountryId,
122
+ countryId: SalesChannelBaseConfig.currentCountryId,
121
123
  salutationId: salutations.data[0].id
122
124
  },
123
125
  defaultBillingAddress: {
@@ -126,7 +128,7 @@ const test$d = test$e.extend({
126
128
  city: "not",
127
129
  street: "not",
128
130
  zipcode: "not",
129
- countryId: SalesChannelBaseConfig.deCountryId,
131
+ countryId: SalesChannelBaseConfig.currentCountryId,
130
132
  salutationId: salutations.data[0].id
131
133
  },
132
134
  firstName: `${id} admin`,
@@ -139,10 +141,7 @@ const test$d = test$e.extend({
139
141
  const customerRespPromise = AdminApiContext.post("./customer?_response", {
140
142
  data: customerData
141
143
  });
142
- const [customerResp, salesChannelResp] = await Promise.all([
143
- customerRespPromise,
144
- salesChannelPromise
145
- ]);
144
+ const [customerResp, salesChannelResp] = await Promise.all([customerRespPromise, salesChannelPromise]);
146
145
  expect(customerResp.ok()).toBeTruthy();
147
146
  expect(salesChannelResp.ok()).toBeTruthy();
148
147
  const customer = await customerResp.json();
@@ -612,7 +611,7 @@ const general$a = {
612
611
  "delete": "Delete",
613
612
  customFields: "Custom fields"
614
613
  };
615
- const actions$f = {
614
+ const actions$h = {
616
615
  createCategory: "Create category",
617
616
  addLandingPage: "Add landing page",
618
617
  configureHomePage: "Configure home page",
@@ -643,7 +642,7 @@ const entities$1 = {
643
642
  };
644
643
  const administrationCategory = {
645
644
  general: general$a,
646
- actions: actions$f,
645
+ actions: actions$h,
647
646
  tabs: tabs$9,
648
647
  fields: fields$9,
649
648
  headings: headings$5,
@@ -722,7 +721,7 @@ const detail$n = {
722
721
  const general$9 = {
723
722
  customFields: "Custom fields"
724
723
  };
725
- const actions$e = {
724
+ const actions$g = {
726
725
  edit: "Edit",
727
726
  "delete": "Delete",
728
727
  cancel: "Cancel",
@@ -738,11 +737,11 @@ const administrationCustomField = {
738
737
  create: create$d,
739
738
  detail: detail$n,
740
739
  general: general$9,
741
- actions: actions$e,
740
+ actions: actions$g,
742
741
  dialogs: dialogs$7
743
742
  };
744
743
 
745
- const buttons$d = {
744
+ const buttons$f = {
746
745
  agree: "Agree",
747
746
  disableDataSharing: "Disable data sharing"
748
747
  };
@@ -754,7 +753,7 @@ const headlines$1 = {
754
753
  dataConsent: "Data Consent"
755
754
  };
756
755
  const administrationDataSharing = {
757
- buttons: buttons$d,
756
+ buttons: buttons$f,
758
757
  messages: messages$7,
759
758
  headlines: headlines$1
760
759
  };
@@ -911,7 +910,7 @@ const create$9 = {
911
910
  const detail$j = {
912
911
  customFields: "Custom fields"
913
912
  };
914
- const actions$d = {
913
+ const actions$f = {
915
914
  edit: "Edit",
916
915
  "delete": "Delete",
917
916
  cancel: "Cancel"
@@ -923,10 +922,27 @@ const administrationManufacturer = {
923
922
  listing: listing$h,
924
923
  create: create$9,
925
924
  detail: detail$j,
926
- actions: actions$d,
925
+ actions: actions$f,
927
926
  dialogs: dialogs$6
928
927
  };
929
928
 
929
+ const buttons$e = {
930
+ uploadFile: "Upload file",
931
+ addNewFolder: "Add new folder"
932
+ };
933
+ const search$2 = {
934
+ placeholder: "Search current folder..."
935
+ };
936
+ const actions$e = {
937
+ rename: "Rename",
938
+ "delete": "Delete"
939
+ };
940
+ const administrationMedia = {
941
+ buttons: buttons$e,
942
+ search: search$2,
943
+ actions: actions$e
944
+ };
945
+
930
946
  const detail$i = {
931
947
  items: "Items",
932
948
  sendDocument: "Send document",
@@ -943,7 +959,7 @@ const tabs$8 = {
943
959
  const listing$g = {
944
960
  addOrder: "Add order"
945
961
  };
946
- const actions$c = {
962
+ const actions$d = {
947
963
  view: "View",
948
964
  "delete": "Delete",
949
965
  cancel: "Cancel"
@@ -956,7 +972,7 @@ const administrationOrder = {
956
972
  contextMenu: contextMenu$1,
957
973
  tabs: tabs$8,
958
974
  listing: listing$g,
959
- actions: actions$c,
975
+ actions: actions$d,
960
976
  dialogs: dialogs$5
961
977
  };
962
978
 
@@ -989,7 +1005,7 @@ const cards$1 = {
989
1005
  const headings$4 = {
990
1006
  promotionCodes: "Promotion codes"
991
1007
  };
992
- const actions$b = {
1008
+ const actions$c = {
993
1009
  addPromotion: "Add promotion",
994
1010
  addDiscount: "Add discount",
995
1011
  duplicate: "Duplicate",
@@ -1005,11 +1021,11 @@ const administrationPromotion = {
1005
1021
  tabs: tabs$7,
1006
1022
  cards: cards$1,
1007
1023
  headings: headings$4,
1008
- actions: actions$b,
1024
+ actions: actions$c,
1009
1025
  fields: fields$8
1010
1026
  };
1011
1027
 
1012
- const buttons$c = {
1028
+ const buttons$d = {
1013
1029
  createRule: "Create rule",
1014
1030
  add: "Add",
1015
1031
  addAssignment: "Add assignment",
@@ -1027,7 +1043,7 @@ const testData$1 = {
1027
1043
  ruleDescription: "Rule description"
1028
1044
  };
1029
1045
  const administrationRule = {
1030
- buttons: buttons$c,
1046
+ buttons: buttons$d,
1031
1047
  fields: fields$7,
1032
1048
  errors: errors$4,
1033
1049
  testData: testData$1
@@ -1076,13 +1092,13 @@ const fields$6 = {
1076
1092
  username: "Username",
1077
1093
  email: "Email"
1078
1094
  };
1079
- const buttons$b = {
1095
+ const buttons$c = {
1080
1096
  deselectAll: "Deselect all"
1081
1097
  };
1082
1098
  const administrationYourProfile = {
1083
1099
  tabs: tabs$6,
1084
1100
  fields: fields$6,
1085
- buttons: buttons$b
1101
+ buttons: buttons$c
1086
1102
  };
1087
1103
 
1088
1104
  const listing$e = {
@@ -1109,7 +1125,7 @@ const administrationCustomerGroup = {
1109
1125
  const welcome$1 = {
1110
1126
  text: "Welcome to the Shopware 6 Administration"
1111
1127
  };
1112
- const buttons$a = {
1128
+ const buttons$b = {
1113
1129
  install: "Install",
1114
1130
  installMigrationAssistant: "Install Migration Assistant",
1115
1131
  installDemoData: "Install demo data"
@@ -1141,7 +1157,7 @@ const regions$1 = {
1141
1157
  };
1142
1158
  const administrationFirstRunWizard = {
1143
1159
  welcome: welcome$1,
1144
- buttons: buttons$a,
1160
+ buttons: buttons$b,
1145
1161
  headers: headers$1,
1146
1162
  fields: fields$5,
1147
1163
  placeholders: placeholders$1,
@@ -1151,7 +1167,7 @@ const administrationFirstRunWizard = {
1151
1167
  const headings$3 = {
1152
1168
  futureProofStore: "Future proof your store with Shopware Services"
1153
1169
  };
1154
- const buttons$9 = {
1170
+ const buttons$a = {
1155
1171
  activateServices: "Activate Services",
1156
1172
  grantPermissions: "Grant permissions",
1157
1173
  deactivate: "Deactivate",
@@ -1171,7 +1187,7 @@ const dashboard$1 = {
1171
1187
  };
1172
1188
  const administrationShopwareServices = {
1173
1189
  headings: headings$3,
1174
- buttons: buttons$9,
1190
+ buttons: buttons$a,
1175
1191
  modals: modals$3,
1176
1192
  messages: messages$5,
1177
1193
  links: links$1,
@@ -1212,7 +1228,7 @@ const tabs$5 = {
1212
1228
  seo: "SEO",
1213
1229
  reviews: "Reviews"
1214
1230
  };
1215
- const buttons$8 = {
1231
+ const buttons$9 = {
1216
1232
  save: "Save",
1217
1233
  uploadFile: "Upload file",
1218
1234
  generateVariants: "Generate variants",
@@ -1222,6 +1238,14 @@ const buttons$8 = {
1222
1238
  const modals$2 = {
1223
1239
  generateVariants: "Generate variants"
1224
1240
  };
1241
+ const propertyValues$1 = {
1242
+ blue: "Blue",
1243
+ red: "Red",
1244
+ green: "Green",
1245
+ small: "Small",
1246
+ medium: "Medium",
1247
+ large: "Large"
1248
+ };
1225
1249
  const administrationProduct = {
1226
1250
  detail: detail$e,
1227
1251
  variants: variants$1,
@@ -1230,8 +1254,9 @@ const administrationProduct = {
1230
1254
  bulkEdit: bulkEdit$2,
1231
1255
  listing: listing$d,
1232
1256
  tabs: tabs$5,
1233
- buttons: buttons$8,
1234
- modals: modals$2
1257
+ buttons: buttons$9,
1258
+ modals: modals$2,
1259
+ propertyValues: propertyValues$1
1235
1260
  };
1236
1261
 
1237
1262
  const common$8 = {
@@ -1289,6 +1314,7 @@ const addresses$1 = {
1289
1314
  postalCode: "Postal code",
1290
1315
  state: "State",
1291
1316
  editAddress: "Edit address",
1317
+ addNewAddress: "Add new address",
1292
1318
  useAsDefaultBilling: "Use as default billing address",
1293
1319
  useAsDefaultShipping: "Use as default shipping address",
1294
1320
  deliveryNotPossible: "A delivery to this country is not possible."
@@ -1350,7 +1376,7 @@ const common$7 = {
1350
1376
  street: "Street",
1351
1377
  postalCode: "Postal code"
1352
1378
  };
1353
- const actions$a = {
1379
+ const actions$b = {
1354
1380
  editAddress: "Edit address",
1355
1381
  useAsDefaultBilling: "Use as default billing address",
1356
1382
  useAsDefaultShipping: "Use as default shipping address",
@@ -1361,7 +1387,7 @@ const messages$4 = {
1361
1387
  };
1362
1388
  const storefrontAddress = {
1363
1389
  common: common$7,
1364
- actions: actions$a,
1390
+ actions: actions$b,
1365
1391
  messages: messages$4
1366
1392
  };
1367
1393
 
@@ -1492,6 +1518,13 @@ const storefrontConsent = {
1492
1518
  cookie: cookie$1
1493
1519
  };
1494
1520
 
1521
+ const skipToContentLink$1 = "Skip to main content";
1522
+ const searchInputAriaLabel$1 = "Enter search term...";
1523
+ const storefrontHeader = {
1524
+ skipToContentLink: skipToContentLink$1,
1525
+ searchInputAriaLabel: searchInputAriaLabel$1
1526
+ };
1527
+
1495
1528
  const account$1 = {
1496
1529
  yourAccount: "Your account"
1497
1530
  };
@@ -1550,7 +1583,7 @@ const storefrontLogin = {
1550
1583
  register: register$2
1551
1584
  };
1552
1585
 
1553
- const actions$9 = {
1586
+ const actions$a = {
1554
1587
  cancelOrder: "Cancel order",
1555
1588
  back: "Back"
1556
1589
  };
@@ -1559,7 +1592,7 @@ const shipping$1 = {
1559
1592
  express: "Express"
1560
1593
  };
1561
1594
  const storefrontOrder = {
1562
- actions: actions$9,
1595
+ actions: actions$a,
1563
1596
  shipping: shipping$1
1564
1597
  };
1565
1598
 
@@ -1577,13 +1610,13 @@ const methods$3 = {
1577
1610
  paidInAdvance: "Paid in advance",
1578
1611
  invoice: "Invoice"
1579
1612
  };
1580
- const actions$8 = {
1613
+ const actions$9 = {
1581
1614
  change: "Change",
1582
1615
  completePayment: "Complete payment"
1583
1616
  };
1584
1617
  const storefrontPayment = {
1585
1618
  methods: methods$3,
1586
- actions: actions$8
1619
+ actions: actions$9
1587
1620
  };
1588
1621
 
1589
1622
  const passwordRecovery$1 = "Password recovery";
@@ -1610,14 +1643,14 @@ const storefrontRecover = {
1610
1643
  const general$6 = {
1611
1644
  title: "Shopping cart"
1612
1645
  };
1613
- const buttons$7 = {
1646
+ const buttons$8 = {
1614
1647
  goToCheckout: "Go to checkout",
1615
1648
  goToCart: "Display shopping cart",
1616
1649
  continueShopping: "Continue shopping"
1617
1650
  };
1618
1651
  const storefrontOffCanvasCart = {
1619
1652
  general: general$6,
1620
- buttons: buttons$7
1653
+ buttons: buttons$8
1621
1654
  };
1622
1655
 
1623
1656
  const general$5 = {
@@ -1628,7 +1661,7 @@ const general$5 = {
1628
1661
  "delete": "Löschen",
1629
1662
  customFields: "Feld"
1630
1663
  };
1631
- const actions$7 = {
1664
+ const actions$8 = {
1632
1665
  createCategory: "Kategorie erstellen",
1633
1666
  addLandingPage: "Landingpage hinzufügen",
1634
1667
  configureHomePage: "Startseite konfigurieren",
@@ -1659,7 +1692,7 @@ const entities = {
1659
1692
  };
1660
1693
  const deAdministrationCategory = {
1661
1694
  general: general$5,
1662
- actions: actions$7,
1695
+ actions: actions$8,
1663
1696
  tabs: tabs$4,
1664
1697
  fields: fields$4,
1665
1698
  headings: headings$2,
@@ -1748,7 +1781,7 @@ const common$5 = {
1748
1781
  };
1749
1782
  const listing$9 = {
1750
1783
  addCustomField: "Eigenes Feld hinzufügen",
1751
- addNewSet: "Hinzufügen"
1784
+ addNewSet: "Set anlegen"
1752
1785
  };
1753
1786
  const create$6 = {
1754
1787
  title: "Neues eigenes Feld",
@@ -1774,7 +1807,7 @@ const detail$b = {
1774
1807
  const general$4 = {
1775
1808
  customFields: "Feld"
1776
1809
  };
1777
- const actions$6 = {
1810
+ const actions$7 = {
1778
1811
  edit: "Bearbeiten",
1779
1812
  "delete": "Löschen",
1780
1813
  cancel: "Abbrechen",
@@ -1790,7 +1823,7 @@ const deAdministrationCustomField = {
1790
1823
  create: create$6,
1791
1824
  detail: detail$b,
1792
1825
  general: general$4,
1793
- actions: actions$6,
1826
+ actions: actions$7,
1794
1827
  dialogs: dialogs$3
1795
1828
  };
1796
1829
 
@@ -1819,7 +1852,7 @@ const deAdministrationDashboard = {
1819
1852
  order: order
1820
1853
  };
1821
1854
 
1822
- const buttons$6 = {
1855
+ const buttons$7 = {
1823
1856
  agree: "Zustimmen",
1824
1857
  disableDataSharing: "Datenfreigabe deaktivieren"
1825
1858
  };
@@ -1831,7 +1864,7 @@ const headlines = {
1831
1864
  dataConsent: "Dateneinverständnis"
1832
1865
  };
1833
1866
  const deAdministrationDataSharing = {
1834
- buttons: buttons$6,
1867
+ buttons: buttons$7,
1835
1868
  messages: messages$3,
1836
1869
  headlines: headlines
1837
1870
  };
@@ -1840,7 +1873,7 @@ const listing$8 = {
1840
1873
  addDocument: "Dokument hinzufügen"
1841
1874
  };
1842
1875
  const types = {
1843
- invoice: "Rechnung"
1876
+ invoice: "invoice"
1844
1877
  };
1845
1878
  const detail$a = {
1846
1879
  displayDocumentInMyAccount: "Dokument in \"Mein Konto\" Bereich anzeigen",
@@ -1855,7 +1888,7 @@ const deAdministrationDocument = {
1855
1888
  const welcome = {
1856
1889
  text: "Willkommen bei der Shopware 6 Administration"
1857
1890
  };
1858
- const buttons$5 = {
1891
+ const buttons$6 = {
1859
1892
  install: "Installieren",
1860
1893
  installMigrationAssistant: "Migration Assistant installieren",
1861
1894
  installDemoData: "Demodaten installieren"
@@ -1887,7 +1920,7 @@ const regions = {
1887
1920
  };
1888
1921
  const deAdministrationFirstRunWizard = {
1889
1922
  welcome: welcome,
1890
- buttons: buttons$5,
1923
+ buttons: buttons$6,
1891
1924
  headers: headers,
1892
1925
  fields: fields$3,
1893
1926
  placeholders: placeholders,
@@ -1907,7 +1940,7 @@ const create$5 = {
1907
1940
  addAction: "Hinzufügen",
1908
1941
  addConditionIf: "Hinzufügen",
1909
1942
  addActionThen: "Hinzufügen",
1910
- newFlow: "New flow",
1943
+ newFlow: "Neuer Flow",
1911
1944
  name: "Name",
1912
1945
  description: "Beschreibung",
1913
1946
  priority: "Priority",
@@ -2011,7 +2044,7 @@ const deAdministrationLogin = {
2011
2044
  };
2012
2045
 
2013
2046
  const listing$5 = {
2014
- addManufacturer: "Hersteller hinzufügen"
2047
+ addManufacturer: "Hersteller anlegen"
2015
2048
  };
2016
2049
  const create$2 = {
2017
2050
  name: "Name",
@@ -2022,7 +2055,7 @@ const create$2 = {
2022
2055
  const detail$6 = {
2023
2056
  customFields: "Zusatzfelder"
2024
2057
  };
2025
- const actions$5 = {
2058
+ const actions$6 = {
2026
2059
  edit: "Bearbeiten",
2027
2060
  "delete": "Löschen",
2028
2061
  cancel: "Abbrechen"
@@ -2034,12 +2067,29 @@ const deAdministrationManufacturer = {
2034
2067
  listing: listing$5,
2035
2068
  create: create$2,
2036
2069
  detail: detail$6,
2037
- actions: actions$5,
2070
+ actions: actions$6,
2038
2071
  dialogs: dialogs$2
2039
2072
  };
2040
2073
 
2074
+ const buttons$5 = {
2075
+ uploadFile: "Dateien hochladen",
2076
+ addNewFolder: "Neuen Ordner hinzufügen"
2077
+ };
2078
+ const search$1 = {
2079
+ placeholder: "Durchsuche den aktuellen Ordner ..."
2080
+ };
2081
+ const actions$5 = {
2082
+ rename: "Umbenennen",
2083
+ "delete": "Löschen"
2084
+ };
2085
+ const deAdministrationMedia = {
2086
+ buttons: buttons$5,
2087
+ search: search$1,
2088
+ actions: actions$5
2089
+ };
2090
+
2041
2091
  const detail$5 = {
2042
- items: "Artikel",
2092
+ items: "Positionen",
2043
2093
  sendDocument: "Dokument senden",
2044
2094
  openActionsMenu: "Aktionsmenü öffnen"
2045
2095
  };
@@ -2110,7 +2160,7 @@ const detail$3 = {
2110
2160
  customFields: "Feld",
2111
2161
  colorProperty: "Color",
2112
2162
  sizeProperty: "Size",
2113
- stockPlaceholder: "Anzahl",
2163
+ stockPlaceholder: "Gib den Lagerbestand ein ...",
2114
2164
  restockTimePlaceholder: "Lagerbestand"
2115
2165
  };
2116
2166
  const errors$1 = {
@@ -2149,6 +2199,14 @@ const buttons$4 = {
2149
2199
  const modals$1 = {
2150
2200
  generateVariants: "Generate variants"
2151
2201
  };
2202
+ const propertyValues = {
2203
+ blue: "Blau",
2204
+ red: "Rot",
2205
+ green: "Grün",
2206
+ small: "Klein",
2207
+ medium: "Mittel",
2208
+ large: "Groß"
2209
+ };
2152
2210
  const deAdministrationProduct = {
2153
2211
  listing: listing$3,
2154
2212
  create: create$1,
@@ -2159,7 +2217,8 @@ const deAdministrationProduct = {
2159
2217
  bulkEdit: bulkEdit,
2160
2218
  tabs: tabs$2,
2161
2219
  buttons: buttons$4,
2162
- modals: modals$1
2220
+ modals: modals$1,
2221
+ propertyValues: propertyValues
2163
2222
  };
2164
2223
 
2165
2224
  const listing$2 = {
@@ -2196,10 +2255,10 @@ const tabs$1 = {
2196
2255
  discounts: "Rabatte"
2197
2256
  };
2198
2257
  const headings$1 = {
2199
- promotionCodes: "Promotion-Codes"
2258
+ promotionCodes: "Aktionscodes"
2200
2259
  };
2201
2260
  const cards = {
2202
- preConditions: "Vorbedingungen"
2261
+ preConditions: "Voraussetzungen"
2203
2262
  };
2204
2263
  const deAdministrationPromotion = {
2205
2264
  listing: listing$2,
@@ -2369,7 +2428,7 @@ const orders = {
2369
2428
  download: "Herunterladen",
2370
2429
  cancelOrder: "Bestellung stornieren",
2371
2430
  repeatOrder: "Bestellung wiederholen",
2372
- changePaymentMethod: "Zahlungsmethode ändern",
2431
+ changePaymentMethod: "Zahlungsart ändern",
2373
2432
  actions: "Aktionen",
2374
2433
  expand: "Erweitern",
2375
2434
  showDetails: "Details anzeigen",
@@ -2388,6 +2447,7 @@ const addresses = {
2388
2447
  postalCode: "Postleitzahl",
2389
2448
  state: "Bundesland",
2390
2449
  editAddress: "Adresse bearbeiten",
2450
+ addNewAddress: "Neue Adresse hinzufügen",
2391
2451
  useAsDefaultBilling: "Als Standard-Rechnungsadresse verwenden",
2392
2452
  useAsDefaultShipping: "Als Standard-Versandadresse verwenden",
2393
2453
  deliveryNotPossible: "Eine Lieferung in dieses Land ist nicht möglich."
@@ -2512,13 +2572,13 @@ const confirm = {
2512
2572
  agreeToTerms: "Ich stimme den AGBs zu",
2513
2573
  revocationNotice: "Widerrufsbelehrung",
2514
2574
  completeOrder: "Bestellung abschließen",
2515
- submitOrder: "Bestellung absenden",
2516
- termsAndConditions: "Ich habe die allgemeinen Geschäftsbedingungen gelesen und akzeptiert.",
2517
- immediateAccessToDigitalProduct: "Ich möchte sofortigen Zugang zu den digitalen Inhalten und erkenne an, dass ich damit mein Widerrufsrecht aufgebe."
2575
+ submitOrder: "Zahlungspflichtig bestellen",
2576
+ termsAndConditions: "Ich habe die AGB gelesen und bin mit ihnen einverstanden.",
2577
+ immediateAccessToDigitalProduct: "Ja, ich möchte sofort Zugang zu dem digitalen Inhalt und weiß, dass mein Widerrufsrecht mit dem Zugang erlischt."
2518
2578
  };
2519
2579
  const finish = {
2520
- thankYou: "Vielen Dank für Ihre Bestellung!",
2521
- thankYouForOrder: "Vielen Dank für Ihre Bestellung!",
2580
+ thankYou: "Vielen Dank für Ihre Bestellung",
2581
+ thankYouForOrder: "Vielen Dank für Ihre Bestellung",
2522
2582
  orderNumber: "Bestellnummer",
2523
2583
  orderConfirmation: "Bestellbestätigung",
2524
2584
  continueShopping: "Weiter einkaufen",
@@ -2590,6 +2650,13 @@ const deStorefrontContact = {
2590
2650
  title: title$2
2591
2651
  };
2592
2652
 
2653
+ const skipToContentLink = "Zum Hauptinhalt springen";
2654
+ const searchInputAriaLabel = "Suchbegriff eingeben ...";
2655
+ const deStorefrontHeader = {
2656
+ skipToContentLink: skipToContentLink,
2657
+ searchInputAriaLabel: searchInputAriaLabel
2658
+ };
2659
+
2593
2660
  const account = {
2594
2661
  yourAccount: "Ihr Konto"
2595
2662
  };
@@ -2830,6 +2897,7 @@ const BUNDLED_RESOURCES = {
2830
2897
  "administration/flowBuilder": administrationFlowBuilder,
2831
2898
  "administration/dashboard": administrationDashboard,
2832
2899
  "administration/manufacturer": administrationManufacturer,
2900
+ "administration/media": administrationMedia,
2833
2901
  "administration/order": administrationOrder,
2834
2902
  "administration/payment": administrationPayment,
2835
2903
  "administration/promotion": administrationPromotion,
@@ -2849,6 +2917,7 @@ const BUNDLED_RESOURCES = {
2849
2917
  "storefront/navigation": storefrontNavigation,
2850
2918
  "storefront/contact": storefrontContact,
2851
2919
  "storefront/consent": storefrontConsent,
2920
+ "storefront/header": storefrontHeader,
2852
2921
  "storefront/home": storefrontHome,
2853
2922
  "storefront/login": storefrontLogin,
2854
2923
  "storefront/order": storefrontOrder,
@@ -2872,6 +2941,7 @@ const BUNDLED_RESOURCES = {
2872
2941
  "administration/layout": deAdministrationLayout,
2873
2942
  "administration/login": deAdministrationLogin,
2874
2943
  "administration/manufacturer": deAdministrationManufacturer,
2944
+ "administration/media": deAdministrationMedia,
2875
2945
  "administration/order": deAdministrationOrder,
2876
2946
  "administration/payment": deAdministrationPayment,
2877
2947
  "administration/product": deAdministrationProduct,
@@ -2887,6 +2957,7 @@ const BUNDLED_RESOURCES = {
2887
2957
  "storefront/checkout": deStorefrontCheckout,
2888
2958
  "storefront/consent": deStorefrontConsent,
2889
2959
  "storefront/contact": deStorefrontContact,
2960
+ "storefront/header": deStorefrontHeader,
2890
2961
  "storefront/home": deStorefrontHome,
2891
2962
  "storefront/login": deStorefrontLogin,
2892
2963
  "storefront/navigation": deStorefrontNavigation,
@@ -2911,6 +2982,7 @@ const baseNamespaces = {
2911
2982
  flowBuilder: administrationFlowBuilder,
2912
2983
  dashboard: administrationDashboard,
2913
2984
  manufacturer: administrationManufacturer,
2985
+ media: administrationMedia,
2914
2986
  order: administrationOrder,
2915
2987
  payment: administrationPayment,
2916
2988
  promotion: administrationPromotion,
@@ -2931,6 +3003,7 @@ const baseNamespaces = {
2931
3003
  navigation: storefrontNavigation,
2932
3004
  contact: storefrontContact,
2933
3005
  consent: storefrontConsent,
3006
+ header: storefrontHeader,
2934
3007
  home: storefrontHome,
2935
3008
  login: storefrontLogin,
2936
3009
  order: storefrontOrder,
@@ -2941,6 +3014,382 @@ const baseNamespaces = {
2941
3014
  }
2942
3015
  };
2943
3016
 
3017
+ const LOCALE_MAPPINGS = {
3018
+ "en-US": { countryCode: "US", currencyCode: "USD", currencySymbol: "$", languageCode: "en-US" },
3019
+ "en-GB": { countryCode: "GB", currencyCode: "GBP", currencySymbol: "\xA3", languageCode: "en-GB" },
3020
+ "en-DE": { countryCode: "DE", currencyCode: "EUR", currencySymbol: "\u20AC", languageCode: "en-GB" },
3021
+ "de-DE": { countryCode: "DE", currencyCode: "EUR", currencySymbol: "\u20AC", languageCode: "de-DE" }
3022
+ };
3023
+ const COUNTRY_ADDRESS_DATA = {
3024
+ DE: {
3025
+ street: "Ebbinghof 10",
3026
+ city: "Sch\xF6ppingen",
3027
+ country: "Germany",
3028
+ postalCode: "48624",
3029
+ vatRegNo: "DE1234567890"
3030
+ },
3031
+ US: {
3032
+ street: "1600 Pennsylvania Avenue NW",
3033
+ city: "Washington",
3034
+ country: "United States",
3035
+ postalCode: "20500",
3036
+ vatRegNo: "US123456789"
3037
+ },
3038
+ GB: {
3039
+ street: "10 Downing Street",
3040
+ city: "London",
3041
+ country: "United Kingdom",
3042
+ postalCode: "SW1A 2AA",
3043
+ vatRegNo: "GB123456789"
3044
+ }
3045
+ };
3046
+ const getCountryAddressData = (countryCode) => {
3047
+ const code = countryCode || getCountryCodeFromLocale(getLocale());
3048
+ if (code in COUNTRY_ADDRESS_DATA) {
3049
+ return COUNTRY_ADDRESS_DATA[code];
3050
+ }
3051
+ return COUNTRY_ADDRESS_DATA.GB;
3052
+ };
3053
+ const getLocale = () => {
3054
+ const rawLocale = process.env.LANG || process.env.LANGUAGE || process.env.lang || "en-GB";
3055
+ const locale = rawLocale.split(".")[0].replace(/_/g, "-");
3056
+ return LOCALE_MAPPINGS[locale] ? locale : "en-GB";
3057
+ };
3058
+ const getLanguageCode = (locale) => {
3059
+ const mapping = LOCALE_MAPPINGS[locale];
3060
+ return mapping ? mapping.languageCode : "en-GB";
3061
+ };
3062
+ const getCountryCodeFromLocale = (locale) => {
3063
+ const mapping = LOCALE_MAPPINGS[locale];
3064
+ return mapping ? mapping.countryCode : "GB";
3065
+ };
3066
+ const getCurrencyCodeFromLocale = (locale) => {
3067
+ const mapping = LOCALE_MAPPINGS[locale];
3068
+ return mapping ? mapping.currencyCode : "GBP";
3069
+ };
3070
+ const getCurrencySymbolFromLocale = (locale) => {
3071
+ const mapping = LOCALE_MAPPINGS[locale];
3072
+ return mapping ? mapping.currencySymbol : "\xA3";
3073
+ };
3074
+ const getLanguageData = async (adminApiContext, languageCode) => {
3075
+ const code = languageCode || getLanguageCode(getLocale());
3076
+ const resp = await adminApiContext.post("search/language", {
3077
+ data: {
3078
+ limit: 1,
3079
+ filter: [
3080
+ {
3081
+ type: "equals",
3082
+ field: "translationCode.code",
3083
+ value: code
3084
+ }
3085
+ ],
3086
+ associations: { translationCode: {} }
3087
+ }
3088
+ });
3089
+ const result = await resp.json();
3090
+ if (result.data.length === 0) {
3091
+ throw new Error(`Language ${code} not found`);
3092
+ }
3093
+ return result.data[0];
3094
+ };
3095
+ const getSnippetSetId = async (adminApiContext, languageCode) => {
3096
+ const code = languageCode || getLanguageCode(getLocale());
3097
+ const resp = await adminApiContext.post("search/snippet-set", {
3098
+ data: {
3099
+ limit: 1,
3100
+ filter: [
3101
+ {
3102
+ type: "equals",
3103
+ field: "iso",
3104
+ value: code
3105
+ }
3106
+ ]
3107
+ }
3108
+ });
3109
+ const result = await resp.json();
3110
+ return result.data[0].id;
3111
+ };
3112
+ const getCurrency = async (adminApiContext, isoCode) => {
3113
+ const code = isoCode || getCurrencyCodeFromLocale(getLocale());
3114
+ const resp = await adminApiContext.post("search/currency", {
3115
+ data: {
3116
+ limit: 1,
3117
+ filter: [
3118
+ {
3119
+ type: "equals",
3120
+ field: "isoCode",
3121
+ value: code
3122
+ }
3123
+ ]
3124
+ }
3125
+ });
3126
+ const result = await resp.json();
3127
+ if (result.data.length === 0) {
3128
+ throw new Error(`Currency ${code} not found`);
3129
+ }
3130
+ return result.data[0];
3131
+ };
3132
+ const getTaxId = async (adminApiContext) => {
3133
+ const resp = await adminApiContext.post("search/tax", {
3134
+ data: { limit: 1 }
3135
+ });
3136
+ const result = await resp.json();
3137
+ return result.data[0].id;
3138
+ };
3139
+ const getPaymentMethodId = async (adminApiContext, handlerId) => {
3140
+ const handler = handlerId || "Shopware\\Core\\Checkout\\Payment\\Cart\\PaymentHandler\\InvoicePayment";
3141
+ const resp = await adminApiContext.post("search/payment-method", {
3142
+ data: {
3143
+ limit: 1,
3144
+ filter: [
3145
+ {
3146
+ type: "equals",
3147
+ field: "handlerIdentifier",
3148
+ value: handler
3149
+ }
3150
+ ]
3151
+ }
3152
+ });
3153
+ const result = await resp.json();
3154
+ return result.data[0].id;
3155
+ };
3156
+ const getDefaultShippingMethodId = async (adminApiContext) => {
3157
+ const resp = await adminApiContext.post("search/shipping-method", {
3158
+ data: {
3159
+ limit: 1,
3160
+ filter: [
3161
+ {
3162
+ type: "equals",
3163
+ field: "name",
3164
+ value: "Standard"
3165
+ }
3166
+ ]
3167
+ }
3168
+ });
3169
+ const result = await resp.json();
3170
+ return result.data[0].id;
3171
+ };
3172
+ const getShippingMethodId = async (name, adminApiContext) => {
3173
+ const resp = await adminApiContext.post("search/shipping-method", {
3174
+ data: {
3175
+ limit: 1,
3176
+ filter: [
3177
+ {
3178
+ type: "equals",
3179
+ field: "name",
3180
+ value: name
3181
+ }
3182
+ ]
3183
+ }
3184
+ });
3185
+ const result = await resp.json();
3186
+ return result.data[0].id;
3187
+ };
3188
+ const getCountryId = async (iso2, adminApiContext) => {
3189
+ const resp = await adminApiContext.post("search/country", {
3190
+ data: {
3191
+ limit: 1,
3192
+ filter: [
3193
+ {
3194
+ type: "equals",
3195
+ field: "iso",
3196
+ value: iso2
3197
+ }
3198
+ ]
3199
+ }
3200
+ });
3201
+ const result = await resp.json();
3202
+ return result.data[0].id;
3203
+ };
3204
+ const getThemeId = async (technicalName, adminApiContext) => {
3205
+ const resp = await adminApiContext.post("search/theme", {
3206
+ data: {
3207
+ limit: 1,
3208
+ filter: [
3209
+ {
3210
+ type: "equals",
3211
+ field: "technicalName",
3212
+ value: technicalName
3213
+ }
3214
+ ]
3215
+ }
3216
+ });
3217
+ const result = await resp.json();
3218
+ return result.data[0].id;
3219
+ };
3220
+ const getSalutationId = async (salutationKey, adminApiContext) => {
3221
+ const resp = await adminApiContext.post("search/salutation", {
3222
+ data: {
3223
+ limit: 1,
3224
+ filter: [
3225
+ {
3226
+ type: "equals",
3227
+ field: "salutationKey",
3228
+ value: salutationKey
3229
+ }
3230
+ ]
3231
+ }
3232
+ });
3233
+ const result = await resp.json();
3234
+ return result.data[0].id;
3235
+ };
3236
+ const getStateMachineId = async (technicalName, adminApiContext) => {
3237
+ const resp = await adminApiContext.post("search/state-machine", {
3238
+ data: {
3239
+ limit: 1,
3240
+ filter: [
3241
+ {
3242
+ type: "equals",
3243
+ field: "technicalName",
3244
+ value: technicalName
3245
+ }
3246
+ ]
3247
+ }
3248
+ });
3249
+ const result = await resp.json();
3250
+ return result.data[0].id;
3251
+ };
3252
+ const getStateMachineStateId = async (stateMachineId, adminApiContext) => {
3253
+ const resp = await adminApiContext.post("search/state-machine-state", {
3254
+ data: {
3255
+ limit: 1,
3256
+ filter: [
3257
+ {
3258
+ type: "equals",
3259
+ field: "stateMachineId",
3260
+ value: stateMachineId
3261
+ }
3262
+ ]
3263
+ }
3264
+ });
3265
+ const result = await resp.json();
3266
+ return result.data[0].id;
3267
+ };
3268
+ const getFlowId = async (flowName, adminApiContext) => {
3269
+ const resp = await adminApiContext.post("./search/flow", {
3270
+ data: {
3271
+ limit: 1,
3272
+ filter: [
3273
+ {
3274
+ type: "equals",
3275
+ field: "name",
3276
+ value: flowName
3277
+ }
3278
+ ]
3279
+ }
3280
+ });
3281
+ const result = await resp.json();
3282
+ return result.data[0].id;
3283
+ };
3284
+ const getOrderTransactionId = async (orderId, adminApiContext) => {
3285
+ const orderTransactionResponse = await adminApiContext.get(`order/${orderId}/transactions?_response`);
3286
+ const { data: orderTransaction } = await orderTransactionResponse.json();
3287
+ return orderTransaction[0].id;
3288
+ };
3289
+ const getMediaId = async (fileName, adminApiContext) => {
3290
+ const resp = await adminApiContext.post("./search/media", {
3291
+ data: {
3292
+ limit: 1,
3293
+ filter: [
3294
+ {
3295
+ type: "equals",
3296
+ field: "fileName",
3297
+ value: fileName
3298
+ }
3299
+ ]
3300
+ }
3301
+ });
3302
+ const result = await resp.json();
3303
+ return result.data[0].id;
3304
+ };
3305
+ const getFlowTemplate = async (flowTemplateId, adminApiContext) => {
3306
+ const flowTemplateResponse = await adminApiContext.post(`search/flow-template`, {
3307
+ data: {
3308
+ limit: 1,
3309
+ filter: [
3310
+ {
3311
+ type: "equals",
3312
+ field: "id",
3313
+ value: flowTemplateId
3314
+ }
3315
+ ]
3316
+ }
3317
+ });
3318
+ const result = await flowTemplateResponse.json();
3319
+ return result.data[0];
3320
+ };
3321
+ const getFlow = async (flowId, adminApiContext) => {
3322
+ const flowResponse = await adminApiContext.post(`search/flow`, {
3323
+ data: {
3324
+ limit: 1,
3325
+ filter: [
3326
+ {
3327
+ type: "equals",
3328
+ field: "id",
3329
+ value: flowId
3330
+ }
3331
+ ],
3332
+ associations: { sequences: {} }
3333
+ }
3334
+ });
3335
+ const result = await flowResponse.json();
3336
+ return result.data[0];
3337
+ };
3338
+ const compareFlowTemplateWithFlow = async (flowId, flowTemplateId, adminApiContext) => {
3339
+ const flowTemplateData = await getFlowTemplate(flowTemplateId, adminApiContext);
3340
+ const flowData = await getFlow(flowId, adminApiContext);
3341
+ if (flowTemplateData.config.eventName != flowData.eventName) {
3342
+ return false;
3343
+ }
3344
+ let i = 0;
3345
+ for (const sequenceTemplate of flowTemplateData.config.sequences) {
3346
+ if (sequenceTemplate.actionName != flowData.sequences[i].actionName) {
3347
+ return false;
3348
+ }
3349
+ if (JSON.stringify(sequenceTemplate.config) != JSON.stringify(flowData.sequences[i].config)) {
3350
+ return false;
3351
+ }
3352
+ i++;
3353
+ }
3354
+ return true;
3355
+ };
3356
+ function extractIdFromUrl(url) {
3357
+ const segments = url.split("/");
3358
+ return segments.length > 0 ? segments[segments.length - 1] : null;
3359
+ }
3360
+ const setOrderStatus = async (orderId, orderStatus, adminApiContext) => {
3361
+ return await adminApiContext.post(`./_action/order/${orderId}/state/${orderStatus}`);
3362
+ };
3363
+ const getPromotionWithDiscount = async (promotionId, adminApiContext) => {
3364
+ const resp = await adminApiContext.post("search/promotion", {
3365
+ data: {
3366
+ limit: 1,
3367
+ associations: {
3368
+ discounts: {
3369
+ limit: 10,
3370
+ type: "equals",
3371
+ field: "promotionId",
3372
+ value: promotionId
3373
+ }
3374
+ },
3375
+ filter: [
3376
+ {
3377
+ type: "equals",
3378
+ field: "id",
3379
+ value: promotionId
3380
+ }
3381
+ ]
3382
+ }
3383
+ });
3384
+ const { data: promotion } = await resp.json();
3385
+ return promotion[0];
3386
+ };
3387
+ const updateAdminUser = async (adminUserId, adminApiContext, data) => {
3388
+ await adminApiContext.patch(`user/${adminUserId}?_response=basic`, {
3389
+ data
3390
+ });
3391
+ };
3392
+
2944
3393
  function normalizeLanguage(input) {
2945
3394
  if (!input) return "en";
2946
3395
  const first = input.split(",")[0].split(";")[0].trim().replace(/\.(?:UTF-8|utf-8|utf8)$/i, "").replace(/_/g, "-");
@@ -2985,7 +3434,7 @@ class LanguageHelper {
2985
3434
  const i18nextKey = `${area}/${namespace}:${keyParts.join(":")}`;
2986
3435
  return this.i18nInstance.t(i18nextKey, options);
2987
3436
  }
2988
- return fallbackTranslate(key, this.resources);
3437
+ return fallbackTranslate(key, this.resources, options);
2989
3438
  }
2990
3439
  static async createInstance(rawLanguage, customResources) {
2991
3440
  const lng = normalizeLanguage(rawLanguage);
@@ -3030,22 +3479,9 @@ function setCurrentContext(context) {
3030
3479
  function getCurrentContext() {
3031
3480
  return contextStore.getStore();
3032
3481
  }
3033
- let globalTranslator = null;
3034
- async function getGlobalTranslator(customResources) {
3035
- if (!globalTranslator) {
3036
- try {
3037
- const language = process.env.LANG || process.env.LANGUAGE || process.env.lang || "en";
3038
- globalTranslator = await LanguageHelper.createInstance(language, customResources);
3039
- } catch (error) {
3040
- console.warn("Could not initialize global translator, using fallback:", error);
3041
- return null;
3042
- }
3043
- }
3044
- return globalTranslator;
3045
- }
3046
- function fallbackTranslate(key, customResources) {
3482
+ function fallbackTranslate(key, customResources, options) {
3047
3483
  const [area, namespace, ...keyPath] = key.split(":");
3048
- const language = process.env.LANG || process.env.LANGUAGE || process.env.lang || "en";
3484
+ const language = getLocale();
3049
3485
  const normalizedLang = language.toLowerCase().startsWith("de") ? "de" : "en";
3050
3486
  const resources = customResources?.[normalizedLang] || BUNDLED_RESOURCES[normalizedLang];
3051
3487
  const resourceKey = `${area}/${namespace}`;
@@ -3060,7 +3496,16 @@ function fallbackTranslate(key, customResources) {
3060
3496
  return key;
3061
3497
  }
3062
3498
  }
3063
- return typeof value === "string" ? value : key;
3499
+ if (typeof value === "string") {
3500
+ if (options) {
3501
+ return value.replace(/\{\{(\w+)\}\}/g, (match, varName) => {
3502
+ const replacement = options[varName];
3503
+ return replacement !== void 0 ? String(replacement) : match;
3504
+ });
3505
+ }
3506
+ return value;
3507
+ }
3508
+ return key;
3064
3509
  }
3065
3510
  return key;
3066
3511
  }
@@ -3072,18 +3517,7 @@ function translate(key, options) {
3072
3517
  return translator.translate(key, options);
3073
3518
  }
3074
3519
  }
3075
- if (globalTranslator) {
3076
- return globalTranslator.translate(key, options);
3077
- }
3078
- if (!globalTranslator) {
3079
- getGlobalTranslator().catch(() => {
3080
- });
3081
- }
3082
- return fallbackTranslate(key);
3083
- }
3084
- if (typeof window === "undefined") {
3085
- getGlobalTranslator().catch(() => {
3086
- });
3520
+ return fallbackTranslate(key, void 0, options);
3087
3521
  }
3088
3522
 
3089
3523
  const LanguageHelper$1 = {
@@ -3143,7 +3577,7 @@ async function createNewAdminPageContext(merchant, browser, SalesChannelBaseConf
3143
3577
 
3144
3578
  const test$b = test$e.extend({
3145
3579
  AdminPage: async ({ IdProvider, AdminApiContext, SalesChannelBaseConfig, browser, CustomTranslationResources }, use) => {
3146
- const locale = process.env.LANG || process.env.LANGUAGE || process.env.lang || "en-GB";
3580
+ const locale = getLocale();
3147
3581
  const languageHelper = await LanguageHelper.createInstance(locale, CustomTranslationResources);
3148
3582
  const { id, uuid } = IdProvider.getIdPair();
3149
3583
  const adminUser = {
@@ -3151,7 +3585,7 @@ const test$b = test$e.extend({
3151
3585
  username: `admin_${id}`,
3152
3586
  firstName: `${id} admin`,
3153
3587
  lastName: `${id} admin`,
3154
- localeId: SalesChannelBaseConfig.enGBLocaleId,
3588
+ localeId: SalesChannelBaseConfig.currentLocaleId,
3155
3589
  email: `admin_${id}@example.com`,
3156
3590
  timezone: "Europe/Berlin",
3157
3591
  password: "shopware",
@@ -3171,7 +3605,7 @@ const test$b = test$e.extend({
3171
3605
  },
3172
3606
  StorefrontPage: async ({ DefaultSalesChannel, SalesChannelBaseConfig, browser, AdminApiContext, InstanceMeta, CustomTranslationResources }, use) => {
3173
3607
  const { url, salesChannel } = DefaultSalesChannel;
3174
- const locale = process.env.LANG || process.env.LANGUAGE || process.env.lang || "en-GB";
3608
+ const locale = getLocale();
3175
3609
  const languageHelper = await LanguageHelper.createInstance(locale, CustomTranslationResources);
3176
3610
  const context = await browser.newContext({
3177
3611
  baseURL: url,
@@ -3202,7 +3636,7 @@ const test$b = test$e.extend({
3202
3636
  await context.close();
3203
3637
  },
3204
3638
  InstallPage: async ({ browser, CustomTranslationResources }, use) => {
3205
- const locale = process.env.LANG || process.env.LANGUAGE || process.env.lang || "en-GB";
3639
+ const locale = getLocale();
3206
3640
  const languageHelper = await LanguageHelper.createInstance(locale, CustomTranslationResources);
3207
3641
  const context = await browser.newContext({
3208
3642
  baseURL: process.env["APP_URL"],
@@ -3348,290 +3782,6 @@ function encodeImage(image) {
3348
3782
  return Buffer.from(encode(image));
3349
3783
  }
3350
3784
 
3351
- const getLanguageData = async (languageCode, adminApiContext) => {
3352
- const resp = await adminApiContext.post("search/language", {
3353
- data: {
3354
- limit: 1,
3355
- filter: [{
3356
- type: "equals",
3357
- field: "translationCode.code",
3358
- value: languageCode
3359
- }],
3360
- associations: { translationCode: {} }
3361
- }
3362
- });
3363
- const result = await resp.json();
3364
- if (result.data.length === 0) {
3365
- throw new Error(`Language ${languageCode} not found`);
3366
- }
3367
- return result.data[0];
3368
- };
3369
- const getSnippetSetId = async (languageCode, adminApiContext) => {
3370
- const resp = await adminApiContext.post("search/snippet-set", {
3371
- data: {
3372
- limit: 1,
3373
- filter: [{
3374
- type: "equals",
3375
- field: "iso",
3376
- value: languageCode
3377
- }]
3378
- }
3379
- });
3380
- const result = await resp.json();
3381
- return result.data[0].id;
3382
- };
3383
- const getCurrency = async (isoCode, adminApiContext) => {
3384
- const resp = await adminApiContext.post("search/currency", {
3385
- data: {
3386
- limit: 1,
3387
- filter: [{
3388
- type: "equals",
3389
- field: "isoCode",
3390
- value: isoCode
3391
- }]
3392
- }
3393
- });
3394
- const result = await resp.json();
3395
- if (result.data.length === 0) {
3396
- throw new Error(`Currency ${isoCode} not found`);
3397
- }
3398
- return result.data[0];
3399
- };
3400
- const getTaxId = async (adminApiContext) => {
3401
- const resp = await adminApiContext.post("search/tax", {
3402
- data: { limit: 1 }
3403
- });
3404
- const result = await resp.json();
3405
- return result.data[0].id;
3406
- };
3407
- const getPaymentMethodId = async (adminApiContext, handlerId) => {
3408
- const handler = handlerId || "Shopware\\Core\\Checkout\\Payment\\Cart\\PaymentHandler\\InvoicePayment";
3409
- const resp = await adminApiContext.post("search/payment-method", {
3410
- data: {
3411
- limit: 1,
3412
- filter: [{
3413
- type: "equals",
3414
- field: "handlerIdentifier",
3415
- value: handler
3416
- }]
3417
- }
3418
- });
3419
- const result = await resp.json();
3420
- return result.data[0].id;
3421
- };
3422
- const getDefaultShippingMethodId = async (adminApiContext) => {
3423
- const resp = await adminApiContext.post("search/shipping-method", {
3424
- data: {
3425
- limit: 1,
3426
- filter: [{
3427
- type: "equals",
3428
- field: "name",
3429
- value: "Standard"
3430
- }]
3431
- }
3432
- });
3433
- const result = await resp.json();
3434
- return result.data[0].id;
3435
- };
3436
- const getShippingMethodId = async (name, adminApiContext) => {
3437
- const resp = await adminApiContext.post("search/shipping-method", {
3438
- data: {
3439
- limit: 1,
3440
- filter: [{
3441
- type: "equals",
3442
- field: "name",
3443
- value: name
3444
- }]
3445
- }
3446
- });
3447
- const result = await resp.json();
3448
- return result.data[0].id;
3449
- };
3450
- const getCountryId = async (iso2, adminApiContext) => {
3451
- const resp = await adminApiContext.post("search/country", {
3452
- data: {
3453
- limit: 1,
3454
- filter: [{
3455
- type: "equals",
3456
- field: "iso",
3457
- value: iso2
3458
- }]
3459
- }
3460
- });
3461
- const result = await resp.json();
3462
- return result.data[0].id;
3463
- };
3464
- const getThemeId = async (technicalName, adminApiContext) => {
3465
- const resp = await adminApiContext.post("search/theme", {
3466
- data: {
3467
- limit: 1,
3468
- filter: [{
3469
- type: "equals",
3470
- field: "technicalName",
3471
- value: technicalName
3472
- }]
3473
- }
3474
- });
3475
- const result = await resp.json();
3476
- return result.data[0].id;
3477
- };
3478
- const getSalutationId = async (salutationKey, adminApiContext) => {
3479
- const resp = await adminApiContext.post("search/salutation", {
3480
- data: {
3481
- limit: 1,
3482
- filter: [{
3483
- type: "equals",
3484
- field: "salutationKey",
3485
- value: salutationKey
3486
- }]
3487
- }
3488
- });
3489
- const result = await resp.json();
3490
- return result.data[0].id;
3491
- };
3492
- const getStateMachineId = async (technicalName, adminApiContext) => {
3493
- const resp = await adminApiContext.post("search/state-machine", {
3494
- data: {
3495
- limit: 1,
3496
- filter: [{
3497
- type: "equals",
3498
- field: "technicalName",
3499
- value: technicalName
3500
- }]
3501
- }
3502
- });
3503
- const result = await resp.json();
3504
- return result.data[0].id;
3505
- };
3506
- const getStateMachineStateId = async (stateMachineId, adminApiContext) => {
3507
- const resp = await adminApiContext.post("search/state-machine-state", {
3508
- data: {
3509
- limit: 1,
3510
- filter: [{
3511
- type: "equals",
3512
- field: "stateMachineId",
3513
- value: stateMachineId
3514
- }]
3515
- }
3516
- });
3517
- const result = await resp.json();
3518
- return result.data[0].id;
3519
- };
3520
- const getFlowId = async (flowName, adminApiContext) => {
3521
- const resp = await adminApiContext.post("./search/flow", {
3522
- data: {
3523
- limit: 1,
3524
- filter: [{
3525
- type: "equals",
3526
- field: "name",
3527
- value: flowName
3528
- }]
3529
- }
3530
- });
3531
- const result = await resp.json();
3532
- return result.data[0].id;
3533
- };
3534
- const getOrderTransactionId = async (orderId, adminApiContext) => {
3535
- const orderTransactionResponse = await adminApiContext.get(`order/${orderId}/transactions?_response`);
3536
- const { data: orderTransaction } = await orderTransactionResponse.json();
3537
- return orderTransaction[0].id;
3538
- };
3539
- const getMediaId = async (fileName, adminApiContext) => {
3540
- const resp = await adminApiContext.post("./search/media", {
3541
- data: {
3542
- limit: 1,
3543
- filter: [{
3544
- type: "equals",
3545
- field: "fileName",
3546
- value: fileName
3547
- }]
3548
- }
3549
- });
3550
- const result = await resp.json();
3551
- return result.data[0].id;
3552
- };
3553
- const getFlowTemplate = async (flowTemplateId, adminApiContext) => {
3554
- const flowTemplateResponse = await adminApiContext.post(`search/flow-template`, {
3555
- data: {
3556
- limit: 1,
3557
- filter: [{
3558
- type: "equals",
3559
- field: "id",
3560
- value: flowTemplateId
3561
- }]
3562
- }
3563
- });
3564
- const result = await flowTemplateResponse.json();
3565
- return result.data[0];
3566
- };
3567
- const getFlow = async (flowId, adminApiContext) => {
3568
- const flowResponse = await adminApiContext.post(`search/flow`, {
3569
- data: {
3570
- limit: 1,
3571
- filter: [{
3572
- type: "equals",
3573
- field: "id",
3574
- value: flowId
3575
- }],
3576
- associations: { sequences: {} }
3577
- }
3578
- });
3579
- const result = await flowResponse.json();
3580
- return result.data[0];
3581
- };
3582
- const compareFlowTemplateWithFlow = async (flowId, flowTemplateId, adminApiContext) => {
3583
- const flowTemplateData = await getFlowTemplate(flowTemplateId, adminApiContext);
3584
- const flowData = await getFlow(flowId, adminApiContext);
3585
- if (flowTemplateData.config.eventName != flowData.eventName) {
3586
- return false;
3587
- }
3588
- let i = 0;
3589
- for (const sequenceTemplate of flowTemplateData.config.sequences) {
3590
- if (sequenceTemplate.actionName != flowData.sequences[i].actionName) {
3591
- return false;
3592
- }
3593
- if (JSON.stringify(sequenceTemplate.config) != JSON.stringify(flowData.sequences[i].config)) {
3594
- return false;
3595
- }
3596
- i++;
3597
- }
3598
- return true;
3599
- };
3600
- function extractIdFromUrl(url) {
3601
- const segments = url.split("/");
3602
- return segments.length > 0 ? segments[segments.length - 1] : null;
3603
- }
3604
- const setOrderStatus = async (orderId, orderStatus, adminApiContext) => {
3605
- return await adminApiContext.post(`./_action/order/${orderId}/state/${orderStatus}`);
3606
- };
3607
- const getPromotionWithDiscount = async (promotionId, adminApiContext) => {
3608
- const resp = await adminApiContext.post("search/promotion", {
3609
- data: {
3610
- limit: 1,
3611
- associations: {
3612
- discounts: {
3613
- limit: 10,
3614
- type: "equals",
3615
- field: "promotionId",
3616
- value: promotionId
3617
- }
3618
- },
3619
- filter: [{
3620
- type: "equals",
3621
- field: "id",
3622
- value: promotionId
3623
- }]
3624
- }
3625
- });
3626
- const { data: promotion } = await resp.json();
3627
- return promotion[0];
3628
- };
3629
- const updateAdminUser = async (adminUserId, adminApiContext, data) => {
3630
- await adminApiContext.patch(`user/${adminUserId}?_response=basic`, {
3631
- data
3632
- });
3633
- };
3634
-
3635
3785
  class TestDataService {
3636
3786
  AdminApiClient;
3637
3787
  IdProvider;
@@ -3649,7 +3799,10 @@ class TestDataService {
3649
3799
  *
3650
3800
  * @private
3651
3801
  */
3652
- shouldCleanUp = true;
3802
+ _shouldCleanUp = true;
3803
+ get shouldCleanUp() {
3804
+ return this._shouldCleanUp;
3805
+ }
3653
3806
  /**
3654
3807
  * Configuration of higher priority entities for the cleanup operation.
3655
3808
  * These entities will be deleted before others.
@@ -4217,7 +4370,7 @@ class TestDataService {
4217
4370
  /**
4218
4371
  * Creates a new basic rule with the condition cart amount >= 1.
4219
4372
  *
4220
- * @param overrides - Specific data overrides that will be applied to the payment method data struct.
4373
+ * @param overrides - Specific data overrides that will be applied to the basic rule data struct.
4221
4374
  */
4222
4375
  async createBasicRule(overrides = {}, conditionType = "cartCartAmount", operator = ">=", amount = 1) {
4223
4376
  const basicRule = this.getBasicRuleStruct(overrides, conditionType, operator, amount);
@@ -4361,7 +4514,7 @@ class TestDataService {
4361
4514
  const salesChannelId = this.defaultSalesChannel.id;
4362
4515
  const currencyId = this.defaultCurrencyId;
4363
4516
  const languageId = this.defaultLanguageId;
4364
- const snippetSetId = await getSnippetSetId("en-GB", this.AdminApiClient);
4517
+ const snippetSetId = await getSnippetSetId(this.AdminApiClient);
4365
4518
  const salesChannelDomainStruct = this.getSalesChannelDomainStruct(salesChannelId, currencyId, languageId, snippetSetId, overrides);
4366
4519
  const response = await this.AdminApiClient.post(`sales-channel-domain?_response=detail`, {
4367
4520
  data: salesChannelDomainStruct
@@ -4755,7 +4908,7 @@ class TestDataService {
4755
4908
  * @param languageCode
4756
4909
  */
4757
4910
  async getLanguageData(languageCode) {
4758
- return await getLanguageData(languageCode, this.AdminApiClient);
4911
+ return await getLanguageData(this.AdminApiClient, languageCode);
4759
4912
  }
4760
4913
  /**
4761
4914
  * Retrieves a currency based on its ISO code.
@@ -5091,7 +5244,7 @@ class TestDataService {
5091
5244
  * @param shouldCleanUp - The config setting for the automated data clean up. Default is "true".
5092
5245
  */
5093
5246
  setCleanUp(shouldCleanUp = true) {
5094
- this.shouldCleanUp = shouldCleanUp;
5247
+ this._shouldCleanUp = shouldCleanUp;
5095
5248
  }
5096
5249
  /**
5097
5250
  * Will delete all entities created by the data service via sync API.
@@ -5214,10 +5367,7 @@ class TestDataService {
5214
5367
  const LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
5215
5368
  const DIGITS = "0123456789";
5216
5369
  const ALL_CHARS = LETTERS + DIGITS;
5217
- const chars = Array.from(
5218
- { length },
5219
- () => ALL_CHARS.charAt(Math.floor(Math.random() * ALL_CHARS.length))
5220
- );
5370
+ const chars = Array.from({ length }, () => ALL_CHARS.charAt(Math.floor(Math.random() * ALL_CHARS.length)));
5221
5371
  if (!chars.some((char) => DIGITS.includes(char))) {
5222
5372
  const randomIndex = Math.floor(Math.random() * length);
5223
5373
  chars[randomIndex] = DIGITS.charAt(Math.floor(Math.random() * DIGITS.length));
@@ -5469,6 +5619,7 @@ class TestDataService {
5469
5619
  const { id, uuid: customerUuid } = this.IdProvider.getIdPair();
5470
5620
  const firstName = "John";
5471
5621
  const lastName = "Goldblum";
5622
+ const addressData = getCountryAddressData();
5472
5623
  const basicCustomer = {
5473
5624
  id: customerUuid,
5474
5625
  email: `customer_${id}@example.com`,
@@ -5478,18 +5629,18 @@ class TestDataService {
5478
5629
  defaultShippingAddress: {
5479
5630
  firstName,
5480
5631
  lastName,
5481
- city: "Sch\xF6ppingen",
5482
- street: "Ebbinghoff 10",
5483
- zipcode: "48624",
5632
+ city: addressData.city,
5633
+ street: addressData.street,
5634
+ zipcode: addressData.postalCode,
5484
5635
  countryId,
5485
5636
  salutationId
5486
5637
  },
5487
5638
  defaultBillingAddress: {
5488
5639
  firstName,
5489
5640
  lastName,
5490
- city: "Sch\xF6ppingen",
5491
- street: "Ebbinghoff 10",
5492
- zipcode: "48624",
5641
+ city: addressData.city,
5642
+ street: addressData.street,
5643
+ zipcode: addressData.postalCode,
5493
5644
  countryId,
5494
5645
  salutationId
5495
5646
  },
@@ -6100,8 +6251,8 @@ const test$8 = test$e.extend({
6100
6251
  const instanceStatusResponse = await context.get("./instance/status");
6101
6252
  const instanceStatus = await instanceStatusResponse.json();
6102
6253
  expect(instanceStatus.tags, 'expect instance to have "ci" tag').toContain("ci");
6103
- const currency = await getCurrency("USD", context);
6104
- const language = await getLanguageData("en-US", context);
6254
+ const currency = await getCurrency(context);
6255
+ const language = await getLanguageData(context);
6105
6256
  await context.post("./_actions/set-default-entities", { data: { currencyId: currency.id, languageId: language.id } });
6106
6257
  const token = await AdminApiContext.authenticateWithUserPassword(context.context, context.options);
6107
6258
  await context.post("./sbp/request-live-status", { headers: { Authorization: `Bearer ${token}` } });
@@ -6142,7 +6293,8 @@ const test$8 = test$e.extend({
6142
6293
  Translate: [
6143
6294
  async ({ CustomTranslationResources }, use) => {
6144
6295
  const { LanguageHelper, setCurrentContext } = await Promise.resolve().then(function () { return LanguageHelper$1; });
6145
- const languageHelper = await LanguageHelper.createInstance("en", CustomTranslationResources);
6296
+ const languageCode = getLanguageCode(getLocale());
6297
+ const languageHelper = await LanguageHelper.createInstance(languageCode.split("-")[0], CustomTranslationResources);
6146
6298
  setCurrentContext({ languageHelper });
6147
6299
  const contextualTranslate = (key, options) => {
6148
6300
  return languageHelper.translate(key, options);
@@ -6226,7 +6378,7 @@ class Home {
6226
6378
  page;
6227
6379
  constructor(page) {
6228
6380
  this.page = page;
6229
- this.categoryTitle = page.locator(".cms-element-text h1");
6381
+ this.categoryTitle = page.getByRole("heading", { level: 1 });
6230
6382
  this.accountMenuButton = page.getByLabel(translate("storefront:home:account.yourAccount"));
6231
6383
  this.closeGuestSessionButton = page.locator(".account-aside-btn");
6232
6384
  this.productImages = page.locator(".product-image-wrapper");
@@ -6535,7 +6687,7 @@ class CheckoutCart {
6535
6687
  this.headline = page.getByRole("heading", { name: translate("storefront:checkout:cart.shoppingCart") });
6536
6688
  this.goToCheckoutButton = page.getByRole("link", { name: translate("storefront:checkout:cart.goToCheckout") });
6537
6689
  this.enterPromoInput = page.getByLabel(translate("storefront:checkout:cart.promoCode"));
6538
- this.grandTotalPrice = page.locator('dt:has-text("Grand total") + dd:visible');
6690
+ this.grandTotalPrice = page.locator(`dt:has-text("${translate("storefront:checkout:finish.grandTotal")}") + dd:visible`);
6539
6691
  this.emptyCartAlert = page.getByText(translate("storefront:checkout:cart.emptyCart"));
6540
6692
  this.stockReachedAlert = page.getByText(translate("storefront:checkout:cart.stockReached"));
6541
6693
  this.cartLineItemImages = page.locator(".line-item-img-link");
@@ -7071,7 +7223,7 @@ class AccountAddresses extends BaseAccount {
7071
7223
  constructor(page, instanceMeta) {
7072
7224
  super(page);
7073
7225
  this.instanceMeta = instanceMeta;
7074
- this.addNewAddressButton = page.getByRole("link", { name: /Add (new )?address/ });
7226
+ this.addNewAddressButton = page.getByRole("link", { name: translate("storefront:account:addresses.addNewAddress") });
7075
7227
  this.editBillingAddressButton = page.getByRole("link", { name: translate("storefront:address:actions.editAddress") }).first();
7076
7228
  this.editShippingAddressButton = page.getByRole("link", { name: translate("storefront:address:actions.editAddress") }).nth(1);
7077
7229
  this.useDefaultBillingAddressButton = page.getByRole("button", { name: translate("storefront:address:actions.useAsDefaultBilling") });
@@ -7384,6 +7536,9 @@ class Header {
7384
7536
  languagesMenuOptions;
7385
7537
  currenciesDropdown;
7386
7538
  currenciesMenuOptions;
7539
+ searchInput;
7540
+ //skip links
7541
+ skipToMainContentLink;
7387
7542
  //wishlist
7388
7543
  wishlistIcon;
7389
7544
  wishlistBasket;
@@ -7395,6 +7550,8 @@ class Header {
7395
7550
  this.languagesMenuOptions = page.locator(".top-bar-language").filter({ has: page.getByRole("list") });
7396
7551
  this.currenciesDropdown = page.locator(".top-bar-currency").filter({ has: page.getByRole("button") });
7397
7552
  this.currenciesMenuOptions = page.locator(".top-bar-currency").filter({ has: page.getByRole("list") });
7553
+ this.searchInput = page.getByLabel(translate("storefront:header:searchInputAriaLabel"));
7554
+ this.skipToMainContentLink = page.getByRole("link", { name: translate("storefront:header:skipToContentLink"), exact: true });
7398
7555
  this.wishlistIcon = page.locator(".header-wishlist-icon");
7399
7556
  this.wishlistBasket = page.locator(".header-wishlist-badge");
7400
7557
  }
@@ -7616,16 +7773,16 @@ class ProductDetail {
7616
7773
  this.instanceMeta = instanceMeta;
7617
7774
  this.contentView = page.locator(".sw-desktop__content");
7618
7775
  this.productHeadline = page.locator(".smart-bar__header");
7619
- this.savePhysicalProductButton = page.getByRole("button", { name: "Save" });
7776
+ this.savePhysicalProductButton = page.getByRole("button", { name: translate("administration:product:buttons.save") });
7620
7777
  this.saveButtonCheckMark = page.locator(".icon--regular-checkmark-xs");
7621
7778
  this.saveButtonLoadingSpinner = page.locator("sw-loader");
7622
- this.specificationsTabLink = page.getByRole("tab", { name: "Specifications" });
7623
- this.advancedPricingTabLink = page.getByRole("tab", { name: "Advanced pricing" });
7624
- this.variantsTabLink = page.getByRole("tab", { name: "Variants" });
7625
- this.layoutTabLink = page.getByRole("tab", { name: "Layout" });
7626
- this.crossSellingTabLink = page.getByRole("tab", { name: "Cross Selling" });
7627
- this.SEOTabLink = page.getByRole("tab", { name: "SEO" });
7628
- this.reviewsTabLink = page.getByRole("tab", { name: "Reviews" });
7779
+ this.specificationsTabLink = page.getByRole("tab", { name: translate("administration:product:tabs.specifications") });
7780
+ this.advancedPricingTabLink = page.getByRole("tab", { name: translate("administration:product:tabs.advancedPricing") });
7781
+ this.variantsTabLink = page.getByRole("tab", { name: translate("administration:product:tabs.variants") });
7782
+ this.layoutTabLink = page.getByRole("tab", { name: translate("administration:product:tabs.layout") });
7783
+ this.crossSellingTabLink = page.getByRole("tab", { name: translate("administration:product:tabs.crossSelling") });
7784
+ this.SEOTabLink = page.getByRole("tab", { name: translate("administration:product:tabs.seo") });
7785
+ this.reviewsTabLink = page.getByRole("tab", { name: translate("administration:product:tabs.reviews") });
7629
7786
  this.manufacturerDropdownText = page.locator(".sw-select-product__select_manufacturer");
7630
7787
  this.priceGrossInput = page.locator("#sw-price-field-gross").first();
7631
7788
  this.stockInput = page.getByPlaceholder(translate("administration:product:detail.stockPlaceholder"));
@@ -7638,25 +7795,25 @@ class ProductDetail {
7638
7795
  } else {
7639
7796
  this.releaseDateInput = page.locator(".dp__input_readonly");
7640
7797
  }
7641
- this.uploadMediaButton = page.getByRole("button", { name: "Upload file" });
7798
+ this.uploadMediaButton = page.getByRole("button", { name: translate("administration:product:buttons.uploadFile") });
7642
7799
  this.coverImage = page.locator(".sw-product-media-form__cover-image");
7643
7800
  this.productImage = page.locator(".sw-media-preview-v2__item");
7644
- this.generateVariantsButton = page.getByRole("button", { name: "Generate variants" });
7645
- this.variantsModal = page.getByRole("dialog", { name: "Generate variants" });
7646
- this.variantsModalHeadline = this.variantsModal.getByRole("heading", { name: "Generate variants" });
7647
- this.variantsNextButton = this.variantsModal.getByRole("button", { name: "Next", exact: true });
7648
- this.variantsSaveButton = this.variantsModal.getByRole("button", { name: "Save variants" });
7801
+ this.generateVariantsButton = page.getByRole("button", { name: translate("administration:product:buttons.generateVariants") });
7802
+ this.variantsModal = page.getByRole("dialog", { name: translate("administration:product:modals.generateVariants") });
7803
+ this.variantsModalHeadline = this.variantsModal.getByRole("heading", { name: translate("administration:product:modals.generateVariants") });
7804
+ this.variantsNextButton = this.variantsModal.getByRole("button", { name: translate("administration:product:buttons.next"), exact: true });
7805
+ this.variantsSaveButton = this.variantsModal.getByRole("button", { name: translate("administration:product:buttons.saveVariants") });
7649
7806
  this.propertyName = (propertyName) => this.variantsModal.getByText(propertyName);
7650
7807
  this.propertyValueCheckbox = (propertyValueName) => this.variantsModal.getByRole("row", { name: propertyValueName }).getByRole("checkbox");
7651
7808
  this.propertyGroupColor = this.variantsModal.getByText(translate("administration:product:detail.colorProperty")).first();
7652
7809
  this.propertyGroupSize = this.variantsModal.getByText(translate("administration:product:detail.sizeProperty")).first();
7653
7810
  this.propertyOptionGrid = this.variantsModal.locator(".sw-property-search__tree-selection__option_grid");
7654
- this.propertyOptionColorBlue = this.propertyOptionGrid.getByRole("row", { name: "Blue" }).getByRole("checkbox");
7655
- this.propertyOptionColorRed = this.propertyOptionGrid.getByRole("row", { name: "Red" }).getByRole("checkbox");
7656
- this.propertyOptionColorGreen = this.propertyOptionGrid.getByRole("row", { name: "Green" }).getByRole("checkbox");
7657
- this.propertyOptionSizeSmall = this.propertyOptionGrid.getByRole("row", { name: "Small" }).getByRole("checkbox");
7658
- this.propertyOptionSizeMedium = this.propertyOptionGrid.getByRole("row", { name: "Medium" }).getByRole("checkbox");
7659
- this.propertyOptionSizeLarge = this.propertyOptionGrid.getByRole("row", { name: "Large" }).getByRole("checkbox");
7811
+ this.propertyOptionColorBlue = this.propertyOptionGrid.getByRole("row", { name: translate("administration:product:propertyValues.blue") }).getByRole("checkbox");
7812
+ this.propertyOptionColorRed = this.propertyOptionGrid.getByRole("row", { name: translate("administration:product:propertyValues.red") }).getByRole("checkbox");
7813
+ this.propertyOptionColorGreen = this.propertyOptionGrid.getByRole("row", { name: translate("administration:product:propertyValues.green") }).getByRole("checkbox");
7814
+ this.propertyOptionSizeSmall = this.propertyOptionGrid.getByRole("row", { name: translate("administration:product:propertyValues.small") }).getByRole("checkbox");
7815
+ this.propertyOptionSizeMedium = this.propertyOptionGrid.getByRole("row", { name: translate("administration:product:propertyValues.medium") }).getByRole("checkbox");
7816
+ this.propertyOptionSizeLarge = this.propertyOptionGrid.getByRole("row", { name: translate("administration:product:propertyValues.large") }).getByRole("checkbox");
7660
7817
  if (satisfies(instanceMeta.version, "<6.7")) {
7661
7818
  this.customFieldCard = page.locator(".sw-card").getByText(translate("administration:customField:general.customFields"));
7662
7819
  } else {
@@ -7666,9 +7823,9 @@ class ProductDetail {
7666
7823
  async getCustomFieldSetCardContentByName(customFieldSetName) {
7667
7824
  let customFieldCard;
7668
7825
  if (satisfies(this.instanceMeta.version, "<6.7")) {
7669
- customFieldCard = this.page.locator(".sw-card").filter({ hasText: "Custom fields" });
7826
+ customFieldCard = this.page.locator(".sw-card").filter({ hasText: translate("administration:customField:general.customFields") });
7670
7827
  } else {
7671
- customFieldCard = this.page.locator(".mt-card").filter({ hasText: "Custom fields" });
7828
+ customFieldCard = this.page.locator(".mt-card").filter({ hasText: translate("administration:customField:general.customFields") });
7672
7829
  }
7673
7830
  const customFieldSetTab = customFieldCard.getByText(customFieldSetName);
7674
7831
  const customFieldSetTabCustomContent = customFieldCard.locator(`.sw-custom-field-set-renderer-tab-content__${customFieldSetName}`);
@@ -8901,6 +9058,9 @@ class RuleCreate {
8901
9058
  header;
8902
9059
  nameInput;
8903
9060
  priorityInput;
9061
+ descriptionInput;
9062
+ typeItem;
9063
+ tagItem;
8904
9064
  conditionTypeSelectionInput;
8905
9065
  conditionValueSelectionInput;
8906
9066
  filtersResultPopoverSelectionList;
@@ -8915,6 +9075,9 @@ class RuleCreate {
8915
9075
  this.header = page.locator(".smart-bar__header");
8916
9076
  this.nameInput = page.getByLabel(translate("administration:rule:fields.name"));
8917
9077
  this.priorityInput = page.getByLabel(translate("administration:rule:fields.priority"));
9078
+ this.descriptionInput = page.getByLabel("Description");
9079
+ this.typeItem = page.locator(".sw-settings-rule-detail__type-field").locator(".sw-select-selection-list__item");
9080
+ this.tagItem = page.locator(".sw-settings-rule-detail__tags-field").locator(".sw-select-selection-list__item");
8918
9081
  this.conditionTypeSelectionInput = page.locator(".sw-condition-type-select").locator(".sw-single-select__selection");
8919
9082
  this.conditionValueSelectionInput = page.locator(".sw-condition__value-content").locator(".sw-entity-single-select__selection");
8920
9083
  this.filtersResultPopoverSelectionList = page.locator(".sw-select-result-list__content").getByRole("listitem");
@@ -8951,6 +9114,25 @@ class RuleDetail extends RuleCreate {
8951
9114
  assignmentModal;
8952
9115
  assignmentModalAddButton;
8953
9116
  assignmentModalSearchField;
9117
+ conditionSelectField;
9118
+ conditionLineItemGoodsTotalOperator;
9119
+ conditionLineItemGoodsTotalValue;
9120
+ conditionDateRangeOperator;
9121
+ conditionDateRangeDateFieldFirst;
9122
+ conditionDateRangeDateFieldSecond;
9123
+ conditionCustomerSurnameOperator;
9124
+ conditionCustomerSurnameValue;
9125
+ conditionCartLineItemTaxationMatchOperator;
9126
+ conditionCartLineItemTaxationOperator;
9127
+ conditionCartLineItemTaxationValue;
9128
+ conditionTimeRangeValueFirst;
9129
+ conditionTimeRangeValueSecond;
9130
+ conditionOrderCreatedByAdminValue;
9131
+ conditionLineItemGoodsTotalFilter;
9132
+ conditionFilterModal;
9133
+ conditionCartLineItemInStockOperator;
9134
+ conditionCartLineItemInStockValue;
9135
+ conditionFilterModalCloseButtonX;
8954
9136
  conditionORContainer;
8955
9137
  adminMenuAvatar;
8956
9138
  constructor(page, instanceMeta) {
@@ -8962,43 +9144,67 @@ class RuleDetail extends RuleCreate {
8962
9144
  if (satisfies(instanceMeta.version, "<6.7.3")) {
8963
9145
  this.shippingMethodAvailabilityRulesCardEmptyState = this.shippingMethodAvailabilityRulesCard.getByRole("alert");
8964
9146
  } else {
8965
- this.shippingMethodAvailabilityRulesCardEmptyState = this.shippingMethodAvailabilityRulesCard.locator(".mt-empty-state__headline");
9147
+ this.shippingMethodAvailabilityRulesCardEmptyState = this.shippingMethodAvailabilityRulesCard.getByRole("heading", { name: "This rule is not in use", level: 2 });
8966
9148
  }
8967
9149
  this.shippingMethodAvailabilityRulesCardSearchField = this.shippingMethodAvailabilityRulesCard.getByRole("textbox");
8968
9150
  this.taxProviderRulesCard = page.locator(".sw-settings-rule-detail-assignments__card-tax_provider");
8969
9151
  if (satisfies(instanceMeta.version, "<6.7.3")) {
8970
9152
  this.taxProviderRulesCardEmptyState = this.taxProviderRulesCard.getByRole("alert");
8971
9153
  } else {
8972
- this.taxProviderRulesCardEmptyState = this.taxProviderRulesCard.locator(".mt-empty-state__headline");
9154
+ this.taxProviderRulesCardEmptyState = this.taxProviderRulesCard.getByRole("heading", { name: "This rule is not in use", level: 2 });
8973
9155
  }
8974
9156
  this.paymentMethodsAvailabilityRulesCard = page.locator(".sw-settings-rule-detail-assignments__card-payment_method");
8975
9157
  if (satisfies(instanceMeta.version, "<6.7.3")) {
8976
9158
  this.paymentMethodsAvailabilityRulesCardEmptyState = this.paymentMethodsAvailabilityRulesCard.getByRole("alert");
8977
9159
  } else {
8978
- this.paymentMethodsAvailabilityRulesCardEmptyState = this.paymentMethodsAvailabilityRulesCard.locator(".mt-empty-state__headline");
9160
+ this.paymentMethodsAvailabilityRulesCardEmptyState = this.paymentMethodsAvailabilityRulesCard.getByRole("heading", { name: "This rule is not in use", level: 2 });
8979
9161
  }
8980
9162
  this.paymentMethodsAvailabilityRulesCardLink = page.locator(".sw-settings-rule-detail-assignments__card-payment_method").getByRole("link");
8981
9163
  this.promotionOrderRulesCard = page.locator(".sw-settings-rule-detail-assignments__card-promotion_order_rule");
8982
9164
  if (satisfies(instanceMeta.version, "<6.7.3")) {
8983
9165
  this.promotionOrderRulesCardEmptyState = this.promotionOrderRulesCard.getByRole("alert");
8984
9166
  } else {
8985
- this.promotionOrderRulesCardEmptyState = this.promotionOrderRulesCard.locator(".mt-empty-state__headline");
9167
+ this.promotionOrderRulesCardEmptyState = this.promotionOrderRulesCard.getByRole("heading", { name: "This rule is not in use", level: 2 });
8986
9168
  }
8987
9169
  this.promotionCustomerRulesCard = page.locator(".sw-settings-rule-detail-assignments__card-promotion_customer_rule");
8988
9170
  if (satisfies(instanceMeta.version, "<6.7.3")) {
8989
9171
  this.promotionCustomerRulesCardEmptyState = this.promotionCustomerRulesCard.getByRole("alert");
8990
9172
  } else {
8991
- this.promotionCustomerRulesCardEmptyState = this.promotionCustomerRulesCard.locator(".mt-empty-state__headline");
9173
+ this.promotionCustomerRulesCardEmptyState = this.promotionCustomerRulesCard.getByRole("heading", { name: "This rule is not in use", level: 2 });
8992
9174
  }
8993
9175
  this.promotionCartRulesCard = page.locator(".sw-settings-rule-detail-assignments__card-promotion_cart_rule");
8994
9176
  if (satisfies(instanceMeta.version, "<6.7.3")) {
8995
9177
  this.promotionCartRulesCardEmptyState = this.promotionCartRulesCard.getByRole("alert");
8996
9178
  } else {
8997
- this.promotionCartRulesCardEmptyState = this.promotionCartRulesCard.locator(".mt-empty-state__headline");
9179
+ this.promotionCartRulesCardEmptyState = this.promotionCartRulesCard.getByRole("heading", { name: "This rule is not in use", level: 2 });
8998
9180
  }
8999
9181
  this.assignmentModal = page.locator(".sw-settings-rule-add-assignment-modal");
9000
9182
  this.assignmentModalSearchField = this.assignmentModal.getByRole("textbox");
9001
9183
  this.adminMenuAvatar = page.locator(".sw-admin-menu__avatar");
9184
+ this.conditionSelectField = page.locator(".sw-condition-tree").locator(".sw-condition-type-select");
9185
+ this.conditionLineItemGoodsTotalOperator = page.locator(".sw-condition-line-item-goods-total").locator(".sw-single-select__selection-text");
9186
+ this.conditionLineItemGoodsTotalValue = page.locator(".sw-condition-line-item-goods-total").getByRole("textbox");
9187
+ this.conditionLineItemGoodsTotalFilter = page.locator(".sw-condition-line-item-goods-total__filter").getByRole("button");
9188
+ this.conditionDateRangeOperator = page.locator(".sw-condition-date-range").locator(".sw-single-select__selection-text");
9189
+ if (satisfies(instanceMeta.version, "<6.7.3")) {
9190
+ this.conditionDateRangeDateFieldFirst = page.locator(".sw-condition-date-range").locator(".flatpickr-input").first();
9191
+ this.conditionDateRangeDateFieldSecond = page.locator(".sw-condition-date-range").locator(".flatpickr-input").last();
9192
+ } else {
9193
+ this.conditionDateRangeDateFieldFirst = page.locator(".mt-datepicker__wrapper").locator(".dp__input").first();
9194
+ this.conditionDateRangeDateFieldSecond = page.locator(".mt-datepicker__wrapper").locator(".dp__input").nth(1);
9195
+ }
9196
+ this.conditionCustomerSurnameOperator = page.locator(".sw-condition__condition-type-customerLastName").locator(".sw-single-select__selection-text");
9197
+ this.conditionCustomerSurnameValue = page.locator(".sw-condition__condition-type-customerLastName").getByRole("textbox");
9198
+ this.conditionCartLineItemTaxationMatchOperator = page.locator(".sw-condition-base-line-item__matches-all");
9199
+ this.conditionCartLineItemTaxationOperator = page.locator(".sw-condition__condition-type-cartLineItemTaxation").locator(".sw-single-select__selection-text");
9200
+ this.conditionCartLineItemTaxationValue = page.locator(".sw-condition__condition-type-cartLineItemTaxation").locator(".sw-select-selection-list__item");
9201
+ this.conditionTimeRangeValueFirst = page.locator(".sw-condition-time-range").getByRole("textbox").first();
9202
+ this.conditionTimeRangeValueSecond = page.locator(".sw-condition-time-range").getByRole("textbox").last();
9203
+ this.conditionOrderCreatedByAdminValue = page.locator(".sw-condition__condition-type-orderCreatedByAdmin").locator(".sw-select__selection");
9204
+ this.conditionFilterModal = page.locator(".sw-modal__header").getByText("Filter");
9205
+ this.conditionFilterModalCloseButtonX = page.locator(".sw-modal__header").getByRole("button");
9206
+ this.conditionCartLineItemInStockOperator = page.locator(".sw-condition__condition-type-cartLineItemStock").locator(".sw-single-select__selection-text");
9207
+ this.conditionCartLineItemInStockValue = page.locator(".sw-condition__condition-type-cartLineItemStock").getByRole("textbox");
9002
9208
  if (satisfies(instanceMeta.version, "<6.7")) {
9003
9209
  this.assignmentModalAddButton = this.assignmentModal.locator(".sw-button--primary").getByText(translate("administration:rule:buttons.add"));
9004
9210
  } else {
@@ -9021,14 +9227,20 @@ class RuleListing {
9021
9227
  header;
9022
9228
  grid;
9023
9229
  page;
9230
+ gridCell;
9024
9231
  constructor(page) {
9025
9232
  this.page = page;
9026
9233
  this.createRuleButton = page.getByText(translate("administration:rule:buttons.createRule"));
9027
9234
  this.header = page.locator(".smart-bar__header");
9028
9235
  this.grid = page.locator(".sw-data-grid__table)");
9236
+ this.gridCell = page.locator(".sw-data-grid__cell--name");
9029
9237
  }
9030
- url() {
9031
- return `#/sw/settings/rule/index`;
9238
+ url(searchTerm) {
9239
+ let url = "#/sw/settings/rule/index";
9240
+ if (searchTerm.length > 0) {
9241
+ url += `?limit=25&page=1&term=${searchTerm}`;
9242
+ }
9243
+ return url;
9032
9244
  }
9033
9245
  }
9034
9246
 
@@ -9399,7 +9611,7 @@ class DocumentDetail {
9399
9611
  page;
9400
9612
  constructor(page) {
9401
9613
  this.page = page;
9402
- this.showInAccountSwitch = page.getByRole("checkbox", { name: 'Display document in "My account"' });
9614
+ this.showInAccountSwitch = page.getByRole("checkbox", { name: translate("administration:document:detail.displayDocumentInMyAccount") });
9403
9615
  this.saveButton = page.getByRole("button", { name: translate("administration:document:detail.save") });
9404
9616
  this.documentTypeSelect = page.locator(".sw-settings-document-detail__select-type");
9405
9617
  }
@@ -9618,9 +9830,9 @@ class Media {
9618
9830
  searchInput;
9619
9831
  constructor(page) {
9620
9832
  this.page = page;
9621
- this.uploadFileButton = page.getByRole("button", { name: "Upload file" });
9622
- this.addNewFolderButton = page.getByRole("button", { name: "Add new folder" });
9623
- this.searchInput = page.getByPlaceholder("Search current folder...");
9833
+ this.uploadFileButton = page.getByRole("button", { name: translate("administration:media:buttons.uploadFile") });
9834
+ this.addNewFolderButton = page.getByRole("button", { name: translate("administration:media:buttons.addNewFolder") });
9835
+ this.searchInput = page.getByPlaceholder(translate("administration:media:search.placeholder"));
9624
9836
  this.mediaGridItems = page.locator(".sw-media-media-item");
9625
9837
  this.mediaItemCheckbox = page.locator('.sw-media-base-item__selected-indicator input[type="checkbox"]');
9626
9838
  this.mediaItemPreview = page.locator(".sw-media-preview-v2__item");
@@ -10419,7 +10631,7 @@ const MediaData = test$e.extend({
10419
10631
  const OrderData = test$e.extend({
10420
10632
  OrderData: async ({ IdProvider, AdminApiContext, SalesChannelBaseConfig, DefaultSalesChannel, ProductData }, use) => {
10421
10633
  const requests = {
10422
- currencyEUR: getCurrency("EUR", AdminApiContext),
10634
+ currencyEUR: getCurrency(AdminApiContext),
10423
10635
  mrSalutationId: getSalutationId("mr", AdminApiContext),
10424
10636
  orderStateId: getStateMachineId("order.state", AdminApiContext),
10425
10637
  orderTransactionStateId: getStateMachineId("order_transaction.state", AdminApiContext),
@@ -10439,8 +10651,8 @@ const OrderData = test$e.extend({
10439
10651
  const orderResponse = await AdminApiContext.post("./order?_response=detail", {
10440
10652
  data: {
10441
10653
  billingAddressId: addressId,
10442
- currencyId: SalesChannelBaseConfig.eurCurrencyId,
10443
- languageId: SalesChannelBaseConfig.enGBLanguageId,
10654
+ currencyId: SalesChannelBaseConfig.currentCurrencyId,
10655
+ languageId: SalesChannelBaseConfig.currentLanguageId,
10444
10656
  salesChannelId: DefaultSalesChannel.salesChannel.id,
10445
10657
  stateId: orderStateStateMachineStateId,
10446
10658
  orderDateTime: "2024-02-01 07:00:00",
@@ -10472,7 +10684,7 @@ const OrderData = test$e.extend({
10472
10684
  street: `${orderId} street`,
10473
10685
  zipcode: `${orderId} zipcode`,
10474
10686
  city: `${orderId} city`,
10475
- countryId: SalesChannelBaseConfig.deCountryId,
10687
+ countryId: SalesChannelBaseConfig.currentCountryId,
10476
10688
  company: `${orderId} company`,
10477
10689
  vatId: null,
10478
10690
  phoneNumber: `${orderId}`
@@ -10556,6 +10768,7 @@ const OrderData = test$e.extend({
10556
10768
  percentage: 100
10557
10769
  }
10558
10770
  ],
10771
+ // prettier-ignore
10559
10772
  listPrice: 8,
10560
10773
  isCalculated: true,
10561
10774
  referencePriceDefinition: null
@@ -10574,7 +10787,7 @@ const OrderData = test$e.extend({
10574
10787
  street: "Shortstreet 5",
10575
10788
  zipcode: "12345",
10576
10789
  city: "Doe City",
10577
- countryId: SalesChannelBaseConfig.deCountryId,
10790
+ countryId: SalesChannelBaseConfig.currentCountryId,
10578
10791
  phoneNumber: "123 456 789"
10579
10792
  },
10580
10793
  shippingDateEarliest: "2024-03-01 07:00:00",
@@ -11163,6 +11376,8 @@ const Logout = test$e.extend({
11163
11376
  const Register = test$e.extend({
11164
11377
  Register: async ({ StorefrontAccountLogin, IdProvider, TestDataService }, use) => {
11165
11378
  let registeredEmail = "";
11379
+ const countryCode = getCountryCodeFromLocale(getLocale());
11380
+ const countryDefaults = getCountryAddressData(countryCode);
11166
11381
  const defaultRegistrationData = {
11167
11382
  isCommercial: false,
11168
11383
  isGuest: false,
@@ -11171,13 +11386,9 @@ const Register = test$e.extend({
11171
11386
  lastName: "Goldblum",
11172
11387
  email: `${IdProvider.getIdPair().uuid}@test.com`,
11173
11388
  password: "shopware",
11174
- street: "Ebbinghof 10",
11175
- city: "Sch\xF6ppingen",
11176
- country: "Germany",
11177
- postalCode: "48624",
11389
+ ...countryDefaults,
11178
11390
  company: "shopware",
11179
- department: "Operations",
11180
- vatRegNo: "DE1234567890"
11391
+ department: "Operations"
11181
11392
  };
11182
11393
  const task = (overrides, isCommercial) => {
11183
11394
  return async function Register2() {
@@ -11702,7 +11913,8 @@ const test$2 = test$e.extend({
11702
11913
  const test$1 = test$e.extend({
11703
11914
  Country: [
11704
11915
  async ({ AdminApiContext }, use) => {
11705
- const countryId = await getCountryId("de", AdminApiContext);
11916
+ const countryCode = getCountryCodeFromLocale(getLocale());
11917
+ const countryId = await getCountryId(countryCode, AdminApiContext);
11706
11918
  await use({
11707
11919
  id: countryId
11708
11920
  });
@@ -11711,7 +11923,7 @@ const test$1 = test$e.extend({
11711
11923
  ],
11712
11924
  Currency: [
11713
11925
  async ({ AdminApiContext }, use) => {
11714
- const currency = await getCurrency("EUR", AdminApiContext);
11926
+ const currency = await getCurrency(AdminApiContext);
11715
11927
  await use({
11716
11928
  id: currency.id
11717
11929
  });
@@ -11720,7 +11932,9 @@ const test$1 = test$e.extend({
11720
11932
  ],
11721
11933
  Language: [
11722
11934
  async ({ AdminApiContext }, use) => {
11723
- const language = await getLanguageData("en-GB", AdminApiContext);
11935
+ const locale = getLocale();
11936
+ const languageCode = getLanguageCode(locale);
11937
+ const language = await getLanguageData(AdminApiContext, languageCode);
11724
11938
  await use(language);
11725
11939
  },
11726
11940
  { scope: "worker" }
@@ -11745,7 +11959,7 @@ const test$1 = test$e.extend({
11745
11959
  ],
11746
11960
  SnippetSet: [
11747
11961
  async ({ AdminApiContext }, use) => {
11748
- const snippedSetId = await getSnippetSetId("en-GB", AdminApiContext);
11962
+ const snippedSetId = await getSnippetSetId(AdminApiContext);
11749
11963
  await use({
11750
11964
  id: snippedSetId
11751
11965
  });
@@ -12043,4 +12257,4 @@ const test = mergeTests(
12043
12257
  test$3
12044
12258
  );
12045
12259
 
12046
- export { AdminPageObjects, BUNDLED_RESOURCES, IdProvider, LanguageHelper, RuleType, StorefrontPageObjects, TestDataService, assertScreenshot, baseNamespaces, compareFlowTemplateWithFlow, createRandomImage, encodeImage, extractIdFromUrl, getCountryId, getCurrency, getCurrentContext, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageData, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, hideElements, isSaaSInstance, isThemeCompiled, replaceElements, replaceElementsIndividually, setCurrentContext, setOrderStatus, setViewport, test, translate, updateAdminUser };
12260
+ export { AdminPageObjects, BUNDLED_RESOURCES, COUNTRY_ADDRESS_DATA, IdProvider, LanguageHelper, RuleType, StorefrontPageObjects, TestDataService, assertScreenshot, baseNamespaces, compareFlowTemplateWithFlow, createRandomImage, encodeImage, extractIdFromUrl, 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, replaceElements, replaceElementsIndividually, setCurrentContext, setOrderStatus, setViewport, test, translate, updateAdminUser };