Merge branch 'release/2025.07.17' into rlsmerge/2025.07.17-to-dev

This commit is contained in:
CarlNation 2025-07-17 06:58:58 -04:00
commit 38e43256d7
6 changed files with 54 additions and 34 deletions

View file

@ -44,21 +44,40 @@ export default {
},
getSierraContext() {
const glassDamage = store.getters?.order?.damage?.glassToReplace;
const glassType =
glassDamage && glassDamage.length > 0
? glassDamage.length > 1
? "Multiglass"
: glassDamage[0].glassType // todo: clarify?
: "";
let glassType = "";
for (let i = 0; i < glassDamage?.length; i++) {
if (i !== 0) {
glassType += "/";
}
glassType += glassDamage[i].glassLocation;
}
const damageType = store.getters.order?.damage?.isRepair ? "repair" : "replace";
const hasGlassDamage = glassDamage?.length > 0;
const hasRepairFlag = store.getters.order?.damage?.isRepair;
const paymentType = store.getters.oreder?.payment?.isInsurance ? "insurance" : "cash";
let damageType = "";
if (hasRepairFlag) {
damageType = "repair";
} else if (hasGlassDamage) {
damageType = "replace";
}
const isInsurance = store.getters.order?.payment?.isInsurance;
let paymentType = "";
if (isInsurance) {
paymentType = "insurance";
} else if (isInsurance !== null && isInsurance !== undefined) {
paymentType = "cash";
}
const glassParts = store.getters.order?.lineItems?.glassParts;
const partId = glassParts && glassParts.length > 0 ? glassParts[0].partId : "";
const partNumber = glassParts && glassParts.length > 0 ? glassParts[0].partNumber : "";
const packageData = deepClone(store.getters?.pageData(routeData.QUOTE.name));
const packageData = deepClone(store.getters?.pageData(routeData.QUOTE.name)?.packages);
const recalFlag = store.getters?.isRecalibrationOnOrder;
const displayRecalFlag = glassParts?.length > 0 ? recalFlag : "";
return {
current_page: this.pageName,
@ -66,13 +85,13 @@ export default {
vehicle_make: store.getters.order?.vehicle?.make ?? "",
vehicle_model: store.getters.order?.vehicle?.model ?? "",
vehicle_style: store.getters.order?.vehicle?.style ?? "",
service_zip: store.getters.order?.serviceLocation?.serviceZip ?? "",
service_zip: store.getters.order?.serviceLocation?.zipCode ?? "",
glass_type: glassType ?? "",
damage_type: damageType ?? "",
payment_type: paymentType ?? "",
quote: packageData ?? [],
part_id: partId ?? "",
recalibration: store.getters?.isRecalibrationOnOrder ?? "",
part_id: partNumber ?? "",
recalibration: displayRecalFlag ?? "",
};
},
launchSierraChat() {

View file

@ -172,6 +172,7 @@ import { routeData } from "@/router/constants/routes";
import { consumeQueryFromStash } from "@/router/methods/helpers/querystring-stash";
import { storeMutations } from "@/constants/store-mutations";
import { debugLog } from "@/helpers/debug-log-helper";
import { savePageData } from "@/router/methods/helpers/save-page-data";
defineRule("option-required", required(errorMessages.OPTION_REQUIRED));
@ -669,14 +670,7 @@ export default {
async closeSaveProgressPopup() {
this.showSaveProgressPopup = false;
await this.dispatchStoreAction(
storeActions.SAVE_PAGE_DATA,
{
page: routeData.QUOTE.name,
data: { saveProgressPopupSkipped: true },
},
false
);
savePageData(this.pageName, { saveProgressPopupSkipped: true }, true);
if (this.skipToInsurance) {
// skip ahead now if in IGQ skip experiment

View file

@ -442,7 +442,7 @@ export default {
price: ans.buttonAuxillaryCopy,
}));
await savePageData(this.pageName, { packages: toLog });
await savePageData(this.pageName, { packages: toLog }, true);
},
},
components: {

View file

@ -1,10 +1,15 @@
import store from "@/store";
import { storeMutations } from "@/constants/store-mutations";
export async function savePageData(page, data) {
export async function savePageData(page, data, merge = false) {
const existingPageData = store.getters.pageData(page);
const dataToSave = Object.keys(data).length > 0 ? data : (existingPageData ?? {});
let dataToSave;
if (merge) {
dataToSave = Object.assign(existingPageData ?? {}, data ?? {});
} else {
dataToSave = Object.keys(data).length > 0 ? data : (existingPageData ?? {});
}
// Save data if non-null
store.commit(storeMutations.UPDATE_PAGE_DATA, { page: page, data: dataToSave });

View file

@ -3311,16 +3311,17 @@ export const actions = {
}
//Optional for specific YMMSs
switch (context.state.order.vehicle.make.toLowerCase()) {
case "mercedes benz":
case "volkswagen":
case "audi":
case "porsche":
return true;
default:
}
if (
context.state.order.vehicle.make.toLowerCase() === "bmw" &&
context.state.order.vehicle.year <= 2017
(context.state.order.vehicle.make.toLowerCase() === "bmw" &&
context.state.order.vehicle.year < 2010) ||
(context.state.order.vehicle.make.toLowerCase() === "volkswagen" &&
context.state.order.vehicle.year < 2010) ||
(context.state.order.vehicle.make.toLowerCase() === "audi" &&
context.state.order.vehicle.year < 2010)
)
return true;

View file

@ -4242,12 +4242,13 @@ describe("isVinOptionalVehicle", () => {
const testVehicles = [
["2017", "acura", false],
["2018", "bmw", false],
["2017", "bmw", true],
["2016", "bmw", true],
["2016", "mercedes benz", true],
["2016", "volkswagen", true],
["2016", "audi", true],
["2009", "bmw", true],
["2016", "bmw", false],
["2016", "mercedes benz", false],
["2016", "volkswagen", false],
["2016", "audi", false],
["2016", "porsche", true],
["2009", "audi", true],
];
test.each(testVehicles)(
"%s %s should skip vin lookup is %s",