@lookiero/checkout 8.14.0-beta.3 → 8.15.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 (194) hide show
  1. package/.eslintrc.js +1 -1
  2. package/cypress/integration/checkout.spec.ts +259 -0
  3. package/cypress/support/e2e.ts +3 -0
  4. package/cypress/support/index.d.ts +8 -0
  5. package/cypress/support/interceptBlockCheckoutBooking.ts +4 -0
  6. package/cypress/support/interceptGiveCheckoutFeedback.ts +4 -0
  7. package/cypress/support/interceptKeepCheckoutItem.ts +4 -0
  8. package/cypress/support/interceptListCheckoutQuestionsByCheckoutId.ts +9 -0
  9. package/cypress/support/interceptListReturnQuestionsByCheckoutItemId.ts +9 -0
  10. package/cypress/support/interceptPayment.ts +23 -0
  11. package/cypress/support/interceptReplaceCheckoutItem.ts +4 -0
  12. package/cypress/support/interceptReturnCheckoutItem.ts +4 -0
  13. package/cypress/support/interceptSubmitCheckout.ts +4 -0
  14. package/cypress/support/interceptViewBookedProductsVariantsForCheckoutItem.ts +9 -0
  15. package/cypress/support/interceptViewCheckoutById.ts +6 -0
  16. package/cypress/support/interceptViewFirstAvailableCheckoutByCustomerId.ts +9 -0
  17. package/cypress/support/interceptViewFiveItemsDiscountByCustomerId.ts +6 -0
  18. package/cypress/support/interceptViewIsSizeChangeEnabledByCheckoutId.ts +6 -0
  19. package/cypress/support/interceptViewPaymentFlowPayloadByCheckoutId.ts +9 -0
  20. package/cypress/support/interceptViewPricingByCheckoutId.ts +6 -0
  21. package/cypress/tsconfig.json +8 -0
  22. package/cypress.config.ts +50 -0
  23. package/dist/src/ExpoRoot.js +2 -2
  24. package/dist/src/infrastructure/projection/payment/react/useViewPaymentFlowPayloadByCheckoutId.js +1 -1
  25. package/dist/src/infrastructure/ui/Root.d.ts +1 -2
  26. package/dist/src/infrastructure/ui/Root.js +2 -4
  27. package/dist/src/infrastructure/ui/components/organisms/returnQuestions/components/hostSelectReturnQuestionItem/HostSelectReturnQuestionItem.js +2 -3
  28. package/dist/src/infrastructure/ui/components/organisms/returnQuestions/components/hostSelectReturnQuestionItem/HostSelectReturnQuestionItem.style.d.ts +1 -1
  29. package/dist/src/infrastructure/ui/components/organisms/returnQuestions/components/hostSelectReturnQuestionItem/HostSelectReturnQuestionItem.style.js +1 -1
  30. package/dist/src/infrastructure/ui/components/organisms/returnQuestions/components/modalOptionReturnQuestionItems/ModalOptionReturnQuestionItems.js +2 -3
  31. package/dist/src/infrastructure/ui/test/render.js +1 -3
  32. package/dist/src/infrastructure/ui/views/App.js +7 -12
  33. package/dist/src/infrastructure/ui/views/item/components/getOutOfCheckoutModal/GetOutOfCheckoutModal.js +2 -3
  34. package/dist/src/infrastructure/ui/views/item/components/getOutOfCheckoutModal/GetOutOfCheckoutModal.style.d.ts +1 -1
  35. package/dist/src/infrastructure/ui/views/item/components/getOutOfCheckoutModal/GetOutOfCheckoutModal.style.js +1 -1
  36. package/dist/src/infrastructure/ui/views/item/components/selectModal/SelectModal.d.ts +9 -2
  37. package/dist/src/infrastructure/ui/views/item/components/selectModal/SelectModal.js +5 -6
  38. package/dist/src/infrastructure/ui/views/item/components/selectModal/SelectModal.style.d.ts +1 -1
  39. package/dist/src/infrastructure/ui/views/item/components/selectModal/SelectModal.style.js +1 -1
  40. package/dist/src/infrastructure/ui/views/item/components/sizeWithoutStockModal/SizeWithoutStockModal.js +2 -3
  41. package/dist/src/infrastructure/ui/views/return/components/returnQuestionsForm/ReturnQuestionsForm.js +3 -2
  42. package/dist/src/infrastructure/ui/views/summary/components/collapsiblePricing/CollapsiblePricing.js +2 -2
  43. package/dist/src/infrastructure/ui/views/summaryTabs/components/checkoutItemsTabs/CheckoutItemsTabs.js +1 -1
  44. package/dist/src/version.d.ts +1 -1
  45. package/dist/src/version.js +1 -1
  46. package/jest.setup.js +0 -20
  47. package/package.json +10 -9
  48. package/src/ExpoRoot.tsx +2 -2
  49. package/src/infrastructure/domain/uiSetting/react/useUpdateUiSetting.test.ts +1 -1
  50. package/src/infrastructure/projection/payment/react/useViewPaymentFlowPayloadByCheckoutId.ts +1 -1
  51. package/src/infrastructure/ui/Root.tsx +17 -21
  52. package/src/infrastructure/ui/components/organisms/returnQuestions/components/hostSelectReturnQuestionItem/HostSelectReturnQuestionItem.style.ts +1 -1
  53. package/src/infrastructure/ui/components/organisms/returnQuestions/components/hostSelectReturnQuestionItem/HostSelectReturnQuestionItem.tsx +2 -3
  54. package/src/infrastructure/ui/components/organisms/returnQuestions/components/modalOptionReturnQuestionItems/ModalOptionReturnQuestionItems.tsx +2 -3
  55. package/src/infrastructure/ui/test/render.tsx +1 -4
  56. package/src/infrastructure/ui/views/App.tsx +16 -23
  57. package/src/infrastructure/ui/views/item/components/getOutOfCheckoutModal/GetOutOfCheckoutModal.style.ts +1 -1
  58. package/src/infrastructure/ui/views/item/components/getOutOfCheckoutModal/GetOutOfCheckoutModal.tsx +2 -3
  59. package/src/infrastructure/ui/views/item/components/getOutOfCheckoutModal/__snapshots__/GetOutOfCheckoutModal.test.tsx.snap +10 -6
  60. package/src/infrastructure/ui/views/item/components/itemActions/ItemActions.tsx +0 -1
  61. package/src/infrastructure/ui/views/item/components/productVariantSlider/__snapshots__/ProductVariantSlider.test.tsx.snap +26 -24
  62. package/src/infrastructure/ui/views/item/components/selectModal/SelectModal.style.ts +1 -1
  63. package/src/infrastructure/ui/views/item/components/selectModal/SelectModal.tsx +21 -10
  64. package/src/infrastructure/ui/views/item/components/selectModal/__snapshots__/SelecModal.test.tsx.snap +15 -5
  65. package/src/infrastructure/ui/views/item/components/sizeWithoutStockModal/SizeWithoutStockModal.tsx +2 -4
  66. package/src/infrastructure/ui/views/item/components/sizeWithoutStockModal/__snapshots__/SizeWithoutStockModal.test.tsx.snap +10 -6
  67. package/src/infrastructure/ui/views/item/views/itemWithoutCustomerDecission/ItemWithoutCustomerDecission.tsx +2 -2
  68. package/src/infrastructure/ui/views/item/views/productVariant/__snapshots__/ProductVariant.test.tsx.snap +78 -72
  69. package/src/infrastructure/ui/views/return/components/returnQuestionsForm/ReturnQuestionsForm.tsx +9 -3
  70. package/src/infrastructure/ui/views/shared/components/productVariant/__snapshots__/ProductVariant.test.tsx.snap +4 -4
  71. package/src/infrastructure/ui/views/summary/components/collapsiblePricing/CollapsiblePricing.tsx +2 -2
  72. package/src/infrastructure/ui/views/summary/components/collapsiblePricing/__snapshots__/CollapsiblePricing.test.tsx.snap +2 -2
  73. package/src/infrastructure/ui/views/summaryTabs/components/checkoutItemsTabs/CheckoutItemsTabs.tsx +2 -2
  74. package/src/infrastructure/ui/views/summaryTabs/components/checkoutItemsTabs/__snapshots__/CheckoutItemsTabs.test.tsx.snap +30 -28
  75. package/dist/pact.config.d.ts +0 -13
  76. package/dist/pact.config.js +0 -9
  77. package/dist/public/public/assets/adaptive-icon.png +0 -0
  78. package/dist/public/public/assets/favicon.png +0 -0
  79. package/dist/public/public/assets/icon.png +0 -0
  80. package/dist/public/public/assets/splash.png +0 -0
  81. package/dist/public/public/images/not-found.png +0 -0
  82. package/dist/src/infrastructure/projection/bookedProductsVariants/bookedProductsVariants.mock.d.ts +0 -3
  83. package/dist/src/infrastructure/projection/bookedProductsVariants/bookedProductsVariants.mock.js +0 -27
  84. package/dist/src/infrastructure/projection/bookedProductsVariants/httpBookedProductsVariantsForCheckoutItemView.pact.d.ts +0 -1
  85. package/dist/src/infrastructure/projection/bookedProductsVariants/httpBookedProductsVariantsForCheckoutItemView.pact.js +0 -48
  86. package/dist/src/infrastructure/projection/checkout/checkout.mock.d.ts +0 -19
  87. package/dist/src/infrastructure/projection/checkout/checkout.mock.js +0 -21
  88. package/dist/src/infrastructure/projection/checkout/httpCheckoutByIdView.pact.d.ts +0 -1
  89. package/dist/src/infrastructure/projection/checkout/httpCheckoutByIdView.pact.js +0 -109
  90. package/dist/src/infrastructure/projection/checkout/httpFirstAvailableCheckoutByCustomerIdView.pact.d.ts +0 -1
  91. package/dist/src/infrastructure/projection/checkout/httpFirstAvailableCheckoutByCustomerIdView.pact.js +0 -49
  92. package/dist/src/infrastructure/projection/checkout/httpFiveItemsDiscountByCustomerIdView.pact.d.ts +0 -1
  93. package/dist/src/infrastructure/projection/checkout/httpFiveItemsDiscountByCustomerIdView.pact.js +0 -44
  94. package/dist/src/infrastructure/projection/checkout/httpIsCheckoutEnabledByCustomerIdView.pact.d.ts +0 -1
  95. package/dist/src/infrastructure/projection/checkout/httpIsCheckoutEnabledByCustomerIdView.pact.js +0 -44
  96. package/dist/src/infrastructure/projection/checkout/httpIsSizeChangeEnabledByCheckoutIdView.pact.d.ts +0 -1
  97. package/dist/src/infrastructure/projection/checkout/httpIsSizeChangeEnabledByCheckoutIdView.pact.js +0 -44
  98. package/dist/src/infrastructure/projection/checkout/react/useViewIsCheckoutAccessibleByCustomerId.d.ts +0 -10
  99. package/dist/src/infrastructure/projection/checkout/react/useViewIsCheckoutAccessibleByCustomerId.js +0 -17
  100. package/dist/src/infrastructure/projection/checkoutBooking/checkoutBooking.mock.d.ts +0 -3
  101. package/dist/src/infrastructure/projection/checkoutBooking/checkoutBooking.mock.js +0 -6
  102. package/dist/src/infrastructure/projection/checkoutBooking/httpCheckoutBookingByIdView.pact.d.ts +0 -1
  103. package/dist/src/infrastructure/projection/checkoutBooking/httpCheckoutBookingByIdView.pact.js +0 -49
  104. package/dist/src/infrastructure/projection/checkoutItem/checkoutItem.mock.d.ts +0 -15
  105. package/dist/src/infrastructure/projection/checkoutItem/checkoutItem.mock.js +0 -43
  106. package/dist/src/infrastructure/projection/checkoutItem/httpCheckoutItemByIdView.pact.d.ts +0 -1
  107. package/dist/src/infrastructure/projection/checkoutItem/httpCheckoutItemByIdView.pact.js +0 -50
  108. package/dist/src/infrastructure/projection/checkoutQuestion/checkoutQuestions.mock.d.ts +0 -3
  109. package/dist/src/infrastructure/projection/checkoutQuestion/checkoutQuestions.mock.js +0 -103
  110. package/dist/src/infrastructure/projection/checkoutQuestion/httpCheckoutQuestionsByCheckoutIdView.pact.d.ts +0 -1
  111. package/dist/src/infrastructure/projection/checkoutQuestion/httpCheckoutQuestionsByCheckoutIdView.pact.js +0 -48
  112. package/dist/src/infrastructure/projection/payment/httpPaymentFlowPayloadByCheckoutIdView.pact.d.ts +0 -1
  113. package/dist/src/infrastructure/projection/payment/httpPaymentFlowPayloadByCheckoutIdView.pact.js +0 -109
  114. package/dist/src/infrastructure/projection/payment/paymentFlowPayload.mock.d.ts +0 -6
  115. package/dist/src/infrastructure/projection/payment/paymentFlowPayload.mock.js +0 -183
  116. package/dist/src/infrastructure/projection/pricing/httpPricingByCheckoutIdView.pact.d.ts +0 -1
  117. package/dist/src/infrastructure/projection/pricing/httpPricingByCheckoutIdView.pact.js +0 -48
  118. package/dist/src/infrastructure/projection/pricing/pricing.mock.d.ts +0 -9
  119. package/dist/src/infrastructure/projection/pricing/pricing.mock.js +0 -42
  120. package/dist/src/infrastructure/projection/returnQuestion/httpReturnQuestionsByCheckoutItemIdView.pact.d.ts +0 -1
  121. package/dist/src/infrastructure/projection/returnQuestion/httpReturnQuestionsByCheckoutItemIdView.pact.js +0 -48
  122. package/dist/src/infrastructure/projection/returnQuestion/returnQuestions.mock.d.ts +0 -3
  123. package/dist/src/infrastructure/projection/returnQuestion/returnQuestions.mock.js +0 -400
  124. package/dist/src/infrastructure/ui/components/layouts/layout/Layout.d.ts +0 -21
  125. package/dist/src/infrastructure/ui/components/layouts/layout/Layout.js +0 -1
  126. package/dist/src/infrastructure/ui/components/layouts/layout/components/footer/Footer.d.ts +0 -6
  127. package/dist/src/infrastructure/ui/components/layouts/layout/components/footer/Footer.js +0 -4
  128. package/dist/src/infrastructure/ui/components/layouts/layout/components/header/Header.d.ts +0 -6
  129. package/dist/src/infrastructure/ui/components/layouts/layout/components/header/Header.js +0 -5
  130. package/dist/src/infrastructure/ui/components/layouts/layout/components/header/Header.style.d.ts +0 -4
  131. package/dist/src/infrastructure/ui/components/layouts/layout/components/header/Header.style.js +0 -19
  132. package/dist/src/infrastructure/ui/components/layouts/layout/dummyLayout/DummyLayout.d.ts +0 -3
  133. package/dist/src/infrastructure/ui/components/layouts/layout/dummyLayout/DummyLayout.js +0 -18
  134. package/dist/src/infrastructure/ui/components/layouts/layout/dummyLayout/DummyLayout.style.d.ts +0 -12
  135. package/dist/src/infrastructure/ui/components/layouts/layout/dummyLayout/DummyLayout.style.js +0 -13
  136. package/dist/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.d.ts +0 -6
  137. package/dist/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.js +0 -11
  138. package/dist/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.style.d.ts +0 -8
  139. package/dist/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.style.js +0 -11
  140. package/dist/src/infrastructure/ui/hooks/useNewFeedbackExperiment.d.ts +0 -11
  141. package/dist/src/infrastructure/ui/hooks/useNewFeedbackExperiment.js +0 -49
  142. package/dist/src/infrastructure/ui/i18n/fetchTranslations.d.ts +0 -9
  143. package/dist/src/infrastructure/ui/i18n/fetchTranslations.js +0 -9
  144. package/dist/src/infrastructure/ui/i18n/translationEndpoint.d.ts +0 -19
  145. package/dist/src/infrastructure/ui/i18n/translationEndpoint.js +0 -21
  146. package/dist/src/infrastructure/ui/routing/CheckoutAccessibilityMiddleware.d.ts +0 -9
  147. package/dist/src/infrastructure/ui/routing/CheckoutAccessibilityMiddleware.js +0 -21
  148. package/dist/src/infrastructure/ui/views/App.style.d.ts +0 -6
  149. package/dist/src/infrastructure/ui/views/App.style.js +0 -7
  150. package/dist/src/infrastructure/ui/views/feedback/components/checkoutQuestionsForm/CheckoutQuestionsForm.style.d.ts +0 -7
  151. package/dist/src/infrastructure/ui/views/feedback/components/checkoutQuestionsForm/CheckoutQuestionsForm.style.js +0 -10
  152. package/dist/src/infrastructure/ui/views/item/components/returnQuestionsForm/ReturnQuestionsForm.d.ts +0 -11
  153. package/dist/src/infrastructure/ui/views/item/components/returnQuestionsForm/ReturnQuestionsForm.js +0 -40
  154. package/dist/src/infrastructure/ui/views/item/components/returnQuestionsForm/ReturnQuestionsForm.style.d.ts +0 -12
  155. package/dist/src/infrastructure/ui/views/item/components/returnQuestionsForm/ReturnQuestionsForm.style.js +0 -15
  156. package/dist/src/infrastructure/ui/views/return/Return.style.d.ts +0 -40
  157. package/dist/src/infrastructure/ui/views/return/Return.style.js +0 -43
  158. package/dist/src/infrastructure/ui/views/summary/components/stickyPricing/StickyPricing.d.ts +0 -13
  159. package/dist/src/infrastructure/ui/views/summary/components/stickyPricing/StickyPricing.js +0 -9
  160. package/dist/src/infrastructure/ui/views/summary/components/stickyPricing/StickyPricing.style.d.ts +0 -7
  161. package/dist/src/infrastructure/ui/views/summary/components/stickyPricing/StickyPricing.style.js +0 -10
  162. package/dist/src/projection/checkout/viewIsCheckoutAccessibleByCustomerId.d.ts +0 -17
  163. package/dist/src/projection/checkout/viewIsCheckoutAccessibleByCustomerId.js +0 -13
  164. package/dist/src/projection/shared/country.d.ts +0 -14
  165. package/dist/src/projection/shared/country.js +0 -15
  166. package/dist/src/projection/shared/customer.d.ts +0 -8
  167. package/dist/src/projection/shared/customer.js +0 -1
  168. package/dist/src/projection/shared/locale.d.ts +0 -12
  169. package/dist/src/projection/shared/locale.js +0 -13
  170. package/dist/src/projection/shared/order.d.ts +0 -6
  171. package/dist/src/projection/shared/order.js +0 -1
  172. package/dist/src/projection/shared/price.d.ts +0 -10
  173. package/dist/src/projection/shared/price.js +0 -1
  174. package/dist/src/projection/shared/size.d.ts +0 -20
  175. package/dist/src/projection/shared/size.js +0 -3
  176. package/dist/src/projection/shared/subscription.d.ts +0 -2
  177. package/dist/src/projection/shared/subscription.js +0 -1
  178. package/dist/src/shared/ui/components/atoms/error/Error.d.ts +0 -10
  179. package/dist/src/shared/ui/components/atoms/error/Error.js +0 -4
  180. package/pact.config.ts +0 -31
  181. package/pact.publish.js +0 -32
  182. package/src/infrastructure/projection/bookedProductsVariants/httpBookedProductsVariantsForCheckoutItemView.pact.ts +0 -62
  183. package/src/infrastructure/projection/checkout/httpCheckoutByIdView.pact.ts +0 -128
  184. package/src/infrastructure/projection/checkout/httpFirstAvailableCheckoutByCustomerIdView.pact.ts +0 -63
  185. package/src/infrastructure/projection/checkout/httpFiveItemsDiscountByCustomerIdView.pact.ts +0 -57
  186. package/src/infrastructure/projection/checkout/httpIsCheckoutEnabledByCustomerIdView.pact.ts +0 -57
  187. package/src/infrastructure/projection/checkout/httpIsSizeChangeEnabledByCheckoutIdView.pact.ts +0 -57
  188. package/src/infrastructure/projection/checkoutBooking/httpCheckoutBookingByIdView.pact.ts +0 -63
  189. package/src/infrastructure/projection/checkoutItem/httpCheckoutItemByIdView.pact.ts +0 -64
  190. package/src/infrastructure/projection/checkoutQuestion/httpCheckoutQuestionsByCheckoutIdView.pact.ts +0 -62
  191. package/src/infrastructure/projection/payment/httpPaymentFlowPayloadByCheckoutIdView.pact.ts +0 -136
  192. package/src/infrastructure/projection/pricing/httpPricingByCheckoutIdView.pact.ts +0 -62
  193. package/src/infrastructure/projection/returnQuestion/httpReturnQuestionsByCheckoutItemIdView.pact.ts +0 -62
  194. package/src/infrastructure/ui/views/App.style.ts +0 -9
