@shopware-ag/acceptance-test-suite 12.22.0 → 12.23.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.d.ts CHANGED
@@ -4,7 +4,7 @@ import { APIRequestContext, APIResponse, BrowserContext, Page, Locator } from 'p
4
4
  export { APIRequestContext, APIResponse, BrowserContext, Locator, Page, Request } from 'playwright-core';
5
5
  import * as axe_core from 'axe-core';
6
6
  import * as playwright_test from '@playwright/test';
7
- import { Page as Page$1, Locator as Locator$1, Browser } from '@playwright/test';
7
+ import { Locator as Locator$1, Page as Page$1, Browser } from '@playwright/test';
8
8
  export { expect, mergeTests } from '@playwright/test';
9
9
 
10
10
  interface RequestOptions$1<PAYLOAD> {
@@ -436,6 +436,17 @@ interface FlowConfig {
436
436
  falseAction: string;
437
437
  falseActionIdentifier: string;
438
438
  }
439
+ type ProductCreationType = "physical" | "digital";
440
+ /**
441
+ * Base data of the administration product creation form.
442
+ */
443
+ interface ProductFormData {
444
+ name: string;
445
+ productNumber?: string;
446
+ grossPrice: string;
447
+ /** Digital products have no stock field unless stock management is enabled. */
448
+ stock?: string;
449
+ }
439
450
  interface CategoryData {
440
451
  name: string;
441
452
  categoryType: "Link" | "Page / List" | "Structuring element / Entry point";
@@ -1901,6 +1912,15 @@ declare const BUNDLED_RESOURCES: {
1901
1912
  sizeProperty: string;
1902
1913
  stockPlaceholder: string;
1903
1914
  restockTimePlaceholder: string;
1915
+ name: string;
1916
+ productNumber: string;
1917
+ stock: string;
1918
+ copySuffix: string;
1919
+ width: string;
1920
+ height: string;
1921
+ length: string;
1922
+ weight: string;
1923
+ description: string;
1904
1924
  };
1905
1925
  variants: {
1906
1926
  properties: string;
@@ -1917,8 +1937,11 @@ declare const BUNDLED_RESOURCES: {
1917
1937
  close: string;
1918
1938
  };
1919
1939
  listing: {
1940
+ addProduct: string;
1920
1941
  bulkEdit: string;
1921
1942
  startBulkEdit: string;
1943
+ addDigitalProduct: string;
1944
+ digitalIndicator: string;
1922
1945
  };
1923
1946
  tabs: {
1924
1947
  specifications: string;
@@ -1935,6 +1958,9 @@ declare const BUNDLED_RESOURCES: {
1935
1958
  generateVariants: string;
1936
1959
  next: string;
1937
1960
  saveVariants: string;
1961
+ cancel: string;
1962
+ saveAndDuplicate: string;
1963
+ delete: string;
1938
1964
  };
1939
1965
  modals: {
1940
1966
  generateVariants: string;
@@ -1947,6 +1973,9 @@ declare const BUNDLED_RESOURCES: {
1947
1973
  medium: string;
1948
1974
  large: string;
1949
1975
  };
1976
+ create: {
1977
+ title: string;
1978
+ };
1950
1979
  };
1951
1980
  readonly "administration/salesChannel": {
1952
1981
  tabs: {
@@ -2755,6 +2784,8 @@ declare const BUNDLED_RESOURCES: {
2755
2784
  addProduct: string;
2756
2785
  bulkEdit: string;
2757
2786
  startBulkEdit: string;
2787
+ addDigitalProduct: string;
2788
+ digitalIndicator: string;
2758
2789
  };
2759
2790
  create: {
2760
2791
  title: string;
@@ -2774,6 +2805,11 @@ declare const BUNDLED_RESOURCES: {
2774
2805
  sizeProperty: string;
2775
2806
  stockPlaceholder: string;
2776
2807
  restockTimePlaceholder: string;
2808
+ copySuffix: string;
2809
+ width: string;
2810
+ height: string;
2811
+ length: string;
2812
+ weight: string;
2777
2813
  };
2778
2814
  errors: {
2779
2815
  flows: {
@@ -2807,6 +2843,9 @@ declare const BUNDLED_RESOURCES: {
2807
2843
  generateVariants: string;
2808
2844
  next: string;
2809
2845
  saveVariants: string;
2846
+ cancel: string;
2847
+ saveAndDuplicate: string;
2848
+ delete: string;
2810
2849
  };
2811
2850
  modals: {
2812
2851
  generateVariants: string;
@@ -4035,6 +4074,15 @@ declare const baseNamespaces: {
4035
4074
  sizeProperty: string;
4036
4075
  stockPlaceholder: string;
4037
4076
  restockTimePlaceholder: string;
4077
+ name: string;
4078
+ productNumber: string;
4079
+ stock: string;
4080
+ copySuffix: string;
4081
+ width: string;
4082
+ height: string;
4083
+ length: string;
4084
+ weight: string;
4085
+ description: string;
4038
4086
  };
4039
4087
  variants: {
4040
4088
  properties: string;
@@ -4051,8 +4099,11 @@ declare const baseNamespaces: {
4051
4099
  close: string;
4052
4100
  };
4053
4101
  listing: {
4102
+ addProduct: string;
4054
4103
  bulkEdit: string;
4055
4104
  startBulkEdit: string;
4105
+ addDigitalProduct: string;
4106
+ digitalIndicator: string;
4056
4107
  };
4057
4108
  tabs: {
4058
4109
  specifications: string;
@@ -4069,6 +4120,9 @@ declare const baseNamespaces: {
4069
4120
  generateVariants: string;
4070
4121
  next: string;
4071
4122
  saveVariants: string;
4123
+ cancel: string;
4124
+ saveAndDuplicate: string;
4125
+ delete: string;
4072
4126
  };
4073
4127
  modals: {
4074
4128
  generateVariants: string;
@@ -4081,6 +4135,9 @@ declare const baseNamespaces: {
4081
4135
  medium: string;
4082
4136
  large: string;
4083
4137
  };
4138
+ create: {
4139
+ title: string;
4140
+ };
4084
4141
  };
4085
4142
  readonly salesChannel: {
4086
4143
  tabs: {
@@ -5205,101 +5262,158 @@ declare const StorefrontPageObjects: {
5205
5262
  };
5206
5263
 
5207
5264
  declare class ProductDetail implements PageObject {
5208
- readonly contentView: Locator;
5209
- readonly productHeadline: Locator;
5265
+ readonly contentView: Locator$1;
5266
+ readonly productHeadline: Locator$1;
5210
5267
  /**
5211
5268
  * Save interactions
5212
5269
  */
5213
- readonly savePhysicalProductButton: Locator;
5214
- readonly saveButtonLoadingSpinner: Locator;
5215
- readonly saveButtonCheckMark: Locator;
5270
+ readonly savePhysicalProductButton: Locator$1;
5271
+ readonly saveButtonLoadingSpinner: Locator$1;
5272
+ readonly saveButtonCheckMark: Locator$1;
5273
+ /**
5274
+ * "Save and duplicate" is only reachable through the split button next to "Save".
5275
+ */
5276
+ readonly saveContextMenuButton: Locator$1;
5277
+ readonly saveAndDuplicateButton: Locator$1;
5216
5278
  /**
5217
5279
  * General Info
5218
5280
  */
5219
- readonly manufacturerDropdownText: Locator;
5281
+ readonly nameInput: Locator$1;
5282
+ readonly productNumberInput: Locator$1;
5283
+ readonly descriptionEditor: Locator$1;
5284
+ readonly manufacturerDropdownText: Locator$1;
5220
5285
  /**
5221
5286
  * Prices
5222
5287
  */
5223
- readonly priceGrossInput: Locator;
5288
+ readonly priceGrossInput: Locator$1;
5224
5289
  /**
5225
5290
  * Deliverability
5226
5291
  */
5227
- readonly stockInput: Locator;
5228
- readonly restockTimeInput: Locator;
5292
+ readonly stockInput: Locator$1;
5293
+ readonly restockTimeInput: Locator$1;
5229
5294
  /**
5230
5295
  * Visibility
5231
5296
  */
5232
- readonly activeForAllSalesChannelsToggle: Locator;
5233
- readonly tagsInput: Locator;
5234
- readonly saleChannelsInput: Locator;
5297
+ readonly activeForAllSalesChannelsToggle: Locator$1;
5298
+ readonly tagsInput: Locator$1;
5299
+ readonly saleChannelsInput: Locator$1;
5300
+ readonly saleChannelsSearchInput: Locator$1;
5301
+ readonly selectedSaleChannel: Locator$1;
5302
+ readonly categoriesInput: Locator$1;
5303
+ readonly categoriesSearchInput: Locator$1;
5304
+ readonly selectedCategory: Locator$1;
5305
+ readonly categorySearchResult: (categoryName: string) => Locator$1;
5306
+ readonly saleChannelSearchResult: (salesChannelName: string) => Locator$1;
5235
5307
  /**
5236
5308
  * Labelling
5237
5309
  */
5238
- readonly releaseDateInput: Locator;
5310
+ readonly releaseDateInput: Locator$1;
5239
5311
  /**
5240
5312
  * Media Upload interactions
5241
5313
  */
5242
- readonly uploadMediaButton: Locator;
5243
- readonly coverImage: Locator;
5244
- readonly productImage: Locator;
5314
+ readonly mediaCard: Locator$1;
5315
+ readonly uploadMediaButton: Locator$1;
5316
+ readonly coverImage: Locator$1;
5317
+ readonly productImage: Locator$1;
5318
+ /**
5319
+ * Files of a digital product
5320
+ */
5321
+ readonly downloadsCard: Locator$1;
5322
+ readonly uploadDownloadFileButton: Locator$1;
5323
+ readonly downloadFileName: Locator$1;
5245
5324
  /**
5246
5325
  * Tabs
5247
5326
  */
5248
- readonly variantsTabLink: Locator;
5249
- readonly specificationsTabLink: Locator;
5250
- readonly advancedPricingTabLink: Locator;
5251
- readonly layoutTabLink: Locator;
5252
- readonly crossSellingTabLink: Locator;
5253
- readonly SEOTabLink: Locator;
5254
- readonly reviewsTabLink: Locator;
5327
+ readonly variantsTabLink: Locator$1;
5328
+ readonly specificationsTabLink: Locator$1;
5329
+ readonly advancedPricingTabLink: Locator$1;
5330
+ readonly layoutTabLink: Locator$1;
5331
+ readonly crossSellingTabLink: Locator$1;
5332
+ readonly SEOTabLink: Locator$1;
5333
+ readonly reviewsTabLink: Locator$1;
5255
5334
  /**
5256
5335
  * Variants Generation
5257
5336
  */
5258
- readonly generateVariantsButton: Locator;
5259
- readonly variantsModal: Locator;
5260
- readonly variantsModalHeadline: Locator;
5261
- readonly variantsNextButton: Locator;
5262
- readonly variantsSaveButton: Locator;
5337
+ readonly generateVariantsButton: Locator$1;
5338
+ readonly variantsModal: Locator$1;
5339
+ readonly variantsModalHeadline: Locator$1;
5340
+ readonly variantsNextButton: Locator$1;
5341
+ readonly variantsSaveButton: Locator$1;
5263
5342
  /**
5264
5343
  * Property Selection
5265
5344
  */
5266
- readonly propertyName: (propertyName: string) => Locator;
5267
- readonly propertyValueCheckbox: (propertyValueName: string) => Locator;
5345
+ readonly propertyName: (propertyName: string) => Locator$1;
5346
+ readonly propertyValueCheckbox: (propertyValueName: string) => Locator$1;
5268
5347
  /** @deprecated - Use 'propertyName' instead. */
5269
- readonly propertyGroupColor: Locator;
5348
+ readonly propertyGroupColor: Locator$1;
5270
5349
  /** @deprecated - Use 'propertyName' instead. */
5271
- readonly propertyGroupSize: Locator;
5350
+ readonly propertyGroupSize: Locator$1;
5272
5351
  /** @deprecated - Use 'propertyValueCheckbox' instead. */
5273
- readonly propertyOptionGrid: Locator;
5352
+ readonly propertyOptionGrid: Locator$1;
5274
5353
  /** @deprecated - Use 'propertyValueCheckbox' instead. */
5275
- readonly propertyOptionColorBlue: Locator;
5354
+ readonly propertyOptionColorBlue: Locator$1;
5276
5355
  /** @deprecated - Use 'propertyValueCheckbox' instead. */
5277
- readonly propertyOptionColorRed: Locator;
5356
+ readonly propertyOptionColorRed: Locator$1;
5278
5357
  /** @deprecated - Use 'propertyValueCheckbox' instead. */
5279
- readonly propertyOptionColorGreen: Locator;
5358
+ readonly propertyOptionColorGreen: Locator$1;
5280
5359
  /** @deprecated - Use 'propertyValueCheckbox' instead. */
5281
- readonly propertyOptionSizeSmall: Locator;
5360
+ readonly propertyOptionSizeSmall: Locator$1;
5282
5361
  /** @deprecated - Use 'propertyValueCheckbox' instead. */
5283
- readonly propertyOptionSizeMedium: Locator;
5362
+ readonly propertyOptionSizeMedium: Locator$1;
5284
5363
  /** @deprecated - Use 'propertyValueCheckbox' instead. */
5285
- readonly propertyOptionSizeLarge: Locator;
5364
+ readonly propertyOptionSizeLarge: Locator$1;
5286
5365
  /**
5287
5366
  * Cards
5288
5367
  */
5289
- readonly customFieldCard: Locator;
5290
- readonly page: Page;
5368
+ readonly customFieldCard: Locator$1;
5369
+ /**
5370
+ * Specifications tab, product measurements
5371
+ */
5372
+ readonly measurementCard: Locator$1;
5373
+ readonly widthInput: Locator$1;
5374
+ readonly heightInput: Locator$1;
5375
+ readonly lengthInput: Locator$1;
5376
+ readonly weightInput: Locator$1;
5377
+ readonly page: Page$1;
5291
5378
  readonly instanceMeta: HelperFixtureTypes["InstanceMeta"];
5292
- constructor(page: Page, instanceMeta: HelperFixtureTypes["InstanceMeta"]);
5293
- getCustomFieldSetCardContentByName(customFieldSetName: string): Promise<Record<string, Locator>>;
5379
+ constructor(page: Page$1, instanceMeta: HelperFixtureTypes["InstanceMeta"]);
5380
+ getCustomFieldSetCardContentByName(customFieldSetName: string): Promise<Record<string, Locator$1>>;
5294
5381
  url(productId: string): string;
5295
5382
  getCustomFieldCardLocators(customFieldSetName: string, customFieldTextName: string): Promise<{
5296
- customFieldCard: Locator;
5297
- customFieldSetTab: Locator;
5298
- customFieldLabel: Locator;
5299
- customFieldSelect: Locator;
5383
+ customFieldCard: Locator$1;
5384
+ customFieldSetTab: Locator$1;
5385
+ customFieldLabel: Locator$1;
5386
+ customFieldSelect: Locator$1;
5300
5387
  }>;
5301
5388
  }
5302
5389
 
5390
+ declare class ProductCreate implements PageObject {
5391
+ readonly page: Page$1;
5392
+ readonly instanceMeta: HelperFixtureTypes["InstanceMeta"];
5393
+ readonly headline: Locator$1;
5394
+ /**
5395
+ * General information
5396
+ */
5397
+ readonly nameInput: Locator$1;
5398
+ readonly productNumberInput: Locator$1;
5399
+ /**
5400
+ * Prices
5401
+ */
5402
+ readonly priceGrossInput: Locator$1;
5403
+ readonly priceNetInput: Locator$1;
5404
+ /**
5405
+ * Deliverability
5406
+ */
5407
+ readonly stockInput: Locator$1;
5408
+ constructor(page: Page$1, instanceMeta: HelperFixtureTypes["InstanceMeta"]);
5409
+ /**
5410
+ * Returns the url to the creation page.
5411
+ *
5412
+ * @param creationType - Physical products are created by default, digital products carry a file instead of stock.
5413
+ */
5414
+ url(creationType?: ProductCreationType): string;
5415
+ }
5416
+
5303
5417
  declare class OrderDetail implements PageObject {
5304
5418
  readonly saveButton: Locator;
5305
5419
  readonly dataGridContextButton: Locator;
@@ -5984,18 +6098,32 @@ declare class ManufacturerDetail extends ManufacturerCreate {
5984
6098
  }
5985
6099
 
5986
6100
  declare class ProductListing implements PageObject {
6101
+ /**
6102
+ * Smart bar
6103
+ *
6104
+ * A digital product is only reachable through the split button next to "Add product".
6105
+ */
6106
+ readonly addProductButton: Locator$1;
6107
+ readonly addProductContextMenuButton: Locator$1;
6108
+ readonly addDigitalProductLink: Locator$1;
5987
6109
  /**
5988
6110
  * Multi selection
5989
6111
  */
5990
- readonly productsTable: Locator;
5991
- readonly bulkEditButton: Locator;
5992
- readonly page: Page;
6112
+ readonly productsTable: Locator$1;
6113
+ readonly bulkEditButton: Locator$1;
6114
+ readonly page: Page$1;
5993
6115
  /**
5994
6116
  * Bulk edit modal
5995
6117
  */
5996
- readonly bulkEditModal: Locator;
5997
- readonly startBulkEditButton: Locator;
5998
- constructor(page: Page);
6118
+ readonly bulkEditModal: Locator$1;
6119
+ readonly startBulkEditButton: Locator$1;
6120
+ /**
6121
+ * Row actions and deletion
6122
+ */
6123
+ readonly deleteContextMenuItem: Locator$1;
6124
+ readonly deleteConfirmationModal: Locator$1;
6125
+ readonly confirmDeleteButton: Locator$1;
6126
+ constructor(page: Page$1);
5999
6127
  /**
6000
6128
  * Returns the url to the listing page.
6001
6129
  *
@@ -6007,7 +6135,7 @@ declare class ProductListing implements PageObject {
6007
6135
  *
6008
6136
  * @param productNumber - Product number you are looking for.
6009
6137
  */
6010
- getProductRow(productNumber: string): Promise<Record<string, Locator>>;
6138
+ getProductRow(productNumber: string): Promise<Record<string, Locator$1>>;
6011
6139
  }
6012
6140
 
6013
6141
  declare class ProductBulkEdit implements PageObject {
@@ -6438,6 +6566,7 @@ declare class DataSharingConsentModal implements PageObject {
6438
6566
 
6439
6567
  interface AdministrationPageTypes {
6440
6568
  AdminProductDetail: ProductDetail;
6569
+ AdminProductCreate: ProductCreate;
6441
6570
  AdminOrderDetail: OrderDetail;
6442
6571
  AdminCustomerListing: CustomerListing;
6443
6572
  AdminCustomerDetail: CustomerDetail;
@@ -6491,6 +6620,7 @@ interface AdministrationPageTypes {
6491
6620
  }
6492
6621
  declare const AdminPageObjects: {
6493
6622
  ProductDetail: typeof ProductDetail;
6623
+ ProductCreate: typeof ProductCreate;
6494
6624
  OrderDetail: typeof OrderDetail;
6495
6625
  CustomerListing: typeof CustomerListing;
6496
6626
  CustomerDetail: typeof CustomerDetail;
@@ -6868,6 +6998,14 @@ type Task<TArgs extends unknown[] = any[]> = (...args: TArgs) => () => Promise<v
6868
6998
 
6869
6999
  declare const test: playwright_test.TestType<playwright_test.PlaywrightTestArgs & playwright_test.PlaywrightTestOptions & Omit<FixtureTypes, "AdminSession"> & FixtureTypes & {
6870
7000
  SaveProduct: Task;
7001
+ } & {
7002
+ SaveAndDuplicateProduct: Task;
7003
+ } & {
7004
+ FillProductBaseData: Task;
7005
+ } & {
7006
+ UploadProductDownloadFile: Task;
7007
+ } & {
7008
+ DeleteProduct: Task;
6871
7009
  } & {
6872
7010
  ExpectNotification: Task;
6873
7011
  } & {
@@ -6959,4 +7097,4 @@ declare const test: playwright_test.TestType<playwright_test.PlaywrightTestArgs
6959
7097
  }>;
6960
7098
 
6961
7099
  export { Actor, AdminPageObjects, BUNDLED_RESOURCES, COUNTRY_ADDRESS_DATA, FeatureService, IdProvider, LanguageHelper, RuleType, StorefrontPageObjects, TestDataService, assertScreenshot, baseNamespaces, clearDelayedCache, compareFlowTemplateWithFlow, createNewAdminPageContext, createRandomImage, createSolidColorImage, encodeImage, expandAdminMenu, 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, hideSymfonyToolbarOnReload, isPaaSInstance, isSaaSInstance, isThemeCompiled, loginToAdministration, mockApiCalls, replaceElements, replaceElementsIndividually, setCurrentContext, setOrderStatus, setViewport, test, translate, updateAdminUser, uploadRandomPngMedia };
6962
- export type { AccountData, AclRole, Address, BasicRuleCondition, CalculatedTaxes, Category$1 as Category, CategoryCustomizableLinkData, CategoryData, CmsPage, Country$1 as Country, CreatedRecord, Currency$2 as Currency, CustomField, CustomFieldData, CustomFieldSet, Customer, CustomerAddress, CustomerGroup, DataServiceOptions, DeliveryTime, FixtureTypes, Flow, FlowConfig, FlowTemplate, Image, Language$2 as Language, Manufacturer, Media$1 as Media, NewsletterRecipient, Options, Order, OrderDelivery, OrderLineItem, OrderStatus, PageObject, PaymentMethod$1 as PaymentMethod, Price, Product, ProductCrossSelling, ProductPrice, ProductReview, Promotion, PromotionDiscount, PromotionWithConditionRuleOptions, PropertyGroup, PropertyGroupOption, RegistrationData, ReplaceTarget, Rule, RuleAssignmentEntity, SalesChannel, SalesChannelAnalytics, SalesChannelDomain, SalesChannelRecord, Salutation, ShippingMethod$1 as ShippingMethod, SimpleLineItem, StateMachine, StateMachineState, SyncApiOperation, SystemConfig, Tag, TagData, Task, Tax$1 as Tax, TaxRules, TranslateFn, TranslationKey, UploadMediaTarget, User, VariantListingConfig };
7100
+ export type { AccountData, AclRole, Address, BasicRuleCondition, CalculatedTaxes, Category$1 as Category, CategoryCustomizableLinkData, CategoryData, CmsPage, Country$1 as Country, CreatedRecord, Currency$2 as Currency, CustomField, CustomFieldData, CustomFieldSet, Customer, CustomerAddress, CustomerGroup, DataServiceOptions, DeliveryTime, FixtureTypes, Flow, FlowConfig, FlowTemplate, Image, Language$2 as Language, Manufacturer, Media$1 as Media, NewsletterRecipient, Options, Order, OrderDelivery, OrderLineItem, OrderStatus, PageObject, PaymentMethod$1 as PaymentMethod, Price, Product, ProductCreationType, ProductCrossSelling, ProductFormData, ProductPrice, ProductReview, Promotion, PromotionDiscount, PromotionWithConditionRuleOptions, PropertyGroup, PropertyGroupOption, RegistrationData, ReplaceTarget, Rule, RuleAssignmentEntity, SalesChannel, SalesChannelAnalytics, SalesChannelDomain, SalesChannelRecord, Salutation, ShippingMethod$1 as ShippingMethod, SimpleLineItem, StateMachine, StateMachineState, SyncApiOperation, SystemConfig, Tag, TagData, Task, Tax$1 as Tax, TaxRules, TranslateFn, TranslationKey, UploadMediaTarget, User, VariantListingConfig };