@labdigital/commercetools-mock 1.5.0 → 1.6.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.
Files changed (129) hide show
  1. package/README.md +5 -4
  2. package/dist/index.cjs +105 -17
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +29 -7
  5. package/dist/index.d.ts +29 -7
  6. package/dist/index.js +105 -17
  7. package/dist/index.js.map +1 -1
  8. package/package.json +4 -3
  9. package/src/constants.ts +2 -2
  10. package/src/ctMock.ts +176 -176
  11. package/src/exceptions.ts +10 -10
  12. package/src/helpers.ts +26 -26
  13. package/src/index.test.ts +173 -173
  14. package/src/index.ts +3 -3
  15. package/src/lib/expandParser.ts +19 -19
  16. package/src/lib/haversine.test.ts +13 -13
  17. package/src/lib/haversine.ts +14 -14
  18. package/src/lib/masking.ts +15 -15
  19. package/src/lib/parser.ts +2 -2
  20. package/src/lib/predicateParser.test.ts +204 -204
  21. package/src/lib/predicateParser.ts +398 -398
  22. package/src/lib/projectionSearchFilter.test.ts +168 -168
  23. package/src/lib/projectionSearchFilter.ts +272 -269
  24. package/src/lib/proxy.ts +8 -8
  25. package/src/oauth/errors.ts +4 -4
  26. package/src/oauth/helpers.ts +6 -6
  27. package/src/oauth/server.ts +103 -101
  28. package/src/oauth/store.ts +27 -27
  29. package/src/priceSelector.test.ts +68 -68
  30. package/src/priceSelector.ts +70 -70
  31. package/src/product-projection-search.ts +296 -296
  32. package/src/projectAPI.test.ts +3 -3
  33. package/src/projectAPI.ts +46 -46
  34. package/src/repositories/abstract.ts +190 -190
  35. package/src/repositories/associate-role.ts +10 -7
  36. package/src/repositories/attribute-group.ts +63 -8
  37. package/src/repositories/business-unit.ts +10 -7
  38. package/src/repositories/cart-discount.ts +134 -134
  39. package/src/repositories/cart.ts +517 -514
  40. package/src/repositories/category.ts +170 -167
  41. package/src/repositories/channel.ts +114 -111
  42. package/src/repositories/custom-object.ts +66 -63
  43. package/src/repositories/customer-group.ts +72 -69
  44. package/src/repositories/customer.ts +90 -90
  45. package/src/repositories/discount-code.ts +171 -168
  46. package/src/repositories/errors.ts +15 -15
  47. package/src/repositories/extension.ts +79 -76
  48. package/src/repositories/helpers.ts +180 -180
  49. package/src/repositories/index.ts +39 -39
  50. package/src/repositories/inventory-entry.ts +98 -95
  51. package/src/repositories/my-order.ts +11 -11
  52. package/src/repositories/order-edit.ts +29 -29
  53. package/src/repositories/order.test.ts +191 -191
  54. package/src/repositories/order.ts +393 -393
  55. package/src/repositories/payment.ts +155 -155
  56. package/src/repositories/product-discount.ts +149 -149
  57. package/src/repositories/product-projection.ts +116 -52
  58. package/src/repositories/product-selection.ts +31 -31
  59. package/src/repositories/product-type.ts +156 -156
  60. package/src/repositories/product.ts +600 -597
  61. package/src/repositories/project.ts +136 -135
  62. package/src/repositories/quote-request.ts +19 -19
  63. package/src/repositories/quote.ts +19 -19
  64. package/src/repositories/review.ts +24 -24
  65. package/src/repositories/shipping-method.ts +217 -217
  66. package/src/repositories/shopping-list.ts +49 -49
  67. package/src/repositories/staged-quote.ts +20 -20
  68. package/src/repositories/standalone-price.ts +72 -61
  69. package/src/repositories/state.ts +84 -84
  70. package/src/repositories/store.ts +114 -114
  71. package/src/repositories/subscription.ts +40 -40
  72. package/src/repositories/tax-category.ts +98 -98
  73. package/src/repositories/type.ts +157 -157
  74. package/src/repositories/zone.ts +71 -71
  75. package/src/server.ts +2 -2
  76. package/src/services/abstract.ts +173 -173
  77. package/src/services/attribute-group.ts +16 -0
  78. package/src/services/cart-discount.ts +8 -8
  79. package/src/services/cart.test.ts +409 -409
  80. package/src/services/cart.ts +50 -50
  81. package/src/services/category.test.ts +25 -25
  82. package/src/services/category.ts +8 -8
  83. package/src/services/channel.ts +8 -8
  84. package/src/services/custom-object.test.ts +184 -184
  85. package/src/services/custom-object.ts +48 -48
  86. package/src/services/customer-group.ts +8 -8
  87. package/src/services/customer.test.ts +151 -151
  88. package/src/services/customer.ts +27 -27
  89. package/src/services/discount-code.ts +8 -8
  90. package/src/services/extension.ts +8 -8
  91. package/src/services/index.ts +52 -44
  92. package/src/services/inventory-entry.test.ts +162 -162
  93. package/src/services/inventory-entry.ts +8 -8
  94. package/src/services/my-cart.test.ts +78 -78
  95. package/src/services/my-cart.ts +28 -28
  96. package/src/services/my-customer.test.ts +44 -44
  97. package/src/services/my-customer.ts +53 -53
  98. package/src/services/my-order.ts +20 -20
  99. package/src/services/my-payment.test.ts +65 -65
  100. package/src/services/my-payment.ts +8 -8
  101. package/src/services/order.test.ts +527 -527
  102. package/src/services/order.ts +31 -31
  103. package/src/services/payment.test.ts +65 -65
  104. package/src/services/payment.ts +8 -8
  105. package/src/services/product-discount.ts +8 -8
  106. package/src/services/product-projection.test.ts +492 -428
  107. package/src/services/product-projection.ts +32 -18
  108. package/src/services/product-type.test.ts +56 -56
  109. package/src/services/product-type.ts +8 -8
  110. package/src/services/product.test.ts +510 -510
  111. package/src/services/product.ts +8 -8
  112. package/src/services/project.ts +34 -34
  113. package/src/services/shipping-method.test.ts +81 -81
  114. package/src/services/shipping-method.ts +12 -12
  115. package/src/services/shopping-list.ts +8 -8
  116. package/src/services/standalone-price.test.ts +256 -256
  117. package/src/services/standalone-price.ts +8 -8
  118. package/src/services/state.test.ts +42 -42
  119. package/src/services/state.ts +8 -8
  120. package/src/services/store.test.ts +57 -57
  121. package/src/services/store.ts +8 -8
  122. package/src/services/subscription.ts +8 -8
  123. package/src/services/tax-category.test.ts +61 -61
  124. package/src/services/tax-category.ts +8 -8
  125. package/src/services/type.ts +8 -8
  126. package/src/services/zone.ts +8 -8
  127. package/src/storage/abstract.ts +58 -58
  128. package/src/storage/in-memory.ts +419 -419
  129. package/src/types.ts +82 -82
