Merge branch 'release/2025.04.24' into feature/CASH-498

This commit is contained in:
mvalaiyapathi 2025-04-10 13:49:30 -04:00 committed by GitHub
commit 823c0c5dda
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 121 additions and 33 deletions

View file

@ -301,13 +301,15 @@ export default {
return this.$refs.navbar.removeLoader(); return this.$refs.navbar.removeLoader();
} }
this.displayInvalidZipAlert = false; this.displayInvalidZipAlert = false;
const closestShops = await this.findClosestApplicableShops( if (this.serviceZipCode != null && this.isHeavyTruck) {
this.serviceZipCode, const closestShops = await this.findClosestApplicableShops(
this.carId this.serviceZipCode,
); this.carId
this.displayNoServiceAlert = !closestShops?.data?.providers?.length; );
if (this.displayNoServiceAlert) { this.displayNoServiceAlert = !closestShops?.data?.providers?.length;
return this.$refs.navbar.removeLoader(); if (this.displayNoServiceAlert) {
return this.$refs.navbar.removeLoader();
}
} }
const carsFound = resultMap.vinLookupResponse.vinVehicles; const carsFound = resultMap.vinLookupResponse.vinVehicles;

View file

@ -281,14 +281,15 @@ export default {
this.displayInvalidZipAlert = true; this.displayInvalidZipAlert = true;
return this.$refs.navbar.removeLoader(); return this.$refs.navbar.removeLoader();
} }
if (this.isHeavyTruck) {
const closestShops = await this.findClosestApplicableShops( const closestShops = await this.findClosestApplicableShops(
this.serviceZipCode, this.serviceZipCode,
this.carId this.carId
); );
this.displayNoServiceAlert = !closestShops?.data?.providers?.length; this.displayNoServiceAlert = !closestShops?.data?.providers?.length;
if (this.displayNoServiceAlert) { if (this.displayNoServiceAlert) {
return this.$refs.navbar.removeLoader(); return this.$refs.navbar.removeLoader();
}
} }
// Check if the CarId has changed. // Check if the CarId has changed.

View file

