Merge branch 'develop' into Feature/Digital/CSR-2066

This commit is contained in:
hiteshkumar87 2024-10-30 20:07:54 +05:30 committed by GitHub
commit d1e372b1f3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 65 additions and 19 deletions

View file

@ -239,6 +239,15 @@ export function getPackageNameByType(packageType) {
return package_names[packageType] || null; return package_names[packageType] || null;
} }
export function getDiscountPackageName(discountPackage) {
const package_names = {
ECON: packageNames.TIER_ONE,
STANDARD: packageNames.TIER_TWO,
PREMIUM: packageNames.TIER_THREE,
};
return package_names[discountPackage] || null;
}
function maxTier(tierA, tierB) { function maxTier(tierA, tierB) {
if (tierA === packageNames.TIER_THREE || tierB === packageNames.TIER_THREE) { if (tierA === packageNames.TIER_THREE || tierB === packageNames.TIER_THREE) {
return packageNames.TIER_THREE; return packageNames.TIER_THREE;

View file

@ -375,6 +375,7 @@ export default {
}, },
false false
); );
await this.getAndSaveBillToAccountNumber();
return await this.navigateForward(carsFound); return await this.navigateForward(carsFound);
}, },

View file

@ -128,6 +128,20 @@ export default {
this.parentAccountNumber.toString(), this.parentAccountNumber.toString(),
false false
); );
const billToAccountNumber = await baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.GET_BILL_TO_ACCOUNT_NUMBER,
{},
"insurance-company",
false
);
baseMixin.methods.dispatchStoreAction(
storeActions.SAVE_BILL_TO_ACCOUNT_NUMBER,
billToAccountNumber,
false
);
navigateToHeritageFunnel({ navigateToHeritageFunnel({
shouldSaveSession: true, shouldSaveSession: true,
pageNameToLog: "insurance-company", pageNameToLog: "insurance-company",

View file

@ -323,6 +323,7 @@ export default {
false false
); );
await this.getAndSaveBillToAccountNumber();
return await this.navigateForward(); return await this.navigateForward();
}, },
lookupVin(plate, state) { lookupVin(plate, state) {

View file

@ -78,7 +78,7 @@
validationRules="payment-method-required" /> validationRules="payment-method-required" />
<alert <alert
v-if="!showPaymentMethodQuestions && !forwardClicked" v-if="showHavePaymentReadyAlert"
:isDismissible="false" :isDismissible="false"
alertClass="alert-info" alertClass="alert-info"
cmsWidgetName="NoPiaDisclaimerWidget" cmsWidgetName="NoPiaDisclaimerWidget"
@ -681,6 +681,11 @@ export default {
return false; return false;
}, },
showHavePaymentReadyAlert() {
return (
!this.showPaymentMethodQuestions && !this.forwardClicked && this.totalAmountDue > 0
);
},
totalAmountDue() { totalAmountDue() {
return baseMixin.methods.getAmountDue(this.lineItems); return baseMixin.methods.getAmountDue(this.lineItems);
}, },

View file

@ -28,6 +28,7 @@ import {
containsLineItemWithPartType, containsLineItemWithPartType,
findLineItemsWithPartType, findLineItemsWithPartType,
getPackageNameByType, getPackageNameByType,
getDiscountPackageName,
} from "@/helpers/service-package-helper"; } from "@/helpers/service-package-helper";
import { import {
getPromosThatMatchLineItemsOnOrder, getPromosThatMatchLineItemsOnOrder,
@ -161,16 +162,7 @@ export default {
const discountServicePackage = experimentMixin.methods.getSettingValue( const discountServicePackage = experimentMixin.methods.getSettingValue(
experimentSettings.PROMO_ON_PACKAGE experimentSettings.PROMO_ON_PACKAGE
); );
switch (discountServicePackage) { return getDiscountPackageName(discountServicePackage);
case "ECON":
return packageNames.TIER_ONE;
case "STANDARD":
return packageNames.TIER_TWO;
case "PREMIUM":
return packageNames.TIER_THREE;
default:
return null;
}
}, },
frontWipersApplicableForTierTwo() { frontWipersApplicableForTierTwo() {
return shouldFrontWipersBeAvailable( return shouldFrontWipersBeAvailable(

View file

@ -8,15 +8,15 @@
:aria-label="buttonLabel" :aria-label="buttonLabel"
class="button-content list-button-content d-flex flex-column justify-content-center py-3 px-4"> class="button-content list-button-content d-flex flex-column justify-content-center py-3 px-4">
<div class="row-one"> <div class="row-one">
<span class="m-0 button-label-copy" :class="textPosition">{{ <span class="m-0 button-label-copy text-truncate" :class="textPosition">{{
buttonLabel buttonLabel
}}</span> }}</span>
<span class="m-0 caption ms-1" :class="textPosition">{{ <span class="m-0 caption mx-1 text-nowrap" :class="textPosition">{{
buttonLabelSubCopy buttonLabelSubCopy
}}</span> }}</span>
<div <div
v-if="displayAvailabilityIndicators" v-if="displayAvailabilityIndicators"
class="availability-indicator rounded-pill" class="availability-indicator rounded-pill text-nowrap"
:class="availabilityRatingClass"> :class="availabilityRatingClass">
<div <div
v-if="!isLoaderDisplayed" v-if="!isLoaderDisplayed"

View file

@ -485,6 +485,7 @@ function setupMocks({ customMountOptions, customZipQuery, customZipDataResponse
}), }),
setCmsContent: jest.fn(), setCmsContent: jest.fn(),
navigateForwardWithSingleCarMatch: jest.fn(), navigateForwardWithSingleCarMatch: jest.fn(),
getAndSaveBillToAccountNumber: jest.fn(),
getZipCodeData: jest.fn().mockImplementation(() => { getZipCodeData: jest.fn().mockImplementation(() => {
if (customZipDataResponse) { if (customZipDataResponse) {
return customZipDataResponse; return customZipDataResponse;

View file

@ -198,6 +198,7 @@ export default {
}, },
false false
); );
await this.getAndSaveBillToAccountNumber();
if (!zipCodeData.isValid) { if (!zipCodeData.isValid) {
this.displayInvalidZipAlert = true; this.displayInvalidZipAlert = true;

View file

@ -346,6 +346,7 @@ export default {
false false
); );
await this.getAndSaveBillToAccountNumber();
return await this.navigateForward(); return await this.navigateForward();
} }

View file

@ -42,5 +42,19 @@ export default {
}; };
return vinLookupMethods[vinSelection] || null; return vinLookupMethods[vinSelection] || null;
}, },
async getAndSaveBillToAccountNumber() {
const pageName = this.$options?.name;
const billToAccountNumber = await this.dispatchStoreActionWithLogging(
storeActions.GET_BILL_TO_ACCOUNT_NUMBER,
{},
pageName,
false
);
await this.dispatchStoreAction(
this.storeActions.SAVE_BILL_TO_ACCOUNT_NUMBER,
billToAccountNumber,
false
);
},
}, },
}; };

