@mirai/core 0.3.378 → 0.3.380

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 (107) hide show
  1. package/__tests__/Checkout/__mocks__/checkout-get.json +935 -0
  2. package/__tests__/Checkout/__mocks__/checkout-post-PAYLATER.json +10 -0
  3. package/__tests__/Checkout/__mocks__/checkout-post-TPV.json +7 -0
  4. package/__tests__/Checkout/__mocks__/checkout-post-TRANSFER.json +10 -0
  5. package/__tests__/Checkout/checkout.constants.js +8 -0
  6. package/__tests__/Checkout/checkout.spec.jsx +40 -0
  7. package/__tests__/Checkout/workflows/form.workflow.js +17 -0
  8. package/__tests__/Checkout/workflows/index.js +4 -0
  9. package/__tests__/Checkout/workflows/payment.workflow.js +10 -0
  10. package/__tests__/Checkout/workflows/review.workflow.js +19 -0
  11. package/__tests__/Checkout/workflows/submit.workflow.js +9 -0
  12. package/__tests__/Finder/finder.spec.js +64 -0
  13. package/__tests__/Finder/workflows/calendar.workflow.js +9 -0
  14. package/__tests__/Finder/workflows/index.js +3 -0
  15. package/__tests__/Finder/workflows/occupation.workflow.js +13 -0
  16. package/__tests__/Finder/workflows/promocode.workflow.js +8 -0
  17. package/__tests__/Rates/__mocks__/rates-success.json +731 -0
  18. package/__tests__/Rates/rates.spec.jsx +20 -0
  19. package/__tests__/Session/session.spec.js +17 -0
  20. package/__tests__/Session/workflows/bookings.workflow.js +18 -0
  21. package/__tests__/Session/workflows/forgotPassword.workflow.js +20 -0
  22. package/__tests__/Session/workflows/index.js +5 -0
  23. package/__tests__/Session/workflows/login.workflow.js +29 -0
  24. package/__tests__/Session/workflows/logout.workflow.js +8 -0
  25. package/__tests__/Session/workflows/profile.workflow.js +49 -0
  26. package/__tests__/Signup/signup.spec.js +13 -0
  27. package/__tests__/Signup/workflows/index.js +1 -0
  28. package/__tests__/Signup/workflows/signup.workflow.js +26 -0
  29. package/__tests__/constants.js +18 -0
  30. package/__tests__/helpers/closeNotification.js +7 -0
  31. package/__tests__/helpers/getWeekNumber.js +8 -0
  32. package/__tests__/helpers/index.js +2 -0
  33. package/build/Core.Notifications.js +1 -1
  34. package/build/Core.Notifications.js.map +1 -1
  35. package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +10 -10
  36. package/build/components/Checkout/Checkout.js +1 -0
  37. package/build/components/Checkout/Checkout.js.map +1 -1
  38. package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +32 -32
  39. package/build/components/Checkout/partials/Checkout.Confirmation.js +2 -1
  40. package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
  41. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Confirmation.test.js.snap +6 -0
  42. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +28 -8
  43. package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +114 -114
  44. package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +211 -209
  45. package/build/components/Environment/Environment.js +4 -2
  46. package/build/components/Environment/Environment.js.map +1 -1
  47. package/build/components/Finder/Finder.compact.js +10 -5
  48. package/build/components/Finder/Finder.compact.js.map +1 -1
  49. package/build/components/Finder/Finder.constants.js +1 -2
  50. package/build/components/Finder/Finder.constants.js.map +1 -1
  51. package/build/components/Finder/Finder.js +4 -20
  52. package/build/components/Finder/Finder.js.map +1 -1
  53. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +734 -730
  54. package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +419 -419
  55. package/build/components/Header/Header.js +1 -0
  56. package/build/components/Header/Header.js.map +1 -1
  57. package/build/components/Profile/components/Bookings/Bookings.Search.js +9 -8
  58. package/build/components/Profile/components/Bookings/Bookings.Search.js.map +1 -1
  59. package/build/components/Profile/components/Bookings/Bookings.js +1 -0
  60. package/build/components/Profile/components/Bookings/Bookings.js.map +1 -1
  61. package/build/components/Profile/components/Settings/Settings.Account.js +2 -2
  62. package/build/components/Profile/components/Settings/Settings.Account.js.map +1 -1
  63. package/build/components/Profile/components/Settings/Settings.Password.js +31 -33
  64. package/build/components/Profile/components/Settings/Settings.Password.js.map +1 -1
  65. package/build/components/Profile/components/Settings/Settings.Signout.js +11 -8
  66. package/build/components/Profile/components/Settings/Settings.Signout.js.map +1 -1
  67. package/build/components/Profile/components/Settings/Settings.js +2 -1
  68. package/build/components/Profile/components/Settings/Settings.js.map +1 -1
  69. package/build/components/Profile/components/Settings/Settings.l10n.js +4 -0
  70. package/build/components/Profile/components/Settings/Settings.l10n.js.map +1 -1
  71. package/build/components/Profile/components/Settings/Settings.module.css +2 -4
  72. package/build/components/Session/Session.Account.js +10 -5
  73. package/build/components/Session/Session.Account.js.map +1 -1
  74. package/build/components/Session/Session.Login.Modal.js +10 -5
  75. package/build/components/Session/Session.Login.Modal.js.map +1 -1
  76. package/build/components/Session/Session.Login.js +2 -1
  77. package/build/components/Session/Session.Login.js.map +1 -1
  78. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +23 -0
  79. package/build/components/Signup/Signup.js +3 -1
  80. package/build/components/Signup/Signup.js.map +1 -1
  81. package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +9 -6
  82. package/build/components/__shared__/BookingDetails/BookingDetails.js +2 -1
  83. package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
  84. package/build/components/__shared__/BookingDetails/__tests__/__snapshots__/BookingDetails.test.js.snap +5 -0
  85. package/build/components/__shared__/BookingSummary/BookingSummary.js +2 -1
  86. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  87. package/build/components/__shared__/ButtonMore/ButtonMore.js +1 -1
  88. package/build/components/__shared__/ButtonMore/ButtonMore.js.map +1 -1
  89. package/build/components/__shared__/ButtonMore/__tests__/__snapshots__/ButtonMore.test.js.snap +2 -0
  90. package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +1 -0
  91. package/build/components/__shared__/FieldPromocode/FieldPromocode.js +4 -2
  92. package/build/components/__shared__/FieldPromocode/FieldPromocode.js.map +1 -1
  93. package/build/components/__shared__/FieldPromocode/__tests__/__snapshots__/FieldPromocode.test.jsx.snap +2 -1
  94. package/build/components/__shared__/Occupation/Occupation.Group.js +2 -1
  95. package/build/components/__shared__/Occupation/Occupation.Group.js.map +1 -1
  96. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +6 -0
  97. package/build/components/__shared__/Payment/Payment.js +2 -1
  98. package/build/components/__shared__/Payment/Payment.js.map +1 -1
  99. package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +25 -10
  100. package/build/helpers/consolidateStore.js +1 -1
  101. package/build/helpers/consolidateStore.js.map +1 -1
  102. package/build/index.js +2 -1
  103. package/build/index.js.map +1 -1
  104. package/package.json +4 -3
  105. package/playwright.config.js +28 -89
  106. package/public/routes/Home.jsx +3 -4
  107. /package/__tests__/bookingQuery/{bookingQuey.spec.js → bookingQuey._spec.js} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports[`component:<Checkout> Test A/B variant A 1`] = `
4
4
  <DocumentFragment>
5
- <ui-view
5
+ <ui-header
6
6
  class="view wide"
7
7
  >
8
8
  <ui-view
@@ -167,8 +167,8 @@ exports[`component:<Checkout> Test A/B variant A 1`] = `
167
167
  </ui-tooltip>
