Merge branch 'release/2025.05.22' into CASH-429-schedule-page-updates
This commit is contained in:
commit
efe03cc204
6 changed files with 47 additions and 21 deletions
|
|
@ -15,7 +15,7 @@ describe("progressBar", () => {
|
|||
});
|
||||
|
||||
// Assert
|
||||
expect(wrapper.vm.getProgress()).toBe(0);
|
||||
expect(wrapper.vm.progress).toBe(0);
|
||||
wrapper.unmount();
|
||||
});
|
||||
});
|
||||
|
|
@ -33,7 +33,7 @@ describe("progressBar", () => {
|
|||
});
|
||||
|
||||
// Assert
|
||||
expect(wrapper.vm.getProgress()).toBe(4);
|
||||
expect(wrapper.vm.progress).toBe(4);
|
||||
wrapper.unmount();
|
||||
});
|
||||
});
|
||||
|
|
@ -51,7 +51,7 @@ describe("progressBar", () => {
|
|||
});
|
||||
|
||||
// Assert
|
||||
expect(wrapper.vm.getProgress()).toBe(48);
|
||||
expect(wrapper.vm.progress).toBe(48);
|
||||
wrapper.unmount();
|
||||
});
|
||||
});
|
||||
|
|
@ -69,7 +69,7 @@ describe("progressBar", () => {
|
|||
});
|
||||
|
||||
// Assert
|
||||
expect(wrapper.vm.getProgress()).toBe(100);
|
||||
expect(wrapper.vm.progress).toBe(100);
|
||||
wrapper.unmount();
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -10,15 +10,10 @@ import { getProgressBarPercentage } from "@/constants/progress-bar-mapper";
|
|||
|
||||
export default {
|
||||
name: "progressBar",
|
||||
data() {
|
||||
return {
|
||||
progress: this.getProgress(),
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
getProgress() {
|
||||
var pageName = this.pageName;
|
||||
return getProgressBarPercentage(pageName);
|
||||
data() {},
|
||||
computed: {
|
||||
progress() {
|
||||
return getProgressBarPercentage(this.pageName);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ export default {
|
|||
cmsWidgetName: String,
|
||||
lineItems: Array,
|
||||
isAfterpayBreakoutDisplay: Boolean,
|
||||
isInsuranceSelected: Boolean,
|
||||
},
|
||||
data() {
|
||||
return {};
|
||||
|
|
@ -72,9 +73,14 @@ export default {
|
|||
afterpayCopyTokens() {
|
||||
if (this.isAfterpayBreakoutDisplay) {
|
||||
// Text for Afterpay Breakout experiment
|
||||
return splitCopyOnCMSPlaceHolder(
|
||||
this.getCmsContent(this.cmsWidgetName, "BodyText2")
|
||||
);
|
||||
var afterpayBannerCopy = this.getCmsContent(this.cmsWidgetName, "BodyText2");
|
||||
afterpayBannerCopy =
|
||||
afterpayBannerCopy &&
|
||||
afterpayBannerCopy.replaceAll(
|
||||
"{custom:paymentType}",
|
||||
this.isInsuranceSelected ? "deductible" : "spending"
|
||||
);
|
||||
return splitCopyOnCMSPlaceHolder(afterpayBannerCopy);
|
||||
} else {
|
||||
return splitCopyOnCMSPlaceHolder(
|
||||
this.getCmsContent(this.cmsWidgetName, "HeaderText")
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@
|
|||
v-if="showAfterpayBanner"
|
||||
cmsWidgetName="AfterpayModalWidget"
|
||||
:isAfterpayBreakoutDisplay="isAfterpayBreakoutDisplay"
|
||||
:isInsuranceSelected="isInsuranceSelected"
|
||||
:lineItems="lineItems" />
|
||||
|
||||
<!-- If vehicle requires recal AND we are hiding recal pricing info, then show recal disclaimer banner. -->
|
||||
|
|
@ -591,7 +592,7 @@ export default {
|
|||
},
|
||||
showAfterpayBanner() {
|
||||
return (
|
||||
!this.isInsuranceSelected &&
|
||||
(this.isAfterpayBreakoutDisplay || !this.isInsuranceSelected) &&
|
||||
(!this.isRecalibrationOnOrder || !this.shouldHideRecalibration)
|
||||
);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -14,11 +14,18 @@ import { runExperiments } from "@/router/methods/helpers/run-experiments";
|
|||
import { bailout } from "@/router/methods/error";
|
||||
import { checkPagePrerequisites } from "@/router/methods/page-prerequisites";
|
||||
import { checkLogParam } from "@/helpers/debug-log-helper";
|
||||
import { debugLog } from "@/helpers/debug-log-helper";
|
||||
|
||||
export async function beforeEach(to, from) {
|
||||
try {
|
||||
await analyticsMixin.methods.validateSession();
|
||||
|
||||
// prettier-ignore
|
||||
{
|
||||
debugLog(`--- before-each.js ${from?.name} start ---`);
|
||||
debugLog(" funnel cookie init: ", getFunnelCookie());
|
||||
}
|
||||
|
||||
if (getFunnelCookie()?.SuppressConceptFunnel) {
|
||||
// Redirect to heritage.
|
||||
return {
|
||||
|
|
@ -45,15 +52,21 @@ export async function beforeEach(to, from) {
|
|||
}
|
||||
}
|
||||
|
||||
// Process funnel cookie.
|
||||
updateOrCreateFunnelCookie();
|
||||
|
||||
// If sent from heritage, need to load session.
|
||||
const fromHeritageFlag = consumeQueryFromStash(queryStrings.FROM_HERITAGE);
|
||||
if (fromHeritageFlag) {
|
||||
await loadSessionIfPresent(true, routeData.SERVICE_LOCATION.name);
|
||||
}
|
||||
|
||||
// Process funnel cookie.
|
||||
updateOrCreateFunnelCookie();
|
||||
|
||||
// prettier-ignore
|
||||
{
|
||||
debugLog(`--- before-each.js ${from?.name} start ---`);
|
||||
debugLog(" funnel cookie after: ", getFunnelCookie());
|
||||
}
|
||||
|
||||
// Update if logging is enabled.
|
||||
checkLogParam();
|
||||
|
||||
|
|
@ -72,6 +85,11 @@ export async function beforeEach(to, from) {
|
|||
}
|
||||
|
||||
await runExperiments(to.name);
|
||||
|
||||
// prettier-ignore
|
||||
{
|
||||
debugLog("--- before-each.js end ---");
|
||||
}
|
||||
} catch (error) {
|
||||
const errorPayload = {
|
||||
cause: "Uncaught exception in `beforeEach`.",
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import { buildManualUrl } from "@/router/methods/helpers/build-manual-url";
|
|||
import { getDestination } from "@/router/methods/helpers/get-destination";
|
||||
import { savePageData } from "@/router/methods/helpers/save-page-data";
|
||||
import router from "@/router";
|
||||
import store from "@/store";
|
||||
|
||||
import { bailout } from "@/router/methods/error";
|
||||
|
||||
|
|
@ -34,7 +35,12 @@ async function navigate(scenario, currentPageName, withSaving = false, forceTopL
|
|||
}
|
||||
|
||||
if (withSaving) {
|
||||
await saveSession({ pageNameToLog: nextPage.name });
|
||||
if (
|
||||
store.getters?.applicationUser?.savedSessionId ||
|
||||
store.getters?.order?.customer?.emailAddress
|
||||
) {
|
||||
await saveSession({ pageNameToLog: nextPage.name });
|
||||
}
|
||||
}
|
||||
|
||||
// Some pages require manually setting the next url
|
||||
|
|
|
|||
Loading…
Reference in a new issue