@lookiero/checkout 8.17.1-beta.1 → 8.18.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 (61) hide show
  1. package/dist/src/version.d.ts +1 -1
  2. package/dist/src/version.js +1 -1
  3. package/package.json +4 -4
  4. package/src/infrastructure/ui/views/item/components/productVariantSlider/__snapshots__/ProductVariantSlider.test.tsx.snap +87 -66
  5. package/src/infrastructure/ui/views/item/views/productVariant/__snapshots__/ProductVariant.test.tsx.snap +261 -198
  6. package/src/infrastructure/ui/views/summaryTabs/components/checkoutItemsTabs/__snapshots__/CheckoutItemsTabs.test.tsx.snap +87 -66
  7. package/dist/pact.config.d.ts +0 -13
  8. package/dist/pact.config.js +0 -9
  9. package/dist/public/public/assets/adaptive-icon.png +0 -0
  10. package/dist/public/public/assets/favicon.png +0 -0
  11. package/dist/public/public/assets/icon.png +0 -0
  12. package/dist/public/public/assets/splash.png +0 -0
  13. package/dist/public/public/images/not-found.png +0 -0
  14. package/dist/src/infrastructure/projection/bookedProductsVariants/bookedProductsVariants.mock.d.ts +0 -3
  15. package/dist/src/infrastructure/projection/bookedProductsVariants/bookedProductsVariants.mock.js +0 -27
  16. package/dist/src/infrastructure/projection/bookedProductsVariants/httpBookedProductsVariantsForCheckoutItemView.pact.d.ts +0 -1
  17. package/dist/src/infrastructure/projection/bookedProductsVariants/httpBookedProductsVariantsForCheckoutItemView.pact.js +0 -48
  18. package/dist/src/infrastructure/projection/checkout/checkout.mock.d.ts +0 -19
  19. package/dist/src/infrastructure/projection/checkout/checkout.mock.js +0 -21
  20. package/dist/src/infrastructure/projection/checkout/httpCheckoutByIdView.pact.d.ts +0 -1
  21. package/dist/src/infrastructure/projection/checkout/httpCheckoutByIdView.pact.js +0 -109
  22. package/dist/src/infrastructure/projection/checkout/httpFirstAvailableCheckoutByCustomerIdView.pact.d.ts +0 -1
  23. package/dist/src/infrastructure/projection/checkout/httpFirstAvailableCheckoutByCustomerIdView.pact.js +0 -49
  24. package/dist/src/infrastructure/projection/checkout/httpFiveItemsDiscountByCustomerIdView.pact.d.ts +0 -1
  25. package/dist/src/infrastructure/projection/checkout/httpFiveItemsDiscountByCustomerIdView.pact.js +0 -44
  26. package/dist/src/infrastructure/projection/checkout/httpIsCheckoutEnabledByCustomerIdView.pact.d.ts +0 -1
  27. package/dist/src/infrastructure/projection/checkout/httpIsCheckoutEnabledByCustomerIdView.pact.js +0 -44
  28. package/dist/src/infrastructure/projection/checkout/httpIsSizeChangeEnabledByCheckoutIdView.pact.d.ts +0 -1
  29. package/dist/src/infrastructure/projection/checkout/httpIsSizeChangeEnabledByCheckoutIdView.pact.js +0 -44
  30. package/dist/src/infrastructure/projection/checkoutBooking/checkoutBooking.mock.d.ts +0 -3
  31. package/dist/src/infrastructure/projection/checkoutBooking/checkoutBooking.mock.js +0 -6
  32. package/dist/src/infrastructure/projection/checkoutBooking/httpCheckoutBookingByIdView.pact.d.ts +0 -1
  33. package/dist/src/infrastructure/projection/checkoutBooking/httpCheckoutBookingByIdView.pact.js +0 -49
  34. package/dist/src/infrastructure/projection/checkoutItem/checkoutItem.mock.d.ts +0 -15
  35. package/dist/src/infrastructure/projection/checkoutItem/checkoutItem.mock.js +0 -43
  36. package/dist/src/infrastructure/projection/checkoutItem/httpCheckoutItemByIdView.pact.d.ts +0 -1
  37. package/dist/src/infrastructure/projection/checkoutItem/httpCheckoutItemByIdView.pact.js +0 -50
  38. package/dist/src/infrastructure/projection/checkoutQuestion/checkoutQuestions.mock.d.ts +0 -3
  39. package/dist/src/infrastructure/projection/checkoutQuestion/checkoutQuestions.mock.js +0 -103
  40. package/dist/src/infrastructure/projection/checkoutQuestion/httpCheckoutQuestionsByCheckoutIdView.pact.d.ts +0 -1
  41. package/dist/src/infrastructure/projection/checkoutQuestion/httpCheckoutQuestionsByCheckoutIdView.pact.js +0 -48
  42. package/dist/src/infrastructure/projection/payment/httpPaymentFlowPayloadByCheckoutIdView.pact.d.ts +0 -1
  43. package/dist/src/infrastructure/projection/payment/httpPaymentFlowPayloadByCheckoutIdView.pact.js +0 -109
  44. package/dist/src/infrastructure/projection/payment/paymentFlowPayload.mock.d.ts +0 -6
  45. package/dist/src/infrastructure/projection/payment/paymentFlowPayload.mock.js +0 -183
  46. package/dist/src/infrastructure/projection/pricing/httpPricingByCheckoutIdView.pact.d.ts +0 -1
  47. package/dist/src/infrastructure/projection/pricing/httpPricingByCheckoutIdView.pact.js +0 -48
  48. package/dist/src/infrastructure/projection/pricing/pricing.mock.d.ts +0 -9
  49. package/dist/src/infrastructure/projection/pricing/pricing.mock.js +0 -42
  50. package/dist/src/infrastructure/projection/returnQuestion/httpReturnQuestionsByCheckoutItemIdView.pact.d.ts +0 -1
  51. package/dist/src/infrastructure/projection/returnQuestion/httpReturnQuestionsByCheckoutItemIdView.pact.js +0 -48
  52. package/dist/src/infrastructure/projection/returnQuestion/returnQuestions.mock.d.ts +0 -3
  53. package/dist/src/infrastructure/projection/returnQuestion/returnQuestions.mock.js +0 -400
  54. package/dist/src/infrastructure/ui/views/App.style.d.ts +0 -6
  55. package/dist/src/infrastructure/ui/views/App.style.js +0 -7
  56. package/dist/src/projection/returnQuestion/returnQuestion.constants.d.ts +0 -9
  57. package/dist/src/projection/returnQuestion/returnQuestion.constants.js +0 -10
  58. package/dist/src/projection/returnQuestion/returnQuestion.metadata.d.ts +0 -12
  59. package/dist/src/projection/returnQuestion/returnQuestion.metadata.js +0 -1
  60. package/dist/src/projection/returnQuestion/returnQuestion.typeguard.d.ts +0 -5
  61. package/dist/src/projection/returnQuestion/returnQuestion.typeguard.js +0 -10