168
168
  </ui-view>
169
169
  </ui-view>
170
- </ui-view>
171
- <ui-view
170
+ </ui-header>
171
+ <ui-checkout
172
172
  class="view"
173
173
  >
174
174
  <ui-progress
@@ -213,7 +213,7 @@ exports[`component:<Checkout> Test A/B variant A 1`] = `
213
213
  />
214
214
  </ui-view>
215
215
  </ui-view>
216
- </ui-view>
216
+ </ui-checkout>
217
217
  <ui-view
218
218
  class="view row"
219
219
  >
@@ -264,7 +264,7 @@ exports[`component:<Checkout> Test A/B variant A 1`] = `
264
264
 
265
265
  exports[`component:<Checkout> Test A/B variant B 1`] = `
266
266
  <DocumentFragment>
267
- <ui-view
267
+ <ui-header
268
268
  class="view wide"
269
269
  >
270
270
  <ui-view
@@ -429,8 +429,8 @@ exports[`component:<Checkout> Test A/B variant B 1`] = `
429
429
  </ui-tooltip>
430
430
  </ui-view>
431
431
  </ui-view>
432
- </ui-view>
433
- <ui-view
432
+ </ui-header>
433
+ <ui-checkout
434
434
  class="view"
435
435
  >
436
436
  <ui-progress