View file

@ -115,6 +115,15 @@ const routes = [
to.query.fmgPage to.query.fmgPage
); );
// clear part related state because heritage selected a new vehicle
if (
to.query.fmgPage === fmgPageValues.VEHICLE &&
eval(getFunnelCookie()?.HasDelayedClaimRegistration)
) {
console.log(new Date() + "Router: Policy Vehicle Changed");
store.commit(storeMutations.RESET_GLASS_PARTS_STATE);
}
const pageToRedirectTo = await getPageToRouteExistingOrderTo(to); const pageToRedirectTo = await getPageToRouteExistingOrderTo(to);
// This logic may determine that the user should be sent to heritage -- if so, do that here. // This logic may determine that the user should be sent to heritage -- if so, do that here.

View file

@ -2803,10 +2803,8 @@ export const actions = {
pageNameToLog, pageNameToLog,
} }
) { ) {
// Cash orders default to 87291 - update if/when more detailed if (!parentAccountNumber) {
// billToAccountNumbers are needed for cash parentAccountNumber = applicationConfig.CASH_PARENT_ACCOUNT_NUMBER;
if (parentAccountNumber == applicationConfig.CASH_PARENT_ACCOUNT_NUMBER) {
return applicationConfig.CASH_DEFAULT_BILL_TO_ACCOUNT_NUMBER;
} }
const queryString = const queryString =
`ParentAccountNumber=${parentAccountNumber}` + `ParentAccountNumber=${parentAccountNumber}` +

View file

@ -6,7 +6,7 @@ process.env.VUE_APP_CURRENT_ENVIRONMENT = "Localhost";
process.env.VUE_APP_MY_ACCOUNT = "https://myaccountdev.safelite.com/"; process.env.VUE_APP_MY_ACCOUNT = "https://myaccountdev.safelite.com/";
//process.env.VUE_APP_SAFELITE_HOP = "http://localhost:60966/fmgCheckoutShared.aspx"; //process.env.VUE_APP_SAFELITE_HOP = "http://localhost:60966/fmgCheckoutShared.aspx";
process.env.VUE_APP_SAFELITE_HOP = "https://sv2-safelitehop-sys.safelite.com/fmgCheckoutShared.aspx"; process.env.VUE_APP_SAFELITE_HOP = "https://sv2-safelitehop-dev.safelite.com/fmgCheckoutShared.aspx";
// GA & GTM // GA & GTM
process.env.VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY = process.env.VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY =