From 7571e74197decac0a64697188b1ebcd1dbd33026 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Tue, 8 Apr 2025 22:05:50 -0400 Subject: [PATCH 1/2] CASH-484: adding fix to remove any PBD lineItems before loading insurance-company page --- .../insurance-company/insurance-company.vue | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/layouts/insurance-company/insurance-company.vue b/src/layouts/insurance-company/insurance-company.vue index 6069d2de5..0f7bca7c7 100644 --- a/src/layouts/insurance-company/insurance-company.vue +++ b/src/layouts/insurance-company/insurance-company.vue @@ -53,11 +53,33 @@ import { Form, defineRule } from "vee-validate"; import baseMixin from "@/mixins/base-mixin.js"; import { navigateToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper"; import { applicationConfig } from "@/constants/application-config"; +import experimentMixin from "@/mixins/experiment-mixin.js"; +import { experimentSettings } from "@/constants/experiments"; +import { partNumberStrings } from "@/constants/part-number-strings"; +import { deepClone } from "@/helpers/object-helper"; import store from "@/store"; export default { name: "insurance-company", async beforeRouteEnter(to, from, next) { + // Remove any Pricing By Day lineItems before going to Heritage insurance + const isPricingByDayExperiment = experimentMixin.methods.hasSettingEqualTo( + experimentSettings.PRICING_BY_DAY, + "true" + ); + if (isPricingByDayExperiment) { + const lineItems = deepClone(store.getters.order.lineItems); + const supportingItemsWithoutPricingByDay = + baseMixin.methods.filterOutCertainPartTypesOrNumbers(lineItems.supportingItems, { + partNumbersToRemove: [partNumberStrings.PRICING_BY_DAY_UPCHARGE], + }); + baseMixin.methods.dispatchStoreAction( + storeActions.SAVE_SUPPORTING_ITEMS_SUPPRESSING_STATE_RESETTING, + supportingItemsWithoutPricingByDay, + false + ); + } + // Call APIs const cmsContentPromise = fetchCmsContentForPage(to.query.fmgPage); const insuranceCompanyListPromise = baseMixin.methods.dispatchStoreActionWithLogging( From 6965437137303799723a9effc305078c21800e0f Mon Sep 17 00:00:00 2001 From: Chris Redelinghuys Date: Thu, 10 Apr 2025 14:11:55 -0400 Subject: [PATCH 2/2] CASH-203: Add Afterpay breakout display --- src/constants/experiments.js | 2 + .../service-package-radio-for-afterpay.vue | 474 ++++++++++++++++++ .../afterpay-modal-banner.vue | 26 +- src/layouts/quote/quote.spec.js | 6 + src/layouts/quote/quote.vue | 40 ++ .../service-package-question.vue | 23 +- 6 files changed, 565 insertions(+), 6 deletions(-) create mode 100644 src/experiment-components/service-package-radio-for-afterpay.vue diff --git a/src/constants/experiments.js b/src/constants/experiments.js index d64849466..c5c24536d 100644 --- a/src/constants/experiments.js +++ b/src/constants/experiments.js @@ -3,6 +3,7 @@ const experimentUniverses = { RECAL_PRICE_REMOVAL: "NextGen_RecalPriceRemoval", MSR: "MSR", IGQ_SkipQuote: "NextGen_IGQSkipToInsurance", + AFTERPAY_BREAKOUT_DISPLAY: "AfterpayBreakoutDisplay", }; const experimentSettings = { @@ -24,6 +25,7 @@ const experimentSettings = { PRICING_BY_DAY: "DisplayPricingByDay", FOSTER_LOVE: "DisplayFosterLove", SKIP_TO_INSURANCE: "SkipToInsurance", + DISPLAY_AFTERPAY_BREAKOUT_DISPLAY: "Display_AfterpayBreakoutDisplay", }; const experimentTriggers = { diff --git a/src/experiment-components/service-package-radio-for-afterpay.vue b/src/experiment-components/service-package-radio-for-afterpay.vue new file mode 100644 index 000000000..3356ee225 --- /dev/null +++ b/src/experiment-components/service-package-radio-for-afterpay.vue @@ -0,0 +1,474 @@ + + + + + diff --git a/src/layouts/quote/afterpay-modal-banner/afterpay-modal-banner.vue b/src/layouts/quote/afterpay-modal-banner/afterpay-modal-banner.vue index 9f393e260..3b682e52b 100644 --- a/src/layouts/quote/afterpay-modal-banner/afterpay-modal-banner.vue +++ b/src/layouts/quote/afterpay-modal-banner/afterpay-modal-banner.vue @@ -2,16 +2,16 @@