@@ -250,67 +250,67 @@ exports[`CheckoutItemTabs component matches the snapshot 1`] = `
250
250
  }
251
251
  }
252
252
  >
253
- <RNGestureHandlerButton
253
+ <View
254
254
  collapsable={false}
255
- delayLongPress={600}
256
- enabled={true}
257
- exclusive={true}
258
- handlerTag={1}
259
- handlerType="NativeViewGestureHandler"
260
- onGestureEvent={[Function]}
261
- onGestureHandlerEvent={[Function]}
262
- onGestureHandlerStateChange={[Function]}
263
- onHandlerStateChange={[Function]}
264
- rippleColor={0}
265
- touchSoundDisabled={false}
255
+ jestAnimatedStyle={
256
+ {
257
+ "value": {
258
+ "transform": [
259
+ {
260
+ "translateX": 0,
261
+ },
262
+ ],
263
+ },
264
+ }
265
+ }
266
+ style={
267
+ {
268
+ "flex": 1,
269
+ "flexDirection": "row",
270
+ "height": "100%",
271
+ "transform": [
272
+ {
273
+ "translateX": 0,
274
+ },
275
+ ],
276
+ "width": 600,
277
+ }
278
+ }
279
+ testID="carousel-track"
266
280
  >
267
281
  <View
268
- accessible={true}
269
282
  collapsable={false}
270
- style={{}}
271
- >
272
- <View
273
- collapsable={false}
274
- jestAnimatedStyle={
275
- {
276
- "value": {
277
- "transform": [
278
- {
279
- "translateX": 0,
280
- },
281
- ],
282
- },
283
- }
283
+ jestAnimatedStyle={
284
+ {
285
+ "value": {},
284
286
  }
285
- style={
286
- {
287
- "flex": 1,
288
- "flexDirection": "row",
289
- "height": "100%",
290
- "transform": [
291
- {
292
- "translateX": 0,
293
- },
294
- ],
295
- "width": 600,
296
- }
287
+ }
288
+ style={
289
+ {
290
+ "flex": 1,
291
+ "width": 300,
297
292
  }
298
- testID="carousel-track"
293
+ }
294
+ testID="carousel-item"
295
+ >
296
+ <RNGestureHandlerButton
297
+ collapsable={false}
298
+ delayLongPress={600}
299
+ enabled={true}
300
+ exclusive={true}
301
+ handlerTag={2}
302
+ handlerType="NativeViewGestureHandler"
303
+ onGestureEvent={[Function]}
304
+ onGestureHandlerEvent={[Function]}
305
+ onGestureHandlerStateChange={[Function]}
306
+ onHandlerStateChange={[Function]}
307
+ rippleColor={0}
308
+ touchSoundDisabled={false}
299
309
  >
300
310
  <View
311
+ accessible={true}
301
312
  collapsable={false}
302
- jestAnimatedStyle={
303
- {
304
- "value": {},
305
- }
306
- }
307
- style={
308
- {
309
- "flex": 1,
310
- "width": 300,
311
- }
312
- }
313
- testID="carousel-item"
313
+ style={{}}
314
314
  >
315
315
  <View
316
316
  testID="keep-checkout-item"
@@ -991,20 +991,41 @@ exports[`CheckoutItemTabs component matches the snapshot 1`] = `
991
991
  </View>