@@ -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
- });
@@ -1,10 +0,0 @@
1
- import { UseQueryFunctionResult } from "@lookiero/messaging-react";
2
- import { IsCheckoutAccessibleByCustomerIdProjection } from "../../../../projection/checkout/viewIsCheckoutAccessibleByCustomerId";
3
- interface UseViewIsCheckoutAccessibleByCustomerIdFunctionArgs {
4
- readonly customerId: string | undefined;
5
- }
6
- interface UseViewIsCheckoutAccessibleByCustomerIdFunction {
7
- (args: UseViewIsCheckoutAccessibleByCustomerIdFunctionArgs): UseQueryFunctionResult<IsCheckoutAccessibleByCustomerIdProjection>;
8
- }
9
- declare const useViewIsCheckoutAccessibleByCustomerId: UseViewIsCheckoutAccessibleByCustomerIdFunction;
10
- export { useViewIsCheckoutAccessibleByCustomerId };
@@ -1,17 +0,0 @@
1
- import { useQuery } from "@lookiero/messaging-react";
2
- import { isCheckoutFeedbackGiven } from "../../../../domain/checkoutFeedback/model/checkoutFeedbackGiven";
3
- import { viewIsCheckoutAccessibleByCustomerId, } from "../../../../projection/checkout/viewIsCheckoutAccessibleByCustomerId";
4
- import { MESSAGING_CONTEXT_ID } from "../../../delivery/baseBootstrap";
5
- const useViewIsCheckoutAccessibleByCustomerId = ({ customerId }) => useQuery({
6
- query: viewIsCheckoutAccessibleByCustomerId({ customerId }),
7
- contextId: MESSAGING_CONTEXT_ID,
8
- invalidation: isCheckoutFeedbackGiven,
9
- options: {
10
- refetchOnMount: "always",
11
- staleTime: Infinity,
12
- retry: false,
13
- refetchOnWindowFocus: false,
14
- cacheTime: 0,
15
- },
16
- });
17
- export { useViewIsCheckoutAccessibleByCustomerId };
@@ -1,3 +0,0 @@
1
- import { CheckoutBookingProjection } from "../../../projection/checkoutBooking/checkoutBooking";
2
- declare const checkoutBooking: CheckoutBookingProjection;
3
- export { checkoutBooking };
@@ -1,6 +0,0 @@
1
- const checkoutBooking = {
2
- id: "e38f6e6d-a729-493b-aa4a-b1b325aa3092",
3
- checkoutItemIds: ["3bcf99f9-9f5f-43c0-bc01-706549eb84dc"],
4
- isExpired: false,
5
- };
6
- export { checkoutBooking };
@@ -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 { checkoutBooking as checkoutBookingMock } from "./checkoutBooking.mock";
5
- import { httpCheckoutBookingByIdView } from "./httpCheckoutBookingByIdView";
6
- const provider = new PactV3({
7
- ...DEFAULT_PACT_OPTIONS,
8
- consumer: "STY-BOX_CHECKOUT-FRONT",
9
- provider: "STY-BOX_CHECKOUT-BACK_ViewCheckoutBookingById",
10
- });
11
- const checkoutBookingProjection = checkoutBookingMock;
12
- const checkoutBookingId = checkoutBookingProjection.id;
13
- const checkoutBookingResponse = {
14
- result: checkoutBookingProjection,
15
- };
16
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
17
- // @ts-ignore
18
- const EXPECTED_BODY = MatchersV3.like(checkoutBookingResponse);
19
- describe("STY-BOX_CHECKOUT-BACK_ViewCheckoutBookingById API", () => {
20
- it("returns a valid checkout booking for the given id", () => {
21
- provider
22
- .given("a valid checkout booking for the given id")
23
- .uponReceiving("checkout booking projection")
24
- .withRequest({
25
- method: "POST",
26
- path: "/api/view-checkout-booking-by-id",
27
- headers: DEFAULT_REQUEST_HEADERS,
28
- body: { checkoutBookingId },
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 httpCheckoutBookingByIdView({ httpPost })({
43
- checkoutBookingId,
44
- signal: undefined,
45
- });
46
- expect(response).toStrictEqual(checkoutBookingResponse.result);
47
- });
48
- });
49
- });
@@ -1,15 +0,0 @@
1
- import { CheckoutItemStatus } from "../../../domain/checkoutItem/model/checkoutItem";
2
- import { CheckoutItemProductVariantProjection, CheckoutItemProjection } from "../../../projection/checkoutItem/checkoutItem";
3
- import { FeedbackProjection } from "../../../projection/feedback/feedback";
4
- interface CheckoutItemFunctionArgs {
5
- readonly id?: string;
6
- readonly status: CheckoutItemStatus;
7
- readonly feedbacks?: FeedbackProjection;
8
- readonly replacedFor?: CheckoutItemProductVariantProjection;
9
- }
10
- interface CheckoutItemFunction {
11
- (args: CheckoutItemFunctionArgs): CheckoutItemProjection;
12
- }
13
- declare const checkoutItem: CheckoutItemFunction;
14
- export type { CheckoutItemFunctionArgs };
15
- export { checkoutItem };
@@ -1,43 +0,0 @@
1
- import { Currency } from "../../../domain/checkoutItem/model/currency";
2
- import { MediaPerspective, } from "../../../projection/checkoutItem/checkoutItem";
3
- const checkoutItem = ({ id = "7b389d69-f157-4234-8531-c1a1eb17dccb", status, feedbacks = {}, replacedFor = null, }) => ({
4
- id,
5
- status,
6
- price: {
7
- amount: 3999,
8
- currency: Currency.EUR,
9
- },
10
- feedbacks,
11
- productVariant: {
12
- id: "7b389d69-f157-4234-8531-c1a1eb17dccb",
13
- media: [
14
- {
15
- id: "d7ec731b-4123-4394-829b-297b952e73e5",
16
- url: "https://cdn-catalog-back-prod.envs.lookiero.tech/1a/28/1a28f712-a76c-4172-8a11-f15002981dc0.jpg",
17
- perspective: MediaPerspective.MAIN,
18
- },
19
- {
20
- id: "8055e209-2fe9-44c5-b715-b09ad3ef741c",
21
- url: "https://cdn-catalog-back-prod.envs.lookiero.tech/15/ac/15aca112-4e71-4646-8db5-7f9723bc0130.jpg",
22
- perspective: MediaPerspective.DETAIL,
23
- },
24
- ],
25
- brand: "CKS",
26
- name: "Sari Tshirt lines",
27
- size: {
28
- id: "b26f7190-d505-4d24-aeb9-ad36e5e6ec4b",
29
- lookiero: "M",
30
- uk: "M",
31
- it: "M",
32
- europe: "M",
33
- unique: false,
34
- },
35
- color: {
36
- id: "c228d1b0-d06d-4d5c-a7d5-953fd43af0d8",
37
- name: "black",
38
- label: "black_C2",
39
- },
40
- },
41
- replacedFor,
42
- });
43
- export { checkoutItem };
@@ -1,50 +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 { checkoutItem } from "./checkoutItem.mock";
6
- import { httpCheckoutItemByIdView } from "./httpCheckoutItemByIdView";
7
- const provider = new PactV3({
8
- ...DEFAULT_PACT_OPTIONS,
9
- consumer: "STY-BOX_CHECKOUT-FRONT",
10
- provider: "STY-BOX_CHECKOUT-BACK_ViewCheckoutItemById",
11
- });
12
- const checkoutItemProjection = checkoutItem({ status: CheckoutItemStatus.INITIAL });
13
- const checkoutItemId = checkoutItemProjection.id;
14
- const checkoutItemResponse = {
15
- result: checkoutItemProjection,
16
- };
17
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
18
- // @ts-ignore
19
- const EXPECTED_BODY = MatchersV3.like(checkoutItemResponse);
20
- describe("STY-BOX_CHECKOUT-BACK_ViewCheckoutItemById API", () => {
21
- it("returns a valid checkout item for the given id", () => {
22
- provider
23
- .given("a valid checkout item for the given id")
24
- .uponReceiving("checkout item projection")
25
- .withRequest({
26
- method: "POST",
27
- path: "/api/view-checkout-item-by-id",
28
- headers: DEFAULT_REQUEST_HEADERS,
29
- body: { checkoutItemId },
30
- })
31
- .willRespondWith({
32
- status: 200,
33
- headers: DEFAULT_RESPONSE_HEADERS,
34
- body: EXPECTED_BODY,
35
- });
36
- return provider.executeTest(async (mockserver) => {
37
- const httpPost = fetchHttpPost({
38
- apiUrl: () => fromMockServerUrlToApiUrl(mockserver),
39
- getAuthToken: () => Promise.resolve(AUTH_TOKEN),
40
- device: "web",
41
- version: "1.0.0",
42
- });
43
- const response = await httpCheckoutItemByIdView({ httpPost })({
44
- checkoutItemId,
45
- signal: undefined,
46
- });
47
- expect(response).toStrictEqual(checkoutItemResponse.result);
48
- });
49
- });
50
- });
@@ -1,3 +0,0 @@
1
- import { CheckoutQuestionProjection } from "../../../projection/checkoutQuestion/checkoutQuestion";
2
- declare const checkoutQuestions: CheckoutQuestionProjection[];
3
- export { checkoutQuestions };
@@ -1,103 +0,0 @@
1
- import { CheckoutQuestionType, } from "../../../projection/checkoutQuestion/checkoutQuestion";
2
- const checkoutQuestions = [
3
- {
4
- id: "efe07b97-f6fb-4b6a-ba92-b68519320b2c",
5
- name: "checkout_question.selection.question",
6
- placeholder: "checkout_question.selection.placeholder",
7
- type: CheckoutQuestionType.HOST_SELECT,
8
- showCondition: [],
9
- children: [
10
- {
11
- id: "68c0bb98-b00a-4b86-af43-528fe903cb69",
12
- name: "checkout_question.icon.bad",
13
- placeholder: "",
14
- type: CheckoutQuestionType.ICON,
15
- showCondition: [],
16
- },
17
- {
18
- id: "85e84a77-461c-41e6-8544-95b5294d0b80",
19
- name: "checkout_question.icon.regular",
20
- placeholder: "",
21
- type: CheckoutQuestionType.ICON,
22
- showCondition: [],
23
- },
24
- {
25
- id: "29441d25-8d9f-471e-a13e-a03f61c88091",
26
- name: "checkout_question.icon.good",
27
- placeholder: "",
28
- type: CheckoutQuestionType.ICON,
29
- showCondition: [],
30
- },
31
- ],
32
- },
33
- {
34
- id: "6a6d3878-5561-412c-96f3-7ed79ee587bb",
35
- name: "checkout_question.experience.question",
36
- placeholder: "checkout_question.experience.placeholder",
37
- type: CheckoutQuestionType.HOST_SELECT,
38
- showCondition: [],
39
- children: [
40
- {
41
- id: "a3d937b6-7499-4a3c-86bf-5c0af9ab2e23",
42
- name: "checkout_question.icon.bad",
43
- placeholder: "",
44
- type: CheckoutQuestionType.ICON,
45
- showCondition: [],
46
- },
47
- {
48
- id: "7970edd3-fb5c-42d3-afe3-ce31bcbb856c",
49
- name: "checkout_question.icon.regular",
50
- placeholder: "",
51
- type: CheckoutQuestionType.ICON,
52
- showCondition: [],
53
- },
54
- {
55
- id: "bab3d4f9-0227-4550-a53f-3c125d68429c",
56
- name: "checkout_question.icon.good",
57
- placeholder: "",
58
- type: CheckoutQuestionType.ICON,
59
- showCondition: [],
60
- },
61
- ],
62
- },
63
- {
64
- id: "a1acdb2d-62c8-467f-b7cc-dc24d967290c",
65
- name: "checkout_question.personalshopper.question",
66
- placeholder: "checkout_question.personalshopper.placeholder",
67
- type: CheckoutQuestionType.HOST_SELECT,
68
- showCondition: ["68c0bb98-b00a-4b86-af43-528fe903cb69"],
69
- children: [
70
- {
71
- id: "cce7851c-92c7-461b-8dcb-903c5de59ed1",
72
- name: "checkout_question.personalshopper.yes",
73
- placeholder: "",
74
- type: CheckoutQuestionType.BUTTON,
75
- showCondition: [],
76
- },
77
- {
78
- id: "4bf8f27d-669b-4d36-8d39-b5599c671816",
79
- name: "checkout_question.personalshopper.no",
80
- placeholder: "",
81
- type: CheckoutQuestionType.BUTTON,
82
- showCondition: [],
83
- },
84
- ],
85
- },
86
- {
87
- id: "ce3e8d57-5eea-4dd3-bef4-2e811a143612",
88
- name: "checkout_question.comment.question",
89
- placeholder: "",
90
- type: CheckoutQuestionType.HOST_TEXTAREA,
91
- showCondition: [],
92
- children: [
93
- {
94
- id: "1123a37d-bc00-43a4-9d28-cee1dfaf356c",
95
- name: "checkout_question.comment.question",
96
- placeholder: "checkout_question.comment.placeholder",
97
- type: CheckoutQuestionType.TEXTAREA,
98
- showCondition: [],
99
- },
100
- ],
101
- },
102
- ];
103
- export { checkoutQuestions };
@@ -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 { checkoutQuestions } from "./checkoutQuestions.mock";
5
- import { httpCheckoutQuestionsByCheckoutIdView } from "./httpCheckoutQuestionsByCheckoutIdView";
6
- const provider = new PactV3({
7
- ...DEFAULT_PACT_OPTIONS,
8
- consumer: "STY-BOX_CHECKOUT-FRONT",
9
- provider: "STY-BOX_CHECKOUT-BACK_ListCheckoutQuestionsByCheckoutId",
10
- });
11
- const checkoutId = "52440ae5-7a4c-498b-8b35-08ecfde15776";
12
- const checkoutQuestionsResponse = {
13
- result: checkoutQuestions,
14
- };
15
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
16
- // @ts-ignore
17
- const EXPECTED_BODY = MatchersV3.like(checkoutQuestionsResponse);
18
- describe("STY-BOX_CHECKOUT-BACK_ListCheckoutQuestionsByCheckoutId API", () => {
19
- it("returns a valid checkout questions for the given checkout id", () => {
20
- provider
21
- .given("a valid checkout questions for the given checkout id")
22
- .uponReceiving("checkout questions projection")
23
- .withRequest({
24
- method: "POST",
25
- path: "/api/list-checkout-questions-by-checkout-id",
26
- headers: DEFAULT_REQUEST_HEADERS,
27
- body: { checkoutId },
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 httpCheckoutQuestionsByCheckoutIdView({ httpPost })({
42
- checkoutId,
43
- signal: undefined,
44
- });
45
- expect(response).toStrictEqual(checkoutQuestionsResponse.result);
46
- });
47
- });
48
- });
@@ -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 { httpPaymentFlowPayloadByCheckoutIdView } from "./httpPaymentFlowPayloadByCheckoutIdView";
5
- import { paymentFlowPayloadForKeptItems, paymentFlowPayloadForReturnedItems, paymentFlowPayloadForReplacedItems, } from "./paymentFlowPayload.mock";
6
- const provider = new PactV3({
7
- ...DEFAULT_PACT_OPTIONS,
8
- consumer: "STY-BOX_CHECKOUT-FRONT",
9
- provider: "STY-BOX_CHECKOUT-BACK_ViewPaymentFlowPayloadByCheckoutId",
10
- });
11
- const checkoutId = "e2490de5-5bd3-43d5-b7c4-526e33f71304";
12
- const paymentFlowPayloadForKeptItemsResponse = {
13
- result: paymentFlowPayloadForKeptItems,
14
- };
15
- const paymentFlowPayloadForReturnedItemsResponse = {
16
- result: paymentFlowPayloadForReturnedItems,
17
- };
18
- const paymentFlowPayloadForReplacedItemsResponse = {
19
- result: paymentFlowPayloadForReplacedItems,
20
- };
21
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
22
- // @ts-ignore
23
- const EXPECTED_BODY_FOR_KEPT_ITEMS = MatchersV3.like(paymentFlowPayloadForKeptItemsResponse);
24
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
- // @ts-ignore
26
- const EXPECTED_BODY_FOR_RETURNED_ITEMS = MatchersV3.like(paymentFlowPayloadForReturnedItemsResponse);
27
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
28
- // @ts-ignore
29
- const EXPECTED_BODY_FOR_REPLACED_ITEMS = MatchersV3.like(paymentFlowPayloadForReplacedItemsResponse);
30
- describe("STY-BOX_CHECKOUT-BACK_ViewPaymentFlowPayloadByCheckoutId API", () => {
31
- it("returns a valid payment-flow payload for the given checkout id [KEPT items] ", () => {
32
- provider
33
- .given("a valid payment-flow payload for the given checkout id [KEPT items] ")
34
- .uponReceiving("payment-flow payload projection")
35
- .withRequest({
36
- method: "POST",
37
- path: "/api/view-payment-flow-payload-by-checkout-id",
38
- headers: DEFAULT_REQUEST_HEADERS,
39
- body: { checkoutId },
40
- })
41
- .willRespondWith({
42
- status: 200,
43
- headers: DEFAULT_RESPONSE_HEADERS,
44
- body: EXPECTED_BODY_FOR_KEPT_ITEMS,
45
- });
46
- return provider.executeTest(async (mockserver) => {
47
- const httpPost = fetchHttpPost({
48
- apiUrl: () => fromMockServerUrlToApiUrl(mockserver),
49
- getAuthToken: () => Promise.resolve(AUTH_TOKEN),
50
- device: "web",
51
- version: "1.0.0",
52
- });
53
- const response = await httpPaymentFlowPayloadByCheckoutIdView({ httpPost })({ checkoutId, signal: undefined });
54
- expect(response).toStrictEqual(paymentFlowPayloadForKeptItemsResponse.result);
55
- });
56
- });
57
- it("returns a valid payment-flow payload for the given checkout id [RETURNED items] ", () => {
58
- provider
59
- .given("a valid payment-flow payload for the given checkout id [RETURNED items] ")
60
- .uponReceiving("payment-flow payload projection")
61
- .withRequest({
62
- method: "POST",
63
- path: "/api/view-payment-flow-payload-by-checkout-id",
64
- headers: DEFAULT_REQUEST_HEADERS,
65
- body: { checkoutId },
66
- })
67
- .willRespondWith({
68
- status: 200,
69
- headers: DEFAULT_RESPONSE_HEADERS,
70
- body: EXPECTED_BODY_FOR_RETURNED_ITEMS,
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 httpPaymentFlowPayloadByCheckoutIdView({ httpPost })({ checkoutId, signal: undefined });
80
- expect(response).toStrictEqual(paymentFlowPayloadForReturnedItemsResponse.result);
81
- });
82
- });
83
- it("returns a valid payment-flow payload for the given checkout id [REPLACED items] ", () => {
84
- provider
85
- .given("a valid payment-flow payload for the given checkout id [REPLACED items] ")
86
- .uponReceiving("payment-flow payload projection")
87
- .withRequest({
88
- method: "POST",
89
- path: "/api/view-payment-flow-payload-by-checkout-id",
90
- headers: DEFAULT_REQUEST_HEADERS,
91
- body: { checkoutId },
92
- })
93
- .willRespondWith({
94
- status: 200,
95
- headers: DEFAULT_RESPONSE_HEADERS,
96
- body: EXPECTED_BODY_FOR_REPLACED_ITEMS,
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 httpPaymentFlowPayloadByCheckoutIdView({ httpPost })({ checkoutId, signal: undefined });
106
- expect(response).toStrictEqual(paymentFlowPayloadForReplacedItemsResponse.result);
107
- });
108
- });
109
- });
@@ -1,6 +0,0 @@
1
- import { PaymentFlowPayloadProjection } from "../../../projection/payment/paymentFlowPayload";
2
- declare const paymentFlowPayloadForKeptItems: PaymentFlowPayloadProjection;
3
- declare const paymentFlowPayloadForReturnedItems: PaymentFlowPayloadProjection;
4
- declare const paymentFlowPayloadForReplacedItems: PaymentFlowPayloadProjection;
5
- declare const paymentFlowPayload: PaymentFlowPayloadProjection;
6
- export { paymentFlowPayload, paymentFlowPayloadForKeptItems, paymentFlowPayloadForReturnedItems, paymentFlowPayloadForReplacedItems, };