package/src/types.ts CHANGED
@@ -6,96 +6,96 @@ export type Writable<T> = { -readonly [P in keyof T]: Writable<T[P]> }
6
6
  export type ShallowWritable<T> = { -readonly [P in keyof T]: T[P] }
7
7
 
8
8
  export type ServiceTypes =
9
- | ctp.ReferenceTypeId
10
- | 'product-projection'
11
- | 'my-cart'
12
- | 'my-order'
13
- | 'my-payment'
14
- | 'my-customer'
15
- | 'product-projection'
9
+ | ctp.ReferenceTypeId
10
+ | 'product-projection'
11
+ | 'my-cart'
12
+ | 'my-order'
13
+ | 'my-payment'
14
+ | 'my-customer'
15
+ | 'product-projection'
16
16
 
17
17
  export type Services = Partial<{
18
- [index in ServiceTypes]: AbstractService
18
+ [index in ServiceTypes]: AbstractService
19
19
  }>
20
20
 
21
21
  export type ResourceType = keyof ResourceMap & keyof RepositoryMap
22
22
 
23
23
  export type ResourceMap = {
24
- 'attribute-group': ctp.AttributeGroup
25
- 'associate-role': ctp.AssociateRole
26
- 'business-unit': ctp.BusinessUnit
27
- 'cart-discount': ctp.CartDiscount
28
- cart: ctp.Cart
29
- category: ctp.Category
30
- channel: ctp.Channel
31
- 'customer-email-token': never
32
- 'customer-group': ctp.CustomerGroup
33
- 'customer-password-token': never
34
- customer: ctp.Customer
35
- 'discount-code': ctp.DiscountCode
36
- extension: ctp.Extension
37
- 'inventory-entry': ctp.InventoryEntry
38
- 'key-value-document': ctp.CustomObject
39
- 'order-edit': ctp.OrderEdit
40
- order: ctp.Order
41
- payment: ctp.Payment
42
- 'product-discount': ctp.ProductDiscount
43
- 'product-price': ctp.StandalonePrice
44
- 'product-projection': ctp.ProductProjection
45
- 'product-selection': ctp.ProductSelection
46
- 'product-type': ctp.ProductType
47
- product: ctp.Product
48
- 'quote-request': ctp.QuoteRequest
49
- quote: ctp.Quote
50
- review: ctp.Review
51
- 'shipping-method': ctp.ShippingMethod
52
- 'shopping-list': ctp.ShoppingList
53
- 'staged-quote': ctp.StagedQuote
54
- 'standalone-price': ctp.StandalonePrice
55
- state: ctp.State
56
- store: ctp.Store
57
- subscription: ctp.Subscription
58
- 'tax-category': ctp.TaxCategory
59
- type: ctp.Type
60
- zone: ctp.Zone
24
+ 'attribute-group': ctp.AttributeGroup
25
+ 'associate-role': ctp.AssociateRole
26
+ 'business-unit': ctp.BusinessUnit
27
+ 'cart-discount': ctp.CartDiscount
28
+ cart: ctp.Cart
29
+ category: ctp.Category
30
+ channel: ctp.Channel
31
+ 'customer-email-token': never
32
+ 'customer-group': ctp.CustomerGroup
33
+ 'customer-password-token': never
34
+ customer: ctp.Customer
35
+ 'discount-code': ctp.DiscountCode
36
+ extension: ctp.Extension
37
+ 'inventory-entry': ctp.InventoryEntry
38
+ 'key-value-document': ctp.CustomObject
39
+ 'order-edit': ctp.OrderEdit
40
+ order: ctp.Order
41
+ payment: ctp.Payment
42
+ 'product-discount': ctp.ProductDiscount
43
+ 'product-price': ctp.StandalonePrice
44
+ 'product-projection': ctp.ProductProjection
45
+ 'product-selection': ctp.ProductSelection
46
+ 'product-type': ctp.ProductType
47
+ product: ctp.Product
48
+ 'quote-request': ctp.QuoteRequest
49
+ quote: ctp.Quote
50
+ review: ctp.Review
51
+ 'shipping-method': ctp.ShippingMethod
52
+ 'shopping-list': ctp.ShoppingList
53
+ 'staged-quote': ctp.StagedQuote
54
+ 'standalone-price': ctp.StandalonePrice
55
+ state: ctp.State
56
+ store: ctp.Store
57
+ subscription: ctp.Subscription
58
+ 'tax-category': ctp.TaxCategory
59
+ type: ctp.Type
60
+ zone: ctp.Zone
61
61
  }
62
62
 
63
63
  export type PagedQueryResponseMap = {
64
- 'attribute-group': ctp.AttributeGroupPagedQueryResponse
65
- 'associate-role': ctp.AssociateRolePagedQueryResponse
66
- 'business-unit': ctp.BusinessUnitPagedQueryResponse
67
- 'cart-discount': ctp.CartDiscountPagedQueryResponse
68
- cart: ctp.CartPagedQueryResponse
69
- category: ctp.CategoryPagedQueryResponse
70
- channel: ctp.ChannelPagedQueryResponse
71
- 'customer-email-token': never
72
- 'customer-group': ctp.CustomerGroupPagedQueryResponse
73
- 'customer-password-token': never
74
- customer: ctp.CustomerPagedQueryResponse
75
- 'discount-code': ctp.DiscountCodePagedQueryResponse
76
- extension: ctp.ExtensionPagedQueryResponse
77
- 'inventory-entry': ctp.InventoryPagedQueryResponse
78
- 'key-value-document': ctp.CustomObjectPagedQueryResponse
79
- 'order-edit': ctp.OrderEditPagedQueryResponse
80
- order: ctp.OrderPagedQueryResponse
81
- payment: ctp.PaymentPagedQueryResponse
82
- 'product-discount': ctp.ProductDiscountPagedQueryResponse
83
- 'product-price': ctp.StandalonePricePagedQueryResponse
84
- 'product-projection': ctp.ProductProjectionPagedQueryResponse
85
- 'product-selection': ctp.ProductSelectionPagedQueryResponse
86
- 'product-type': ctp.ProductTypePagedQueryResponse
87
- product: ctp.ProductPagedQueryResponse
88
- 'quote-request': ctp.QuoteRequestPagedQueryResponse
89
- quote: ctp.QuotePagedQueryResponse
90
- review: ctp.ReviewPagedQueryResponse
91
- 'shipping-method': ctp.ShippingMethodPagedQueryResponse
92
- 'shopping-list': ctp.ShoppingListPagedQueryResponse
93
- 'staged-quote': ctp.StagedQuotePagedQueryResponse
94
- 'standalone-price': ctp.StandalonePricePagedQueryResponse
95
- state: ctp.StatePagedQueryResponse
96
- store: ctp.StorePagedQueryResponse
97
- subscription: ctp.SubscriptionPagedQueryResponse
98
- 'tax-category': ctp.TaxCategoryPagedQueryResponse
99
- type: ctp.TypePagedQueryResponse
100
- zone: ctp.ZonePagedQueryResponse
64
+ 'attribute-group': ctp.AttributeGroupPagedQueryResponse
65
+ 'associate-role': ctp.AssociateRolePagedQueryResponse
66
+ 'business-unit': ctp.BusinessUnitPagedQueryResponse
67
+ 'cart-discount': ctp.CartDiscountPagedQueryResponse
68
+ cart: ctp.CartPagedQueryResponse
69
+ category: ctp.CategoryPagedQueryResponse
70
+ channel: ctp.ChannelPagedQueryResponse
71
+ 'customer-email-token': never
72
+ 'customer-group': ctp.CustomerGroupPagedQueryResponse
73
+ 'customer-password-token': never
74
+ customer: ctp.CustomerPagedQueryResponse
75
+ 'discount-code': ctp.DiscountCodePagedQueryResponse
76
+ extension: ctp.ExtensionPagedQueryResponse
77
+ 'inventory-entry': ctp.InventoryPagedQueryResponse
78
+ 'key-value-document': ctp.CustomObjectPagedQueryResponse
79
+ 'order-edit': ctp.OrderEditPagedQueryResponse
80
+ order: ctp.OrderPagedQueryResponse
81
+ payment: ctp.PaymentPagedQueryResponse
82
+ 'product-discount': ctp.ProductDiscountPagedQueryResponse
83
+ 'product-price': ctp.StandalonePricePagedQueryResponse
84
+ 'product-projection': ctp.ProductProjectionPagedQueryResponse
85
+ 'product-selection': ctp.ProductSelectionPagedQueryResponse
86
+ 'product-type': ctp.ProductTypePagedQueryResponse
87
+ product: ctp.ProductPagedQueryResponse
88
+ 'quote-request': ctp.QuoteRequestPagedQueryResponse
89
+ quote: ctp.QuotePagedQueryResponse
90
+ review: ctp.ReviewPagedQueryResponse
91
+ 'shipping-method': ctp.ShippingMethodPagedQueryResponse
92
+ 'shopping-list': ctp.ShoppingListPagedQueryResponse
93
+ 'staged-quote': ctp.StagedQuotePagedQueryResponse
94
+ 'standalone-price': ctp.StandalonePricePagedQueryResponse
95
+ state: ctp.StatePagedQueryResponse
96
+ store: ctp.StorePagedQueryResponse
97
+ subscription: ctp.SubscriptionPagedQueryResponse
98
+ 'tax-category': ctp.TaxCategoryPagedQueryResponse
99
+ type: ctp.TypePagedQueryResponse
100
+ zone: ctp.ZonePagedQueryResponse
101
101
  }