@labdigital/commercetools-mock 2.66.0 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/README.md +31 -8
  2. package/dist/abstract-BKFcva6S.mjs +1044 -0
  3. package/dist/abstract-BKFcva6S.mjs.map +1 -0
  4. package/dist/config-BcNSzPZz.d.mts +1718 -0
  5. package/dist/index.d.mts +50 -1633
  6. package/dist/index.mjs +3769 -2653
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/storage/sqlite.d.mts +59 -0
  9. package/dist/storage/sqlite.mjs +234 -0
  10. package/dist/storage/sqlite.mjs.map +1 -0
  11. package/package.json +26 -29
  12. package/src/ctMock.ts +125 -136
  13. package/src/helpers.ts +14 -6
  14. package/src/index.ts +5 -0
  15. package/src/lib/masking.ts +4 -5
  16. package/src/lib/product-review-statistics.test.ts +257 -294
  17. package/src/lib/review-statistics.ts +17 -4
  18. package/src/oauth/helpers.ts +7 -4
  19. package/src/oauth/server.test.ts +102 -62
  20. package/src/oauth/server.ts +215 -213
  21. package/src/oauth/store.ts +20 -6
  22. package/src/orderSearch.ts +3 -3
  23. package/src/product-projection-search.ts +38 -20
  24. package/src/product-search-availability.test.ts +31 -52
  25. package/src/product-search.ts +19 -10
  26. package/src/projectAPI.ts +6 -22
  27. package/src/repositories/abstract.ts +182 -48
  28. package/src/repositories/as-associate.test.ts +19 -19
  29. package/src/repositories/associate-role.ts +12 -23
  30. package/src/repositories/attribute-group.test.ts +23 -23
  31. package/src/repositories/attribute-group.ts +6 -4
  32. package/src/repositories/business-unit.test.ts +63 -57
  33. package/src/repositories/business-unit.ts +107 -55
  34. package/src/repositories/cart/actions.ts +96 -65
  35. package/src/repositories/cart/helpers.ts +15 -11
  36. package/src/repositories/cart/index.test.ts +136 -30
  37. package/src/repositories/cart/index.ts +76 -59
  38. package/src/repositories/cart-discount/actions.ts +12 -44
  39. package/src/repositories/cart-discount/index.ts +20 -8
  40. package/src/repositories/category/actions.ts +27 -27
  41. package/src/repositories/category/index.test.ts +13 -9
  42. package/src/repositories/category/index.ts +40 -23
  43. package/src/repositories/channel.test.ts +53 -51
  44. package/src/repositories/channel.ts +12 -22
  45. package/src/repositories/custom-object.ts +34 -25
  46. package/src/repositories/customer/actions.ts +47 -25
  47. package/src/repositories/customer/index.test.ts +11 -11
  48. package/src/repositories/customer/index.ts +65 -35
  49. package/src/repositories/customer-group.test.ts +44 -42
  50. package/src/repositories/customer-group.ts +12 -22
  51. package/src/repositories/discount-code/actions.ts +3 -19
  52. package/src/repositories/discount-code/index.ts +9 -4
  53. package/src/repositories/discount-group/index.ts +8 -3
  54. package/src/repositories/extension.test.ts +27 -27
  55. package/src/repositories/extension.ts +10 -5
  56. package/src/repositories/helpers.ts +126 -47
  57. package/src/repositories/inventory-entry/actions.ts +3 -24
  58. package/src/repositories/inventory-entry/index.ts +19 -11
  59. package/src/repositories/my-customer.ts +13 -12
  60. package/src/repositories/my-order.ts +5 -2
  61. package/src/repositories/order/actions.ts +84 -56
  62. package/src/repositories/order/index.test.ts +36 -31
  63. package/src/repositories/order/index.ts +83 -49
  64. package/src/repositories/order-edit.ts +8 -3
  65. package/src/repositories/payment/actions.ts +64 -44
  66. package/src/repositories/payment/helpers.ts +3 -3
  67. package/src/repositories/payment/index.ts +28 -12
  68. package/src/repositories/product/actions.ts +133 -98
  69. package/src/repositories/product/helpers.ts +29 -16
  70. package/src/repositories/product/index.ts +42 -25
  71. package/src/repositories/product-discount.ts +6 -4
  72. package/src/repositories/product-projection.ts +41 -21
  73. package/src/repositories/product-selection.ts +8 -15
  74. package/src/repositories/product-tailoring.ts +22 -3
  75. package/src/repositories/product-type.ts +45 -4
  76. package/src/repositories/project.ts +57 -13
  77. package/src/repositories/quote/actions.ts +5 -28
  78. package/src/repositories/quote/index.ts +29 -6
  79. package/src/repositories/quote-request/actions.ts +5 -28
  80. package/src/repositories/quote-request/index.test.ts +3 -3
  81. package/src/repositories/quote-request/index.ts +31 -11
  82. package/src/repositories/quote-staged/actions.ts +5 -28
  83. package/src/repositories/quote-staged/index.ts +22 -8
  84. package/src/repositories/recurrence-policy/index.ts +6 -4
  85. package/src/repositories/recurring-order/actions.ts +7 -32
  86. package/src/repositories/recurring-order/index.ts +8 -6
  87. package/src/repositories/review.test.ts +147 -142
  88. package/src/repositories/review.ts +31 -37
  89. package/src/repositories/shipping-method/actions.ts +11 -28
  90. package/src/repositories/shipping-method/index.ts +26 -15
  91. package/src/repositories/shopping-list/actions.ts +21 -31
  92. package/src/repositories/shopping-list/index.ts +44 -22
  93. package/src/repositories/standalone-price.ts +6 -4
  94. package/src/repositories/state.ts +15 -9
  95. package/src/repositories/store.ts +21 -32
  96. package/src/repositories/subscription.test.ts +22 -22
  97. package/src/repositories/subscription.ts +8 -3
  98. package/src/repositories/tax-category/index.ts +8 -3
  99. package/src/repositories/type/actions.ts +21 -3
  100. package/src/repositories/type/index.ts +5 -3
  101. package/src/repositories/zone.test.ts +112 -77
  102. package/src/repositories/zone.ts +5 -3
  103. package/src/schemas/generated/associate-role.ts +13 -0
  104. package/src/schemas/generated/attribute-group.ts +12 -0
  105. package/src/schemas/generated/business-unit.ts +38 -0
  106. package/src/schemas/generated/cart-discount.ts +33 -0
  107. package/src/schemas/generated/cart.ts +61 -0
  108. package/src/schemas/generated/category.ts +25 -0
  109. package/src/schemas/generated/channel.ts +21 -0
  110. package/src/schemas/generated/common.ts +1370 -0
  111. package/src/schemas/generated/custom-object.ts +11 -0
  112. package/src/schemas/generated/customer-group.ts +11 -0
  113. package/src/schemas/generated/customer.ts +47 -0
  114. package/src/schemas/generated/discount-code.ts +25 -0
  115. package/src/schemas/generated/discount-group.ts +13 -0
  116. package/src/schemas/generated/extension.ts +15 -0
  117. package/src/schemas/generated/index.ts +42 -0
  118. package/src/schemas/generated/inventory-entry.ts +20 -0
  119. package/src/schemas/generated/my-quote-request.ts +10 -0
  120. package/src/schemas/generated/order-edit.ts +18 -0
  121. package/src/schemas/generated/order-from-cart.ts +25 -0
  122. package/src/schemas/generated/payment.ts +30 -0
  123. package/src/schemas/generated/product-discount.ts +20 -0
  124. package/src/schemas/generated/product-selection.ts +18 -0
  125. package/src/schemas/generated/product-tailoring.ts +26 -0
  126. package/src/schemas/generated/product-type.ts +12 -0
  127. package/src/schemas/generated/product.ts +37 -0
  128. package/src/schemas/generated/quote-request.ts +19 -0
  129. package/src/schemas/generated/quote.ts +18 -0
  130. package/src/schemas/generated/recurrence-policy.ts +15 -0
  131. package/src/schemas/generated/recurring-order.ts +19 -0
  132. package/src/schemas/generated/review.ts +24 -0
  133. package/src/schemas/generated/shipping-method.ts +24 -0
  134. package/src/schemas/generated/shopping-list.ts +28 -0
  135. package/src/schemas/generated/staged-quote.ts +18 -0
  136. package/src/schemas/generated/standalone-price.ts +32 -0
  137. package/src/schemas/generated/state.ts +20 -0
  138. package/src/schemas/generated/store.ts +23 -0
  139. package/src/schemas/generated/subscription.ts +20 -0
  140. package/src/schemas/generated/tax-category.ts +12 -0
  141. package/src/schemas/generated/type.ts +17 -0
  142. package/src/schemas/generated/zone.ts +12 -0
  143. package/src/schemas/update-request.ts +3 -5
  144. package/src/server.ts +32 -4
  145. package/src/services/abstract.ts +207 -101
  146. package/src/services/as-associate-cart.test.ts +28 -36
  147. package/src/services/as-associate-cart.ts +15 -12
  148. package/src/services/as-associate-order.test.ts +33 -40
  149. package/src/services/as-associate-order.ts +15 -12
  150. package/src/services/as-associate-quote-request.ts +15 -12
  151. package/src/services/as-associate-shopping-list.test.ts +25 -35
  152. package/src/services/as-associate-shopping-list.ts +15 -12
  153. package/src/services/as-associate.test.ts +21 -15
  154. package/src/services/as-associate.ts +23 -22
  155. package/src/services/associate-roles.test.ts +16 -22
  156. package/src/services/associate-roles.ts +2 -2
  157. package/src/services/attribute-group.test.ts +40 -44
  158. package/src/services/attribute-group.ts +2 -2
  159. package/src/services/business-units.test.ts +227 -163
  160. package/src/services/business-units.ts +2 -2
  161. package/src/services/cart-discount.test.ts +253 -187
  162. package/src/services/cart-discount.ts +2 -2
  163. package/src/services/cart.test.ts +833 -832
  164. package/src/services/cart.ts +31 -12
  165. package/src/services/category.test.ts +208 -130
  166. package/src/services/category.ts +2 -2
  167. package/src/services/channel.test.ts +39 -44
  168. package/src/services/channel.ts +2 -2
  169. package/src/services/custom-object.test.ts +103 -79
  170. package/src/services/custom-object.ts +106 -38
  171. package/src/services/customer-group.test.ts +39 -44
  172. package/src/services/customer-group.ts +2 -2
  173. package/src/services/customer.test.ts +357 -292
  174. package/src/services/customer.ts +70 -23
  175. package/src/services/discount-code.test.ts +57 -68
  176. package/src/services/discount-code.ts +2 -2
  177. package/src/services/discount-group.test.ts +111 -134
  178. package/src/services/discount-group.ts +2 -2
  179. package/src/services/draft-validation.test.ts +255 -0
  180. package/src/services/extension.test.ts +39 -44
  181. package/src/services/extension.ts +2 -2
  182. package/src/services/inventory-entry.test.ts +106 -87
  183. package/src/services/inventory-entry.ts +2 -2
  184. package/src/services/my-business-unit.test.ts +82 -112
  185. package/src/services/my-business-unit.ts +25 -19
  186. package/src/services/my-cart.test.ts +46 -41
  187. package/src/services/my-cart.ts +32 -28
  188. package/src/services/my-customer.test.ts +153 -88
  189. package/src/services/my-customer.ts +130 -61
  190. package/src/services/my-order.ts +15 -12
  191. package/src/services/my-payment.test.ts +30 -24
  192. package/src/services/my-payment.ts +2 -2
  193. package/src/services/my-shopping-list.ts +2 -2
  194. package/src/services/order.test.ts +332 -276
  195. package/src/services/order.ts +45 -27
  196. package/src/services/payment.test.ts +31 -29
  197. package/src/services/payment.ts +2 -2
  198. package/src/services/product-discount.test.ts +39 -46
  199. package/src/services/product-discount.ts +2 -2
  200. package/src/services/product-projection.test.ts +176 -166
  201. package/src/services/product-projection.ts +31 -15
  202. package/src/services/product-selection.test.ts +17 -9
  203. package/src/services/product-selection.ts +2 -2
  204. package/src/services/product-type.test.ts +80 -21
  205. package/src/services/product-type.ts +2 -2
  206. package/src/services/product.test.ts +569 -534
  207. package/src/services/product.ts +14 -7
  208. package/src/services/project.test.ts +22 -12
  209. package/src/services/project.ts +28 -13
  210. package/src/services/quote-request.test.ts +36 -39
  211. package/src/services/quote-request.ts +2 -2
  212. package/src/services/quote-staged.ts +2 -2
  213. package/src/services/quote.ts +2 -2
  214. package/src/services/recurrence-policy.test.ts +114 -139
  215. package/src/services/recurrence-policy.ts +2 -2
  216. package/src/services/recurring-order.test.ts +149 -194
  217. package/src/services/recurring-order.ts +2 -2
  218. package/src/services/reviews.test.ts +127 -106
  219. package/src/services/reviews.ts +2 -2
  220. package/src/services/shipping-method.test.ts +96 -125
  221. package/src/services/shipping-method.ts +24 -12
  222. package/src/services/shopping-list.test.ts +183 -141
  223. package/src/services/shopping-list.ts +2 -2
  224. package/src/services/standalone-price.test.ts +60 -46
  225. package/src/services/standalone-price.ts +2 -2
  226. package/src/services/state.test.ts +20 -25
  227. package/src/services/state.ts +2 -2
  228. package/src/services/store.test.ts +26 -45
  229. package/src/services/store.ts +2 -2
  230. package/src/services/subscription.test.ts +39 -44
  231. package/src/services/subscription.ts +2 -2
  232. package/src/services/tax-category.test.ts +33 -36
  233. package/src/services/tax-category.ts +2 -2
  234. package/src/services/type.test.ts +45 -44
  235. package/src/services/type.ts +2 -2
  236. package/src/services/zone.test.ts +40 -44
  237. package/src/services/zone.ts +2 -2
  238. package/src/shipping.ts +41 -11
  239. package/src/storage/abstract.ts +248 -17
  240. package/src/storage/in-memory.ts +147 -290
  241. package/src/storage/sqlite.ts +429 -0
  242. package/src/storage/storage-map.ts +75 -0
  243. package/src/storage/storage.test-helpers.ts +97 -0
  244. package/src/storage/storage.test.ts +802 -0
  245. package/src/testing/associate-role.ts +28 -0
  246. package/src/testing/attribute-group.ts +27 -0
  247. package/src/testing/business-unit.ts +9 -8
  248. package/src/testing/cart-discount.ts +34 -0
  249. package/src/testing/cart.ts +20 -0
  250. package/src/testing/category.ts +25 -0
  251. package/src/testing/channel.ts +23 -0
  252. package/src/testing/custom-object.ts +27 -0
  253. package/src/testing/customer-group.ts +26 -0
  254. package/src/testing/customer.ts +36 -33
  255. package/src/testing/discount-code.ts +29 -0
  256. package/src/testing/discount-group.ts +27 -0
  257. package/src/testing/extension.ts +32 -0
  258. package/src/testing/index.ts +33 -0
  259. package/src/testing/inventory-entry.ts +26 -0
  260. package/src/testing/order.ts +27 -0
  261. package/src/testing/payment.ts +23 -0
  262. package/src/testing/product-discount.ts +33 -0
  263. package/src/testing/product-selection.ts +28 -0
  264. package/src/testing/product-type.ts +27 -0
  265. package/src/testing/product.ts +38 -0
  266. package/src/testing/quote-request.ts +29 -0
  267. package/src/testing/recurrence-policy.ts +33 -0
  268. package/src/testing/recurring-order.ts +32 -0
  269. package/src/testing/review.ts +24 -0
  270. package/src/testing/shipping-method.ts +31 -0
  271. package/src/testing/shopping-list.ts +25 -0
  272. package/src/testing/standalone-price.ts +31 -0
  273. package/src/testing/state.ts +21 -0
  274. package/src/testing/store.ts +26 -0
  275. package/src/testing/subscription.ts +38 -0
  276. package/src/testing/tax-category.ts +27 -0
  277. package/src/testing/type.ts +9 -6
  278. package/src/testing/zone.ts +22 -0
  279. package/src/validate.test.ts +122 -0
  280. package/src/validate.ts +78 -7
  281. package/src/.env +0 -0