992
992
  </View>
993
993
  </View>
994
+ </RNGestureHandlerButton>
995
+ </View>
996
+ <View
997
+ collapsable={false}
998
+ jestAnimatedStyle={
999
+ {
1000
+ "value": {},
1001
+ }
1002
+ }
1003
+ style={
1004
+ {
1005
+ "flex": 1,
1006
+ "width": 300,
1007
+ }
1008
+ }
1009
+ testID="carousel-item"
1010
+ >
1011
+ <RNGestureHandlerButton
1012
+ collapsable={false}
1013
+ delayLongPress={600}
1014
+ enabled={true}
1015
+ exclusive={true}
1016
+ handlerTag={3}
1017
+ handlerType="NativeViewGestureHandler"
1018
+ onGestureEvent={[Function]}
1019
+ onGestureHandlerEvent={[Function]}
1020
+ onGestureHandlerStateChange={[Function]}
1021
+ onHandlerStateChange={[Function]}
1022
+ rippleColor={0}
1023
+ touchSoundDisabled={false}
1024
+ >
994
1025
  <View
1026
+ accessible={true}
995
1027
  collapsable={false}
996
- jestAnimatedStyle={
997
- {
998
- "value": {},
999
- }
1000
- }
1001
- style={
1002
- {
1003
- "flex": 1,
1004
- "width": 300,
1005
- }
1006
- }
1007
- testID="carousel-item"
1028
+ style={{}}
1008
1029
  >
1009
1030
  <View
1010
1031
  testID="return-checkout-item"