@@ -475,7 +475,7 @@ exports[`component:<Checkout> Test A/B variant B 1`] = `
475
475
  />
476
476
  </ui-view>
477
477
  </ui-view>
478
- </ui-view>
478
+ </ui-checkout>
479
479
  <ui-view
480
480
  class="view row"
481
481
  >
@@ -526,7 +526,7 @@ exports[`component:<Checkout> Test A/B variant B 1`] = `
526
526
 
527
527
  exports[`component:<Checkout> inherit:className 1`] = `
528
528
  <DocumentFragment>
529
- <ui-view
529
+ <ui-header
530
530
  class="view wide"
531
531
  >
532
532
  <ui-view
@@ -691,8 +691,8 @@ exports[`component:<Checkout> inherit:className 1`] = `
691
691
  </ui-tooltip>
692
692
  </ui-view>
693
693
  </ui-view>
694
- </ui-view>
695
- <ui-view
694
+ </ui-header>
695
+ <ui-checkout
696
696
  class="view mirai"
697
697
  >
698
698
  <ui-progress
@@ -737,7 +737,7 @@ exports[`component:<Checkout> inherit:className 1`] = `
737
737
  />
738
738
  </ui-view>
739
739
  </ui-view>
740
- </ui-view>
740
+ </ui-checkout>
741
741
  <ui-view
742
742
  class="view row"
743
743
  >
@@ -788,7 +788,7 @@ exports[`component:<Checkout> inherit:className 1`] = `
788
788
 
789
789
  exports[`component:<Checkout> prop:session (false) 1`] = `
790
790
  <DocumentFragment>
791
- <ui-view
791
+ <ui-header
792
792
  class="view wide"
793
793
  >
794
794
  <ui-view
@@ -953,8 +953,8 @@ exports[`component:<Checkout> prop:session (false) 1`] = `
953
953
  </ui-tooltip>
954
954
  </ui-view>
955
955
  </ui-view>
956
- </ui-view>
957
- <ui-view
956
+ </ui-header>
957
+ <ui-checkout
958
958
  class="view"
959
959
  >
960
960
  <ui-progress
@@ -999,7 +999,7 @@ exports[`component:<Checkout> prop:session (false) 1`] = `
999
999
  />
1000
1000
  </ui-view>
1001
1001
  </ui-view>
1002
- </ui-view>
1002
+ </ui-checkout>
1003
1003
  <ui-view
1004
1004
  class="view row"
1005
1005
  >
@@ -1050,7 +1050,7 @@ exports[`component:<Checkout> prop:session (false) 1`] = `
1050
1050
 
1051
1051
  exports[`component:<Checkout> prop:skeleton 1`] = `
1052
1052
  <DocumentFragment>
1053
- <ui-view
1053
+ <ui-header
1054
1054
  class="view wide"
1055
1055
  >
1056
1056
  <ui-view
@@ -1215,8 +1215,8 @@ exports[`component:<Checkout> prop:skeleton 1`] = `
1215
1215
  </ui-tooltip>
1216
1216
  </ui-view>
1217
1217
  </ui-view>
1218
- </ui-view>
1219
- <ui-view
1218
+ </ui-header>
1219
+ <ui-checkout
1220
1220
  class="view"
1221
1221
  >
1222
1222
  <ui-progress
@@ -1261,7 +1261,7 @@ exports[`component:<Checkout> prop:skeleton 1`] = `
1261
1261
  />
1262
1262
  </ui-view>
1263
1263
  </ui-view>
1264
- </ui-view>
1264
+ </ui-checkout>
1265
1265
  <ui-view
1266
1266
  class="view row"
1267
1267
  >
@@ -1312,7 +1312,7 @@ exports[`component:<Checkout> prop:skeleton 1`] = `
1312
1312
 
1313
1313
  exports[`component:<Checkout> renders 1`] = `
1314
1314
  <DocumentFragment>
1315
- <ui-view
1315
+ <ui-header
1316
1316
  class="view wide"
1317
1317
  >
1318
1318
  <ui-view
@@ -1477,8 +1477,8 @@ exports[`component:<Checkout> renders 1`] = `
1477
1477
  </ui-tooltip>
