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