diff --git a/.prettierrc b/.prettierrc index 192cad794..514fb6eac 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,6 @@ { "tabWidth": 4, + "htmlWhitespaceSensitivity": "ignore", "bracketSameLine": true, "printWidth": 100, "trailingComma" : "es5" diff --git a/jest.config.js b/jest.config.js index 04f474e53..6703eb608 100644 --- a/jest.config.js +++ b/jest.config.js @@ -28,12 +28,13 @@ module.exports = { "!src/layouts/insurance/*.vue", // Temp test exclusion while in development "!src/layouts/insurance-company/*.vue", // Temp test exclusion while in development "!src/layouts/insurance-company/insurance-company-question/*.vue", // Temp test exclusion while in development + "!src/experiment-components/*.vue", // END ], // ! means exclude from coverage. testMatch: ["**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)"], coverageThreshold: { global: { - statements: 75, + statements: 74, }, }, // Uncomment this to avoid the massive amount of warnings we are getting for onSubmit and onInvalidSubmit diff --git a/src/constants/experiments.js b/src/constants/experiments.js index 25a8d697e..09dfc4140 100644 --- a/src/constants/experiments.js +++ b/src/constants/experiments.js @@ -20,6 +20,8 @@ const experimentSettings = { DISPLAY_MSR: "DisplayMSR", DISPLAY_WAITLIST: "DisplayWaitlist2.0", WAITLIST_THRESHOLD_DAYS: "Waitlist_Threshold_Days", + PRICING_BY_DAY: "DisplayPricingByDay", + FOSTER_LOVE: "DisplayFosterLove", }; const experimentTriggers = { diff --git a/src/constants/store-actions.js b/src/constants/store-actions.js index 202b98a48..42dc27e4f 100644 --- a/src/constants/store-actions.js +++ b/src/constants/store-actions.js @@ -108,6 +108,7 @@ const storeActions = { CREATE_SUBMITTED_ORDER: "createSubmittedOrder", RESET_SUBMITTED_ORDER: "resetSubmittedOrder", + ADD_DONATION_TO_SUBMITTED_ORDER: "addDonationToSubmittedOrder", RESET_EXTERNAL_PARAMETER_STATE: "resetExternalParameterState", UPDATE_EXTERNAL_PARAMETER_MMS: "updateExternalParameterMMS", diff --git a/src/constants/store-mutations.js b/src/constants/store-mutations.js index de0c9dd4b..dceeac63e 100644 --- a/src/constants/store-mutations.js +++ b/src/constants/store-mutations.js @@ -16,8 +16,6 @@ const storeMutations = { UPDATE_VEHICLE_IMAGE_COLOR: "updateVehicleImageColor", UPDATE_VEHICLE_VIN: "updateVehicleVin", UPDATE_VEHICLE: "updateVehicle", - UPDATE_VEHICLE_MOBILE_STATIC_RECALIBRATION_APPLICABLE: - "updateIsMobileStaticRecalibrationApplicable", UPDATE_IS_REPAIR: "updateIsRepair", UPDATE_NUMBER_OF_CHIPS: "updateNumberOfChips", diff --git a/src/digital-components/button-question/button-question.vue b/src/digital-components/button-question/button-question.vue index f9c1b6279..53f71eb9b 100644 --- a/src/digital-components/button-question/button-question.vue +++ b/src/digital-components/button-question/button-question.vue @@ -55,6 +55,7 @@ https://safelite.atlassian.net/wiki/spaces/DC/pages/76644418/Button+Question+Com :additionalButtonData="answer.additionalButtonData" :lastValuePushedToGa="lastValuePushedToGa" :setLastValuePushedToGa="setLastValuePushedToGa" + :isInsuranceSelected="isInsuranceSelected" :suppressError="suppressError" @buttonEvent="handleButtonEvent" v-model="selectedValues" /> @@ -139,6 +140,7 @@ export default { type: Boolean, default: false, }, + isInsuranceSelected: Boolean, }, setup(props) { const propsClone = Object.assign({}, props); diff --git a/src/digital-components/date-picker/date-picker.vue b/src/digital-components/date-picker/date-picker.vue index c345a1ce3..71c09bbbf 100644 --- a/src/digital-components/date-picker/date-picker.vue +++ b/src/digital-components/date-picker/date-picker.vue @@ -17,18 +17,40 @@
- = Available + + = Available
-
SundayS
-
MondayM
-
TuesdayT
-
WednesdayW
-
ThursdayT
-
FridayF
-
SaturdayS
+
+ Sunday + S +
+
+ Monday + M +
+
+ Tuesday + T +
+
+ Wednesday + W +
+
+ Thursday + T +
+
+ Friday + F +
+
+ Saturday + S +
- + :aria-required="isRequired">

{{ errorMessage }} + :class="[centerErrorMessage ? 'center-error-message' : '']"> + {{ errorMessage }} +

diff --git a/src/experiment-components/date-picker-for-pricing-by-day.vue b/src/experiment-components/date-picker-for-pricing-by-day.vue new file mode 100644 index 000000000..df4c9b140 --- /dev/null +++ b/src/experiment-components/date-picker-for-pricing-by-day.vue @@ -0,0 +1,1079 @@ + + + + + diff --git a/src/experiment-components/donation-block.vue b/src/experiment-components/donation-block.vue new file mode 100644 index 000000000..10ebec7a5 --- /dev/null +++ b/src/experiment-components/donation-block.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/src/experiment-components/service-package-radio.vue b/src/experiment-components/service-package-radio.vue new file mode 100644 index 000000000..c52a80121 --- /dev/null +++ b/src/experiment-components/service-package-radio.vue @@ -0,0 +1,493 @@ + + + + + diff --git a/src/fmg-components/cart/cart.vue b/src/fmg-components/cart/cart.vue index e21a5037a..c4a8e4900 100644 --- a/src/fmg-components/cart/cart.vue +++ b/src/fmg-components/cart/cart.vue @@ -10,9 +10,9 @@ href="javascript:void(0)" class="col d-flex justify-content-between py-0"> {{ OrderDetailsText }} - {{ - getLineItemAmount(amountDue, showCoverageAsPending) - }} + + {{ getLineItemAmount(amountDue, showCoverageAsPending) }} +
@@ -48,11 +48,11 @@ v-for="(cartItem, i) in packageCartItems" :key="i" class="packaged-cart-item"> - {{ - cartItem.name - }} + + + {{ cartItem.name }} + + {{ - getLineItemAmount(cartItem.subTotal, null, cartItem.category) - }} + "> + {{ getLineItemAmount(cartItem.subTotal, null, cartItem.category) }} +
@@ -143,8 +141,10 @@ class="my-2 lh-1 applied-promo-tag" v-for="(promoCode, i) in getPromoCodeList" :key="i"> - Promo code {{ promoCode }} applied + + Promo code + {{ promoCode }} + applied diff --git a/src/fmg-components/promo-modal-question/promo-modal-question.vue b/src/fmg-components/promo-modal-question/promo-modal-question.vue index 656aeaa38..8efad6f3e 100644 --- a/src/fmg-components/promo-modal-question/promo-modal-question.vue +++ b/src/fmg-components/promo-modal-question/promo-modal-question.vue @@ -54,8 +54,10 @@ class="mt-4 d-flex align-items-center justify-content-between" v-for="(promoCode, i) in this.getPromoCodeList()" :key="i"> - Promo code {{ promoCode }} applied + + Promo code + {{ promoCode }} + applied isRecalPartOrHasChildRecalPart(li)); } + +export function getRecalPartNumbers(glassPartsArray) { + if (glassPartsArray && glassPartsArray.length > 0) { + const topLevel = glassPartsArray.filter((gp) => isRecalPart(gp)).map((gp) => gp.partNumber); + + const children = glassPartsArray.map((gp) => getRecalPartNumbers(gp.childParts)).flat(); + + return [...topLevel, ...children]; + } else { + return []; + } +} diff --git a/src/layouts/address-lookup/address-lookup.vue b/src/layouts/address-lookup/address-lookup.vue index e069ee48d..6e3520704 100644 --- a/src/layouts/address-lookup/address-lookup.vue +++ b/src/layouts/address-lookup/address-lookup.vue @@ -357,15 +357,21 @@ export default { false ); - if (vinPagesMixin.methods.isPhoneNumber(this.customerQuestions.emailOrSms)) { - const phone = this.customerQuestions.emailOrSms.replace(/[()]/g, ""); - await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false); + // if no value due to field being optional, blank both phone and email address + if (!this.customerQuestions.emailOrSms) { + await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false); + await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false); } else { - await this.dispatchStoreAction( - storeActions.SAVE_EMAIL, - this.customerQuestions.emailOrSms, - false - ); + if (vinPagesMixin.methods.isPhoneNumber(this.customerQuestions.emailOrSms)) { + const phone = this.customerQuestions.emailOrSms.replace(/[()]/g, ""); + await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false); + } else { + await this.dispatchStoreAction( + storeActions.SAVE_EMAIL, + this.customerQuestions.emailOrSms, + false + ); + } } await this.dispatchStoreAction( diff --git a/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue b/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue index c2cb5ea00..1fef02247 100644 --- a/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue +++ b/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue @@ -4,8 +4,8 @@ - + v-model="selectedCalendarOption"> diff --git a/src/layouts/insurance-company/insurance-company-spec.js b/src/layouts/insurance-company/insurance-company-spec.js deleted file mode 100644 index bd932b7d2..000000000 --- a/src/layouts/insurance-company/insurance-company-spec.js +++ /dev/null @@ -1,3 +0,0 @@ -describe("insurance-company.vue", () => { - it.todo("Some test for the future"); -}); diff --git a/src/layouts/insurance-company/insurance-company.spec.js b/src/layouts/insurance-company/insurance-company.spec.js new file mode 100644 index 000000000..a35be3b87 --- /dev/null +++ b/src/layouts/insurance-company/insurance-company.spec.js @@ -0,0 +1,102 @@ +import { shallowMount } from "@vue/test-utils"; +import InsuranceCompany from "@/layouts/insurance-company/insurance-company.vue"; +import { applicationConfig } from "@/constants/application-config.js"; +import store from "@/store"; +import baseMixin from "@/mixins/base-mixin.js"; + +jest.mock("@/store", () => ({ + getters: { + order: { + payment: { + parentAccountNumber: "12345", + }, + }, + }, +})); + +var mockRouter = { + navigateWithoutSaving: jest.fn(), +}; + +jest.mock("@/mixins/base-mixin.js", () => ({ + methods: { + navigateWithoutSaving: jest.fn(), + }, + data() { + return { + navigationScenarios: { + CLICKED_BACK: "clicked_back", + }, + }; + }, +})); + +describe("insurance-company.vue", () => { + beforeEach(() => { + // Reset the store's parentAccountNumber before each test + store.getters.order.payment.parentAccountNumber = "12345"; + }); + + test("should return true when parentAccountNumber matches CASH_PARENT_ACCOUNT_NUMBER", () => { + applicationConfig.CASH_PARENT_ACCOUNT_NUMBER = "12345"; + const wrapper = shallowMount(InsuranceCompany, { + global: { + mocks: { + $store: store, + }, + }, + }); + + expect(wrapper.vm.isCashParentAccountNumber()).toBe(true); + }); + + test("should return false when parentAccountNumber does not match CASH_PARENT_ACCOUNT_NUMBER", () => { + applicationConfig.CASH_PARENT_ACCOUNT_NUMBER = "12345"; + store.getters.order.payment.parentAccountNumber = "67890"; + const wrapper = shallowMount(InsuranceCompany, { + global: { + mocks: { + $store: store, + }, + }, + }); + + expect(wrapper.vm.isCashParentAccountNumber()).toBe(false); + }); + + test("should call navigateWithoutSaving with { isCashSelected: true } when forceCashSelection is true", () => { + const wrapper = shallowMount(InsuranceCompany, { + global: { + mocks: { + $store: store, + $router: mockRouter, + }, + mixins: [baseMixin], + }, + }); + + wrapper.vm.backButtonAction(true); + expect(mockRouter.navigateWithoutSaving).toHaveBeenCalledWith( + wrapper.vm.navigationScenarios.CLICKED_BACK, + wrapper.vm.$route, + { isCashSelected: true } + ); + }); + + test("should call navigateWithoutSaving with no extra parameter when forceCashSelection is false", () => { + const wrapper = shallowMount(InsuranceCompany, { + global: { + mocks: { + $store: store, + $router: mockRouter, + }, + mixins: [baseMixin], + }, + }); + wrapper.vm.backButtonAction(false); + expect(mockRouter.navigateWithoutSaving).toHaveBeenCalledWith( + wrapper.vm.navigationScenarios.CLICKED_BACK, + wrapper.vm.$route + ); + }); +}); diff --git a/src/layouts/insurance-company/insurance-company.vue b/src/layouts/insurance-company/insurance-company.vue index 79e238d47..6069d2de5 100644 --- a/src/layouts/insurance-company/insurance-company.vue +++ b/src/layouts/insurance-company/insurance-company.vue @@ -16,6 +16,13 @@ v-model="parentAccountNumber" :originalList="originalList" /> + diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index e1b3f721e..8b9c83c67 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -311,11 +311,17 @@ export default { false ); - if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) { - const phone = this.emailOrSms.replace(/[()]/g, ""); - await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false); + // if no value due to field being optional, blank both phone and email address + if (!this.emailOrSms) { + await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false); + await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false); } else { - await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false); + if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) { + const phone = this.emailOrSms.replace(/[()]/g, ""); + await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false); + } else { + await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false); + } } await this.dispatchStoreAction( diff --git a/src/layouts/molding-questions/molding-questions.vue b/src/layouts/molding-questions/molding-questions.vue index 1bcc3d7a8..2c5f5a7c3 100644 --- a/src/layouts/molding-questions/molding-questions.vue +++ b/src/layouts/molding-questions/molding-questions.vue @@ -78,6 +78,20 @@ export default { ); } + if (store.getters.externalParameterCustomer?.phoneNumber) { + await baseMixin.methods.dispatchStoreAction( + storeActions.SAVE_PHONE_NUMBER, + store.getters.externalParameterCustomer.phoneNumber, + false + ); + + await baseMixin.methods.dispatchStoreAction( + storeActions.SAVE_IS_SMS_OPT_IN, + true, + false + ); + } + baseMixin.methods.ResetExternalParamsAndHideModal(); } }); diff --git a/src/layouts/part-questions/part-questions.vue b/src/layouts/part-questions/part-questions.vue index f905e86c7..1d7771474 100644 --- a/src/layouts/part-questions/part-questions.vue +++ b/src/layouts/part-questions/part-questions.vue @@ -79,6 +79,21 @@ export default { false ); } + + if (store.getters.externalParameterCustomer?.phoneNumber) { + await baseMixin.methods.dispatchStoreAction( + storeActions.SAVE_PHONE_NUMBER, + store.getters.externalParameterCustomer.phoneNumber, + false + ); + + await baseMixin.methods.dispatchStoreAction( + storeActions.SAVE_IS_SMS_OPT_IN, + true, + false + ); + } + baseMixin.methods.ResetExternalParamsAndHideModal(); } }); diff --git a/src/layouts/payment-method/payment-method-question/payment-method-list-button/payment-method-list-button.vue b/src/layouts/payment-method/payment-method-question/payment-method-list-button/payment-method-list-button.vue index 2763f1af9..406e9055a 100644 --- a/src/layouts/payment-method/payment-method-question/payment-method-list-button/payment-method-list-button.vue +++ b/src/layouts/payment-method/payment-method-question/payment-method-list-button/payment-method-list-button.vue @@ -18,7 +18,7 @@ v-if="hasImage" :src="buttonImage" :alt="getInlineAltText(token)" /> - {{ getInlineAltText(token) }} + {{ getInlineAltText(token) }} {{ token }} diff --git a/src/layouts/payment/payment-switch/payment-switch-button/payment-switch-button.vue b/src/layouts/payment/payment-switch/payment-switch-button/payment-switch-button.vue index 7199e27e7..af221c7ba 100644 --- a/src/layouts/payment/payment-switch/payment-switch-button/payment-switch-button.vue +++ b/src/layouts/payment/payment-switch/payment-switch-button/payment-switch-button.vue @@ -11,7 +11,7 @@ class="ms-2" :src="buttonImage" :alt="getInlineAltText(token)" /> - {{ getInlineAltText(token) }} + {{ getInlineAltText(token) }} {{ token }} diff --git a/src/layouts/payment/payment.vue b/src/layouts/payment/payment.vue index 5ffb04faa..ecd2489c8 100644 --- a/src/layouts/payment/payment.vue +++ b/src/layouts/payment/payment.vue @@ -41,8 +41,7 @@ id="card-frame" seamless scrolling="no" - allow="payment *; microphone *; geolocation *;"> - + allow="payment *; microphone *; geolocation *;">
diff --git a/src/layouts/quote/quote.spec.js b/src/layouts/quote/quote.spec.js index deca0d6d1..a87d6b0a6 100644 --- a/src/layouts/quote/quote.spec.js +++ b/src/layouts/quote/quote.spec.js @@ -59,6 +59,9 @@ jest.mock("@/mixins/base-mixin", () => ({ filterOutFees(items) { return null; }, + filterOutServicePackageDiscountPart(items) { + return null; + }, isFormValid(form) { return true; }, @@ -577,6 +580,52 @@ describe("quote.vue", () => { //Assert expect(wrapper.vm.isInsuranceSelected).toBe(false); }); + test("should default to cash if isCashSelected is true, despite all other checks pointing to insurance selection", async () => { + // Also needs no query parameter or previous selection in store to be present + //Arrange + + store.getters = { + lineItems: { + glassParts: ["item", "item2"], + }, + applicationUser: { + experiments: [], + }, + order: { + lineItems: { + glassParts: ["item", "item2"], + }, + payment: { + isInsurance: true, + }, + customer: { + emailAddress: "test@test.com", + }, + serviceLocation: { + state: null, + }, + }, + vehicle: { + cardId: "123", + }, + experimentSettings: { + settingName: "SERVICE_PACKAGE_DISCOUNT", + }, + }; + mockTierOnePrice = 505; + const { wrapper } = setupMocks({}); + + //Act + await quote.beforeRouteEnter.call( + wrapper.vm, + { query: { fmgPage: "quote", isInsuranceSelected: true, isCashSelected: true } }, + undefined, + (c) => c(wrapper.vm) + ); + + //Assert + expect(wrapper.vm.isInsuranceSelected).toBe(false); + }); test("should default to insurance if total economy package price is over $500", async () => { // Also needs no query parameter or previous selection in store to be present //Arrange diff --git a/src/layouts/quote/quote.vue b/src/layouts/quote/quote.vue index 4428f6e40..d32054108 100644 --- a/src/layouts/quote/quote.vue +++ b/src/layouts/quote/quote.vue @@ -328,6 +328,10 @@ export default { } const getIsInsuranceSelectedValue = (availableLineItems, insuranceThreshold) => { + // query param checked here is set on insurance-selection "Pay on my own" link click + if (to.query?.isCashSelected || to.query?.iscashselected) { + return false; + } const serviceLocationState = store.getters.order.serviceLocation.state; // usually true when returning from heritage but can be false when returning from heritage on a save quote @@ -357,16 +361,28 @@ export default { ) : baseMixin.methods.filterOutFees(availableLineItems); + const lineItemsNoDiscount = + baseMixin.methods.filterOutServicePackageDiscountPart( + lineItemsForCalculatingPrice + ); + if (isInsuranceFromQueryString != null) { if (isInsuranceFromQueryString.toLowerCase() === "true") { return true; } } - return ( - baseMixin.methods.getTierOnePackagePrice(lineItemsForCalculatingPrice) > - insuranceThreshold - ); // compare base price vs arbitrary threshold (representing insurance price) + const tierOnePrice = + baseMixin.methods.getTierOnePackagePrice(lineItemsNoDiscount); + // prettier-ignore + { + if (store.getters.applicationUser.loggingOption) { + console.log(new Date() + " quote tierOnePrice comparison: " + tierOnePrice + " > " + insuranceThreshold + "=" + (tierOnePrice > insuranceThreshold)); + } + } + + // compare base price vs arbitrary threshold (representing insurance price) + return tierOnePrice > insuranceThreshold; } return null; @@ -383,8 +399,7 @@ export default { // prettier-ignore { - const log = getQuerystringParameter(queryStrings.LOG); - if (log === "true") { + if (store.getters.applicationUser.loggingOption) { console.log("------------- quote.vue thresholds start -----------------"); console.log(new Date() + " isExternalParameter: " + isExternalParameter); console.log(new Date() + " internalThreshold: " + internalThreshold); @@ -394,6 +409,12 @@ export default { } if (isExternalParameter === externalParameterStatus.NOT_SET) { + // prettier-ignore + { + if (store.getters.applicationUser.loggingOption) { + console.log(new Date() + "quote.vue tab select EXTERNAL not set"); + } + } // there are no active or inactive external parameters; use internal threshold if (internalThreshold) thresholdToUse = internalThreshold; @@ -405,6 +426,13 @@ export default { } else { // user came from an external source, however, the externalParms may have been reset on service-zip, property-questions, etc... if (getBoolFromString(store.getters.externalParameterQuote?.isInsurance)) { + // prettier-ignore + { + if (store.getters.applicationUser.loggingOption) { + console.log(new Date() + "quote.vue tab select EXTERNAL ISINSURANCE"); + } + } + // did user intentionally select insurance? vm.isInsuranceSelected = true; vm.servicePackage = store.getters.externalParameterQuote.servicePackage; @@ -424,6 +452,13 @@ export default { } else { if (externalThreshold) thresholdToUse = externalThreshold; + // prettier-ignore + { + if (store.getters.applicationUser.loggingOption) { + console.log(new Date() + "quote.vue tab select NOT EXTERNAL"); + } + } + vm.isInsuranceSelected = getIsInsuranceSelectedValue( vm.availableLineItems, thresholdToUse diff --git a/src/layouts/quote/recal-disclaimer/recal-disclaimer.vue b/src/layouts/quote/recal-disclaimer/recal-disclaimer.vue index c7f31db33..b1e0e10e2 100644 --- a/src/layouts/quote/recal-disclaimer/recal-disclaimer.vue +++ b/src/layouts/quote/recal-disclaimer/recal-disclaimer.vue @@ -3,7 +3,7 @@
- {{ recalHeaderText }} + {{ recalHeaderText }}
diff --git a/src/layouts/quote/service-package-question/service-package-question.spec.js b/src/layouts/quote/service-package-question/service-package-question.spec.js index d8edb254c..6fc5d0a4d 100644 --- a/src/layouts/quote/service-package-question/service-package-question.spec.js +++ b/src/layouts/quote/service-package-question/service-package-question.spec.js @@ -18,6 +18,11 @@ import { nextTick } from "vue"; jest.mock("@/store", () => ({ commit: jest.fn(), dispatch: jest.fn(), + getters: { + applicationUser: { + loggingOption: false, + }, + }, })); const mockExperimentSettings = experimentSettings; @@ -29,6 +34,9 @@ jest.mock("@/mixins/experiment-mixin.js", () => ({ return true; } }, + hasSettingEqualTo(settingName, settingValue) { + return true; + }, }, })); @@ -843,6 +851,7 @@ function setupMocks({ mountOptionsMockData, props = mockProps }) { }, }, }; + mountOptionsMockData = Object.assign(mountOptionsMockDataDefault, mountOptionsMockData); const mountOptions = getMountOptions(mountOptionsMockData); diff --git a/src/layouts/quote/service-package-question/service-package-question.vue b/src/layouts/quote/service-package-question/service-package-question.vue index b39213267..982d03948 100644 --- a/src/layouts/quote/service-package-question/service-package-question.vue +++ b/src/layouts/quote/service-package-question/service-package-question.vue @@ -4,11 +4,12 @@ :answers="servicePackageAnswers" :groupName="groupName" buttonTypeString="servicePackageRadio" - :buttonTypeObject="servicePackageRadio" + :buttonTypeObject="hasPricingByDay() ? servicePackageRadioExperiment : servicePackageRadio" v-model="selectedPackageName" :validationRules="validationRules" :isRequired="isRequired" - :logDisplayedValuesEvent="true" /> + :logDisplayedValuesEvent="true" + :isInsuranceSelected="isInsuranceSelected" />