Merge pull request #2656 from Safelite/rlsmerge/2025.07.17-to-dev
Rlsmerge/2025.07.17 to dev
This commit is contained in:
commit
cb95cf6294
6 changed files with 54 additions and 34 deletions
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -442,7 +442,7 @@ export default {
|
|||
price: ans.buttonAuxillaryCopy,
|
||||
}));
|
||||
|
||||
await savePageData(this.pageName, { packages: toLog });
|
||||
await savePageData(this.pageName, { packages: toLog }, true);
|
||||
},
|
||||
},
|
||||
components: {
|
||||
|
|
|
|||
|
|
@ -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 });
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
Loading…
Reference in a new issue