@@ -5,88 +5,105 @@ import type {
5
5
  Payment,
6
6
  State,
7
7
  } from "@commercetools/platform-sdk";
8
- import supertest from "supertest";
9
- import { afterEach, beforeEach, describe, expect, it, test } from "vitest";
8
+ import {
9
+ afterEach,
10
+ beforeAll,
11
+ beforeEach,
12
+ describe,
13
+ expect,
14
+ it,
15
+ test,
16
+ } from "vitest";
10
17
  import { generateRandomString } from "#src/helpers.ts";
18
+ import {
19
+ cartDraftFactory,
20
+ channelDraftFactory,
21
+ orderDraftFactory,
22
+ typeDraftFactory,
23
+ } from "#src/testing/index.ts";
11
24
  import { CommercetoolsMock, getBaseResourceProperties } from "../index.ts";
12
25
 
13
26
  describe("Order Query", () => {
14
27
  const ctMock = new CommercetoolsMock();
28
+ const cartDraft = cartDraftFactory(ctMock);
29
+ const orderDraft = orderDraftFactory(ctMock);
15
30
  let order: Order | undefined;
16
31
 
17
32
  beforeEach(async () => {
18
- let response = await supertest(ctMock.app)
19
- .post("/dummy/carts")
20
- .send({
21
- currency: "EUR",
22
- custom: {
23
- type: {
24
- key: "my-cart",
25
- },
26
- fields: {
27
- description: "example description",
28
- },
33
+ const cart = await cartDraft.create({
34
+ currency: "EUR",
35
+ custom: {
36
+ type: {
37
+ key: "my-cart",
29
38
  },
30
- });
31
- expect(response.status).toBe(201);
32
- const cart = response.body;
33
-
34
- response = await supertest(ctMock.app)
35
- .post("/dummy/orders")
36
- .send({
37
- cart: {
38
- typeId: "cart",
39
- id: cart.id,
39
+ fields: {
40
+ description: "example description",
40
41
  },
41
- orderNumber: "foobar",
42
- });
43
- expect(response.status).toBe(201);
44
- order = response.body;
42
+ },
43
+ });
44
+
45
+ order = await orderDraft.create({
46
+ cart: {
47
+ typeId: "cart",
48
+ id: cart.id,
49
+ },
50
+ version: cart.version,
51
+ orderNumber: "foobar",
52
+ });
45
53
  });
46
54
 
47
- afterEach(() => {
48
- ctMock.clear();
55
+ afterEach(async () => {
56
+ await ctMock.clear();
49
57
  });
50
58
 
51
59
  test("no filter", async () => {
52
60
  assert(order, "order not created");
53
61
 
54
- const response = await supertest(ctMock.app).get("/dummy/orders");
55
- expect(response.status).toBe(200);
56
- expect(response.body.count).toBe(1);
57
- expect(response.body.total).toBe(1);
58
- expect(response.body.offset).toBe(0);
59
- expect(response.body.limit).toBe(20);
62
+ const response = await ctMock.app.inject({
63
+ method: "GET",
64
+ url: "/dummy/orders",
65
+ });
66
+ expect(response.statusCode).toBe(200);
67
+ expect(response.json().count).toBe(1);
68
+ expect(response.json().total).toBe(1);
69
+ expect(response.json().offset).toBe(0);
70
+ expect(response.json().limit).toBe(20);
60
71
  });
61
72
 
62
73
  test("filter orderNumber", async () => {
63
74
  assert(order, "order not created");
64
75
 
65
76
  {
66
- const response = await supertest(ctMock.app)
67
- .get("/dummy/orders")
68
- .query({ where: 'orderNumber="nomatch"' });
69
- expect(response.status).toBe(200);
70
- expect(response.body.count).toBe(0);
77
+ const response = await ctMock.app.inject({
78
+ method: "GET",
79
+ url: "/dummy/orders",
80
+ query: { where: 'orderNumber="nomatch"' },
81
+ });
82
+ expect(response.statusCode).toBe(200);
83
+ expect(response.json().count).toBe(0);
71
84
  }
72
85
  {
73
- const response = await supertest(ctMock.app)
74
- .get("/dummy/orders")
75
- .query({ where: 'orderNumber="foobar"' });
76
- expect(response.status).toBe(200);
77
- expect(response.body.count).toBe(1);
86
+ const response = await ctMock.app.inject({
87
+ method: "GET",
88
+ url: "/dummy/orders",
89
+ query: { where: 'orderNumber="foobar"' },
90
+ });
91
+ expect(response.statusCode).toBe(200);
92
+ expect(response.json().count).toBe(1);
78
93
  }
79
94
  });
80
95
 
81
96
  test("expand payment without payments", async () => {
82
97
  assert(order, "order not created");
83
98
 
84
- const response = await supertest(ctMock.app)
85
- .get(`/dummy/orders/${order.id}`)
86
- .query({ expand: "paymentInfo.payments[*].paymentStatus.state" });
99
+ const response = await ctMock.app.inject({
100
+ method: "GET",
101
+ url: `/dummy/orders/${order.id}`,
102
+ query: { expand: "paymentInfo.payments[*].paymentStatus.state" },
103
+ });
87
104
 
88
- expect(response.status).toBe(200);
89
- expect(response.body.id).toBe(order.id);
105
+ expect(response.statusCode).toBe(200);
106
+ expect(response.json().id).toBe(order.id);
90
107
  });
91
108
  });
92
109
 
@@ -95,8 +112,8 @@ describe("Order payment tests", () => {
95
112
  defaultProjectKey: "dummy",
96
113
  });
97
114
 
98
- afterEach(() => {
99
- ctMock.clear();
115
+ afterEach(async () => {
116
+ await ctMock.clear();
100
117
  });
101
118
 
102
119
  test("query payment id", async () => {
@@ -171,24 +188,28 @@ describe("Order payment tests", () => {
171
188
  },
172
189
  };
173
190
 
174
- ctMock.project().add("state", state);
175
- ctMock.project().add("payment", payment);
176
- ctMock.project().add("order", order);
191
+ await ctMock.project().unsafeAdd("state", state);
192
+ await ctMock.project().unsafeAdd("payment", payment);
193
+ await ctMock.project().unsafeAdd("order", order);
177
194
 
178
- const response = await supertest(ctMock.app)
179
- .get("/dummy/orders")
180
- .query({ where: `paymentInfo(payments(id="${payment.id}"))` });
195
+ const response = await ctMock.app.inject({
196
+ method: "GET",
197
+ url: "/dummy/orders",
198
+ query: { where: `paymentInfo(payments(id="${payment.id}"))` },
199
+ });
181
200
 
182
- expect(response.status).toBe(200);
183
- expect(response.body.results[0].id).toBe(order.id);
201
+ expect(response.statusCode).toBe(200);
202
+ expect(response.json().results[0].id).toBe(order.id);
184
203
 
185
204
  {
186
- const response = await supertest(ctMock.app)
187
- .get("/dummy/orders")
188
- .query({ where: "paymentInfo(payments(id is defined))" });
205
+ const response = await ctMock.app.inject({
206
+ method: "GET",
207
+ url: "/dummy/orders",
208
+ query: { where: "paymentInfo(payments(id is defined))" },
209
+ });
189
210
 
190
- expect(response.status).toBe(200);
191
- expect(response.body.results[0].id).toBe(order.id);
211
+ expect(response.statusCode).toBe(200);
212
+ expect(response.json().results[0].id).toBe(order.id);
192
213
  }
193
214
  });
194
215
 
@@ -264,28 +285,31 @@ describe("Order payment tests", () => {
264
285
  },
265
286
  };
266
287
 
267
- ctMock.project().add("state", state);
268
- ctMock.project().add("payment", payment);
269
- ctMock.project().add("order", order);
288
+ await ctMock.project().unsafeAdd("state", state);
289
+ await ctMock.project().unsafeAdd("payment", payment);
290
+ await ctMock.project().unsafeAdd("order", order);
270
291
 
271
- const response = await supertest(ctMock.app)
272
- .get(`/dummy/orders/order-number=${order.orderNumber}`)
273
- .query({ expand: "paymentInfo.payments[*].paymentStatus.state" });
292
+ const response = await ctMock.app.inject({
293
+ method: "GET",
294
+ url: `/dummy/orders/order-number=${order.orderNumber}`,
295
+ query: { expand: "paymentInfo.payments[*].paymentStatus.state" },
296
+ });
274
297
 
275
- expect(response.status).toBe(200);
276
- expect(response.body.id).toBe(order.id);
277
- const maybePayment = response.body.paymentInfo.payments[0].obj;
298
+ expect(response.statusCode).toBe(200);
299
+ expect(response.json().id).toBe(order.id);
300
+ const maybePayment = response.json().paymentInfo.payments[0].obj;
278
301
  expect(maybePayment).toBeDefined();
279
302
  expect(maybePayment.paymentStatus.state.obj).toBeDefined();
280
303
  });
281
304
 
282
305
  test("get by orderNumber - not found", async () => {
283
- const response = await supertest(ctMock.app).get(
284
- "/dummy/orders/order-number=nonexistent",
285
- );
306
+ const response = await ctMock.app.inject({
307
+ method: "GET",
308
+ url: "/dummy/orders/order-number=nonexistent",
309
+ });
286
310
 
287
- expect(response.status).toBe(404);
288
- expect(response.body).toEqual({
311
+ expect(response.statusCode).toBe(404);
312
+ expect(response.json()).toEqual({
289
313
  statusCode: 404,
290
314
  message: "The Resource with key 'nonexistent' was not found.",
291
315
  errors: [
@@ -300,71 +324,75 @@ describe("Order payment tests", () => {
300
324
 
301
325
  describe("Order Update Actions", () => {
302
326
  const ctMock = new CommercetoolsMock();
327
+ const cartDraft = cartDraftFactory(ctMock);
328
+ const orderDraft = orderDraftFactory(ctMock);
303
329
  let order: Order | undefined;
304
330
 
305
331
  beforeEach(async () => {
306
- let response = await supertest(ctMock.app).post("/dummy/carts").send({
332
+ const cart = await cartDraft.create({
307
333
  currency: "EUR",
308
334
  });
309
- expect(response.status).toBe(201);
310
- const cart = response.body;
311
-
312
- response = await supertest(ctMock.app)
313
- .post("/dummy/orders")
314
- .send({
315
- cart: {
316
- typeId: "cart",
317
- id: cart.id,
318
- },
319
- });
320
- expect(response.status).toBe(201);
321
- order = response.body;
335
+
336
+ order = await orderDraft.create({
337
+ cart: {
338
+ typeId: "cart",
339
+ id: cart.id,
340
+ },
341
+ version: cart.version,
342
+ });
322
343
  });
323
344
 
324
345
  test("no update", async () => {
325
346
  assert(order, "order not created");
326
347
 
327
- const response = await supertest(ctMock.app)
328
- .post(`/dummy/orders/${order.id}`)
329
- .send({
348
+ const response = await ctMock.app.inject({
349
+ method: "POST",
350
+ url: `/dummy/orders/${order.id}`,
351
+ payload: {
330
352
  version: 1,
331
353
  actions: [{ action: "setLocale", locale: "nl-NL" }],
332
- });
333
- expect(response.status).toBe(200);
334
- expect(response.body.version).toBe(2);
335
- expect(response.body.locale).toBe("nl-NL");
336
-
337
- const responseAgain = await supertest(ctMock.app)
338
- .post(`/dummy/orders/${order.id}`)
339
- .send({
354
+ },
355
+ });
356
+ expect(response.statusCode).toBe(200);
357
+ expect(response.json().version).toBe(2);
358
+ expect(response.json().locale).toBe("nl-NL");
359
+
360
+ const responseAgain = await ctMock.app.inject({
361
+ method: "POST",
362
+ url: `/dummy/orders/${order.id}`,
363
+ payload: {
340
364
  version: 2,
341
365
  actions: [{ action: "setLocale", locale: "nl-NL" }],
342
- });
343
- expect(responseAgain.status).toBe(200);
344
- expect(responseAgain.body.version).toBe(2);
345
- expect(responseAgain.body.locale).toBe("nl-NL");
366
+ },
367
+ });
368
+ expect(responseAgain.statusCode).toBe(200);
369
+ expect(responseAgain.json().version).toBe(2);
370
+ expect(responseAgain.json().locale).toBe("nl-NL");
346
371
  });
347
372
 
348
373
  test("setCustomerEmail", async () => {
349
374
  assert(order, "order not created");
350
375
 
351
- const response = await supertest(ctMock.app)
352
- .post(`/dummy/orders/${order.id}`)
353
- .send({
376
+ const response = await ctMock.app.inject({
377
+ method: "POST",
378
+ url: `/dummy/orders/${order.id}`,
379
+ payload: {
354
380
  version: 1,
355
381
  actions: [{ action: "setCustomerEmail", email: "john@doe.com" }],
356
- });
357
- expect(response.status).toBe(200);
358
- expect(response.body.version).toBe(2);
359
- expect(response.body.customerEmail).toBe("john@doe.com");
382
+ },
383
+ });
384
+ expect(response.statusCode).toBe(200);
385
+ expect(response.json().version).toBe(2);
386
+ expect(response.json().customerEmail).toBe("john@doe.com");
360
387
  });
361
388
 
362
389
  test("setCustomerId", async () => {
363
390
  assert(order, "order not created");
364
391
 
365
- const response = await supertest(ctMock.app)
366
- .post(`/dummy/orders/${order.id}`)
367
- .send({
392
+ const response = await ctMock.app.inject({
393
+ method: "POST",
394
+ url: `/dummy/orders/${order.id}`,
395
+ payload: {
368
396
  version: 1,
369
397
  actions: [
370
398
  {
@@ -372,10 +400,11 @@ describe("Order Update Actions", () => {
372
400
  customerId: "9e3479fc-cc92-4d10-820a-a080b45ddcc1",
373
401
  },
374
402
  ],
375
- });
376
- expect(response.status).toBe(200);
377
- expect(response.body.version).toBe(2);
378
- expect(response.body.customerId).toBe(
403
+ },
404
+ });
405
+ expect(response.statusCode).toBe(200);
406
+ expect(response.json().version).toBe(2);
407
+ expect(response.json().customerId).toBe(
379
408
  "9e3479fc-cc92-4d10-820a-a080b45ddcc1",
380
409
  );
381
410
  });
@@ -383,77 +412,87 @@ describe("Order Update Actions", () => {
383
412
  test("setOrderNumber", async () => {
384
413
  assert(order, "order not created");
385
414
 
386
- const response = await supertest(ctMock.app)
387
- .post(`/dummy/orders/${order.id}`)
388
- .send({
415
+ const response = await ctMock.app.inject({
416
+ method: "POST",
417
+ url: `/dummy/orders/${order.id}`,
418
+ payload: {
389
419
  version: 1,
390
420
  actions: [{ action: "setOrderNumber", orderNumber: "5000123" }],
391
- });
392
- expect(response.status).toBe(200);
393
- expect(response.body.version).toBe(2);
394
- expect(response.body.orderNumber).toBe("5000123");
421
+ },
422
+ });
423
+ expect(response.statusCode).toBe(200);
424
+ expect(response.json().version).toBe(2);
425
+ expect(response.json().orderNumber).toBe("5000123");
395
426
  });
396
427
 
397
428
  test("setPurchaseOrderNumber", async () => {
398
429
  assert(order, "order not created");
399
430
 
400
- const response = await supertest(ctMock.app)
401
- .post(`/dummy/orders/${order.id}`)
402
- .send({
431
+ const response = await ctMock.app.inject({
432
+ method: "POST",
433
+ url: `/dummy/orders/${order.id}`,
434
+ payload: {
403
435
  version: 1,
404
436
  actions: [
405
437
  { action: "setPurchaseOrderNumber", purchaseOrderNumber: "abc123" },
406
438
  ],
407
- });
408
- expect(response.status).toBe(200);
409
- expect(response.body.version).toBe(2);
410
- expect(response.body.purchaseOrderNumber).toBe("abc123");
439
+ },
440
+ });
441
+ expect(response.statusCode).toBe(200);
442
+ expect(response.json().version).toBe(2);
443
+ expect(response.json().purchaseOrderNumber).toBe("abc123");
411
444
  });
412
445
 
413
446
  test("changeOrderState", async () => {
414
447
  assert(order, "order not created");
415
448
 
416
- const response = await supertest(ctMock.app)
417
- .post(`/dummy/orders/${order.id}`)
418
- .send({
449
+ const response = await ctMock.app.inject({
450
+ method: "POST",
451
+ url: `/dummy/orders/${order.id}`,
452
+ payload: {
419
453
  version: 1,
420
454
  actions: [{ action: "changeOrderState", orderState: "Complete" }],
421
- });
422
- expect(response.status).toBe(200);
423
- expect(response.body.version).toBe(2);
424
- expect(response.body.orderState).toBe("Complete");
455
+ },
456
+ });
457
+ expect(response.statusCode).toBe(200);
458
+ expect(response.json().version).toBe(2);
459
+ expect(response.json().orderState).toBe("Complete");
425
460
  });
426
461
 
427
462
  test("changePaymentState | changeOrderState", async () => {
428
463
  assert(order, "order not created");
429
464
 
430
- const response = await supertest(ctMock.app)
431
- .post(`/dummy/orders/${order.id}`)
432
- .send({
465
+ const response = await ctMock.app.inject({
466
+ method: "POST",
467
+ url: `/dummy/orders/${order.id}`,
468
+ payload: {
433
469
  version: 1,
434
470
  actions: [
435
471
  { action: "changeOrderState", orderState: "Cancelled" },
436
472
  { action: "changePaymentState", paymentState: "Failed" },
437
473
  ],
438
- });
439
- expect(response.status).toBe(200);
440
- expect(response.body.version).toBe(3);
441
- expect(response.body.orderState).toBe("Cancelled");
442
- expect(response.body.paymentState).toBe("Failed");
474
+ },
475
+ });
476
+ expect(response.statusCode).toBe(200);
477
+ expect(response.json().version).toBe(3);
478
+ expect(response.json().orderState).toBe("Cancelled");
479
+ expect(response.json().paymentState).toBe("Failed");
443
480
  });
444
481
 
445
482
  test("changeShipmentState", async () => {
446
483
  assert(order, "order not created");
447
484
 
448
- const response = await supertest(ctMock.app)
449
- .post(`/dummy/orders/${order.id}`)
450
- .send({
485
+ const response = await ctMock.app.inject({
486
+ method: "POST",
487
+ url: `/dummy/orders/${order.id}`,
488
+ payload: {
451
489
  version: 1,
452
490
  actions: [{ action: "changeShipmentState", shipmentState: "Delayed" }],
453
- });
454
- expect(response.status).toBe(200);
455
- expect(response.body.version).toBe(2);
456
- expect(response.body.shipmentState).toBe("Delayed");
491
+ },
492
+ });
493
+ expect(response.statusCode).toBe(200);
494
+ expect(response.json().version).toBe(2);
495
+ expect(response.json().shipmentState).toBe("Delayed");
457
496
  });
458
497
 
459
498
  test("setDeliveryCustomField", async () => {
@@ -569,16 +608,18 @@ describe("Order Update Actions", () => {
569
608
  currencyCode: "EUR",
570
609
  },
571
610
  };
572
- ctMock.project("dummy").add("order", order);
611
+ await ctMock.project("dummy").unsafeAdd("order", order);
573
612
 
574
- const response = await supertest(ctMock.app).get(
575
- `/dummy/orders/order-number=${order.orderNumber}`,
576
- );
613
+ const response = await ctMock.app.inject({
614
+ method: "GET",
615
+ url: `/dummy/orders/order-number=${order.orderNumber}`,
616
+ });
577
617
 
578
618
  // check if status is set
579
- const _updateResponse = await supertest(ctMock.app)
580
- .post(`/dummy/orders/${response.body.id}`)
581
- .send({
619
+ const _updateResponse = await ctMock.app.inject({
620
+ method: "POST",
621
+ url: `/dummy/orders/${response.json().id}`,
622
+ payload: {
582
623
  version: 0,
583
624
  actions: [
584
625
  {
@@ -588,17 +629,19 @@ describe("Order Update Actions", () => {
588
629
  value: "delayed",
589
630
  },
590
631
  ],
591
- });
592
- expect(_updateResponse.status).toBe(200);
593
- expect(_updateResponse.body.version).toBe(1);
632
+ },
633
+ });
634
+ expect(_updateResponse.statusCode).toBe(200);
635
+ expect(_updateResponse.json().version).toBe(1);
594
636
  expect(
595
- _updateResponse.body.shippingInfo.deliveries[0].custom.fields.status,
637
+ _updateResponse.json().shippingInfo.deliveries[0].custom.fields.status,
596
638
  ).toBe("delayed");
597
639
 
598
640
  // check if other field can be set
599
- const _updateResponse2 = await supertest(ctMock.app)
600
- .post(`/dummy/orders/${response.body.id}`)
601
- .send({
641
+ const _updateResponse2 = await ctMock.app.inject({
642
+ method: "POST",
643
+ url: `/dummy/orders/${response.json().id}`,
644
+ payload: {
602
645
  version: 1,
603
646
  actions: [
604
647
  {
@@ -608,11 +651,12 @@ describe("Order Update Actions", () => {
608
651
  value: "dhl",
609
652
  },
610
653
  ],
611
- });
612
- expect(_updateResponse2.status).toBe(200);
613
- expect(_updateResponse2.body.version).toBe(2);
654
+ },
655
+ });
656
+ expect(_updateResponse2.statusCode).toBe(200);
657
+ expect(_updateResponse2.json().version).toBe(2);
614
658
  expect(
615
- _updateResponse2.body.shippingInfo.deliveries[0].custom.fields.carrier,
659
+ _updateResponse2.json().shippingInfo.deliveries[0].custom.fields.carrier,
616
660
  ).toBe("dhl");
617
661
  });
618
662
 
@@ -686,14 +730,15 @@ describe("Order Update Actions", () => {
686
730
  },
687
731
  };
688
732
 
689
- ctMock.project("dummy").add("order", order);
733
+ await ctMock.project("dummy").unsafeAdd("order", order);
690
734
 
691
735
  const lineItem = order.lineItems[0];
692
736
  assert(lineItem, "lineItem not created");
693
737
 
694
- const response = await supertest(ctMock.app)
695
- .post(`/dummy/orders/${order.id}`)
696
- .send({
738
+ const response = await ctMock.app.inject({
739
+ method: "POST",
740
+ url: `/dummy/orders/${order.id}`,
741
+ payload: {
697
742
  version: order.version,
698
743
  actions: [
699
744
  {
@@ -703,11 +748,12 @@ describe("Order Update Actions", () => {
703
748
  value: "bar",
704
749
  },
705
750
  ],
706
- });
751
+ },
752
+ });
707
753
 
708
- expect(response.status).toBe(200);
709
- expect(response.body.version).toBe(2);
710
- expect(response.body.lineItems).toMatchObject([
754
+ expect(response.statusCode).toBe(200);
755
+ expect(response.json().version).toBe(2);
756
+ expect(response.json().lineItems).toMatchObject([
711
757
  {
712
758
  id: lineItem.id,
713
759
  custom: {
@@ -782,42 +828,39 @@ describe("Order Update Actions", () => {
782
828
  },
783
829
  };
784
830
 
785
- ctMock.project("dummy").add("order", order);
831
+ await ctMock.project("dummy").unsafeAdd("order", order);
786
832
 
787
- const type = await supertest(ctMock.app)
788
- .post("/dummy/types")
789
- .send({
790
- key: "my-type",
791
- name: {
792
- en: "My Type",
793
- },
794
- description: {
795
- en: "My Type Description",
796
- },
797
- fieldDefinitions: [
798
- {
799
- name: "foo",
800
- label: {
801
- en: "foo",
802
- },
803
- required: false,
804
- type: {
805
- name: "String",
806
- },
807
- inputHint: "SingleLine",
833
+ const typeDraft = typeDraftFactory(ctMock);
834
+ const type = await typeDraft.create({
835
+ key: "my-type",
836
+ name: {
837
+ en: "My Type",
838
+ },
839
+ description: {
840
+ en: "My Type Description",
841
+ },
842
+ fieldDefinitions: [
843
+ {
844
+ name: "foo",
845
+ label: {
846
+ en: "foo",
808
847
  },
809
- ],
810
- })
811
- .then((x) => x.body);
812
-
813
- assert(type, "type not created");
848
+ required: false,
849
+ type: {
850
+ name: "String",
851
+ },
852
+ inputHint: "SingleLine",
853
+ },
854
+ ],
855
+ });
814
856
 
815
857
  const lineItem = order.lineItems[0];
816
858
  assert(lineItem, "lineItem not created");
817
859
 
818
- const response = await supertest(ctMock.app)
819
- .post(`/dummy/orders/${order.id}`)
820
- .send({
860
+ const response = await ctMock.app.inject({
861
+ method: "POST",
862
+ url: `/dummy/orders/${order.id}`,
863
+ payload: {
821
864
  version: order.version,
822
865
  actions: [
823
866
  {
@@ -829,11 +872,12 @@ describe("Order Update Actions", () => {
829
872
  },
830
873
  },
831
874
  ],
832
- });
875
+ },
876
+ });
833
877
 
834
- expect(response.status).toBe(200);
835
- expect(response.body.version).toBe(2);
836
- expect(response.body.lineItems).toMatchObject([
878
+ expect(response.statusCode).toBe(200);
879
+ expect(response.json().version).toBe(2);
880
+ expect(response.json().lineItems).toMatchObject([
837
881
  {
838
882
  id: lineItem.id,
839
883
  custom: {
@@ -968,16 +1012,18 @@ describe("Order Update Actions", () => {
968
1012
  currencyCode: "EUR",
969
1013
  },
970
1014
  };
971
- ctMock.project("dummy").add("order", order);
1015
+ await ctMock.project("dummy").unsafeAdd("order", order);
972
1016
 
973
- const response = await supertest(ctMock.app).get(
974
- `/dummy/orders/order-number=${order.orderNumber}`,
975
- );
1017
+ const response = await ctMock.app.inject({
1018
+ method: "GET",
1019
+ url: `/dummy/orders/order-number=${order.orderNumber}`,
1020
+ });
976
1021
 
977
1022
  // check if status is set
978
- const _updateResponse = await supertest(ctMock.app)
979
- .post(`/dummy/orders/${response.body.id}`)
980
- .send({
1023
+ const _updateResponse = await ctMock.app.inject({
1024
+ method: "POST",
1025
+ url: `/dummy/orders/${response.json().id}`,
1026
+ payload: {
981
1027
  version: 0,
982
1028
  actions: [
983
1029
  {
@@ -987,11 +1033,12 @@ describe("Order Update Actions", () => {
987
1033
  value: "delayed",
988
1034
  },
989
1035
  ],
990
- });
991
- expect(_updateResponse.status).toBe(200);
992
- expect(_updateResponse.body.version).toBe(1);
1036
+ },
1037
+ });
1038
+ expect(_updateResponse.statusCode).toBe(200);
1039
+ expect(_updateResponse.json().version).toBe(1);
993
1040
  expect(
994
- _updateResponse.body.shippingInfo.deliveries[0].parcels[0].custom.fields
1041
+ _updateResponse.json().shippingInfo.deliveries[0].parcels[0].custom.fields
995
1042
  .status,
996
1043
  ).toBe("delayed");
997
1044
  });
@@ -999,18 +1046,16 @@ describe("Order Update Actions", () => {
999
1046
  test("updateSyncInfo", async () => {
1000
1047
  assert(order, "order not created");
1001
1048
 
1002
- const channelResponse = await supertest(ctMock.app)
1003
- .post("/dummy/channels")
1004
- .send({
1005
- key: "order-sync",
1006
- roles: ["OrderImport", "OrderExport"],
1007
- });
1008
- expect(channelResponse.status).toBe(201);
1009
- const channel = channelResponse.body;
1049
+ const channelDraft = channelDraftFactory(ctMock);
1050
+ const channel = await channelDraft.create({
1051
+ key: "order-sync",
1052
+ roles: ["OrderImport", "OrderExport"],
1053
+ });
1010
1054
 
1011
- const response = await supertest(ctMock.app)
1012
- .post(`/dummy/orders/${order.id}`)
1013
- .send({
1055
+ const response = await ctMock.app.inject({
1056
+ method: "POST",
1057
+ url: `/dummy/orders/${order.id}`,
1058
+ payload: {
1014
1059
  version: 1,
1015
1060
  actions: [
1016
1061
  {
@@ -1019,10 +1064,11 @@ describe("Order Update Actions", () => {
1019
1064
  externalId: "1234",
1020
1065
  },
1021
1066
  ],
1022
- });
1023
- expect(response.status).toBe(200);
1024
- expect(response.body.version).toBe(2);
1025
- expect(response.body.syncInfo).toMatchObject([
1067
+ },
1068
+ });
1069
+ expect(response.statusCode).toBe(200);
1070
+ expect(response.json().version).toBe(2);
1071
+ expect(response.json().syncInfo).toMatchObject([
1026
1072
  {
1027
1073
  channel: { typeId: "channel", id: channel.id },
1028
1074
  externalId: "1234",
@@ -1208,9 +1254,6 @@ describe("Order Update Actions", () => {
1208
1254
  shippingInfo: shippingInfoWithoutDeliveries,
1209
1255
  };
1210
1256
 
1211
- ctMock.project("dummy").add("order", order);
1212
- ctMock.project("dummy").add("order", orderWithoutDeliveries);
1213
-
1214
1257
  const deliveryDraft: DeliveryDraft = {
1215
1258
  key: `${order.orderNumber}-2`,
1216
1259
  items: [
@@ -1221,16 +1264,23 @@ describe("Order Update Actions", () => {
1221
1264
  ],
1222
1265
  };
1223
1266
 
1267
+ beforeAll(async () => {
1268
+ await ctMock.project("dummy").unsafeAdd("order", order);
1269
+ await ctMock.project("dummy").unsafeAdd("order", orderWithoutDeliveries);
1270
+ });
1271
+
1224
1272
  it.each([
1225
1273
  [order, 1],
1226
1274
  [orderWithoutDeliveries, 0],
1227
1275
  ])("should add to deliveries", async (order, index) => {
1228
- const response = await supertest(ctMock.app).get(
1229
- `/dummy/orders/order-number=${order.orderNumber}`,
1230
- );
1231
- const _updateResponse = await supertest(ctMock.app)
1232
- .post(`/dummy/orders/${response.body.id}`)
1233
- .send({
1276
+ const response = await ctMock.app.inject({
1277
+ method: "GET",
1278
+ url: `/dummy/orders/order-number=${order.orderNumber}`,
1279
+ });
1280
+ const _updateResponse = await ctMock.app.inject({
1281
+ method: "POST",
1282
+ url: `/dummy/orders/${response.json().id}`,
1283
+ payload: {
1234
1284
  version: 0,
1235
1285
  actions: [
1236
1286
  {
@@ -1238,11 +1288,12 @@ describe("Order Update Actions", () => {
1238
1288
  ...deliveryDraft,
1239
1289
  },
1240
1290
  ],
1241
- });
1291
+ },
1292
+ });
1242
1293
 
1243
- expect(_updateResponse.status).toBe(200);
1244
- expect(_updateResponse.body.version).toBe(1);
1245
- expect(_updateResponse.body.shippingInfo.deliveries[index].key).toBe(
1294
+ expect(_updateResponse.statusCode).toBe(200);
1295
+ expect(_updateResponse.json().version).toBe(1);
1296
+ expect(_updateResponse.json().shippingInfo.deliveries[index].key).toBe(
1246
1297
  deliveryDraft.key,
1247
1298
  );
1248
1299
  });
@@ -1251,27 +1302,31 @@ describe("Order Update Actions", () => {
1251
1302
 
1252
1303
  describe("Order Import", () => {
1253
1304
  const ctMock = new CommercetoolsMock();
1254
- ctMock.project("dummy").add("product", {
1255
- id: "15fc56ba-a74e-4cf8-b4b0-bada5c101541",
1256
- masterData: {
1257
- // @ts-expect-error
1258
- current: {
1259
- name: { "nl-NL": "Dummy" },
1260
- slug: { "nl-NL": "Dummy" },
1261
- categories: [],
1262
- masterVariant: {
1263
- id: 0,
1264
- sku: "MYSKU",
1305
+
1306
+ beforeAll(async () => {
1307
+ await ctMock.project("dummy").unsafeAdd("product", {
1308
+ id: "15fc56ba-a74e-4cf8-b4b0-bada5c101541",
1309
+ masterData: {
1310
+ // @ts-expect-error
1311
+ current: {
1312
+ name: { "nl-NL": "Dummy" },
1313
+ slug: { "nl-NL": "Dummy" },
1314
+ categories: [],
1315
+ masterVariant: {
1316
+ id: 0,
1317
+ sku: "MYSKU",
1318
+ },
1319
+ variants: [],
1265
1320
  },
1266
- variants: [],
1267
1321
  },
1268
- },
1322
+ });
1269
1323
  });
1270
1324
 
1271
1325
  test("Import", async () => {
1272
- const response = await supertest(ctMock.app)
1273
- .post("/dummy/orders/import")
1274
- .send({
1326
+ const response = await ctMock.app.inject({
1327
+ method: "POST",
1328
+ url: "/dummy/orders/import",
1329
+ payload: {
1275
1330
  orderNumber: "100000001",
1276
1331
  totalPrice: {
1277
1332
  centAmount: 1000,
@@ -1412,11 +1467,12 @@ describe("Order Import", () => {
1412
1467
  lineItemMode: "Standard",
1413
1468
  },
1414
1469
  ],
1415
- });
1470
+ },
1471
+ });
1416
1472
 
1417
- expect(response.status).toBe(200);
1473
+ expect(response.statusCode).toBe(200);
1418
1474
 
1419
- const created: Order = response.body;
1475
+ const created: Order = response.json();
1420
1476
  expect(created.lineItems).toHaveLength(1);
1421
1477
  expect(created.customLineItems).toHaveLength(1);
1422
1478
  });