@shopware-ag/acceptance-test-suite 11.22.0 → 11.24.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.mts CHANGED
@@ -201,6 +201,14 @@ type Customer = Omit<components['schemas']['Customer'], 'defaultShippingAddress'
201
201
  salutationId: string;
202
202
  };
203
203
  };
204
+ type User = components['schemas']['User'] & {
205
+ id: string;
206
+ password: string;
207
+ };
208
+ type AclRole = components['schemas']['AclRole'] & {
209
+ id: string;
210
+ privileges: string[];
211
+ };
204
212
  type CustomerAddress = components['schemas']['CustomerAddress'] & {
205
213
  id: string;
206
214
  };
@@ -682,6 +690,19 @@ declare class TestDataService {
682
690
  * @param salesChannel - The sales channel for which the customer should be registered.
683
691
  */
684
692
  createCustomer(overrides?: Partial<Customer>, salutationKey?: string, salesChannel?: SalesChannel): Promise<Customer>;
693
+ /**
694
+ * Creates a new user for the admin with full admin permissions.
695
+ *
696
+ * @param overrides - Specific data overrides that will be applied to the customer data struct.
697
+ * @param salesChannel - The sales channel for which the customer should be registered.
698
+ */
699
+ createUser(overrides?: Partial<User>, salesChannel?: SalesChannel): Promise<User>;
700
+ /**
701
+ * Creates a new AclRole for the administration with basic shop configuration privileges.
702
+ *
703
+ * @param overrides - Specific data overrides that will be applied to the aclRole data struct.
704
+ */
705
+ createAclRole(overrides?: Partial<AclRole>): Promise<AclRole>;
685
706
  /**
686
707
  * Creates a new order. This order is created on pure data and prices are not guaranteed to be calculated correctly.
687
708
  *
@@ -899,6 +920,14 @@ declare class TestDataService {
899
920
  * @param mediaId - The uuid of the media resource.
900
921
  */
901
922
  assignShippingMethodMedia(shippingMethodId: string, mediaId: string): Promise<any>;
923
+ /**
924
+ * Assigns an ACL Role to a user (user in administration).
925
+ *
926
+ * @param aclRoleId - The uuid of the ACL role.
927
+ * @param adminUserId - The uuid of the admin user.
928
+
929
+ */
930
+ assignAclRoleUser(aclRoleId: string, adminUserId: string): Promise<any>;
902
931
  /**
903
932
  * Retrieves a language based on its code.
904
933
  * @param languageCode
@@ -998,6 +1027,18 @@ declare class TestDataService {
998
1027
  * @param languageId - The id of the property group.
999
1028
  */
1000
1029
  getLanguageById(languageId: string): Promise<Language$2>;
1030
+ /**
1031
+ * Retrieves a user by its id.
1032
+ *
1033
+ * @param userId - The id of the user.
1034
+ */
1035
+ getUserById(userId: string | undefined): Promise<User>;
1036
+ /**
1037
+ * Retrieves a AclRole by its id.
1038
+ *
1039
+ * @param aclRoleId - The id of the ACL role.
1040
+ */
1041
+ getAclRoleById(aclRoleId: string | undefined): Promise<AclRole>;
1001
1042
  /**
1002
1043
  * Adds an entity reference to the registry of created records.
1003
1044
  * All entities added to the registry will be deleted by the cleanup call.
@@ -1075,6 +1116,8 @@ declare class TestDataService {
1075
1116
  active: boolean;
1076
1117
  } & Partial<Category$1>;
1077
1118
  getBasicCustomerStruct(salesChannelId: string, customerGroupId: string, languageId: string, countryId: string, defaultPaymentMethodId: string, salutationId: string, overrides?: Partial<Customer>): Partial<Customer>;
1119
+ getBasicUserStruct(localId: string, overrides?: Partial<User>): Partial<User>;
1120
+ getBasicAclRoleStruct(overrides?: Partial<AclRole>): Partial<AclRole>;
1078
1121
  getBasicOrderDeliveryStruct(deliveryState: StateMachineState, shippingMethod: ShippingMethod$1, customerAddress: CustomerAddress): Partial<OrderDelivery>;
1079
1122
  getBasicShippingMethodStruct(deliveryTimeId: string, overrides?: Partial<ShippingMethod$1>): {
1080
1123
  id: string;
@@ -1903,14 +1946,25 @@ declare class ProductDetail implements PageObject {
1903
1946
  /**
1904
1947
  * Property Selection
1905
1948
  */
1949
+ readonly propertyName: (propertyName: string) => Locator;
1950
+ readonly propertyValueCheckbox: (propertyValueName: string) => Locator;
1951
+ /** @deprecated - Use 'propertyName' instead. */
1906
1952
  readonly propertyGroupColor: Locator;
1953
+ /** @deprecated - Use 'propertyName' instead. */
1907
1954
  readonly propertyGroupSize: Locator;
1955
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1908
1956
  readonly propertyOptionGrid: Locator;
1957
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1909
1958
  readonly propertyOptionColorBlue: Locator;
1959
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1910
1960
  readonly propertyOptionColorRed: Locator;
1961
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1911
1962
  readonly propertyOptionColorGreen: Locator;
1963
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1912
1964
  readonly propertyOptionSizeSmall: Locator;
1965
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1913
1966
  readonly propertyOptionSizeMedium: Locator;
1967
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1914
1968
  readonly propertyOptionSizeLarge: Locator;
1915
1969
  /**
1916
1970
  * Cards
@@ -2231,6 +2285,11 @@ declare class Dashboard implements PageObject {
2231
2285
  readonly statisticsDateRange: Locator;
2232
2286
  readonly statisticsChart: Locator;
2233
2287
  readonly page: Page;
2288
+ readonly shopwareServicesAdvertisementBanner: Locator;
2289
+ readonly shopwareServicesAdvertisementBannerCloseButton: Locator;
2290
+ readonly shopwareServicesExploreNowButton: Locator;
2291
+ readonly adminMenuUserActions: Locator;
2292
+ readonly adminMenuLogoutButton: Locator;
2234
2293
  constructor(page: Page);
2235
2294
  url(): string;
2236
2295
  }
@@ -2456,6 +2515,7 @@ declare class CategoryDetail implements PageObject {
2456
2515
  }
2457
2516
 
2458
2517
  declare class RuleCreate implements PageObject {
2518
+ readonly header: Locator;
2459
2519
  readonly nameInput: Locator;
2460
2520
  readonly priorityInput: Locator;
2461
2521
  readonly conditionTypeSelectionInput: Locator;
@@ -2472,6 +2532,7 @@ declare class RuleCreate implements PageObject {
2472
2532
  }
2473
2533
 
2474
2534
  declare class RuleDetail extends RuleCreate implements PageObject {
2535
+ readonly contentView: Locator;
2475
2536
  readonly shippingMethodAvailabilityRulesCard: Locator;
2476
2537
  readonly shippingMethodAvailabilityRulesCardLink: Locator;
2477
2538
  readonly shippingMethodAvailabilityRulesCardTable: Locator;
@@ -2488,8 +2549,10 @@ declare class RuleDetail extends RuleCreate implements PageObject {
2488
2549
  readonly promotionCustomerRulesCardEmptyState: Locator;
2489
2550
  readonly promotionCartRulesCard: Locator;
2490
2551
  readonly promotionCartRulesCardEmptyState: Locator;
2552
+ readonly assignmentModal: Locator;
2491
2553
  readonly assignmentModalAddButton: Locator;
2492
2554
  readonly assignmentModalSearchField: Locator;
2555
+ readonly conditionORContainer: Locator;
2493
2556
  constructor(page: Page, instanceMeta: HelperFixtureTypes['InstanceMeta']);
2494
2557
  getEntityCard(cardLocator: Locator): Promise<Record<string, Locator>>;
2495
2558
  url(ruleId?: string, tabName?: string): string;
@@ -2497,6 +2560,8 @@ declare class RuleDetail extends RuleCreate implements PageObject {
2497
2560
 
2498
2561
  declare class RuleListing implements PageObject {
2499
2562
  readonly createRuleButton: Locator;
2563
+ readonly header: Locator;
2564
+ readonly grid: Locator;
2500
2565
  readonly page: Page;
2501
2566
  constructor(page: Page);
2502
2567
  url(): string;
@@ -2647,6 +2712,7 @@ declare class CustomerBulkEdit implements PageObject {
2647
2712
  declare class SettingsListing implements PageObject {
2648
2713
  readonly contentView: Locator;
2649
2714
  readonly header: Locator;
2715
+ readonly shopwareServicesLink: Locator;
2650
2716
  readonly page: Page;
2651
2717
  constructor(page: Page);
2652
2718
  url(): string;
@@ -2669,6 +2735,21 @@ declare class DocumentDetail implements PageObject {
2669
2735
  url(documentId: string): string;
2670
2736
  }
2671
2737
 
2738
+ declare class ShopwareServices implements PageObject {
2739
+ readonly header: Locator;
2740
+ readonly deactivatedBanner: Locator;
2741
+ readonly activateServicesButton: Locator;
2742
+ readonly permissionBanner: Locator;
2743
+ readonly permissionGrantButton: Locator;
2744
+ readonly serviceCards: Locator;
2745
+ readonly deactivateServicesConfirmButton: Locator;
2746
+ readonly deactivateServicesButton: Locator;
2747
+ readonly deactivateServicesModal: Locator;
2748
+ readonly page: Page;
2749
+ constructor(page: Page);
2750
+ url(): string;
2751
+ }
2752
+
2672
2753
  declare class PromotionsListing implements PageObject {
2673
2754
  private readonly instanceMeta;
2674
2755
  readonly page: Page;
@@ -2775,6 +2856,7 @@ interface AdministrationPageTypes {
2775
2856
  AdminPromotionsListing: PromotionsListing;
2776
2857
  AdminPromotionCreate: PromotionCreate;
2777
2858
  AdminPromotionDetail: PromotionDetail;
2859
+ AdminShopwareServices: ShopwareServices;
2778
2860
  }
2779
2861
  declare const AdminPageObjects: {
2780
2862
  ProductDetail: typeof ProductDetail;
@@ -2813,6 +2895,7 @@ declare const AdminPageObjects: {
2813
2895
  SettingsListing: typeof SettingsListing;
2814
2896
  DocumentListing: typeof DocumentListing;
2815
2897
  DocumentDetail: typeof DocumentDetail;
2898
+ ShopwareServices: typeof ShopwareServices;
2816
2899
  PromotionsListing: typeof PromotionsListing;
2817
2900
  PromotionCreate: typeof PromotionCreate;
2818
2901
  PromotionDetail: typeof PromotionDetail;
@@ -2900,6 +2983,7 @@ declare const setOrderStatus: (orderId: string, orderStatus: OrderStatus, adminA
2900
2983
  * Return a single promotion entity with a fetched single discount entity
2901
2984
  */
2902
2985
  declare const getPromotionWithDiscount: (promotionId: string, adminApiContext: AdminApiContext) => Promise<Promotion>;
2986
+ declare const updateAdminUser: (adminUserId: string, adminApiContext: AdminApiContext, data: Record<string, string | boolean>) => Promise<void>;
2903
2987
 
2904
2988
  declare const isSaaSInstance: (adminApiContext: AdminApiContext) => Promise<boolean>;
2905
2989
  declare const isThemeCompiled: (context: AdminApiContext, storefrontUrl: string) => Promise<boolean>;
@@ -2961,6 +3045,14 @@ interface Options {
2961
3045
  headerElement?: string;
2962
3046
  }
2963
3047
  declare function setViewport(page: Page, options?: Options): Promise<void>;
3048
+ /**
3049
+ * Takes a screenshot of the desktop content of the page or the provided locator and compares it to existing ones.
3050
+ *
3051
+ * @param page - Playwright page object
3052
+ * @param filename - Filename of the screenshot
3053
+ * @param locator - Optional Playwright locator to take a screenshot of instead of the desktop content
3054
+ */
3055
+ declare function assertScreenshot(page: Page, filename: string, locator?: Locator): Promise<void>;
2964
3056
 
2965
3057
  declare const test: _playwright_test.TestType<_playwright_test.PlaywrightTestArgs & _playwright_test.PlaywrightTestOptions & FixtureTypes & {
2966
3058
  SaveProduct: Task;
@@ -2978,6 +3070,12 @@ declare const test: _playwright_test.TestType<_playwright_test.PlaywrightTestArg
2978
3070
  CreateFlow: Task;
2979
3071
  } & {
2980
3072
  LoginViaReviewsTab: Task;
3073
+ } & {
3074
+ CheckAccessToShopwareServices: Task;
3075
+ } & {
3076
+ CheckVisibilityOfServicesBanner: Task;
3077
+ } & {
3078
+ DeactivateShopwareServices: Task;
2981
3079
  } & {
2982
3080
  Login: Task;
2983
3081
  } & {
@@ -3030,4 +3128,4 @@ declare const test: _playwright_test.TestType<_playwright_test.PlaywrightTestArg
3030
3128
  SelectProductFilterOption: Task;
3031
3129
  }, _playwright_test.PlaywrightWorkerArgs & _playwright_test.PlaywrightWorkerOptions & FixtureTypes>;
3032
3130
 
3033
- export { type AccountData, type Address, AdminPageObjects, type CalculatedTaxes, type Category$1 as Category, type CategoryCustomizableLinkData, type CategoryData, type CmsPage, type Country$1 as Country, type CreatedRecord, type Currency$2 as Currency, type CustomField, type CustomFieldData, type CustomFieldSet, type Customer, type CustomerAddress, type CustomerGroup, type DataServiceOptions, type DeliveryTime, type FixtureTypes, type Flow, type FlowConfig, type FlowTemplate, type Language$2 as Language, type Manufacturer, type Media, type Options, type Order, type OrderDelivery, type OrderLineItem, type OrderStatus, type PageObject, type PaymentMethod$1 as PaymentMethod, type Price, type Product, type ProductCrossSelling, type ProductPrice, type ProductReview, type Promotion, type PromotionDiscount, type PropertyGroup, type PropertyGroupOption, type RegistrationData, type Rule, type RuleAssignmentEntity, RuleType, type SalesChannel, type SalesChannelAnalytics, type SalesChannelDomain, type SalesChannelRecord, type Salutation, type ShippingMethod$1 as ShippingMethod, type SimpleLineItem, type StateMachine, type StateMachineState, StorefrontPageObjects, type SyncApiOperation, type SystemConfig, type Tag, type TagData, type Task, type Tax$1 as Tax, type TaxRules, TestDataService, type VariantListingConfig, compareFlowTemplateWithFlow, createRandomImage, extractIdFromUrl, getCountryId, getCurrency, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageData, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, hideElements, isSaaSInstance, isThemeCompiled, replaceElements, setOrderStatus, setViewport, test };
3131
+ export { type AccountData, type AclRole, type Address, AdminPageObjects, type CalculatedTaxes, type Category$1 as Category, type CategoryCustomizableLinkData, type CategoryData, type CmsPage, type Country$1 as Country, type CreatedRecord, type Currency$2 as Currency, type CustomField, type CustomFieldData, type CustomFieldSet, type Customer, type CustomerAddress, type CustomerGroup, type DataServiceOptions, type DeliveryTime, type FixtureTypes, type Flow, type FlowConfig, type FlowTemplate, type Language$2 as Language, type Manufacturer, type Media, type Options, type Order, type OrderDelivery, type OrderLineItem, type OrderStatus, type PageObject, type PaymentMethod$1 as PaymentMethod, type Price, type Product, type ProductCrossSelling, type ProductPrice, type ProductReview, type Promotion, type PromotionDiscount, type PropertyGroup, type PropertyGroupOption, type RegistrationData, type Rule, type RuleAssignmentEntity, RuleType, type SalesChannel, type SalesChannelAnalytics, type SalesChannelDomain, type SalesChannelRecord, type Salutation, type ShippingMethod$1 as ShippingMethod, type SimpleLineItem, type StateMachine, type StateMachineState, StorefrontPageObjects, type SyncApiOperation, type SystemConfig, type Tag, type TagData, type Task, type Tax$1 as Tax, type TaxRules, TestDataService, type User, type VariantListingConfig, assertScreenshot, compareFlowTemplateWithFlow, createRandomImage, extractIdFromUrl, getCountryId, getCurrency, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageData, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, hideElements, isSaaSInstance, isThemeCompiled, replaceElements, setOrderStatus, setViewport, test, updateAdminUser };
package/dist/index.d.ts CHANGED
@@ -201,6 +201,14 @@ type Customer = Omit<components['schemas']['Customer'], 'defaultShippingAddress'
201
201
  salutationId: string;
202
202
  };