@@ -1685,9 +1706,9 @@ exports[`CheckoutItemTabs component matches the snapshot 1`] = `
1685
1706
  </View>
1686
1707
  </View>
1687
1708
  </View>
1688
- </View>
1709
+ </RNGestureHandlerButton>
1689
1710
  </View>
1690
- </RNGestureHandlerButton>
1711
+ </View>
1691
1712
  </View>
1692
1713
  </View>
1693
1714
  </View>
@@ -1,13 +0,0 @@
1
- import { V3MockServer } from "@pact-foundation/pact";
2
- interface StringObject {
3
- readonly [k: string]: string;
4
- }
5
- declare const DEFAULT_PACT_OPTIONS: StringObject;
6
- declare const AUTH_TOKEN = "eyJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6InBpY2tlcixwYWNrZXIiLCJzdWIiOiIxIiwiaWF0IjoxNjAyODQ4MzEyfQ.gCs2_vBcJsXt4EdreNSjDI8NWkOTQ5Cy4SwtrGnuJ44";
7
- declare const DEFAULT_REQUEST_HEADERS: StringObject;
8
- declare const DEFAULT_RESPONSE_HEADERS: StringObject;
9
- interface FromMockServerUrlToApiUrlFunction {
10
- (mockServer: V3MockServer): string;
11
- }
12
- declare const fromMockServerUrlToApiUrl: FromMockServerUrlToApiUrlFunction;
13
- export { fromMockServerUrlToApiUrl, AUTH_TOKEN, DEFAULT_PACT_OPTIONS, DEFAULT_REQUEST_HEADERS, DEFAULT_RESPONSE_HEADERS, };
@@ -1,9 +0,0 @@
1
- const DEFAULT_PACT_OPTIONS = { dir: ".contracts", logDir: ".pact/logs" };
2
- const AUTH_TOKEN = "eyJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6InBpY2tlcixwYWNrZXIiLCJzdWIiOiIxIiwiaWF0IjoxNjAyODQ4MzEyfQ.gCs2_vBcJsXt4EdreNSjDI8NWkOTQ5Cy4SwtrGnuJ44";
3
- const DEFAULT_REQUEST_HEADERS = {
4
- Authorization: `Bearer ${AUTH_TOKEN}`,
5
- ["Content-Type"]: "application/json",
6
- };
7
- const DEFAULT_RESPONSE_HEADERS = { ["Content-Type"]: "application/json" };
8
- const fromMockServerUrlToApiUrl = (mockServer) => mockServer.url.concat("/api");
9
- export { fromMockServerUrlToApiUrl, AUTH_TOKEN, DEFAULT_PACT_OPTIONS, DEFAULT_REQUEST_HEADERS, DEFAULT_RESPONSE_HEADERS, };
Binary file
@@ -1,3 +0,0 @@
1
- import { BookedProductsVariantsProjection } from "../../../projection/bookedProductsVariants/bookedProductsVariants";
2
- declare const bookedProductsVariants: BookedProductsVariantsProjection;
3
- export { bookedProductsVariants };
@@ -1,27 +0,0 @@
1
- const bookedProductsVariants = {
2
- productVariants: [
3
- {
4
- id: "383fab95-56eb-4639-bb18-530ab792b4d3",
5
- size: {
6
- id: "4f8a26b8-8d2d-4012-b49a-7d2820095598",
7
- europe: "S",
8
- lookiero: "S",
9
- uk: "S",
10
- it: "S",
11
- unique: false,
12
- },
13
- },
14
- {
15
- id: "a5422445-0e62-4b11-8a3f-1bb5469ee154",
16
- size: {
17
- id: "a5422445-0e62-4b11-8a3f-1bb5469ee154",
18
- europe: "M",
19
- lookiero: "M",
20
- uk: "M",
21
- it: "M",
22
- unique: false,
23
- },
24
- },
25
- ],
26
- };
27
- export { bookedProductsVariants };
@@ -1,48 +0,0 @@
1
- import { MatchersV3, PactV3 } from "@pact-foundation/pact";
2
- import { fetchHttpPost } from "@lookiero/sty-psp-http";
3
- import { AUTH_TOKEN, DEFAULT_PACT_OPTIONS, DEFAULT_REQUEST_HEADERS, DEFAULT_RESPONSE_HEADERS, fromMockServerUrlToApiUrl, } from "../../../../pact.config";
4
- import { bookedProductsVariants } from "./bookedProductsVariants.mock";
5
- import { httpBookedProductsVariantsForCheckoutItemView } from "./httpBookedProductsVariantsForCheckoutItemView";
6
- const provider = new PactV3({
7
- ...DEFAULT_PACT_OPTIONS,
8
- consumer: "STY-BOX_CHECKOUT-FRONT",
9
- provider: "STY-BOX_CHECKOUT-BACK_ViewBookedProductVariantsForCheckoutItem",
10
- });
11
- const checkoutItemId = "52440ae5-7a4c-498b-8b35-08ecfde15776";
12
- const bookedProductsVariantsResponse = {
13
- result: bookedProductsVariants,
14
- };
15
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
16
- // @ts-ignore
17
- const EXPECTED_BODY = MatchersV3.like(bookedProductsVariantsResponse);
18
- describe("STY-BOX_CHECKOUT-BACK_ViewBookedProductVariantsForCheckoutItem API", () => {
19
- it("returns a valid booked size change product variants for the given checkout item", () => {
20
- provider
21
- .given("a valid booked size change product variants for the given checkout item")
22
- .uponReceiving("booked size change product variants projection")
23
- .withRequest({
24
- method: "POST",
25
- path: "/api/view-booked-product-variants-for-checkout-item",
26
- headers: DEFAULT_REQUEST_HEADERS,
27
- body: { checkoutItemId },
28
- })
29
- .willRespondWith({
30
- status: 200,
31
- headers: DEFAULT_RESPONSE_HEADERS,
32
- body: EXPECTED_BODY,
33
- });
34
- return provider.executeTest(async (mockserver) => {
35
- const httpPost = fetchHttpPost({
36
- apiUrl: () => fromMockServerUrlToApiUrl(mockserver),
37
- getAuthToken: () => Promise.resolve(AUTH_TOKEN),
38
- device: "web",
39
- version: "1.0.0",
40
- });
41
- const response = await httpBookedProductsVariantsForCheckoutItemView({ httpPost })({
42
- checkoutItemId,
43
- signal: undefined,
44
- });
45
- expect(response).toStrictEqual(bookedProductsVariantsResponse.result);
46
- });
47
- });
48
- });
@@ -1,19 +0,0 @@
1
- import { CheckoutStatus } from "../../../domain/checkout/model/checkout";
2
- import { CheckoutProjection } from "../../../projection/checkout/checkout";
3
- import { CheckoutItemFunctionArgs } from "../checkoutItem/checkoutItem.mock";
4
- import { CheckoutDto } from "./checkout";
5
- interface CheckoutDtoFunctionArgs {
6
- readonly status?: CheckoutStatus;
7
- readonly items: CheckoutItemFunctionArgs[];
8
- }
9
- interface CheckoutDtoFunction {
10
- (args: CheckoutDtoFunctionArgs): CheckoutDto;
11
- }
12
- declare const checkoutDto: CheckoutDtoFunction;
13
- interface CheckoutFunctionArgs extends CheckoutDtoFunctionArgs {
14
- }
15
- interface CheckoutFunction {
16
- (args: CheckoutFunctionArgs): CheckoutProjection;
17
- }
18
- declare const checkout: CheckoutFunction;
19
- export { checkout, checkoutDto };
@@ -1,21 +0,0 @@
1
- import { CheckoutStatus } from "../../../domain/checkout/model/checkout";
2
- import { checkoutItem } from "../checkoutItem/checkoutItem.mock";
3
- import { toCheckoutProjection } from "./checkout";
4
- const itemIds = [
5
- "a5422445-0e62-4b11-8a3f-1bb5469ee154",
6
- "cfc76463-621a-485a-b152-c5a9c4dc43d9",
7
- "a9a4fa26-fcc2-4efa-a6a8-fa29ea07b128",
8
- "8af02b73-0b0a-46a0-a3a8-d9710815c739",
9
- "8890e00b-d4ed-4220-ae13-52cd88ae8ed5",
10
- ];
11
- const checkoutDto = ({ status = CheckoutStatus.STARTED, items }) => ({
12
- id: "9c450400-0cd7-44a4-b0e3-e0002a9bf8df",
13
- status,
14
- customerId: "0df61ca7-7e4d-462b-a422-a57de0d116b4",
15
- boxId: "9c406e57-100a-4aa6-83c5-016e7c2970e7",
16
- checkoutBookingId: "07c996bb-a0b4-45f9-ae21-6bb9c784d12b",
17
- expiresOn: "2022-09-20",
18
- items: items.map(({ id, status, feedbacks, replacedFor }, index) => checkoutItem({ id: id || itemIds[index], status, feedbacks, replacedFor })),
19
- });
20
- const checkout = ({ status, items }) => toCheckoutProjection(checkoutDto({ status, items }));
21
- export { checkout, checkoutDto };
@@ -1,109 +0,0 @@
1
- import { MatchersV3, PactV3 } from "@pact-foundation/pact";
2
- import { fetchHttpPost } from "@lookiero/sty-psp-http";
3
- import { AUTH_TOKEN, DEFAULT_PACT_OPTIONS, DEFAULT_REQUEST_HEADERS, DEFAULT_RESPONSE_HEADERS, fromMockServerUrlToApiUrl, } from "../../../../pact.config";
4
- import { CheckoutItemStatus } from "../../../domain/checkoutItem/model/checkoutItem";
5
- import { MediaPerspective } from "../../../projection/checkoutItem/checkoutItem";
6
- import { checkout } from "./checkout.mock";
7
- import { httpCheckoutByIdView } from "./httpCheckoutByIdView";
8
- const provider = new PactV3({
9
- ...DEFAULT_PACT_OPTIONS,
10
- consumer: "STY-BOX_CHECKOUT-FRONT",
11
- provider: "STY-BOX_CHECKOUT-BACK_ViewCheckoutById",
12
- });
13
- const checkoutId = "e2490de5-5bd3-43d5-b7c4-526e33f71304";
14
- const replacedFor = {
15
- id: "2bf7fb8f-a283-4f53-bc27-0e7fc9466a33",
16
- media: [
17
- {
18
- id: "d7ec731b-4123-4394-829b-297b952e73e5",
19
- url: "https://cdn-catalog-back-prod.envs.lookiero.tech/1a/28/1a28f712-a76c-4172-8a11-f15002981dc0.jpg",
20
- perspective: MediaPerspective.MAIN,
21
- },
22
- {
23
- id: "8055e209-2fe9-44c5-b715-b09ad3ef741c",
24
- url: "https://cdn-catalog-back-prod.envs.lookiero.tech/15/ac/15aca112-4e71-4646-8db5-7f9723bc0130.jpg",
25
- perspective: MediaPerspective.DETAIL,
26
- },
27
- ],
28
- brand: "CKS",
29
- name: "Sari Tshirt lines",
30
- size: {
31
- id: "b3a76aea-ce7a-4ecb-82a4-6637d0ac2afd",
32
- lookiero: "S",
33
- uk: "S",
34
- it: "S",
35
- europe: "S",
36
- unique: false,
37
- },
38
- color: {
39
- id: "c228d1b0-d06d-4d5c-a7d5-953fd43af0d8",
40
- label: "black_C2",
41
- name: "black",
42
- },
43
- };
44
- const checkoutResponseWithReplacedFor = {
45
- result: checkout({ items: [{ status: CheckoutItemStatus.KEPT, replacedFor }] }),
46
- };
47
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
48
- // @ts-ignore
49
- const EXPECTED_BODY_WITH_REPLACED_FOR = MatchersV3.like(checkoutResponseWithReplacedFor);
50
- const checkoutResponseWithoutReplacedFor = {
51
- result: checkout({ items: [{ status: CheckoutItemStatus.KEPT }] }),
52
- };
53
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
54
- // @ts-ignore
55
- const EXPECTED_BODY_WITHOUT_REPLACED_FOR = MatchersV3.like(checkoutResponseWithoutReplacedFor);
56
- describe("STY-BOX_CHECKOUT-BACK_ViewCheckoutById API", () => {
57
- it("returns a valid checkout with replacedFor for the given id", () => {
58
- provider
59
- .given("a valid checkout with replacedFor for the given id")
60
- .uponReceiving("checkout projection")
61
- .withRequest({
62
- method: "POST",
63
- path: "/api/view-checkout-by-id",
64
- headers: DEFAULT_REQUEST_HEADERS,
65
- body: { checkoutId },
66
- })
67
- .willRespondWith({
68
- status: 200,
69
- headers: DEFAULT_RESPONSE_HEADERS,
70
- body: EXPECTED_BODY_WITH_REPLACED_FOR,
71
- });
72
- return provider.executeTest(async (mockserver) => {
73
- const httpPost = fetchHttpPost({
74
- apiUrl: () => fromMockServerUrlToApiUrl(mockserver),
75
- getAuthToken: () => Promise.resolve(AUTH_TOKEN),
76
- device: "web",
77
- version: "1.0.0",
78
- });
79
- const response = await httpCheckoutByIdView({ httpPost })({ checkoutId, signal: undefined });
80
- expect(response).toStrictEqual(checkoutResponseWithReplacedFor.result);
81
- });
82
- });
83
- it("returns a valid checkout without replacedFor for the given id", () => {
84
- provider
85
- .given("a valid checkout without replacedFor for the given id")
86
- .uponReceiving("checkout projection")
87
- .withRequest({
88
- method: "POST",
89
- path: "/api/view-checkout-by-id",
90
- headers: DEFAULT_REQUEST_HEADERS,
91
- body: { checkoutId },
92
- })
93
- .willRespondWith({
94
- status: 200,
95
- headers: DEFAULT_RESPONSE_HEADERS,
96
- body: EXPECTED_BODY_WITHOUT_REPLACED_FOR,
97
- });
98
- return provider.executeTest(async (mockserver) => {
99
- const httpPost = fetchHttpPost({
100
- apiUrl: () => fromMockServerUrlToApiUrl(mockserver),
101
- getAuthToken: () => Promise.resolve(AUTH_TOKEN),
102
- device: "web",
103
- version: "1.0.0",
104
- });
105
- const response = await httpCheckoutByIdView({ httpPost })({ checkoutId, signal: undefined });
106
- expect(response).toStrictEqual(checkoutResponseWithoutReplacedFor.result);
107
- });
108
- });
109
- });
@@ -1,49 +0,0 @@
1
- import { MatchersV3, PactV3 } from "@pact-foundation/pact";
2
- import { fetchHttpPost } from "@lookiero/sty-psp-http";
3
- import { AUTH_TOKEN, DEFAULT_PACT_OPTIONS, DEFAULT_REQUEST_HEADERS, DEFAULT_RESPONSE_HEADERS, fromMockServerUrlToApiUrl, } from "../../../../pact.config";
4
- import { CheckoutItemStatus } from "../../../domain/checkoutItem/model/checkoutItem";
5
- import { checkout } from "./checkout.mock";
6
- import { httpFirstAvailableCheckoutByCustomerIdView } from "./httpFirstAvailableCheckoutByCustomerIdView";
7
- const provider = new PactV3({
8
- ...DEFAULT_PACT_OPTIONS,
9
- consumer: "STY-BOX_CHECKOUT-FRONT",
10
- provider: "STY-BOX_CHECKOUT-BACK_ViewFirstAvailableCheckoutByCustomerId",
11
- });
12
- const customerId = "fab61a4d-c94d-4e33-b098-1945294a5f75";
13
- const checkoutResponse = {
14
- result: checkout({ items: [{ status: CheckoutItemStatus.KEPT }] }),
15
- };
16
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
17
- // @ts-ignore
18
- const EXPECTED_BODY = MatchersV3.like(checkoutResponse);
19
- describe("STY-BOX_CHECKOUT-BACK_ViewFirstAvailableCheckoutByCustomerId API", () => {
20
- it("returns a first available checkout for the given customer id", () => {
21
- provider
22
- .given("a first available checkout for the given customer id")
23
- .uponReceiving("checkout projection")
24
- .withRequest({
25
- method: "POST",
26
- path: "/api/view-first-available-checkout-by-customer-id",
27
- headers: DEFAULT_REQUEST_HEADERS,
28
- body: { customerId },
29
- })
30
- .willRespondWith({
31
- status: 200,
32
- headers: DEFAULT_RESPONSE_HEADERS,
33
- body: EXPECTED_BODY,
34
- });
35
- return provider.executeTest(async (mockserver) => {
36
- const httpPost = fetchHttpPost({
37
- apiUrl: () => fromMockServerUrlToApiUrl(mockserver),
38
- getAuthToken: () => Promise.resolve(AUTH_TOKEN),
39
- device: "web",
40
- version: "1.0.0",
41
- });
42
- const response = await httpFirstAvailableCheckoutByCustomerIdView({ httpPost })({
43
- customerId,
44
- signal: undefined,
45
- });
46
- expect(response).toStrictEqual(checkoutResponse.result);
47
- });
48
- });
49
- });
@@ -1,44 +0,0 @@
1
- import { MatchersV3, PactV3 } from "@pact-foundation/pact";
2
- import { fetchHttpGet } from "@lookiero/sty-psp-http";
3
- import { AUTH_TOKEN, DEFAULT_PACT_OPTIONS, DEFAULT_REQUEST_HEADERS, DEFAULT_RESPONSE_HEADERS, fromMockServerUrlToApiUrl, } from "../../../../pact.config";
4
- import { httpFiveItemsDiscountByCustomerIdView } from "./httpFiveItemsDiscountByCustomerIdView";
5
- const provider = new PactV3({
6
- ...DEFAULT_PACT_OPTIONS,
7
- consumer: "STY-BOX_CHECKOUT-FRONT",
8
- provider: "STY-BOX_CHECKOUT-BACK_ViewFiveItemsDiscountByCustomerId",
9
- });
10
- const customerId = "fab61a4d-c94d-4e33-b098-1945294a5f75";
11
- const fiveItemsDiscountResponse = 25;
12
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
13
- // @ts-ignore
14
- const EXPECTED_BODY = MatchersV3.number(fiveItemsDiscountResponse);
15
- describe("STY-BOX_CHECKOUT-BACK_ViewFiveItemsDiscountByCustomerId API", () => {
16
- it("returns a five items discount for the given customer id", () => {
17
- provider
18
- .given("a five items discount for the given customer id")
19
- .uponReceiving("five items discount")
20
- .withRequest({
21
- method: "GET",
22
- path: `/api/view-five-items-discount-by-customer-id/${customerId}`,
23
- headers: DEFAULT_REQUEST_HEADERS,
24
- })
25
- .willRespondWith({
26
- status: 200,
27
- headers: DEFAULT_RESPONSE_HEADERS,
28
- body: EXPECTED_BODY,
29
- });
30
- return provider.executeTest(async (mockserver) => {
31
- const httpGet = fetchHttpGet({
32
- apiUrl: () => fromMockServerUrlToApiUrl(mockserver),
33
- getAuthToken: () => Promise.resolve(AUTH_TOKEN),
34
- device: "web",
35
- version: "1.0.0",
36
- });
37
- const response = await httpFiveItemsDiscountByCustomerIdView({ httpGet })({
38
- customerId,
39
- signal: undefined,
40
- });
41
- expect(response).toStrictEqual(fiveItemsDiscountResponse);
42
- });
43
- });
44
- });
@@ -1,44 +0,0 @@
1
- import { MatchersV3, PactV3 } from "@pact-foundation/pact";
2
- import { fetchHttpGet } from "@lookiero/sty-psp-http";
3
- import { AUTH_TOKEN, DEFAULT_PACT_OPTIONS, DEFAULT_REQUEST_HEADERS, DEFAULT_RESPONSE_HEADERS, fromMockServerUrlToApiUrl, } from "../../../../pact.config";
4
- import { httpIsCheckoutEnabledByCustomerIdView } from "./httpIsCheckoutEnabledByCustomerIdView";
5
- const provider = new PactV3({
6
- ...DEFAULT_PACT_OPTIONS,
7
- consumer: "STY-BOX_CHECKOUT-FRONT",
8
- provider: "STY-BOX_CHECKOUT-BACK_ViewIsCheckoutEnabledByCustomerId",
9
- });
10
- const customerId = "fab61a4d-c94d-4e33-b098-1945294a5f75";
11
- const isCheckoutEnabledResponse = true;
12
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
13
- // @ts-ignore
14
- const EXPECTED_BODY = MatchersV3.boolean(isCheckoutEnabledResponse);
15
- describe("STY-BOX_CHECKOUT-BACK_ViewIsCheckoutEnabledByCustomerId API", () => {
16
- it("returns is new checkout enabled for the given customer id", () => {
17
- provider
18
- .given("is new checkout enabled for the given customer id")
19
- .uponReceiving("is new checkout enabled")
20
- .withRequest({
21
- method: "GET",
22
- path: `/api/is-new-checkout-enabled/${customerId}`,
23
- headers: DEFAULT_REQUEST_HEADERS,
24
- })
25
- .willRespondWith({
26
- status: 200,
27
- headers: DEFAULT_RESPONSE_HEADERS,
28
- body: EXPECTED_BODY,
29
- });
30
- return provider.executeTest(async (mockserver) => {
31
- const httpGet = fetchHttpGet({
32
- apiUrl: () => fromMockServerUrlToApiUrl(mockserver),
33
- getAuthToken: () => Promise.resolve(AUTH_TOKEN),
34
- device: "web",
35
- version: "1.0.0",
36
- });
37
- const response = await httpIsCheckoutEnabledByCustomerIdView({ httpGet })({
38
- customerId,
39
- signal: undefined,
40
- });
41
- expect(response).toStrictEqual(isCheckoutEnabledResponse);
42
- });
43
- });
44
- });
@@ -1,44 +0,0 @@
1
- import { MatchersV3, PactV3 } from "@pact-foundation/pact";
2
- import { fetchHttpGet } from "@lookiero/sty-psp-http";
3
- import { AUTH_TOKEN, DEFAULT_PACT_OPTIONS, DEFAULT_REQUEST_HEADERS, DEFAULT_RESPONSE_HEADERS, fromMockServerUrlToApiUrl, } from "../../../../pact.config";
4
- import { httpIsSizeChangeEnabledByCheckoutIdView } from "./httpIsSizeChangeEnabledByCheckoutIdView";
5
- const provider = new PactV3({
6
- ...DEFAULT_PACT_OPTIONS,
7
- consumer: "STY-BOX_CHECKOUT-FRONT",
8
- provider: "STY-BOX_CHECKOUT-BACK_ViewIsSizeChangeEnabledByCheckoutId",
9
- });
10
- const checkoutId = "fab61a4d-c94d-4e33-b098-1945294a5f75";
11
- const isSizeChangeEnabledResponse = true;
12
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
13
- // @ts-ignore
14
- const EXPECTED_BODY = MatchersV3.like(isSizeChangeEnabledResponse);
15
- describe("STY-BOX_CHECKOUT-BACK_ViewIsSizeChangeEnabledByCheckoutId API", () => {
16
- it("returns is size-change enabled for the given checkout id", () => {
17
- provider
18
- .given("is size-change enabled for the given checkout id")
19
- .uponReceiving("is size-change enabled")
20
- .withRequest({
21
- method: "GET",
22
- path: `/api/is-size-change-enabled-by-checkout-id/${checkoutId}`,
23
- headers: DEFAULT_REQUEST_HEADERS,
24
- })
25
- .willRespondWith({
26
- status: 200,
27
- headers: DEFAULT_RESPONSE_HEADERS,
28
- body: EXPECTED_BODY,
29
- });
30
- return provider.executeTest(async (mockserver) => {
31
- const httpGet = fetchHttpGet({
32
- apiUrl: () => fromMockServerUrlToApiUrl(mockserver),
33
- getAuthToken: () => Promise.resolve(AUTH_TOKEN),
34
- device: "web",
35
- version: "1.0.0",
36
- });
37
- const response = await httpIsSizeChangeEnabledByCheckoutIdView({ httpGet })({
38
- checkoutId,
39
- signal: undefined,
40
- });
41
- expect(response).toStrictEqual(isSizeChangeEnabledResponse);
42
- });
43
- });
44
- });