diff --git a/src/fmg-components/cart/cart.vue b/src/fmg-components/cart/cart.vue index d0f4d6ed4..e841d8849 100644 --- a/src/fmg-components/cart/cart.vue +++ b/src/fmg-components/cart/cart.vue @@ -305,9 +305,9 @@ export default { if (!this.lineItems || this.lineItems.length < 1) return; const lineItemsCopy = deepClone(this.lineItems); - lineItemsCopy.supportingItems = lineItemsCopy.supportingItems ? baseMixin.methods.filterOutRecalibration( - lineItemsCopy?.supportingItems - ) : []; + lineItemsCopy.supportingItems = lineItemsCopy.supportingItems + ? baseMixin.methods.filterOutRecalibration(lineItemsCopy?.supportingItems) + : []; return lineItemsCopy; }, showCoverageAsPending() { @@ -438,13 +438,15 @@ export default { packagePrice() { let packagePrice = 0; - if (!this.isInsurance && this.shouldHideRecalibration) { // Update packagePrice if Cash only && is part of RemoveRecal experiment + if (!this.isInsurance && this.shouldHideRecalibration) { + // Update packagePrice if Cash only && is part of RemoveRecal experiment packagePrice = baseMixin.methods.getTierOnePackagePrice( baseMixin.methods.filterOutFees( baseMixin.methods.filterOutRecalibration(this.availableLineItems) // Strip out recal before filtering out fees ) ); - } else if (!this.showCoverageAsVerified && !this.showCoverageAsPending) { // Update packagePrice if is verified insurance OR if Cash && not part of RemoveRecal experiment + } else if (!this.showCoverageAsVerified && !this.showCoverageAsPending) { + // Update packagePrice if is verified insurance OR if Cash && not part of RemoveRecal experiment packagePrice = baseMixin.methods.getTierOnePackagePrice( baseMixin.methods.filterOutFees(this.availableLineItems) ); @@ -1001,7 +1003,7 @@ export default { if (!this.lineItems || this.lineItems.length < 1) return; return this.isInsurance || !this.shouldHideRecalibration ? baseMixin.methods.getSubTotal(this.lineItems) // calculate with recal (if on order) - : baseMixin.methods.getSubTotal(this.lineItemsWithoutRecal); // calculated without recal + : baseMixin.methods.getSubTotal(this.lineItemsWithoutRecal); // calculate without recal }, salesTax() { if (!this.lineItems || this.lineItems.length < 1) return; diff --git a/src/layouts/confirmation/confirmation.vue b/src/layouts/confirmation/confirmation.vue index df3a3dfe7..acb97cba2 100644 --- a/src/layouts/confirmation/confirmation.vue +++ b/src/layouts/confirmation/confirmation.vue @@ -170,9 +170,7 @@ export default { }, computed: { shouldHideRecalibration() { - return this.getSettingValue( - experimentSettings.RECAL_PRICE_REMOVE - ); + return this.getSettingValue(experimentSettings.RECAL_PRICE_REMOVE); }, ShowCart() { if (this.isPia && this.submittedOrder?.settledTenderAmount == 0) { diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index ccf4e1524..85fb84a63 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -55,7 +55,9 @@ class="service-questions" />
-
+
e.universeName === experimentUniverses.RECAL_PRICE_REMOVAL - ); const wipersPromise = baseMixin.methods.dispatchStoreActionWithLogging( storeActions.GET_WIPERS, { @@ -208,33 +207,6 @@ export default { ...servicePackageDiscountPart, ]; - // If the recal experiment is found then log the experiment exposure. - const isRecalibrationOnOrder = containsLineItemWithPartType( - partTypeStrings.RECALIBRATION, - availableLineItems - ); - const canSafeliteRecalibrate = nullSafeGlassParts.some((glassPart) => { - return glassPart.partType === "WINDSHIELD" && glassPart.canSafeliteRecalibrate; - }); - if ( - experimentForLogging !== undefined && - isRecalibrationOnOrder && - canSafeliteRecalibrate - ) { - // Log experiment exposure - baseMixin.methods.dispatchStoreActionWithLogging( - storeActions.LOG_EXPERIMENT_EXPOSURE, - { - userId: getUserIdValue(), - sessionKey: getSessionKeyValue(), - pageName: to.query.fmgPage, - experiment: experimentForLogging, - }, - "quote", - false - ); - } - // When calling pricing from the quote page, always use the cash parent account baseMixin.methods.dispatchStoreAction( storeActions.SAVE_PARENT_ACCOUNT_NUMBER, @@ -366,10 +338,13 @@ export default { return recalSettingValue; }, showAfterpayBanner() { - return !this.isInsuranceSelected && (!this.isRecalibrationOnOrder || !this.shouldHideRecalibration) + return ( + !this.isInsuranceSelected && + (!this.isRecalibrationOnOrder || !this.shouldHideRecalibration) + ); }, showRecalDisclaimer() { - return this.isRecalibrationOnOrder && this.shouldHideRecalibration + return this.isRecalibrationOnOrder && this.shouldHideRecalibration; }, }, methods: { 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 07d37ed19..a23d1ead6 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 @@ -475,6 +475,7 @@ describe("service-package-question.vue, matching business rules for package disp mockProps.availableLineItems.push(recalLineItem); mockProps.availableLineItems.push(driverFrontWiperLineItem); mockProps.availableLineItems.push(passengerFrontWiperLineItem); + mockProps.isRecalibrationOnOrder = true; Object.assign(processedCmsContent, mockProcessedCmsContent[packageNameKey]); const wrapper = setupMocks({ 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 93d8ff79b..4ef027ad5 100644 --- a/src/layouts/quote/service-package-question/service-package-question.vue +++ b/src/layouts/quote/service-package-question/service-package-question.vue @@ -49,6 +49,8 @@ export default { availableLineItems: null, activePromos: null, servicePackage: null, + isRecalibrationOnOrder: Boolean, + shouldHideRecalibration: Boolean, }, data() { return { @@ -141,12 +143,6 @@ export default { })); return modifiedAnswers; }, - isRecalibrationOnOrder() { - return containsLineItemWithPartType( - partTypeStrings.RECALIBRATION, - this.nullSafeAvailableLineItems - ); - }, isServicePackageDiscountOnOrder() { return containsLineItemWithPartType( partTypeStrings.SERVICE_PACKAGE_DISCOUNT, @@ -242,7 +238,8 @@ export default { }, getPackagePrice(packageName, { discountedPrice = false, servicePackageDiscount = false }) { var lineItemsToPrice = [...this.nullSafeAvailableLineItems]; - if (this.isRecalibrationOnOrder) { + + if (this.isRecalibrationOnOrder && this.shouldHideRecalibration) { lineItemsToPrice = lineItemsToPrice.filter((item) => { return item.partType != partTypeStrings.RECALIBRATION; });