1478
1478
  </ui-view>
1479
1479
  </ui-view>
1480
- </ui-view>
1481
- <ui-view
1480
+ </ui-header>
1481
+ <ui-checkout
1482
1482
  class="view"
1483
1483
  >
1484
1484
  <ui-progress
@@ -1523,7 +1523,7 @@ exports[`component:<Checkout> renders 1`] = `
1523
1523
  />
1524
1524
  </ui-view>
1525
1525
  </ui-view>
1526
- </ui-view>
1526
+ </ui-checkout>
1527
1527
  <ui-view
1528
1528
  class="view row"
1529
1529
  >
@@ -1574,7 +1574,7 @@ exports[`component:<Checkout> renders 1`] = `
1574
1574
 
1575
1575
  exports[`component:<Checkout> testID 1`] = `
1576
1576
  <DocumentFragment>
1577
- <ui-view
1577
+ <ui-header
1578
1578
  class="view wide"
1579
1579
  >
1580
1580
  <ui-view
@@ -1739,8 +1739,8 @@ exports[`component:<Checkout> testID 1`] = `
1739
1739
  </ui-tooltip>
1740
1740
  </ui-view>
1741
1741
  </ui-view>
1742
- </ui-view>
1743
- <ui-view
1742
+ </ui-header>
1743
+ <ui-checkout
1744
1744
  class="view"
1745
1745
  data-testid="mirai"
1746
1746
  >
@@ -1786,7 +1786,7 @@ exports[`component:<Checkout> testID 1`] = `
1786
1786
  />
1787
1787
  </ui-view>
1788
1788
  </ui-view>
1789
- </ui-view>
1789
+ </ui-checkout>
1790
1790
  <ui-view
1791
1791
  class="view row"
1792
1792
  >
@@ -1837,7 +1837,7 @@ exports[`component:<Checkout> testID 1`] = `
1837
1837
 
1838
1838
  exports[`component:<Checkout> with a store 1`] = `
1839
1839
  <DocumentFragment>
1840
- <ui-view
1840
+ <ui-header
1841
1841
  class="view wide"
1842
1842
  >
1843
1843
  <ui-view
@@ -2002,8 +2002,8 @@ exports[`component:<Checkout> with a store 1`] = `
2002
2002
  </ui-tooltip>
2003
2003
  </ui-view>
2004
2004
  </ui-view>
2005
- </ui-view>
2006
- <ui-view
2005
+ </ui-header>
2006
+ <ui-checkout
2007
2007
  class="view"
2008
2008
  >
2009
2009
  <ui-progress
@@ -2048,7 +2048,7 @@ exports[`component:<Checkout> with a store 1`] = `
2048
2048
  />
2049
2049
  </ui-view>
2050
2050
  </ui-view>
2051
- </ui-view>
2051
+ </ui-checkout>
2052
2052
  <ui-view
2053
2053
  class="view row"
2054
2054
  >
@@ -140,7 +140,8 @@ const Confirmation = _ref => {
140
140
  promise: handleSubmit,
141
141
  wide: true,
142
142
  onError: handleError,
143
- onPress: handlePress
143
+ onPress: handlePress,
144
+ testId: "checkout-button"
144
145
  }), translate((0, _helpers.getButtonPaymentKey)({
145
146
  ...config,
146
147
  ...(dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$payment = dataSource.payment) === null || _dataSource$payment === void 0 ? void 0 : _dataSource$payment.info),
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","_Checkout2","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","value","checkout","hotel","id","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","method","handleError","handlePress","handleSubmit","concat","TRACKING","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","service","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","shape","bool","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT, getButtonPaymentKey } from '../../helpers';\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nlet hasTracking = false;\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const { value: { checkout, hotel = {}, id, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n onError();\n return false;\n }\n\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) return onError();\n\n onValid();\n hasTracking && track(`${TRACKING}:CTA`, { locale });\n\n setResponseError();\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'confirm', error, locale });\n });\n\n if (response && hasTracking) track(`${TRACKING}:SUCCESS`, { locale });\n\n return response;\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","_Checkout2","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","value","checkout","hotel","id","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","method","handleError","handlePress","handleSubmit","concat","TRACKING","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","service","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","shape","bool","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT, getButtonPaymentKey } from '../../helpers';\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nlet hasTracking = false;\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const { value: { checkout, hotel = {}, id, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n onError();\n return false;\n }\n\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) return onError();\n\n onValid();\n hasTracking && track(`${TRACKING}:CTA`, { locale });\n\n setResponseError();\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'confirm', error, locale });\n });\n\n if (response && hasTracking) track(`${TRACKING}:SUCCESS`, { locale });\n\n return response;\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
@@ -196,6 +196,7 @@ exports[`component:<Checkout> partial:<Confirmation> Test A/B variant A 1`] = `
196
196
  >
197
197
  <ui-button
198
198
  class="pressable button large wide"
199
+ data-testid="checkout-button"
199
200
  disabled="false"
200
201
  methods="CARD,AMAZON_PAY"
201
202
  tabindex="0"
@@ -459,6 +460,7 @@ exports[`component:<Checkout> partial:<Confirmation> Test A/B variant B 1`] = `
459
460
  >
460
461
  <ui-button
461
462
  class="pressable button large wide"
463
+ data-testid="checkout-button"
462
464
  disabled="false"
463
465
  methods="CARD,AMAZON_PAY"
464
466
  tabindex="0"
@@ -721,6 +723,7 @@ exports[`component:<Checkout> partial:<Confirmation> inherit:className 1`] = `
721
723
  >
722
724
  <ui-button
723
725
  class="pressable button large wide"
726
+ data-testid="checkout-button"
724
727
  disabled="false"
725
728
  methods="CARD,AMAZON_PAY"
726
729
  tabindex="0"
@@ -983,6 +986,7 @@ exports[`component:<Checkout> partial:<Confirmation> renders 1`] = `
983
986
  >
984
987
  <ui-button
985
988
  class="pressable button large wide"
989
+ data-testid="checkout-button"
986
990
  disabled="false"
987
991
  methods="CARD,AMAZON_PAY"
988
992
  tabindex="0"
@@ -1246,6 +1250,7 @@ exports[`component:<Checkout> partial:<Confirmation> testID 1`] = `
1246
1250
  >
1247
1251
  <ui-button
1248
1252
  class="pressable button large wide"
1253
+ data-testid="checkout-button"
1249
1254
  disabled="false"
1250
1255
  methods="CARD,AMAZON_PAY"
1251
1256
  tabindex="0"
@@ -1508,6 +1513,7 @@ exports[`component:<Checkout> partial:<Confirmation> with a store 1`] = `
1508
1513
  >
1509
1514
  <ui-button
1510
1515
  class="pressable button large wide"
1516
+ data-testid="checkout-button"
1511
1517
  disabled="false"
1512
1518
  methods="CARD,AMAZON_PAY"
1513
1519
  tabindex="0"
@@ -1369,7 +1369,7 @@ exports[`component:<Checkout> partial:<Form> inherit:className 1`] = `
1369
1369
  </ui-label>
1370
1370
  </ui-input-option>
1371
1371
  </form>
1372
- <ui-view
1372
+ <ui-payment
1373
1373
  class="view"
1374
1374
  >
1375
1375
  <ui-view
@@ -1386,6 +1386,7 @@ exports[`component:<Checkout> partial:<Form> inherit:className 1`] = `
1386
1386
  >
1387
1387
  <ui-pressable
1388
1388
  class="pressable disabled"
1389
+ data-testid="payments-item-CARD"
1389
1390
  disabled="true"
1390
1391
  >
1391
1392
  <ui-radio
@@ -1404,6 +1405,7 @@ exports[`component:<Checkout> partial:<Form> inherit:className 1`] = `
1404
1405
  </ui-radio>
1405
1406
  <ui-text
1406
1407
  class="text bold paragraph"
1408
+ data-testid="payments-text-CARD"
1407
1409
  >
1408
1410
  payments.label.card
1409
1411
  </ui-text>
@@ -1420,6 +1422,7 @@ exports[`component:<Checkout> partial:<Form> inherit:className 1`] = `
1420
1422
  </ui-pressable>
1421
1423
  <ui-view
1422
1424
  class="view"
1425
+ data-testid="payments-container-CARD"
1423
1426
  >
1424
1427
  <form
1425
1428
  autocomplete="off"
@@ -1531,6 +1534,7 @@ exports[`component:<Checkout> partial:<Form> inherit:className 1`] = `
1531
1534
  >
1532
1535
  <ui-pressable
1533
1536
  class="pressable"
1537
+ data-testid="payments-item-AMAZON_PAY"
1534
1538
  disabled="false"
