@roomstay/frontend 2.1.33 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/dist/201.bundle.js +1 -1
  2. package/dist/213.bundle.js +1 -0
  3. package/dist/279.bundle.js +1 -1
  4. package/dist/370.bundle.js +1 -1
  5. package/dist/423.bundle.js +1 -1
  6. package/dist/449.bundle.js +1 -1
  7. package/dist/535.bundle.js +1 -1
  8. package/dist/548.bundle.js +1 -0
  9. package/dist/686.bundle.js +1 -0
  10. package/dist/855.bundle.js +1 -1
  11. package/dist/873.bundle.js +1 -1
  12. package/dist/882.bundle.js +1 -1
  13. package/dist/93.bundle.js +1 -0
  14. package/dist/972.bundle.js +1 -1
  15. package/dist/main.bundle.js +1 -2
  16. package/dist/src/api/HotelAPI.d.ts +1 -1
  17. package/dist/src/api/HotelAPI.js.map +1 -1
  18. package/dist/src/api/ReservationAPI.d.ts +0 -6
  19. package/dist/src/api/ReservationAPI.js.map +1 -1
  20. package/dist/src/api/events-service/EventsServiceAPI.d.ts +3 -0
  21. package/dist/src/api/events-service/EventsServiceAPI.js +62 -0
  22. package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -0
  23. package/dist/src/components/Event/EventCarouselContainer.d.ts +8 -0
  24. package/dist/src/components/Event/EventCarouselContainer.js +97 -0
  25. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -0
  26. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -0
  27. package/dist/src/components/User/Forms/ForgotPasswordForm.js +38 -24
  28. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  29. package/dist/src/components/User/Forms/SignInForm.d.ts +4 -3
  30. package/dist/src/components/User/Forms/SignInForm.js +32 -14
  31. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  32. package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -0
  33. package/dist/src/components/User/Forms/SignUpForm.js +30 -26
  34. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  35. package/dist/src/components/generic/BookingWizard/BookingWizard.js +5 -2
  36. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  37. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +6 -3
  38. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  39. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +8 -5
  40. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  41. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +15 -9
  42. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  43. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +4 -1
  44. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  45. package/dist/src/components/generic/Currency.js +5 -5
  46. package/dist/src/components/generic/Currency.js.map +1 -1
  47. package/dist/src/components/generic/Event/EventCard.d.ts +8 -0
  48. package/dist/src/components/generic/Event/EventCard.js +70 -0
  49. package/dist/src/components/generic/Event/EventCard.js.map +1 -0
  50. package/dist/src/components/generic/Event/EventCarousel.d.ts +9 -0
  51. package/dist/src/components/generic/Event/EventCarousel.js +72 -0
  52. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -0
  53. package/dist/src/components/generic/Headline.d.ts +2 -2
  54. package/dist/src/components/generic/Headline.js +8 -4
  55. package/dist/src/components/generic/Headline.js.map +1 -1
  56. package/dist/src/components/generic/Icon/Icon.d.ts +5 -1
  57. package/dist/src/components/generic/Icon/Icon.js +4 -0
  58. package/dist/src/components/generic/Icon/Icon.js.map +1 -1
  59. package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -1
  60. package/dist/src/components/generic/Overlay/Overlay.js +50 -7
  61. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  62. package/dist/src/components/generic/PasswordBox/PasswordBox.js +2 -2
  63. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  64. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.d.ts +8 -0
  65. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js +16 -0
  66. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js.map +1 -0
  67. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.d.ts +8 -0
  68. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +61 -0
  69. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -0
  70. package/dist/src/components/generic/PaymentCard/PaymentCard.js +6 -3
  71. package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
  72. package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
  73. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -28
  74. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  75. package/dist/src/components/generic/PromoCodeInput.js +15 -18
  76. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  77. package/dist/src/components/generic/RadioButtonGroup/RadioButton.d.ts +5 -4
  78. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +33 -10
  79. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  80. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +14 -11
  81. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +69 -11
  82. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  83. package/dist/src/components/generic/RatioImage/RatioImage.d.ts +11 -0
  84. package/dist/src/components/generic/RatioImage/RatioImage.js +12 -0
  85. package/dist/src/components/generic/RatioImage/RatioImage.js.map +1 -0
  86. package/dist/src/components/generic/RecentSearchesCard.js +6 -5
  87. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  88. package/dist/src/components/generic/Tabs/TabLink.js +28 -3
  89. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  90. package/dist/src/components/generic/TextBox.js +1 -1
  91. package/dist/src/components/generic/TextBox.js.map +1 -1
  92. package/dist/src/components/generic/badging/SSLSecureBadge.js +4 -1
  93. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  94. package/dist/src/components/generic/buttons/NextStepButton.d.ts +0 -3
  95. package/dist/src/components/generic/buttons/NextStepButton.js +4 -1
  96. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  97. package/dist/src/components/generic/loader/LargeLoader.js +31 -6
  98. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  99. package/dist/src/components/generic/modal/ConfirmationModal.js +6 -3
  100. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  101. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +14 -2
  102. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +34 -26
  103. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  104. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.d.ts +7 -0
  105. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js +14 -0
  106. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js.map +1 -0
  107. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.d.ts +8 -0
  108. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js +25 -0
  109. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js.map +1 -0
  110. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.d.ts +7 -0
  111. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +49 -0
  112. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -0
  113. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +5 -2
  114. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +30 -39
  115. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  116. package/dist/src/components/generic/print/NoPrint.d.ts +3 -0
  117. package/dist/src/components/generic/print/NoPrint.js +11 -0
  118. package/dist/src/components/generic/print/NoPrint.js.map +1 -0
  119. package/dist/src/components/generic/print/PrintOnly.d.ts +3 -0
  120. package/dist/src/components/generic/print/PrintOnly.js +11 -0
  121. package/dist/src/components/generic/print/PrintOnly.js.map +1 -0
  122. package/dist/src/components/graphics/AddCard.d.ts +7 -0
  123. package/dist/src/components/graphics/AddCard.js +28 -0
  124. package/dist/src/components/graphics/AddCard.js.map +1 -0
  125. package/dist/src/components/graphics/HomeEmptyCard.d.ts +7 -0
  126. package/dist/src/components/graphics/HomeEmptyCard.js +53 -0
  127. package/dist/src/components/graphics/HomeEmptyCard.js.map +1 -0
  128. package/dist/src/components/graphics/HomeEmptyReservation.d.ts +7 -0
  129. package/dist/src/components/graphics/HomeEmptyReservation.js +136 -0
  130. package/dist/src/components/graphics/HomeEmptyReservation.js.map +1 -0
  131. package/dist/src/components/iconComponents/CreditCardOff.d.ts +6 -0
  132. package/dist/src/components/iconComponents/CreditCardOff.js +16 -0
  133. package/dist/src/components/iconComponents/CreditCardOff.js.map +1 -0
  134. package/dist/src/components/members/EditMyProfile.js +19 -21
  135. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  136. package/dist/src/components/navigation/Header.js +29 -9
  137. package/dist/src/components/navigation/Header.js.map +1 -1
  138. package/dist/src/components/navigation/StepSelector.js +2 -1
  139. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  140. package/dist/src/components/pages/Account/Card/MemberCardItem.js +5 -2
  141. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  142. package/dist/src/components/reservation/EmptyReservation.js +3 -3
  143. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  144. package/dist/src/components/reservation/ReservationItem.d.ts +4 -3
  145. package/dist/src/components/reservation/ReservationItem.js +45 -33
  146. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  147. package/dist/src/components/reservation/ReservationList.d.ts +2 -2
  148. package/dist/src/components/reservation/ReservationList.js +1 -1
  149. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  150. package/dist/src/components/steps/DaysSelectedInformer.js +15 -10
  151. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  152. package/dist/src/components/steps/addons/AddonCard.js +10 -12
  153. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  154. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  155. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +26 -7
  156. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  157. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +1 -2
  158. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +36 -44
  159. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  160. package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +7 -0
  161. package/dist/src/components/steps/confirmation/PaymentInformation.js +119 -0
  162. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -0
  163. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +12 -10
  164. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  165. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +43 -80
  166. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  167. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +7 -5
  168. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  169. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +10 -12
  170. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  171. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +8 -2
  172. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  173. package/dist/src/components/steps/date/PeoplePicker.js +9 -9
  174. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  175. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  176. package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -1
  177. package/dist/src/components/steps/date/StepOneNextStepButton.js +2 -4
  178. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  179. package/dist/src/components/steps/hotel/HotelCard.js +5 -11
  180. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  181. package/dist/src/components/steps/hotel/HotelCardModal.js +5 -6
  182. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  183. package/dist/src/components/steps/hotel/HotelSearchParameters.js +8 -8
  184. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  185. package/dist/src/components/steps/room/AvailableUpgradesModal.js +8 -9
  186. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  187. package/dist/src/components/steps/room/InactivityWindow.js +3 -5
  188. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  189. package/dist/src/components/steps/room/LargeRoomCard.js +5 -4
  190. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  191. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +42 -40
  192. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
  193. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +7 -9
  194. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  195. package/dist/src/components/steps/room/RatesNotFound.js +6 -3
  196. package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
  197. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +3 -3
  198. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  199. package/dist/src/components/steps/room/StepRoomNextStepButton.d.ts +2 -1
  200. package/dist/src/components/steps/room/StepRoomNextStepButton.js +3 -3
  201. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  202. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +2 -6
  203. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  204. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +1 -0
  205. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  206. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +16 -18
  207. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  208. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +2 -2
  209. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  210. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +6 -3
  211. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  212. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +3 -1
  213. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  214. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +7 -8
  215. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  216. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +4 -6
  217. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  218. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +4 -5
  219. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  220. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +7 -5
  221. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  222. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +4 -1
  223. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  224. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +5 -2
  225. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  226. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +11 -10
  227. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  228. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +1 -1
  229. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  230. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +7 -8
  231. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  232. package/dist/src/components/summary/BEMobileSummaryModal.js +1 -1
  233. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  234. package/dist/src/components/summary/BESummaryPerkBlock.js +4 -1
  235. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  236. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +5 -10
  237. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  238. package/dist/src/components/summary/BESummaryRoomRow.js +4 -6
  239. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  240. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +5 -1
  241. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  242. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -0
  243. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  244. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +36 -13
  245. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  246. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +26 -2
  247. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  248. package/dist/src/contexts/ConfirmationFormContext.d.ts +0 -2
  249. package/dist/src/contexts/ConfirmationFormContext.js +0 -3
  250. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  251. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +13 -8
  252. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  253. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -6
  254. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +24 -18
  255. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  256. package/dist/src/contexts/HotelOverridesContext.js +4 -0
  257. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  258. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +10 -6
  259. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  260. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +76 -26
  261. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  262. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +8 -5
  263. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js.map +1 -1
  264. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +35 -4
  265. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  266. package/dist/src/engines/BaseEngine.d.ts +2 -1
  267. package/dist/src/engines/BaseEngine.js +1 -1
  268. package/dist/src/engines/BaseEngine.js.map +1 -1
  269. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  270. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +24 -25
  271. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  272. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.d.ts +22 -0
  273. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js +33 -0
  274. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -0
  275. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +6 -0
  276. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +116 -0
  277. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -0
  278. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +11 -10
  279. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  280. package/dist/src/errors/GetAvailabilityError.d.ts +2 -1
  281. package/dist/src/errors/GetAvailabilityError.js +10 -3
  282. package/dist/src/errors/GetAvailabilityError.js.map +1 -1
  283. package/dist/src/hooks/HistoryConsistentPush.d.ts +1 -0
  284. package/dist/src/hooks/HistoryConsistentPush.js +12 -0
  285. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -0
  286. package/dist/src/hooks/LoggedInUserHook.d.ts +3 -3
  287. package/dist/src/hooks/Query.js +2 -6
  288. package/dist/src/hooks/Query.js.map +1 -1
  289. package/dist/src/hooks/UpdateQueryParameters.d.ts +1 -0
  290. package/dist/src/hooks/UpdateQueryParameters.js +16 -0
  291. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -0
  292. package/dist/src/hooks/VGSHooks.d.ts +11 -1
  293. package/dist/src/hooks/VGSHooks.js +26 -11
  294. package/dist/src/hooks/VGSHooks.js.map +1 -1
  295. package/dist/src/index.d.ts +2 -3
  296. package/dist/src/index.js +2 -0
  297. package/dist/src/index.js.map +1 -1
  298. package/dist/src/mockApi/HotelAPI.d.ts +1 -1
  299. package/dist/src/mockApi/HotelAPI.js.map +1 -1
  300. package/dist/src/models/Api/HotelDTO.d.ts +11 -3
  301. package/dist/src/models/Api/HotelDTO.js +17 -8
  302. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  303. package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -0
  304. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  305. package/dist/src/models/Api/ReservationsDTO.d.ts +2 -0
  306. package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
  307. package/dist/src/models/AppQueryParameters.d.ts +14 -0
  308. package/dist/src/models/AppQueryParameters.js +19 -0
  309. package/dist/src/models/AppQueryParameters.js.map +1 -0
  310. package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +2 -2
  311. package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
  312. package/dist/src/models/Client/Hotel/ColorProfile.d.ts +3 -0
  313. package/dist/src/models/Client/Hotel/ColorProfile.js.map +1 -1
  314. package/dist/src/models/Client/Hotel/Company.d.ts +2 -2
  315. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  316. package/dist/src/models/Client/Hotel/Hotel.d.ts +15 -5
  317. package/dist/src/models/Client/Hotel/Hotel.js +3 -1
  318. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  319. package/dist/src/models/Confirmation.d.ts +1 -1
  320. package/dist/src/models/Confirmation.js.map +1 -1
  321. package/dist/src/models/Room/Filters/Filter.d.ts +2 -1
  322. package/dist/src/models/Room/Filters/Filter.js.map +1 -1
  323. package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +2 -1
  324. package/dist/src/models/Room/Filters/RateTypeFilter.js +3 -2
  325. package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
  326. package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +2 -1
  327. package/dist/src/models/Room/Filters/RoomTypeFilter.js +3 -2
  328. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  329. package/dist/src/pages/account/AccountHome/AccountHomePage.js +9 -10
  330. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  331. package/dist/src/pages/account/AccountRouter.js +7 -9
  332. package/dist/src/pages/account/AccountRouter.js.map +1 -1
  333. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +19 -32
  334. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  335. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +9 -7
  336. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  337. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +25 -38
  338. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  339. package/dist/src/pages/account/Help/AccountHelpPage.js +16 -25
  340. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  341. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +68 -52
  342. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  343. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  344. package/dist/src/pages/findReservation/FindReservation.js +40 -23
  345. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  346. package/dist/src/pages/findReservation/ReservationRow.js +10 -9
  347. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  348. package/dist/src/pages/findReservation/ReservationRowModal.js +3 -3
  349. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  350. package/dist/src/pages/hotel/HotelInfo.js +6 -6
  351. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  352. package/dist/src/pages/steps/Step.d.ts +2 -2
  353. package/dist/src/pages/steps/Step.js.map +1 -1
  354. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +2 -2
  355. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  356. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +2 -2
  357. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  358. package/dist/src/pages/steps/StepDate/StepDate.d.ts +2 -2
  359. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  360. package/dist/src/pages/steps/StepDate/StepDateComponent.js +1 -1
  361. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  362. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +2 -2
  363. package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
  364. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +10 -7
  365. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  366. package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +2 -2
  367. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  368. package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +2 -2
  369. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  370. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +5 -0
  371. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  372. package/dist/src/providers/FeatureProvider.js +2 -0
  373. package/dist/src/providers/FeatureProvider.js.map +1 -1
  374. package/dist/src/providers/RoomstayThemeEngine.d.ts +3 -3
  375. package/dist/src/providers/RoomstayThemeEngine.js +4 -18
  376. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  377. package/dist/src/providers/feature/ModifyBookingFeature.d.ts +6 -0
  378. package/dist/src/providers/feature/ModifyBookingFeature.js +10 -0
  379. package/dist/src/providers/feature/ModifyBookingFeature.js.map +1 -0
  380. package/dist/src/stories/EventCarousel.stories.d.ts +6 -0
  381. package/dist/src/stories/EventCarousel.stories.js +236 -0
  382. package/dist/src/stories/EventCarousel.stories.js.map +1 -0
  383. package/dist/src/stories/RadioButton.stories.d.ts +3 -3
  384. package/dist/src/stories/RadioButtonGroup.stories.d.ts +4 -1
  385. package/dist/src/stories/RadioButtonGroup.stories.js +73 -1
  386. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  387. package/dist/src/translations/Translation.d.ts +196 -8
  388. package/dist/src/translations/Translation.js +198 -10
  389. package/dist/src/translations/Translation.js.map +1 -1
  390. package/dist/src/translations/languages/en-gb.js +198 -10
  391. package/dist/src/translations/languages/en-gb.js.map +1 -1
  392. package/dist/src/util/Color.d.ts +3 -0
  393. package/dist/src/util/Color.js +21 -1
  394. package/dist/src/util/Color.js.map +1 -1
  395. package/dist/src/util/CurrencyHelper.d.ts +11 -3
  396. package/dist/src/util/CurrencyHelper.js +306 -5
  397. package/dist/src/util/CurrencyHelper.js.map +1 -1
  398. package/dist/src/util/EventsHelper.d.ts +11 -0
  399. package/dist/src/util/EventsHelper.js +43 -0
  400. package/dist/src/util/EventsHelper.js.map +1 -0
  401. package/dist/src/util/StringHelper.d.ts +2 -2
  402. package/dist/src/util/StringHelper.js +5 -4
  403. package/dist/src/util/StringHelper.js.map +1 -1
  404. package/dist/src/util/TextAlignment.d.ts +2 -1
  405. package/dist/src/util/TextAlignment.js +1 -0
  406. package/dist/src/util/TextAlignment.js.map +1 -1
  407. package/dist/src/util/Validation.d.ts +17 -13
  408. package/dist/src/util/Validation.js +34 -18
  409. package/dist/src/util/Validation.js.map +1 -1
  410. package/dist/test.bundle.js +1 -2
  411. package/dist/tests/jest/engines/RoomstayThemeEngine.test.d.ts +1 -0
  412. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +41 -0
  413. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -0
  414. package/dist/tests/jest/events/EventManager.test.d.ts +1 -0
  415. package/dist/tests/jest/events/EventManager.test.js +101 -0
  416. package/dist/tests/jest/events/EventManager.test.js.map +1 -0
  417. package/dist/tests/jest/helpers/ObjectHelper.test.d.ts +1 -0
  418. package/dist/tests/jest/helpers/ObjectHelper.test.js +72 -0
  419. package/dist/tests/jest/helpers/ObjectHelper.test.js.map +1 -0
  420. package/dist/tests/jest/models/RoomRate.test.d.ts +1 -0
  421. package/dist/tests/jest/models/RoomRate.test.js +133 -0
  422. package/dist/tests/jest/models/RoomRate.test.js.map +1 -0
  423. package/dist/tests/jest/providers/LanguageProvider.test.d.ts +1 -0
  424. package/dist/tests/jest/providers/LanguageProvider.test.js +32 -0
  425. package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -0
  426. package/dist/tests/jest/providers/SessionProvider.test.d.ts +1 -0
  427. package/dist/tests/jest/providers/SessionProvider.test.js +230 -0
  428. package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -0
  429. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.d.ts +1 -0
  430. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js +126 -0
  431. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js.map +1 -0
  432. package/dist/tests/jest/reducers/BasketReducer.test.d.ts +1 -0
  433. package/dist/tests/jest/reducers/BasketReducer.test.js +103 -0
  434. package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -0
  435. package/dist/tests/offline/RoomstayBestRateAlert.d.ts +1 -0
  436. package/dist/tests/offline/RoomstayBestRateAlert.js +48 -0
  437. package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -0
  438. package/dist/tests/offline/entry/RSCompany.js +7 -2
  439. package/dist/tests/offline/entry/RSCompany.js.map +1 -1
  440. package/dist/tests/offline/entry/ReactWrapper.d.ts +1 -0
  441. package/dist/tests/offline/entry/ReactWrapper.js +140 -0
  442. package/dist/tests/offline/entry/ReactWrapper.js.map +1 -0
  443. package/dist/tests/offline/entry/allEngines.d.ts +1 -0
  444. package/dist/tests/offline/entry/allEngines.js +50 -0
  445. package/dist/tests/offline/entry/allEngines.js.map +1 -0
  446. package/dist/tests/offline/entry/components/TestPicker.d.ts +1 -0
  447. package/dist/tests/offline/entry/components/TestPicker.js +214 -0
  448. package/dist/tests/offline/entry/components/TestPicker.js.map +1 -0
  449. package/dist/tests/offline/entry/context/EngineContext.d.ts +9 -0
  450. package/dist/tests/offline/entry/context/EngineContext.js +37 -0
  451. package/dist/tests/offline/entry/context/EngineContext.js.map +1 -0
  452. package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.d.ts +1 -0
  453. package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js +68 -0
  454. package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js.map +1 -0
  455. package/dist/tests/setupTests.d.ts +0 -0
  456. package/dist/tests/setupTests.js +12 -0
  457. package/dist/tests/setupTests.js.map +1 -0
  458. package/dist/vendors.bundle.js +1 -1
  459. package/package.json +3 -3
  460. package/dist/14.bundle.js +0 -1
  461. package/dist/559.bundle.js +0 -1
  462. package/dist/848.bundle.js +0 -1
  463. package/dist/962.bundle.js +0 -1
  464. package/dist/main.bundle.js.LICENSE.txt +0 -5
  465. package/dist/src/components/temp/Login.d.ts +0 -2
  466. package/dist/src/components/temp/Login.js +0 -79
  467. package/dist/src/components/temp/Login.js.map +0 -1
  468. package/dist/test.bundle.js.LICENSE.txt +0 -5
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ document.body.appendChild(document.createElement('dijiengine'));
7
+ const RoomstayThemeEngine_1 = __importDefault(require("../../../src/providers/RoomstayThemeEngine"));
8
+ describe('Roomstay Theme Engine', () => {
9
+ RoomstayThemeEngine_1.default.EngineContainer = document.createElement('div');
10
+ beforeEach(() => {
11
+ RoomstayThemeEngine_1.default.init();
12
+ });
13
+ describe('Registering Scripts', () => {
14
+ it('Appends a script based on url to the target container', () => {
15
+ var _a, _b;
16
+ expect((_a = RoomstayThemeEngine_1.default.ScriptContainer) === null || _a === void 0 ? void 0 : _a.childNodes.length).toBe(0);
17
+ RoomstayThemeEngine_1.default.loadScript('https://notarealscript.com/wejustneedatestscript', 'cool script');
18
+ expect((_b = RoomstayThemeEngine_1.default.ScriptContainer) === null || _b === void 0 ? void 0 : _b.childNodes.length).toBe(1);
19
+ });
20
+ });
21
+ describe('Finding Elements on the Dom created by Roomstay', () => {
22
+ it('creates an element, and inserts it to the dom with a specific name', () => {
23
+ expect(RoomstayThemeEngine_1.default.EngineContainer.childNodes.length).toBe(2);
24
+ RoomstayThemeEngine_1.default.createElementOrReuseExisting('script', 'vgssource');
25
+ expect(RoomstayThemeEngine_1.default.EngineContainer.childNodes.length).toBe(3);
26
+ });
27
+ it('creates a new node with a prefixed name', () => {
28
+ var _a;
29
+ RoomstayThemeEngine_1.default.ScriptContainer = document.createElement('div');
30
+ const container = RoomstayThemeEngine_1.default.createElementOrReuseExisting('script', 'vgssource');
31
+ expect((_a = container.getAttribute('name')) === null || _a === void 0 ? void 0 : _a.startsWith('roomstay')).toBeTruthy();
32
+ });
33
+ it('returns found node if it already exists', () => {
34
+ RoomstayThemeEngine_1.default.createElementOrReuseExisting('script', 'vgssource');
35
+ expect(RoomstayThemeEngine_1.default.EngineContainer.childNodes.length).toBe(3);
36
+ RoomstayThemeEngine_1.default.createElementOrReuseExisting('script', 'vgssource');
37
+ expect(RoomstayThemeEngine_1.default.EngineContainer.childNodes.length).toBe(3);
38
+ });
39
+ });
40
+ });
41
+ //# sourceMappingURL=RoomstayThemeEngine.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoomstayThemeEngine.test.js","sourceRoot":"/","sources":["tests/jest/engines/RoomstayThemeEngine.test.tsx"],"names":[],"mappings":";;;;;AAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AAEhE,qGAA6E;AAE7E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,6BAAmB,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEpE,UAAU,CAAC,GAAG,EAAE;QACZ,6BAAmB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;;YAC7D,MAAM,CAAC,MAAA,6BAAmB,CAAC,eAAe,0CAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEvE,6BAAmB,CAAC,UAAU,CAAC,kDAAkD,EAAE,aAAa,CAAC,CAAC;YAElG,MAAM,CAAC,MAAA,6BAAmB,CAAC,eAAe,0CAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC7D,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC1E,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;;YAC/C,6BAAmB,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAEpE,MAAM,SAAS,GAAG,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAE1F,MAAM,CAAC,MAAA,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,0CAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["document.body.appendChild(document.createElement('dijiengine'));\n\nimport RoomstayThemeEngine from '../../../src/providers/RoomstayThemeEngine';\n\ndescribe('Roomstay Theme Engine', () => {\n RoomstayThemeEngine.EngineContainer = document.createElement('div');\n\n beforeEach(() => {\n RoomstayThemeEngine.init();\n });\n\n describe('Registering Scripts', () => {\n it('Appends a script based on url to the target container', () => {\n expect(RoomstayThemeEngine.ScriptContainer?.childNodes.length).toBe(0);\n\n RoomstayThemeEngine.loadScript('https://notarealscript.com/wejustneedatestscript', 'cool script');\n\n expect(RoomstayThemeEngine.ScriptContainer?.childNodes.length).toBe(1);\n });\n });\n\n describe('Finding Elements on the Dom created by Roomstay', () => {\n it('creates an element, and inserts it to the dom with a specific name', () => {\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(2);\n\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n });\n\n it('creates a new node with a prefixed name', () => {\n RoomstayThemeEngine.ScriptContainer = document.createElement('div');\n\n const container = RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n\n expect(container.getAttribute('name')?.startsWith('roomstay')).toBeTruthy();\n });\n\n it('returns found node if it already exists', () => {\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n });\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const events_1 = require("../../../src/events/index.js");
16
+ const RoomstayEvent_1 = require("../../../src/events/RoomstayEvent");
17
+ const RoomstayEventManager_1 = __importDefault(require("../../../src/events/RoomstayEventManager"));
18
+ const BasketRow_1 = __importDefault(require("../../../src/models/BasketRow"));
19
+ describe('Generic event manager tests', () => {
20
+ describe('Adding new events', () => {
21
+ it('Successfully adds a new event listener', () => {
22
+ const addResponse = RoomstayEventManager_1.default.addEvent(RoomstayEvent_1.RoomstayEvent, () => __awaiter(void 0, void 0, void 0, function* () { return true; }));
23
+ expect(addResponse).toBe(true);
24
+ });
25
+ it('Fails to add a new event listener without a callback', () => {
26
+ //@ts-ignore
27
+ const addResponse = RoomstayEventManager_1.default.addEvent('');
28
+ expect(addResponse).toBe(false);
29
+ });
30
+ it('Fails to add a new event listener that is not callable', () => {
31
+ //@ts-ignore
32
+ const addResponse = RoomstayEventManager_1.default.addEvent('', 'things');
33
+ console.log(events_1.StepCheckoutViewEvent.getLabel());
34
+ expect(addResponse).toBe(false);
35
+ });
36
+ it('Is possible to add an event listener by name, or class', () => __awaiter(void 0, void 0, void 0, function* () {
37
+ const callbackForClass = jest.fn((event) => __awaiter(void 0, void 0, void 0, function* () {
38
+ return true;
39
+ }));
40
+ const callbackForString = jest.fn((event) => __awaiter(void 0, void 0, void 0, function* () {
41
+ return true;
42
+ }));
43
+ RoomstayEventManager_1.default.addEvent(events_1.AddToCartEvent, callbackForClass);
44
+ RoomstayEventManager_1.default.addEvent('Basket/Add', callbackForString);
45
+ const basketAddEvent = new events_1.AddToCartEvent(new BasketRow_1.default(), []);
46
+ yield RoomstayEventManager_1.default.raise(basketAddEvent);
47
+ expect(callbackForClass).toHaveBeenCalled();
48
+ expect(callbackForString).toHaveBeenCalled();
49
+ }));
50
+ it('Does not crash the rest of the app if one of the event listeners dies', () => __awaiter(void 0, void 0, void 0, function* () {
51
+ const callback = () => __awaiter(void 0, void 0, void 0, function* () {
52
+ throw new Error('Deliberate failure!');
53
+ });
54
+ RoomstayEventManager_1.default.addEvent(RoomstayEvent_1.RoomstayEvent, callback);
55
+ const event = new RoomstayEvent_1.RoomstayEvent();
56
+ expect((() => __awaiter(void 0, void 0, void 0, function* () {
57
+ yield RoomstayEventManager_1.default.raise(event);
58
+ }))()).resolves.not.toThrowError();
59
+ }));
60
+ });
61
+ describe('Raising events', () => {
62
+ it('Successfully calls a raised event', () => __awaiter(void 0, void 0, void 0, function* () {
63
+ const callback = jest.fn((event) => __awaiter(void 0, void 0, void 0, function* () {
64
+ return true;
65
+ }));
66
+ RoomstayEventManager_1.default.addEvent(RoomstayEvent_1.RoomstayEvent, callback);
67
+ const newEvent = new RoomstayEvent_1.RoomstayEvent();
68
+ yield RoomstayEventManager_1.default.raise(newEvent);
69
+ expect(callback).toHaveBeenCalled();
70
+ }));
71
+ it('Successfully calls all raised events, not just the first', () => __awaiter(void 0, void 0, void 0, function* () {
72
+ const callback = jest.fn((event) => __awaiter(void 0, void 0, void 0, function* () {
73
+ return true;
74
+ }));
75
+ const callback2 = jest.fn((event) => __awaiter(void 0, void 0, void 0, function* () {
76
+ return true;
77
+ }));
78
+ RoomstayEventManager_1.default.addEvent(RoomstayEvent_1.RoomstayEvent, callback);
79
+ RoomstayEventManager_1.default.addEvent(RoomstayEvent_1.RoomstayEvent, callback2);
80
+ const newEvent = new RoomstayEvent_1.RoomstayEvent();
81
+ yield RoomstayEventManager_1.default.raise(newEvent);
82
+ expect(callback).toHaveBeenCalled();
83
+ expect(callback2).toHaveBeenCalled();
84
+ }));
85
+ it('Throws an exception if an improper object is passed to raise event function', () => __awaiter(void 0, void 0, void 0, function* () {
86
+ const raiseResponseNoPrototype = RoomstayEventManager_1.default.raise('');
87
+ expect(raiseResponseNoPrototype).rejects.toThrowError();
88
+ const raiseResponseNoGetLabel = RoomstayEventManager_1.default.raise({});
89
+ expect(raiseResponseNoGetLabel).rejects.toThrowError();
90
+ }));
91
+ it("Does not add event listener, if it's not possible to get a label", () => __awaiter(void 0, void 0, void 0, function* () {
92
+ //@ts-ignore
93
+ const addResponse = RoomstayEventManager_1.default.addEvent({}, () => { });
94
+ expect(addResponse).toBeFalsy();
95
+ //@ts-ignore
96
+ const undefinedAddResponse = RoomstayEventManager_1.default.addEvent(undefined, () => { });
97
+ expect(undefinedAddResponse).toBeFalsy();
98
+ }));
99
+ });
100
+ });
101
+ //# sourceMappingURL=EventManager.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventManager.test.js","sourceRoot":"/","sources":["tests/jest/events/EventManager.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AddToCartEvent, StepCheckoutViewEvent } from '@frontend/events';\nimport { RoomstayEvent } from '../../../src/events/RoomstayEvent';\nimport RoomstayEventManager from '../../../src/events/RoomstayEventManager';\nimport BasketRow from '../../../src/models/BasketRow';\n\ndescribe('Generic event manager tests', () => {\n describe('Adding new events', () => {\n it('Successfully adds a new event listener', () => {\n const addResponse = RoomstayEventManager.addEvent(RoomstayEvent, async () => true);\n\n expect(addResponse).toBe(true);\n });\n\n it('Fails to add a new event listener without a callback', () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent('');\n\n expect(addResponse).toBe(false);\n });\n\n it('Fails to add a new event listener that is not callable', () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent('', 'things');\n\n console.log(StepCheckoutViewEvent.getLabel());\n\n expect(addResponse).toBe(false);\n });\n\n it('Is possible to add an event listener by name, or class', async () => {\n const callbackForClass = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n const callbackForString = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(AddToCartEvent, callbackForClass);\n RoomstayEventManager.addEvent('Basket/Add', callbackForString);\n\n const basketAddEvent = new AddToCartEvent(new BasketRow(), []);\n await RoomstayEventManager.raise(basketAddEvent);\n\n expect(callbackForClass).toHaveBeenCalled();\n expect(callbackForString).toHaveBeenCalled();\n });\n\n it('Does not crash the rest of the app if one of the event listeners dies', async () => {\n const callback = async () => {\n throw new Error('Deliberate failure!');\n };\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n\n const event = new RoomstayEvent();\n\n expect(\n (async () => {\n await RoomstayEventManager.raise(event);\n })()\n ).resolves.not.toThrowError();\n });\n });\n\n describe('Raising events', () => {\n it('Successfully calls a raised event', async () => {\n const callback = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n\n const newEvent = new RoomstayEvent();\n\n await RoomstayEventManager.raise(newEvent);\n\n expect(callback).toHaveBeenCalled();\n });\n\n it('Successfully calls all raised events, not just the first', async () => {\n const callback = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n const callback2 = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n RoomstayEventManager.addEvent(RoomstayEvent, callback2);\n\n const newEvent = new RoomstayEvent();\n await RoomstayEventManager.raise(newEvent);\n\n expect(callback).toHaveBeenCalled();\n expect(callback2).toHaveBeenCalled();\n });\n\n it('Throws an exception if an improper object is passed to raise event function', async () => {\n const raiseResponseNoPrototype = RoomstayEventManager.raise('');\n\n expect(raiseResponseNoPrototype).rejects.toThrowError();\n\n const raiseResponseNoGetLabel = RoomstayEventManager.raise({});\n expect(raiseResponseNoGetLabel).rejects.toThrowError();\n });\n\n it(\"Does not add event listener, if it's not possible to get a label\", async () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent({}, () => {});\n\n expect(addResponse).toBeFalsy();\n\n //@ts-ignore\n const undefinedAddResponse = RoomstayEventManager.addEvent(undefined, () => {});\n expect(undefinedAddResponse).toBeFalsy();\n });\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ObjectHelper_1 = require("../../../src/util/ObjectHelper");
4
+ describe('Object Helper', () => {
5
+ describe('Merge Deep', () => {
6
+ it('should return object rather than null', () => {
7
+ const override = null;
8
+ const override2 = {
9
+ Navigation: {
10
+ Title: 'Title',
11
+ },
12
+ };
13
+ const result = (0, ObjectHelper_1.mergeDeep)(override, override2);
14
+ const result1 = (0, ObjectHelper_1.mergeDeep)(override2, override);
15
+ expect(result.Navigation.Title).toEqual('Title');
16
+ expect(result1.Navigation.Title).toEqual('Title');
17
+ });
18
+ it('should prioritize object rather than primitive value', function () {
19
+ const override = {
20
+ Navigation: {
21
+ Title: 'Title',
22
+ },
23
+ };
24
+ const override1 = {
25
+ Navigation: {
26
+ Title: {
27
+ Top: 'Top',
28
+ },
29
+ },
30
+ };
31
+ const result = (0, ObjectHelper_1.mergeDeep)(override, override1);
32
+ const result1 = (0, ObjectHelper_1.mergeDeep)(override1, override);
33
+ expect(result.Navigation.Title.Top).toEqual('Top');
34
+ expect(result1.Navigation.Title.Top).toEqual('Top');
35
+ });
36
+ it('should update new value', function () {
37
+ const override = {
38
+ Navigation: {
39
+ Title: 'Title',
40
+ },
41
+ };
42
+ const override1 = {
43
+ Navigation: {
44
+ Title: 'Updated Title',
45
+ },
46
+ };
47
+ const result = (0, ObjectHelper_1.mergeDeep)(override, override1);
48
+ const result1 = (0, ObjectHelper_1.mergeDeep)(override1, override);
49
+ expect(result.Navigation.Title).toEqual('Updated Title');
50
+ expect(result1.Navigation.Title).toEqual('Title');
51
+ });
52
+ it('should not mutate inputs', function () {
53
+ const override = {
54
+ Navigation: {
55
+ Title: 'Title',
56
+ },
57
+ };
58
+ const override1 = {
59
+ Navigation: {
60
+ Title: 'Updated Title',
61
+ },
62
+ };
63
+ (0, ObjectHelper_1.mergeDeep)(override, override1);
64
+ expect(override.Navigation.Title).toEqual('Title');
65
+ expect(override1.Navigation.Title).toEqual('Updated Title');
66
+ (0, ObjectHelper_1.mergeDeep)(override1, override);
67
+ expect(override.Navigation.Title).toEqual('Title');
68
+ expect(override1.Navigation.Title).toEqual('Updated Title');
69
+ });
70
+ });
71
+ });
72
+ //# sourceMappingURL=ObjectHelper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectHelper.test.js","sourceRoot":"/","sources":["tests/jest/helpers/ObjectHelper.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { mergeDeep } from '../../../src/util/ObjectHelper';\n\ndescribe('Object Helper', () => {\n describe('Merge Deep', () => {\n it('should return object rather than null', () => {\n const override: any = null;\n\n const override2 = {\n Navigation: {\n Title: 'Title',\n },\n };\n\n const result = mergeDeep(override, override2);\n const result1 = mergeDeep(override2, override);\n\n expect(result.Navigation.Title).toEqual('Title');\n expect(result1.Navigation.Title).toEqual('Title');\n });\n it('should prioritize object rather than primitive value', function () {\n const override = {\n Navigation: {\n Title: 'Title',\n },\n };\n\n const override1 = {\n Navigation: {\n Title: {\n Top: 'Top',\n },\n },\n };\n const result = mergeDeep<any>(override, override1);\n const result1 = mergeDeep<any>(override1, override);\n expect(result.Navigation.Title.Top).toEqual('Top');\n expect(result1.Navigation.Title.Top).toEqual('Top');\n });\n it('should update new value', function () {\n const override = {\n Navigation: {\n Title: 'Title',\n },\n };\n\n const override1 = {\n Navigation: {\n Title: 'Updated Title',\n },\n };\n const result = mergeDeep<any>(override, override1);\n const result1 = mergeDeep<any>(override1, override);\n expect(result.Navigation.Title).toEqual('Updated Title');\n expect(result1.Navigation.Title).toEqual('Title');\n });\n it('should not mutate inputs', function () {\n const override = {\n Navigation: {\n Title: 'Title',\n },\n };\n\n const override1 = {\n Navigation: {\n Title: 'Updated Title',\n },\n };\n mergeDeep<any>(override, override1);\n expect(override.Navigation.Title).toEqual('Title');\n expect(override1.Navigation.Title).toEqual('Updated Title');\n mergeDeep<any>(override1, override);\n expect(override.Navigation.Title).toEqual('Title');\n expect(override1.Navigation.Title).toEqual('Updated Title');\n });\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ import '../../../src/api/BookingAPI';
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ require("../../../src/api/BookingAPI");
7
+ const RoomRate_1 = require("../../../src/models/Room/RoomRate");
8
+ const dayjs_1 = __importDefault(require("dayjs"));
9
+ const roomNightFactory = (obj) => {
10
+ const partial = Object.assign({ date: (0, dayjs_1.default)(), cost: '0', tax: '0', fee: '0', discount: '0', available: '0', total: '0' }, obj);
11
+ partial.total = [partial.cost, partial.tax, partial.fee].reduce((previousValue, currentValue) => {
12
+ return parseFloat(previousValue) + parseFloat(currentValue) + '';
13
+ });
14
+ return partial;
15
+ };
16
+ const roomRateFactory = (name, code, nightRates, description, isMemberOnly) => {
17
+ return RoomRate_1.RoomRate.fromData({
18
+ name,
19
+ code,
20
+ nightRates,
21
+ description,
22
+ isMemberOnly,
23
+ });
24
+ };
25
+ const rateIncludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {
26
+ '20/06/2022': roomNightFactory({
27
+ cost: '20',
28
+ }),
29
+ });
30
+ const rateExcludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {
31
+ '20/06/2022': roomNightFactory({
32
+ cost: '20',
33
+ fee: '20',
34
+ tax: '20',
35
+ }),
36
+ });
37
+ const rateExcludingTaxes = roomRateFactory('Generic Rate', 'ABCD', {
38
+ '20/06/2022': roomNightFactory({
39
+ cost: '20',
40
+ fee: '20',
41
+ }),
42
+ });
43
+ const rateExcludingFees = roomRateFactory('Generic Rate', 'ABCD', {
44
+ '20/06/2022': roomNightFactory({
45
+ cost: '20',
46
+ tax: '20',
47
+ }),
48
+ });
49
+ const rateWithTaxLast = roomRateFactory('Generic Rate', 'ABCD', {
50
+ '20/06/2022': roomNightFactory({
51
+ cost: '20',
52
+ }),
53
+ '21/06/2022': roomNightFactory({
54
+ cost: '20',
55
+ fee: '10',
56
+ }),
57
+ });
58
+ const rateWithDiscountApplied = roomRateFactory('Rate with Tax', 'DISCOUNT', {
59
+ '20/06/22': roomNightFactory({
60
+ cost: '50',
61
+ fee: '20',
62
+ discount: '15',
63
+ }),
64
+ '21/06/22': roomNightFactory({
65
+ cost: '90',
66
+ fee: '20',
67
+ discount: '15',
68
+ }),
69
+ });
70
+ const memberOnlyRate = roomRateFactory('MOD Rate', 'MOD', {}, '', true);
71
+ describe('Room Rate logic', () => {
72
+ describe('Room Rate Tax Inclusion', () => {
73
+ it('Returns correct pricing type for each rate', () => {
74
+ expect(rateIncludingFeesAndTaxes.getPriceType()).toBe(RoomRate_1.RoomRatePriceInclusion.IncludingFeesAndTaxes);
75
+ expect(rateExcludingFeesAndTaxes.getPriceType()).toBe(RoomRate_1.RoomRatePriceInclusion.ExcludingFeesAndTaxes);
76
+ expect(rateExcludingTaxes.getPriceType()).toBe(RoomRate_1.RoomRatePriceInclusion.ExcludingTaxes);
77
+ expect(rateExcludingFees.getPriceType()).toBe(RoomRate_1.RoomRatePriceInclusion.ExcludingFees);
78
+ });
79
+ it('Accurately picks up the correct average pricing type if more than one night is selected', () => {
80
+ expect(rateWithTaxLast.getPriceType()).toBe(RoomRate_1.RoomRatePriceInclusion.ExcludingTaxes);
81
+ });
82
+ });
83
+ describe('Total Price Calculations', () => {
84
+ it('Calculates total price, with tax & fee inclusions', () => {
85
+ expect(rateWithTaxLast.getTotalPrice()).toBe(50);
86
+ });
87
+ it('Calculates total cost, without tax & fee inclusions', () => {
88
+ expect(rateWithTaxLast.getTotalPrice(true)).toBe(40);
89
+ });
90
+ });
91
+ describe('Average Price Calculations', () => {
92
+ it('Calculates average price, with tax & fee inclusions', () => {
93
+ expect(rateWithTaxLast.getAveragePrice()).toBe(25);
94
+ });
95
+ it('Calculates total cost, without tax & fee inclusions', () => {
96
+ expect(rateWithTaxLast.getAveragePrice(true)).toBe(20);
97
+ });
98
+ });
99
+ describe('Total Price With Discount', () => {
100
+ it('Returns Total price Before Discount applied', () => {
101
+ expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount()).toBe(210);
102
+ });
103
+ it('Returns total cost before Discount is applied', () => {
104
+ expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount(true)).toBe(170);
105
+ });
106
+ });
107
+ describe('Average Price With Discount', () => {
108
+ it('Returns Total price Before Discount applied', () => {
109
+ expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount()).toBe(105);
110
+ });
111
+ it('Returns total cost before Discount is applied', () => {
112
+ expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount(true)).toBe(85);
113
+ });
114
+ });
115
+ describe('Sort Value', () => {
116
+ it('Sort Value to be the average price', () => {
117
+ expect(rateWithDiscountApplied.getSortValue()).toBe(90);
118
+ });
119
+ });
120
+ describe('Total fees included', () => {
121
+ it('Displays the full only fees ammount', () => {
122
+ expect(rateExcludingFeesAndTaxes.getTotalFees()).toBe(20);
123
+ expect(rateWithDiscountApplied.getTotalFees()).toBe(40);
124
+ });
125
+ });
126
+ describe('Total Taxes included', () => {
127
+ it('Displays the full only tax ammount', () => {
128
+ expect(rateExcludingFeesAndTaxes.getTotalTaxes()).toBe(20);
129
+ expect(rateWithDiscountApplied.getTotalTaxes()).toBe(0);
130
+ });
131
+ });
132
+ });
133
+ //# sourceMappingURL=RoomRate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoomRate.test.js","sourceRoot":"/","sources":["tests/jest/models/RoomRate.test.ts"],"names":[],"mappings":"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","sourcesContent":["import '../../../src/api/BookingAPI';\n\nimport RoomNight from '../../../src/models/Room/RoomRateNight';\nimport { RoomRate, RoomRatePriceInclusion } from '../../../src/models/Room/RoomRate';\nimport dayjs from 'dayjs';\nimport RoomRateNight from '../../../src/models/Room/RoomRateNight';\n\nconst roomNightFactory = (obj: Partial<RoomNight>): RoomNight => {\n const partial = {\n date: dayjs(),\n cost: '0',\n tax: '0',\n fee: '0',\n discount: '0',\n available: '0',\n total: '0',\n\n ...obj,\n };\n\n partial.total = [partial.cost, partial.tax, partial.fee].reduce((previousValue, currentValue) => {\n return parseFloat(previousValue) + parseFloat(currentValue) + '';\n });\n\n return partial as RoomNight;\n};\n\nconst roomRateFactory = (name: string, code: string, nightRates: { [date: string]: RoomRateNight }, description?: string, isMemberOnly?: boolean) => {\n return RoomRate.fromData({\n name,\n code,\n nightRates,\n description,\n isMemberOnly,\n });\n};\n\nconst rateIncludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n }),\n});\n\nconst rateExcludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n fee: '20',\n tax: '20',\n }),\n});\n\nconst rateExcludingTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n fee: '20',\n }),\n});\n\nconst rateExcludingFees = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n tax: '20',\n }),\n});\n\nconst rateWithTaxLast = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n }),\n '21/06/2022': roomNightFactory({\n cost: '20',\n fee: '10',\n }),\n});\n\nconst rateWithDiscountApplied = roomRateFactory('Rate with Tax', 'DISCOUNT', {\n '20/06/22': roomNightFactory({\n cost: '50',\n fee: '20',\n discount: '15',\n }),\n '21/06/22': roomNightFactory({\n cost: '90',\n fee: '20',\n discount: '15',\n }),\n});\n\nconst memberOnlyRate = roomRateFactory('MOD Rate', 'MOD', {}, '', true);\n\ndescribe('Room Rate logic', () => {\n describe('Room Rate Tax Inclusion', () => {\n it('Returns correct pricing type for each rate', () => {\n expect(rateIncludingFeesAndTaxes.getPriceType()).toBe(RoomRatePriceInclusion.IncludingFeesAndTaxes);\n\n expect(rateExcludingFeesAndTaxes.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingFeesAndTaxes);\n\n expect(rateExcludingTaxes.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingTaxes);\n\n expect(rateExcludingFees.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingFees);\n });\n\n it('Accurately picks up the correct average pricing type if more than one night is selected', () => {\n expect(rateWithTaxLast.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingTaxes);\n });\n });\n\n describe('Total Price Calculations', () => {\n it('Calculates total price, with tax & fee inclusions', () => {\n expect(rateWithTaxLast.getTotalPrice()).toBe(50);\n });\n\n it('Calculates total cost, without tax & fee inclusions', () => {\n expect(rateWithTaxLast.getTotalPrice(true)).toBe(40);\n });\n });\n\n describe('Average Price Calculations', () => {\n it('Calculates average price, with tax & fee inclusions', () => {\n expect(rateWithTaxLast.getAveragePrice()).toBe(25);\n });\n\n it('Calculates total cost, without tax & fee inclusions', () => {\n expect(rateWithTaxLast.getAveragePrice(true)).toBe(20);\n });\n });\n\n describe('Total Price With Discount', () => {\n it('Returns Total price Before Discount applied', () => {\n expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount()).toBe(210);\n });\n\n it('Returns total cost before Discount is applied', () => {\n expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount(true)).toBe(170);\n });\n });\n\n describe('Average Price With Discount', () => {\n it('Returns Total price Before Discount applied', () => {\n expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount()).toBe(105);\n });\n\n it('Returns total cost before Discount is applied', () => {\n expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount(true)).toBe(85);\n });\n });\n\n describe('Sort Value', () => {\n it('Sort Value to be the average price', () => {\n expect(rateWithDiscountApplied.getSortValue()).toBe(90);\n });\n });\n\n describe('Total fees included', () => {\n it('Displays the full only fees ammount', () => {\n expect(rateExcludingFeesAndTaxes.getTotalFees()).toBe(20);\n expect(rateWithDiscountApplied.getTotalFees()).toBe(40);\n });\n });\n\n describe('Total Taxes included', () => {\n it('Displays the full only tax ammount', () => {\n expect(rateExcludingFeesAndTaxes.getTotalTaxes()).toBe(20);\n expect(rateWithDiscountApplied.getTotalTaxes()).toBe(0);\n });\n });\n});\n"]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const src_1 = require("../../../src");
4
+ describe('Language Provider', () => {
5
+ describe('Language Overrides', () => {
6
+ it('merges language files together', () => {
7
+ var _a, _b;
8
+ const override = {
9
+ Navigation: {
10
+ Back: 'hello',
11
+ },
12
+ };
13
+ src_1.LanguageProvider.registerOverride(src_1.Language.en_us, override);
14
+ const i18nLanguages = src_1.LanguageProvider.getI18nMappedLanguages();
15
+ expect((_a = i18nLanguages[src_1.Language.en_us]) === null || _a === void 0 ? void 0 : _a.translation.Navigation.Back).toEqual('hello');
16
+ expect((_b = i18nLanguages[src_1.Language.en_us]) === null || _b === void 0 ? void 0 : _b.translation.Navigation.FindReservation).toEqual('Find reservations');
17
+ });
18
+ it('it should update if empty string', () => {
19
+ var _a, _b;
20
+ const override = {
21
+ Navigation: {
22
+ Back: '',
23
+ },
24
+ };
25
+ src_1.LanguageProvider.registerOverride(src_1.Language.en_us, override);
26
+ const i18nLanguages = src_1.LanguageProvider.getI18nMappedLanguages();
27
+ expect((_a = i18nLanguages[src_1.Language.en_us]) === null || _a === void 0 ? void 0 : _a.translation.Navigation.Back).toEqual('');
28
+ expect((_b = i18nLanguages[src_1.Language.en_us]) === null || _b === void 0 ? void 0 : _b.translation.Navigation.FindReservation).toEqual('Find reservations');
29
+ });
30
+ });
31
+ });
32
+ //# sourceMappingURL=LanguageProvider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageProvider.test.js","sourceRoot":"/","sources":["tests/jest/providers/LanguageProvider.test.ts"],"names":[],"mappings":";;AAAA,sCAAuE;AAEvE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;;YACtC,MAAM,QAAQ,GAAsC;gBAChD,UAAU,EAAE;oBACR,IAAI,EAAE,OAAO;iBAChB;aACJ,CAAC;YAEF,sBAAgB,CAAC,gBAAgB,CAAC,cAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE5D,MAAM,aAAa,GAAG,sBAAgB,CAAC,sBAAsB,EAAE,CAAC;YAEhE,MAAM,CAAC,MAAA,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,0CAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACpF,MAAM,CAAC,MAAA,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,0CAAE,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;;YACxC,MAAM,QAAQ,GAAsC;gBAChD,UAAU,EAAE;oBACR,IAAI,EAAE,EAAE;iBACX;aACJ,CAAC;YAEF,sBAAgB,CAAC,gBAAgB,CAAC,cAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE5D,MAAM,aAAa,GAAG,sBAAgB,CAAC,sBAAsB,EAAE,CAAC;YAEhE,MAAM,CAAC,MAAA,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,0CAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/E,MAAM,CAAC,MAAA,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,0CAAE,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { Language, LanguageProvider, Translation } from '../../../src';\n\ndescribe('Language Provider', () => {\n describe('Language Overrides', () => {\n it('merges language files together', () => {\n const override: Partial<typeof Translation> | any = {\n Navigation: {\n Back: 'hello',\n },\n };\n\n LanguageProvider.registerOverride(Language.en_us, override);\n\n const i18nLanguages = LanguageProvider.getI18nMappedLanguages();\n\n expect(i18nLanguages[Language.en_us]?.translation.Navigation.Back).toEqual('hello');\n expect(i18nLanguages[Language.en_us]?.translation.Navigation.FindReservation).toEqual('Find reservations');\n });\n it('it should update if empty string', () => {\n const override: Partial<typeof Translation> | any = {\n Navigation: {\n Back: '',\n },\n };\n\n LanguageProvider.registerOverride(Language.en_us, override);\n\n const i18nLanguages = LanguageProvider.getI18nMappedLanguages();\n\n expect(i18nLanguages[Language.en_us]?.translation.Navigation.Back).toEqual('');\n expect(i18nLanguages[Language.en_us]?.translation.Navigation.FindReservation).toEqual('Find reservations');\n });\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ import '../../../src/api/BookingAPI';