@roomstay/frontend 2.1.33 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/201.bundle.js +1 -1
- package/dist/213.bundle.js +1 -0
- package/dist/279.bundle.js +1 -1
- package/dist/370.bundle.js +1 -1
- package/dist/423.bundle.js +1 -1
- package/dist/449.bundle.js +1 -1
- package/dist/535.bundle.js +1 -1
- package/dist/548.bundle.js +1 -0
- package/dist/686.bundle.js +1 -0
- package/dist/855.bundle.js +1 -1
- package/dist/873.bundle.js +1 -1
- package/dist/882.bundle.js +1 -1
- package/dist/93.bundle.js +1 -0
- package/dist/972.bundle.js +1 -1
- package/dist/main.bundle.js +1 -2
- package/dist/src/api/HotelAPI.d.ts +1 -1
- package/dist/src/api/HotelAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.d.ts +0 -6
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/api/events-service/EventsServiceAPI.d.ts +3 -0
- package/dist/src/api/events-service/EventsServiceAPI.js +62 -0
- package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -0
- package/dist/src/components/Event/EventCarouselContainer.d.ts +8 -0
- package/dist/src/components/Event/EventCarouselContainer.js +97 -0
- package/dist/src/components/Event/EventCarouselContainer.js.map +1 -0
- package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -0
- package/dist/src/components/User/Forms/ForgotPasswordForm.js +38 -24
- package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignInForm.d.ts +4 -3
- package/dist/src/components/User/Forms/SignInForm.js +32 -14
- package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -0
- package/dist/src/components/User/Forms/SignUpForm.js +30 -26
- package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.js +5 -2
- package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +6 -3
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +8 -5
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +15 -9
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +4 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
- package/dist/src/components/generic/Currency.js +5 -5
- package/dist/src/components/generic/Currency.js.map +1 -1
- package/dist/src/components/generic/Event/EventCard.d.ts +8 -0
- package/dist/src/components/generic/Event/EventCard.js +70 -0
- package/dist/src/components/generic/Event/EventCard.js.map +1 -0
- package/dist/src/components/generic/Event/EventCarousel.d.ts +9 -0
- package/dist/src/components/generic/Event/EventCarousel.js +72 -0
- package/dist/src/components/generic/Event/EventCarousel.js.map +1 -0
- package/dist/src/components/generic/Headline.d.ts +2 -2
- package/dist/src/components/generic/Headline.js +8 -4
- package/dist/src/components/generic/Headline.js.map +1 -1
- package/dist/src/components/generic/Icon/Icon.d.ts +5 -1
- package/dist/src/components/generic/Icon/Icon.js +4 -0
- package/dist/src/components/generic/Icon/Icon.js.map +1 -1
- package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -1
- package/dist/src/components/generic/Overlay/Overlay.js +50 -7
- package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
- package/dist/src/components/generic/PasswordBox/PasswordBox.js +2 -2
- package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/InlinePaymentCard.d.ts +8 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js +16 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js.map +1 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.d.ts +8 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +61 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -0
- package/dist/src/components/generic/PaymentCard/PaymentCard.js +6 -3
- package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -28
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
- package/dist/src/components/generic/PromoCodeInput.js +15 -18
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.d.ts +5 -4
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +33 -10
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +14 -11
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +69 -11
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/src/components/generic/RatioImage/RatioImage.d.ts +11 -0
- package/dist/src/components/generic/RatioImage/RatioImage.js +12 -0
- package/dist/src/components/generic/RatioImage/RatioImage.js.map +1 -0
- package/dist/src/components/generic/RecentSearchesCard.js +6 -5
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.js +28 -3
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
- package/dist/src/components/generic/TextBox.js +1 -1
- package/dist/src/components/generic/TextBox.js.map +1 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js +4 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
- package/dist/src/components/generic/buttons/NextStepButton.d.ts +0 -3
- package/dist/src/components/generic/buttons/NextStepButton.js +4 -1
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
- package/dist/src/components/generic/loader/LargeLoader.js +31 -6
- package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
- package/dist/src/components/generic/modal/ConfirmationModal.js +6 -3
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +14 -2
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +34 -26
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.d.ts +7 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js +14 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js.map +1 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.d.ts +8 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js +25 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js.map +1 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.d.ts +7 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +49 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -0
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +5 -2
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +30 -39
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/print/NoPrint.d.ts +3 -0
- package/dist/src/components/generic/print/NoPrint.js +11 -0
- package/dist/src/components/generic/print/NoPrint.js.map +1 -0
- package/dist/src/components/generic/print/PrintOnly.d.ts +3 -0
- package/dist/src/components/generic/print/PrintOnly.js +11 -0
- package/dist/src/components/generic/print/PrintOnly.js.map +1 -0
- package/dist/src/components/graphics/AddCard.d.ts +7 -0
- package/dist/src/components/graphics/AddCard.js +28 -0
- package/dist/src/components/graphics/AddCard.js.map +1 -0
- package/dist/src/components/graphics/HomeEmptyCard.d.ts +7 -0
- package/dist/src/components/graphics/HomeEmptyCard.js +53 -0
- package/dist/src/components/graphics/HomeEmptyCard.js.map +1 -0
- package/dist/src/components/graphics/HomeEmptyReservation.d.ts +7 -0
- package/dist/src/components/graphics/HomeEmptyReservation.js +136 -0
- package/dist/src/components/graphics/HomeEmptyReservation.js.map +1 -0
- package/dist/src/components/iconComponents/CreditCardOff.d.ts +6 -0
- package/dist/src/components/iconComponents/CreditCardOff.js +16 -0
- package/dist/src/components/iconComponents/CreditCardOff.js.map +1 -0
- package/dist/src/components/members/EditMyProfile.js +19 -21
- package/dist/src/components/members/EditMyProfile.js.map +1 -1
- package/dist/src/components/navigation/Header.js +29 -9
- package/dist/src/components/navigation/Header.js.map +1 -1
- package/dist/src/components/navigation/StepSelector.js +2 -1
- package/dist/src/components/navigation/StepSelector.js.map +1 -1
- package/dist/src/components/pages/Account/Card/MemberCardItem.js +5 -2
- package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
- package/dist/src/components/reservation/EmptyReservation.js +3 -3
- package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
- package/dist/src/components/reservation/ReservationItem.d.ts +4 -3
- package/dist/src/components/reservation/ReservationItem.js +45 -33
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/reservation/ReservationList.d.ts +2 -2
- package/dist/src/components/reservation/ReservationList.js +1 -1
- package/dist/src/components/reservation/ReservationList.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.js +15 -10
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/addons/AddonCard.js +10 -12
- package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +26 -7
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +1 -2
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +36 -44
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +7 -0
- package/dist/src/components/steps/confirmation/PaymentInformation.js +119 -0
- package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +12 -10
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +43 -80
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +7 -5
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +10 -12
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +8 -2
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePicker.js +9 -9
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.js +2 -4
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +5 -11
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardModal.js +5 -6
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +8 -8
- package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +8 -9
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +3 -5
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.js +5 -4
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +42 -40
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js +7 -9
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
- package/dist/src/components/steps/room/RatesNotFound.js +6 -3
- package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +3 -3
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.d.ts +2 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +3 -3
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +2 -6
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +16 -18
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +2 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +6 -3
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +3 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +7 -8
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +4 -6
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +4 -5
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +7 -5
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +4 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +5 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +11 -10
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +7 -8
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js +4 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +5 -10
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +4 -6
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +5 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -0
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +36 -13
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +26 -2
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.d.ts +0 -2
- package/dist/src/contexts/ConfirmationFormContext.js +0 -3
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +13 -8
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -6
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +24 -18
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +4 -0
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +10 -6
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +76 -26
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +8 -5
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +35 -4
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
- package/dist/src/engines/BaseEngine.d.ts +2 -1
- package/dist/src/engines/BaseEngine.js +1 -1
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +24 -25
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.d.ts +22 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js +33 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +6 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +116 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -0
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +11 -10
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/errors/GetAvailabilityError.d.ts +2 -1
- package/dist/src/errors/GetAvailabilityError.js +10 -3
- package/dist/src/errors/GetAvailabilityError.js.map +1 -1
- package/dist/src/hooks/HistoryConsistentPush.d.ts +1 -0
- package/dist/src/hooks/HistoryConsistentPush.js +12 -0
- package/dist/src/hooks/HistoryConsistentPush.js.map +1 -0
- package/dist/src/hooks/LoggedInUserHook.d.ts +3 -3
- package/dist/src/hooks/Query.js +2 -6
- package/dist/src/hooks/Query.js.map +1 -1
- package/dist/src/hooks/UpdateQueryParameters.d.ts +1 -0
- package/dist/src/hooks/UpdateQueryParameters.js +16 -0
- package/dist/src/hooks/UpdateQueryParameters.js.map +1 -0
- package/dist/src/hooks/VGSHooks.d.ts +11 -1
- package/dist/src/hooks/VGSHooks.js +26 -11
- package/dist/src/hooks/VGSHooks.js.map +1 -1
- package/dist/src/index.d.ts +2 -3
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mockApi/HotelAPI.d.ts +1 -1
- package/dist/src/mockApi/HotelAPI.js.map +1 -1
- package/dist/src/models/Api/HotelDTO.d.ts +11 -3
- package/dist/src/models/Api/HotelDTO.js +17 -8
- package/dist/src/models/Api/HotelDTO.js.map +1 -1
- package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -0
- package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
- package/dist/src/models/Api/ReservationsDTO.d.ts +2 -0
- package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
- package/dist/src/models/AppQueryParameters.d.ts +14 -0
- package/dist/src/models/AppQueryParameters.js +19 -0
- package/dist/src/models/AppQueryParameters.js.map +1 -0
- package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +2 -2
- package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
- package/dist/src/models/Client/Hotel/ColorProfile.d.ts +3 -0
- package/dist/src/models/Client/Hotel/ColorProfile.js.map +1 -1
- package/dist/src/models/Client/Hotel/Company.d.ts +2 -2
- package/dist/src/models/Client/Hotel/Company.js.map +1 -1
- package/dist/src/models/Client/Hotel/Hotel.d.ts +15 -5
- package/dist/src/models/Client/Hotel/Hotel.js +3 -1
- package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
- package/dist/src/models/Confirmation.d.ts +1 -1
- package/dist/src/models/Confirmation.js.map +1 -1
- package/dist/src/models/Room/Filters/Filter.d.ts +2 -1
- package/dist/src/models/Room/Filters/Filter.js.map +1 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +2 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.js +3 -2
- package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +2 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js +3 -2
- package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.js +9 -10
- package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
- package/dist/src/pages/account/AccountRouter.js +7 -9
- package/dist/src/pages/account/AccountRouter.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +19 -32
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +9 -7
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +25 -38
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
- package/dist/src/pages/account/Help/AccountHelpPage.js +16 -25
- package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +68 -52
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.js +40 -23
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +10 -9
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +3 -3
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +6 -6
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/steps/Step.d.ts +2 -2
- package/dist/src/pages/steps/Step.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +2 -2
- package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +2 -2
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDate.d.ts +2 -2
- package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +2 -2
- package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +10 -7
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +2 -2
- package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +2 -2
- package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +5 -0
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
- package/dist/src/providers/FeatureProvider.js +2 -0
- package/dist/src/providers/FeatureProvider.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.d.ts +3 -3
- package/dist/src/providers/RoomstayThemeEngine.js +4 -18
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/feature/ModifyBookingFeature.d.ts +6 -0
- package/dist/src/providers/feature/ModifyBookingFeature.js +10 -0
- package/dist/src/providers/feature/ModifyBookingFeature.js.map +1 -0
- package/dist/src/stories/EventCarousel.stories.d.ts +6 -0
- package/dist/src/stories/EventCarousel.stories.js +236 -0
- package/dist/src/stories/EventCarousel.stories.js.map +1 -0
- package/dist/src/stories/RadioButton.stories.d.ts +3 -3
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +4 -1
- package/dist/src/stories/RadioButtonGroup.stories.js +73 -1
- package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
- package/dist/src/translations/Translation.d.ts +196 -8
- package/dist/src/translations/Translation.js +198 -10
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +198 -10
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/src/util/Color.d.ts +3 -0
- package/dist/src/util/Color.js +21 -1
- package/dist/src/util/Color.js.map +1 -1
- package/dist/src/util/CurrencyHelper.d.ts +11 -3
- package/dist/src/util/CurrencyHelper.js +306 -5
- package/dist/src/util/CurrencyHelper.js.map +1 -1
- package/dist/src/util/EventsHelper.d.ts +11 -0
- package/dist/src/util/EventsHelper.js +43 -0
- package/dist/src/util/EventsHelper.js.map +1 -0
- package/dist/src/util/StringHelper.d.ts +2 -2
- package/dist/src/util/StringHelper.js +5 -4
- package/dist/src/util/StringHelper.js.map +1 -1
- package/dist/src/util/TextAlignment.d.ts +2 -1
- package/dist/src/util/TextAlignment.js +1 -0
- package/dist/src/util/TextAlignment.js.map +1 -1
- package/dist/src/util/Validation.d.ts +17 -13
- package/dist/src/util/Validation.js +34 -18
- package/dist/src/util/Validation.js.map +1 -1
- package/dist/test.bundle.js +1 -2
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.d.ts +1 -0
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +41 -0
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -0
- package/dist/tests/jest/events/EventManager.test.d.ts +1 -0
- package/dist/tests/jest/events/EventManager.test.js +101 -0
- package/dist/tests/jest/events/EventManager.test.js.map +1 -0
- package/dist/tests/jest/helpers/ObjectHelper.test.d.ts +1 -0
- package/dist/tests/jest/helpers/ObjectHelper.test.js +72 -0
- package/dist/tests/jest/helpers/ObjectHelper.test.js.map +1 -0
- package/dist/tests/jest/models/RoomRate.test.d.ts +1 -0
- package/dist/tests/jest/models/RoomRate.test.js +133 -0
- package/dist/tests/jest/models/RoomRate.test.js.map +1 -0
- package/dist/tests/jest/providers/LanguageProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js +32 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -0
- package/dist/tests/jest/providers/SessionProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/SessionProvider.test.js +230 -0
- package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js +126 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js.map +1 -0
- package/dist/tests/jest/reducers/BasketReducer.test.d.ts +1 -0
- package/dist/tests/jest/reducers/BasketReducer.test.js +103 -0
- package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -0
- package/dist/tests/offline/RoomstayBestRateAlert.d.ts +1 -0
- package/dist/tests/offline/RoomstayBestRateAlert.js +48 -0
- package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -0
- package/dist/tests/offline/entry/RSCompany.js +7 -2
- package/dist/tests/offline/entry/RSCompany.js.map +1 -1
- package/dist/tests/offline/entry/ReactWrapper.d.ts +1 -0
- package/dist/tests/offline/entry/ReactWrapper.js +140 -0
- package/dist/tests/offline/entry/ReactWrapper.js.map +1 -0
- package/dist/tests/offline/entry/allEngines.d.ts +1 -0
- package/dist/tests/offline/entry/allEngines.js +50 -0
- package/dist/tests/offline/entry/allEngines.js.map +1 -0
- package/dist/tests/offline/entry/components/TestPicker.d.ts +1 -0
- package/dist/tests/offline/entry/components/TestPicker.js +214 -0
- package/dist/tests/offline/entry/components/TestPicker.js.map +1 -0
- package/dist/tests/offline/entry/context/EngineContext.d.ts +9 -0
- package/dist/tests/offline/entry/context/EngineContext.js +37 -0
- package/dist/tests/offline/entry/context/EngineContext.js.map +1 -0
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.d.ts +1 -0
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js +68 -0
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js.map +1 -0
- package/dist/tests/setupTests.d.ts +0 -0
- package/dist/tests/setupTests.js +12 -0
- package/dist/tests/setupTests.js.map +1 -0
- package/dist/vendors.bundle.js +1 -1
- package/package.json +3 -3
- package/dist/14.bundle.js +0 -1
- package/dist/559.bundle.js +0 -1
- package/dist/848.bundle.js +0 -1
- package/dist/962.bundle.js +0 -1
- package/dist/main.bundle.js.LICENSE.txt +0 -5
- package/dist/src/components/temp/Login.d.ts +0 -2
- package/dist/src/components/temp/Login.js +0 -79
- package/dist/src/components/temp/Login.js.map +0 -1
- package/dist/test.bundle.js.LICENSE.txt +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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":";;AAAA,iEAA2D;AAE3D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,QAAQ,GAAQ,IAAI,CAAC;YAE3B,MAAM,SAAS,GAAG;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE,OAAO;iBACjB;aACJ,CAAC;YAEF,MAAM,MAAM,GAAG,IAAA,wBAAS,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAA,wBAAS,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAE/C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,sDAAsD,EAAE;YACvD,MAAM,QAAQ,GAAG;gBACb,UAAU,EAAE;oBACR,KAAK,EAAE,OAAO;iBACjB;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,GAAG,EAAE,KAAK;qBACb;iBACJ;aACJ,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,wBAAS,EAAM,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAA,wBAAS,EAAM,SAAS,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,yBAAyB,EAAE;YAC1B,MAAM,QAAQ,GAAG;gBACb,UAAU,EAAE;oBACR,KAAK,EAAE,OAAO;iBACjB;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE,eAAe;iBACzB;aACJ,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,wBAAS,EAAM,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAA,wBAAS,EAAM,SAAS,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,0BAA0B,EAAE;YAC3B,MAAM,QAAQ,GAAG;gBACb,UAAU,EAAE;oBACR,KAAK,EAAE,OAAO;iBACjB;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE,eAAe;iBACzB;aACJ,CAAC;YACF,IAAA,wBAAS,EAAM,QAAQ,EAAE,SAAS,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC5D,IAAA,wBAAS,EAAM,SAAS,EAAE,QAAQ,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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';
|