@ -264,6 +264,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },
@ -313,6 +319,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },
@ -360,6 +372,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },
@ -404,6 +422,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },
@ -449,6 +473,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },
@ -494,6 +524,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },
@ -540,6 +576,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },
@ -588,6 +630,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },
@ -634,6 +682,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },
@ -681,6 +735,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },
@ -780,6 +840,12 @@ describe("quote.vue", () => {
lineItems: { lineItems: {
glassParts: ["item", "item2"], glassParts: ["item", "item2"],
}, },
pageData: jest.fn((page) => {
if (page === "quote") {
return { saveProgressPopupSkipped: true };
}
return {};
}),
applicationUser: { applicationUser: {
experiments: [], experiments: [],
}, },

View file

@ -166,6 +166,7 @@ import {
getDeviceIdValue, getDeviceIdValue,
} from "@/helpers/heritage-integration/cookie-helper"; } from "@/helpers/heritage-integration/cookie-helper";
import { showFmgLoadingModal } from "@/helpers/loading-modal-helper"; import { showFmgLoadingModal } from "@/helpers/loading-modal-helper";
import { fmgPageValues } from "@/router/router-constants/fmgPage-values";
defineRule("option-required", required(errorMessages.OPTION_REQUIRED)); defineRule("option-required", required(errorMessages.OPTION_REQUIRED));
@ -242,7 +243,9 @@ export default {
const resultMap = await settleAllPromises(promiseResultMap); const resultMap = await settleAllPromises(promiseResultMap);
const emailFromStore = store.getters.order.customer.emailAddress; const emailFromStore = store.getters.order.customer.emailAddress;
const isEmailInStoreOnPageLoad = emailFromStore?.length > 0; const isEmailInStoreOnPageLoad = emailFromStore?.length > 0;
const showSaveProgressPopup = isEmailInStoreOnPageLoad ? false : true; const isPopupSkipped =
store.getters.pageData(fmgPageValues.QUOTE).saveProgressPopupSkipped === true;
const showSaveProgressPopup = isEmailInStoreOnPageLoad || isPopupSkipped ? false : true;
const showSaveProgressModal = isEmailInStoreOnPageLoad ? false : true; const showSaveProgressModal = isEmailInStoreOnPageLoad ? false : true;
const shouldSkipToInsurance = const shouldSkipToInsurance =
getBoolFromString( getBoolFromString(
@ -626,6 +629,15 @@ export default {
async closeSaveProgressPopup() { async closeSaveProgressPopup() {
this.showSaveProgressPopup = false; this.showSaveProgressPopup = false;
await this.dispatchStoreAction(
storeActions.SAVE_PAGE_DATA,
{
page: fmgPageValues.QUOTE,
data: { saveProgressPopupSkipped: true },
},
false
);
if (this.skipToInsurance) { if (this.skipToInsurance) {
// skip ahead now if in IGQ skip experiment // skip ahead now if in IGQ skip experiment
await this.skip(true, externalParamPackageLabels.GLASS_ONLY); await this.skip(true, externalParamPackageLabels.GLASS_ONLY);

View file

@ -276,13 +276,15 @@ export default {
return this.$refs.navbar.removeLoader(); return this.$refs.navbar.removeLoader();
} }
this.displayNonServiceableZipAlert = false; this.displayNonServiceableZipAlert = false;
const closestShops = await this.findClosestApplicableShops( if (this.isHeavyTruck) {
this.serviceZipCode, const closestShops = await this.findClosestApplicableShops(
this.carId this.serviceZipCode,
); this.carId
this.displayNoServiceAlert = !closestShops?.data?.providers?.length; );
if (this.displayNoServiceAlert) { this.displayNoServiceAlert = !closestShops?.data?.providers?.length;
return this.$refs.navbar.removeLoader(); if (this.displayNoServiceAlert) {
return this.$refs.navbar.removeLoader();
}
} }
const payment = this.$store.getters.payment; const payment = this.$store.getters.payment;

View file

@ -303,14 +303,16 @@ export default {
return this.$refs.navbar.removeLoader(); return this.$refs.navbar.removeLoader();
} }
this.displayInvalidZipAlert = false; this.displayInvalidZipAlert = false;
// If a VIN has already been found. Validate the Service Zip (in case of changes) if (this.isHeavyTruck) {
var closestShops = await this.findClosestApplicableShops( // If a VIN has already been found. Validate the Service Zip (in case of changes)
this.serviceZipCode, var closestShops = await this.findClosestApplicableShops(
this.carId this.serviceZipCode,
); this.carId
this.displayNoServiceAlert = !closestShops?.data?.providers?.length; );
if (this.displayNoServiceAlert) { this.displayNoServiceAlert = !closestShops?.data?.providers?.length;
return this.$refs.navbar.removeLoader(); if (this.displayNoServiceAlert) {
return this.$refs.navbar.removeLoader();
}
} }
// If either lookup fails, remove the loader and stop processing the page. // If either lookup fails, remove the loader and stop processing the page.

View file

@ -678,6 +678,9 @@ export const mutations = {
imageUrl: sessionInformation.order.vehicle?.imageUrl, imageUrl: sessionInformation.order.vehicle?.imageUrl,
imageVifNumber: sessionInformation.order.vehicle?.imageVifNumber, imageVifNumber: sessionInformation.order.vehicle?.imageVifNumber,
imageColor: sessionInformation.order.vehicle?.imageVifColor, imageColor: sessionInformation.order.vehicle?.imageVifColor,
vehicleSubType: sessionInformation.order.vehicle?.vehicleSubType,
vehicleSpecialClass: sessionInformation.order.vehicle?.vehicleSpecialClass,
isBigTruck: sessionInformation.order.vehicle?.isBigTruck,
}); });
state.order.damage.glassToReplace = sessionInformation.order.damage.glassToReplace; state.order.damage.glassToReplace = sessionInformation.order.damage.glassToReplace;
@ -3214,8 +3217,8 @@ export const actions = {
context.commit(storeMutations.UPDATE_CUSTOMER_WAITLIST_REQUESTED, waitListRequested); context.commit(storeMutations.UPDATE_CUSTOMER_WAITLIST_REQUESTED, waitListRequested);
}, },
savePageData(context, emailOrSms) { savePageData(context, pageData) {
context.commit(storeMutations.UPDATE_PAGE_DATA, emailOrSms); context.commit(storeMutations.UPDATE_PAGE_DATA, pageData);
}, },
saveVin(context, { isSelectedGlassAvailableForVehicle, vehicleInfo }) { saveVin(context, { isSelectedGlassAvailableForVehicle, vehicleInfo }) {