1535
1539
  tabindex="0"
1536
1540
  >
@@ -1549,6 +1553,7 @@ exports[`component:<Checkout> partial:<Form> inherit:className 1`] = `
1549
1553
  </ui-radio>
1550
1554
  <ui-text
1551
1555
  class="text bold paragraph"
1556
+ data-testid="payments-text-AMAZON_PAY"
1552
1557
  >
1553
1558
  payments.label.amazon
1554
1559
  </ui-text>
@@ -1559,7 +1564,7 @@ exports[`component:<Checkout> partial:<Form> inherit:className 1`] = `
1559
1564
  />
1560
1565
  </ui-pressable>
1561
1566
  </ui-view>
1562
- </ui-view>
1567
+ </ui-payment>
1563
1568
  <ui-modal-overflow
1564
1569
  class="pressable container overflow"
1565
1570
  style="height: 768px;"
@@ -3047,7 +3052,7 @@ exports[`component:<Checkout> partial:<Form> renders 1`] = `
3047
3052
  </ui-label>
3048
3053
  </ui-input-option>
3049
3054
  </form>
3050
- <ui-view
3055
+ <ui-payment
3051
3056
  class="view"
3052
3057
  >
3053
3058
  <ui-view
@@ -3064,6 +3069,7 @@ exports[`component:<Checkout> partial:<Form> renders 1`] = `
3064
3069
  >
3065
3070
  <ui-pressable
3066
3071
  class="pressable disabled"
3072
+ data-testid="payments-item-CARD"
3067
3073
  disabled="true"
3068
3074
  >
3069
3075
  <ui-radio
@@ -3082,6 +3088,7 @@ exports[`component:<Checkout> partial:<Form> renders 1`] = `
3082
3088
  </ui-radio>
3083
3089
  <ui-text
3084
3090
  class="text bold paragraph"
3091
+ data-testid="payments-text-CARD"
3085
3092
  >
3086
3093
  payments.label.card
3087
3094
  </ui-text>
@@ -3098,6 +3105,7 @@ exports[`component:<Checkout> partial:<Form> renders 1`] = `
3098
3105
  </ui-pressable>
3099
3106
  <ui-view
3100
3107
  class="view"
3108
+ data-testid="payments-container-CARD"
3101
3109
  >
3102
3110
  <form
3103
3111
  autocomplete="off"
@@ -3209,6 +3217,7 @@ exports[`component:<Checkout> partial:<Form> renders 1`] = `
3209
3217
  >
3210
3218
  <ui-pressable
3211
3219
  class="pressable"
3220
+ data-testid="payments-item-AMAZON_PAY"
3212
3221
  disabled="false"
3213
3222
  tabindex="0"
3214
3223
  >
@@ -3227,6 +3236,7 @@ exports[`component:<Checkout> partial:<Form> renders 1`] = `
3227
3236
  </ui-radio>
3228
3237
  <ui-text
3229
3238
  class="text bold paragraph"
3239
+ data-testid="payments-text-AMAZON_PAY"
3230
3240
  >
3231
3241
  payments.label.amazon
3232
3242
  </ui-text>
@@ -3237,7 +3247,7 @@ exports[`component:<Checkout> partial:<Form> renders 1`] = `
3237
3247
  />
3238
3248
  </ui-pressable>
3239
3249
  </ui-view>
3240
- </ui-view>
3250
+ </ui-payment>
3241
3251
  <ui-modal-overflow
3242
3252
  class="pressable container overflow"
3243
3253
  style="height: 768px;"
@@ -4726,7 +4736,7 @@ exports[`component:<Checkout> partial:<Form> testID 1`] = `
4726
4736
  </ui-label>
4727
4737
  </ui-input-option>
4728
4738
  </form>
4729
- <ui-view
4739
+ <ui-payment
4730
4740
  class="view"
4731
4741
  >
4732
4742
  <ui-view
@@ -4743,6 +4753,7 @@ exports[`component:<Checkout> partial:<Form> testID 1`] = `
4743
4753
  >
4744
4754
  <ui-pressable
4745
4755
  class="pressable disabled"
4756
+ data-testid="payments-item-CARD"
4746
4757
  disabled="true"
4747
4758
  >
4748
4759
  <ui-radio
@@ -4761,6 +4772,7 @@ exports[`component:<Checkout> partial:<Form> testID 1`] = `
4761
4772
  </ui-radio>