203
203
  };
204
+ type User = components['schemas']['User'] & {
205
+ id: string;
206
+ password: string;
207
+ };
208
+ type AclRole = components['schemas']['AclRole'] & {
209
+ id: string;
210
+ privileges: string[];
211
+ };
204
212
  type CustomerAddress = components['schemas']['CustomerAddress'] & {
205
213
  id: string;
206
214
  };
@@ -682,6 +690,19 @@ declare class TestDataService {
682
690
  * @param salesChannel - The sales channel for which the customer should be registered.
683
691
  */
684
692
  createCustomer(overrides?: Partial<Customer>, salutationKey?: string, salesChannel?: SalesChannel): Promise<Customer>;
693
+ /**
694
+ * Creates a new user for the admin with full admin permissions.
695
+ *
696
+ * @param overrides - Specific data overrides that will be applied to the customer data struct.
697
+ * @param salesChannel - The sales channel for which the customer should be registered.
698
+ */
699
+ createUser(overrides?: Partial<User>, salesChannel?: SalesChannel): Promise<User>;
700
+ /**
701
+ * Creates a new AclRole for the administration with basic shop configuration privileges.
702
+ *
703
+ * @param overrides - Specific data overrides that will be applied to the aclRole data struct.
704
+ */
705
+ createAclRole(overrides?: Partial<AclRole>): Promise<AclRole>;
685
706
  /**
686
707
  * Creates a new order. This order is created on pure data and prices are not guaranteed to be calculated correctly.
687
708
  *
@@ -899,6 +920,14 @@ declare class TestDataService {
899
920
  * @param mediaId - The uuid of the media resource.
900
921
  */
901
922
  assignShippingMethodMedia(shippingMethodId: string, mediaId: string): Promise<any>;
923
+ /**
924
+ * Assigns an ACL Role to a user (user in administration).
925
+ *
926
+ * @param aclRoleId - The uuid of the ACL role.
927
+ * @param adminUserId - The uuid of the admin user.
928
+
929
+ */
930
+ assignAclRoleUser(aclRoleId: string, adminUserId: string): Promise<any>;
902
931
  /**
903
932
  * Retrieves a language based on its code.
904
933
  * @param languageCode
@@ -998,6 +1027,18 @@ declare class TestDataService {
998
1027
  * @param languageId - The id of the property group.
999
1028
  */
1000
1029
  getLanguageById(languageId: string): Promise<Language$2>;
1030
+ /**
1031
+ * Retrieves a user by its id.
1032
+ *
1033
+ * @param userId - The id of the user.
1034
+ */
1035
+ getUserById(userId: string | undefined): Promise<User>;
1036
+ /**
1037
+ * Retrieves a AclRole by its id.
1038
+ *
1039
+ * @param aclRoleId - The id of the ACL role.
1040
+ */
1041
+ getAclRoleById(aclRoleId: string | undefined): Promise<AclRole>;
1001
1042
  /**
1002
1043
  * Adds an entity reference to the registry of created records.
1003
1044
  * All entities added to the registry will be deleted by the cleanup call.
@@ -1075,6 +1116,8 @@ declare class TestDataService {
1075
1116
  active: boolean;
1076
1117
  } & Partial<Category$1>;
1077
1118
  getBasicCustomerStruct(salesChannelId: string, customerGroupId: string, languageId: string, countryId: string, defaultPaymentMethodId: string, salutationId: string, overrides?: Partial<Customer>): Partial<Customer>;
1119
+ getBasicUserStruct(localId: string, overrides?: Partial<User>): Partial<User>;
1120
+ getBasicAclRoleStruct(overrides?: Partial<AclRole>): Partial<AclRole>;
1078
1121
  getBasicOrderDeliveryStruct(deliveryState: StateMachineState, shippingMethod: ShippingMethod$1, customerAddress: CustomerAddress): Partial<OrderDelivery>;
1079
1122
  getBasicShippingMethodStruct(deliveryTimeId: string, overrides?: Partial<ShippingMethod$1>): {
1080
1123
  id: string;
@@ -1903,14 +1946,25 @@ declare class ProductDetail implements PageObject {
1903
1946
  /**
1904
1947
  * Property Selection
1905
1948
  */
1949
+ readonly propertyName: (propertyName: string) => Locator;
1950
+ readonly propertyValueCheckbox: (propertyValueName: string) => Locator;
1951
+ /** @deprecated - Use 'propertyName' instead. */
1906
1952
  readonly propertyGroupColor: Locator;
1953
+ /** @deprecated - Use 'propertyName' instead. */
1907
1954
  readonly propertyGroupSize: Locator;
1955
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1908
1956
  readonly propertyOptionGrid: Locator;
1957
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1909
1958
  readonly propertyOptionColorBlue: Locator;
1959
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1910
1960
  readonly propertyOptionColorRed: Locator;
1961
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1911
1962
  readonly propertyOptionColorGreen: Locator;
1963
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1912
1964
  readonly propertyOptionSizeSmall: Locator;
1965
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1913
1966
  readonly propertyOptionSizeMedium: Locator;
1967
+ /** @deprecated - Use 'propertyValueCheckbox' instead. */
1914
1968
  readonly propertyOptionSizeLarge: Locator;
1915
1969
  /**
1916
1970
  * Cards
@@ -2231,6 +2285,11 @@ declare class Dashboard implements PageObject {
2231
2285
  readonly statisticsDateRange: Locator;
2232
2286
  readonly statisticsChart: Locator;
2233
2287
  readonly page: Page;
2288
+ readonly shopwareServicesAdvertisementBanner: Locator;
2289
+ readonly shopwareServicesAdvertisementBannerCloseButton: Locator;
2290
+ readonly shopwareServicesExploreNowButton: Locator;
2291
+ readonly adminMenuUserActions: Locator;
2292
+ readonly adminMenuLogoutButton: Locator;
2234
2293
  constructor(page: Page);
2235
2294
  url(): string;
2236
2295
  }
@@ -2456,6 +2515,7 @@ declare class CategoryDetail implements PageObject {
2456
2515
  }
2457
2516
 
2458
2517
  declare class RuleCreate implements PageObject {
2518
+ readonly header: Locator;
2459
2519
  readonly nameInput: Locator;
2460
2520
  readonly priorityInput: Locator;
2461
2521
  readonly conditionTypeSelectionInput: Locator;
@@ -2472,6 +2532,7 @@ declare class RuleCreate implements PageObject {
2472
2532
  }
2473
2533
 
2474
2534
  declare class RuleDetail extends RuleCreate implements PageObject {
2535
+ readonly contentView: Locator;
2475
2536
  readonly shippingMethodAvailabilityRulesCard: Locator;
2476
2537
  readonly shippingMethodAvailabilityRulesCardLink: Locator;
2477
2538
  readonly shippingMethodAvailabilityRulesCardTable: Locator;
@@ -2488,8 +2549,10 @@ declare class RuleDetail extends RuleCreate implements PageObject {
2488
2549
  readonly promotionCustomerRulesCardEmptyState: Locator;
2489
2550
  readonly promotionCartRulesCard: Locator;
2490
2551
  readonly promotionCartRulesCardEmptyState: Locator;
2552
+ readonly assignmentModal: Locator;
2491
2553
  readonly assignmentModalAddButton: Locator;
2492
2554
  readonly assignmentModalSearchField: Locator;
2555
+ readonly conditionORContainer: Locator;
2493
2556
  constructor(page: Page, instanceMeta: HelperFixtureTypes['InstanceMeta']);
2494
2557
  getEntityCard(cardLocator: Locator): Promise<Record<string, Locator>>;
2495
2558
  url(ruleId?: string, tabName?: string): string;
@@ -2497,6 +2560,8 @@ declare class RuleDetail extends RuleCreate implements PageObject {
2497
2560
 
2498
2561
  declare class RuleListing implements PageObject {
2499
2562
  readonly createRuleButton: Locator;
2563
+ readonly header: Locator;
2564
+ readonly grid: Locator;
2500
2565
  readonly page: Page;
2501
2566
  constructor(page: Page);
2502
2567
  url(): string;
@@ -2647,6 +2712,7 @@ declare class CustomerBulkEdit implements PageObject {
2647
2712
  declare class SettingsListing implements PageObject {
2648
2713
  readonly contentView: Locator;
2649
2714
  readonly header: Locator;
2715
+ readonly shopwareServicesLink: Locator;
2650
2716
  readonly page: Page;
2651
2717
  constructor(page: Page);
2652
2718
  url(): string;
@@ -2669,6 +2735,21 @@ declare class DocumentDetail implements PageObject {
2669
2735
  url(documentId: string): string;
2670
2736
  }
2671
2737
 
2738
+ declare class ShopwareServices implements PageObject {
2739
+ readonly header: Locator;
2740
+ readonly deactivatedBanner: Locator;
2741
+ readonly activateServicesButton: Locator;
2742
+ readonly permissionBanner: Locator;
2743
+ readonly permissionGrantButton: Locator;
2744
+ readonly serviceCards: Locator;
2745
+ readonly deactivateServicesConfirmButton: Locator;
2746
+ readonly deactivateServicesButton: Locator;
2747
+ readonly deactivateServicesModal: Locator;
2748
+ readonly page: Page;
2749
+ constructor(page: Page);
2750
+ url(): string;
2751
+ }
2752
+
2672
2753
  declare class PromotionsListing implements PageObject {
2673
2754
  private readonly instanceMeta;
2674
2755
  readonly page: Page;
@@ -2775,6 +2856,7 @@ interface AdministrationPageTypes {
2775
2856
  AdminPromotionsListing: PromotionsListing;
2776
2857
  AdminPromotionCreate: PromotionCreate;
2777
2858
  AdminPromotionDetail: PromotionDetail;
2859
+ AdminShopwareServices: ShopwareServices;
2778
2860
  }
2779
2861
  declare const AdminPageObjects: {
2780
2862
  ProductDetail: typeof ProductDetail;
@@ -2813,6 +2895,7 @@ declare const AdminPageObjects: {
2813
2895
  SettingsListing: typeof SettingsListing;
2814
2896
  DocumentListing: typeof DocumentListing;
2815
2897
  DocumentDetail: typeof DocumentDetail;
2898
+ ShopwareServices: typeof ShopwareServices;
2816
2899
  PromotionsListing: typeof PromotionsListing;
2817
2900
  PromotionCreate: typeof PromotionCreate;
2818
2901
  PromotionDetail: typeof PromotionDetail;
@@ -2900,6 +2983,7 @@ declare const setOrderStatus: (orderId: string, orderStatus: OrderStatus, adminA
2900
2983
  * Return a single promotion entity with a fetched single discount entity
2901
2984
  */
2902
2985
  declare const getPromotionWithDiscount: (promotionId: string, adminApiContext: AdminApiContext) => Promise<Promotion>;
2986
+ declare const updateAdminUser: (adminUserId: string, adminApiContext: AdminApiContext, data: Record<string, string | boolean>) => Promise<void>;
2903
2987
 
2904
2988
  declare const isSaaSInstance: (adminApiContext: AdminApiContext) => Promise<boolean>;
2905
2989
  declare const isThemeCompiled: (context: AdminApiContext, storefrontUrl: string) => Promise<boolean>;
@@ -2961,6 +3045,14 @@ interface Options {
2961
3045
  headerElement?: string;
2962
3046
  }
2963
3047
  declare function setViewport(page: Page, options?: Options): Promise<void>;
3048
+ /**
3049
+ * Takes a screenshot of the desktop content of the page or the provided locator and compares it to existing ones.
3050
+ *
3051
+ * @param page - Playwright page object
3052
+ * @param filename - Filename of the screenshot
3053
+ * @param locator - Optional Playwright locator to take a screenshot of instead of the desktop content
3054
+ */
3055
+ declare function assertScreenshot(page: Page, filename: string, locator?: Locator): Promise<void>;
2964
3056
 
2965
3057
  declare const test: _playwright_test.TestType<_playwright_test.PlaywrightTestArgs & _playwright_test.PlaywrightTestOptions & FixtureTypes & {
2966
3058
  SaveProduct: Task;
@@ -2978,6 +3070,12 @@ declare const test: _playwright_test.TestType<_playwright_test.PlaywrightTestArg
2978
3070
  CreateFlow: Task;
2979
3071
  } & {
2980
3072
  LoginViaReviewsTab: Task;
3073
+ } & {
3074
+ CheckAccessToShopwareServices: Task;
3075
+ } & {
3076
+ CheckVisibilityOfServicesBanner: Task;
3077
+ } & {
3078
+ DeactivateShopwareServices: Task;
2981
3079
  } & {
2982
3080
  Login: Task;
2983
3081
  } & {
@@ -3030,4 +3128,4 @@ declare const test: _playwright_test.TestType<_playwright_test.PlaywrightTestArg
3030
3128
  SelectProductFilterOption: Task;
3031
3129
  }, _playwright_test.PlaywrightWorkerArgs & _playwright_test.PlaywrightWorkerOptions & FixtureTypes>;
3032
3130
 
3033
- export { type AccountData, type Address, AdminPageObjects, type CalculatedTaxes, type Category$1 as Category, type CategoryCustomizableLinkData, type CategoryData, type CmsPage, type Country$1 as Country, type CreatedRecord, type Currency$2 as Currency, type CustomField, type CustomFieldData, type CustomFieldSet, type Customer, type CustomerAddress, type CustomerGroup, type DataServiceOptions, type DeliveryTime, type FixtureTypes, type Flow, type FlowConfig, type FlowTemplate, type Language$2 as Language, type Manufacturer, type Media, type Options, type Order, type OrderDelivery, type OrderLineItem, type OrderStatus, type PageObject, type PaymentMethod$1 as PaymentMethod, type Price, type Product, type ProductCrossSelling, type ProductPrice, type ProductReview, type Promotion, type PromotionDiscount, type PropertyGroup, type PropertyGroupOption, type RegistrationData, type Rule, type RuleAssignmentEntity, RuleType, type SalesChannel, type SalesChannelAnalytics, type SalesChannelDomain, type SalesChannelRecord, type Salutation, type ShippingMethod$1 as ShippingMethod, type SimpleLineItem, type StateMachine, type StateMachineState, StorefrontPageObjects, type SyncApiOperation, type SystemConfig, type Tag, type TagData, type Task, type Tax$1 as Tax, type TaxRules, TestDataService, type VariantListingConfig, compareFlowTemplateWithFlow, createRandomImage, extractIdFromUrl, getCountryId, getCurrency, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageData, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, hideElements, isSaaSInstance, isThemeCompiled, replaceElements, setOrderStatus, setViewport, test };
3131
+ export { type AccountData, type AclRole, type Address, AdminPageObjects, type CalculatedTaxes, type Category$1 as Category, type CategoryCustomizableLinkData, type CategoryData, type CmsPage, type Country$1 as Country, type CreatedRecord, type Currency$2 as Currency, type CustomField, type CustomFieldData, type CustomFieldSet, type Customer, type CustomerAddress, type CustomerGroup, type DataServiceOptions, type DeliveryTime, type FixtureTypes, type Flow, type FlowConfig, type FlowTemplate, type Language$2 as Language, type Manufacturer, type Media, type Options, type Order, type OrderDelivery, type OrderLineItem, type OrderStatus, type PageObject, type PaymentMethod$1 as PaymentMethod, type Price, type Product, type ProductCrossSelling, type ProductPrice, type ProductReview, type Promotion, type PromotionDiscount, type PropertyGroup, type PropertyGroupOption, type RegistrationData, type Rule, type RuleAssignmentEntity, RuleType, type SalesChannel, type SalesChannelAnalytics, type SalesChannelDomain, type SalesChannelRecord, type Salutation, type ShippingMethod$1 as ShippingMethod, type SimpleLineItem, type StateMachine, type StateMachineState, StorefrontPageObjects, type SyncApiOperation, type SystemConfig, type Tag, type TagData, type Task, type Tax$1 as Tax, type TaxRules, TestDataService, type User, type VariantListingConfig, assertScreenshot, compareFlowTemplateWithFlow, createRandomImage, extractIdFromUrl, getCountryId, getCurrency, getDefaultShippingMethodId, getFlow, getFlowId, getFlowTemplate, getLanguageData, getMediaId, getOrderTransactionId, getPaymentMethodId, getPromotionWithDiscount, getSalutationId, getShippingMethodId, getSnippetSetId, getStateMachineId, getStateMachineStateId, getTaxId, getThemeId, hideElements, isSaaSInstance, isThemeCompiled, replaceElements, setOrderStatus, setViewport, test, updateAdminUser };