4762
4773
  <ui-text
4763
4774
  class="text bold paragraph"
4775
+ data-testid="payments-text-CARD"
4764
4776
  >
4765
4777
  payments.label.card
4766
4778
  </ui-text>
@@ -4777,6 +4789,7 @@ exports[`component:<Checkout> partial:<Form> testID 1`] = `
4777
4789
  </ui-pressable>
4778
4790
  <ui-view
4779
4791
  class="view"
4792
+ data-testid="payments-container-CARD"
4780
4793
  >
4781
4794
  <form
4782
4795
  autocomplete="off"
@@ -4888,6 +4901,7 @@ exports[`component:<Checkout> partial:<Form> testID 1`] = `
4888
4901
  >
4889
4902
  <ui-pressable
4890
4903
  class="pressable"
4904
+ data-testid="payments-item-AMAZON_PAY"
4891
4905
  disabled="false"
4892
4906
  tabindex="0"
4893
4907
  >
@@ -4906,6 +4920,7 @@ exports[`component:<Checkout> partial:<Form> testID 1`] = `
4906
4920
  </ui-radio>
4907
4921
  <ui-text
4908
4922
  class="text bold paragraph"
4923
+ data-testid="payments-text-AMAZON_PAY"
4909
4924
  >
4910
4925
  payments.label.amazon
4911
4926
  </ui-text>
@@ -4916,7 +4931,7 @@ exports[`component:<Checkout> partial:<Form> testID 1`] = `
4916
4931
  />
4917
4932
  </ui-pressable>
4918
4933
  </ui-view>
4919
- </ui-view>
4934
+ </ui-payment>
4920
4935
  <ui-modal-overflow
4921
4936
  class="pressable container overflow"
4922
4937
  style="height: 768px;"
@@ -6404,7 +6419,7 @@ exports[`component:<Checkout> partial:<Form> with a store 1`] = `
6404
6419
  </ui-label>
6405
6420
  </ui-input-option>
6406
6421
  </form>
6407
- <ui-view
6422
+ <ui-payment
6408
6423
  class="view"
6409
6424
  >
6410
6425
  <ui-view
@@ -6421,6 +6436,7 @@ exports[`component:<Checkout> partial:<Form> with a store 1`] = `
6421
6436
  >
6422
6437
  <ui-pressable
6423
6438
  class="pressable disabled"
6439
+ data-testid="payments-item-CARD"
6424
6440
  disabled="true"
6425
6441
  >
6426
6442
  <ui-radio
@@ -6439,6 +6455,7 @@ exports[`component:<Checkout> partial:<Form> with a store 1`] = `
6439
6455
  </ui-radio>
6440
6456
  <ui-text
6441
6457
  class="text bold paragraph"
6458
+ data-testid="payments-text-CARD"
6442
6459
  >
6443
6460
  payments.label.card
6444
6461
  </ui-text>
@@ -6455,6 +6472,7 @@ exports[`component:<Checkout> partial:<Form> with a store 1`] = `
6455
6472
  </ui-pressable>
6456
6473
  <ui-view
6457
6474
  class="view"
6475
+ data-testid="payments-container-CARD"
6458
6476
  >
6459
6477
  <form
6460
6478
  autocomplete="off"
@@ -6566,6 +6584,7 @@ exports[`component:<Checkout> partial:<Form> with a store 1`] = `
6566
6584
  >
6567
6585
  <ui-pressable
6568
6586
  class="pressable"
6587
+ data-testid="payments-item-AMAZON_PAY"
6569
6588
  disabled="false"
6570
6589
  tabindex="0"
6571
6590
  >
@@ -6584,6 +6603,7 @@ exports[`component:<Checkout> partial:<Form> with a store 1`] = `
6584
6603
  </ui-radio>
6585
6604
  <ui-text
6586
6605
  class="text bold paragraph"
6606
+ data-testid="payments-text-AMAZON_PAY"
6587
6607
  >
6588
6608
  payments.label.amazon
6589
6609
  </ui-text>
@@ -6594,7 +6614,7 @@ exports[`component:<Checkout> partial:<Form> with a store 1`] = `
6594
6614
  />
6595
6615
  </ui-pressable>
6596
6616
  </ui-view>
6597
- </ui-view>
6617
+ </ui-payment>
6598
6618
  <ui-modal-overflow
6599
6619
  class="pressable container overflow"
6600
6620
  style="height: 768px;"