Merge branch 'release/2024.12.12' into rlsmerge/2024.12.12-TODEVELOP

This commit is contained in:
CarlNation 2024-12-10 07:01:41 -05:00
commit b6115a5a5f
11 changed files with 43 additions and 10 deletions

View file

@ -102,6 +102,8 @@ const storeActions = {
RESET_SUBMITTED_ORDER: "resetSubmittedOrder",
RESET_EXTERNAL_PARAMETER_STATE: "resetExternalParameterState",
UPDATE_EXTERNAL_PARAMETER_MMS: "updateExternalParameterMMS",
SAVE_LOGGING_OPTION: "saveLoggingOption",
};
export { storeActions };

View file

@ -84,6 +84,7 @@ const storeMutations = {
UPDATE_STATE_WITH_ORDER_INFORMATION: "updateStateWithOrderInformation",
UPDATE_SAVE_SESSION_PROMISE: "updateSaveSessionPromise",
UPDATE_LAST_PAGE_VISITED: "updateLastPageVisited",
UPDATE_LOGGING_OPTION: "updateLoggingOption",
// EXPERIMENT MUTATIONS
UPDATE_EXPERIMENTS: "updateExperiments",

View file

@ -13,7 +13,7 @@ export function updateOrCreateFunnelCookie() {
// Set up cookie with all the props.
setFunnelCookieProperties({
LastTouched: new Date().toUTCString(),
LastTouched: new Date().toJSON(),
SavedSessionTimeoutDate: store.getters.applicationUser.savedSessionTimeout,
DidHeritageFunnelUpdateLast: false,
ShouldResetState: false,

View file

@ -43,5 +43,5 @@ Function to calculate the date for the saved session timeout.
export function getDateForSavedSessionTimeout() {
const currentDate = new Date(new Date().toUTCString());
currentDate.setDate(currentDate.getDate() + applicationConfig.SAVED_SESSION_TIMEOUT_DAYS);
return currentDate.toUTCString();
return currentDate.toJSON();
}

View file

@ -81,7 +81,7 @@ describe("getDateForSavedSessionTimeout", () => {
currentDate.setDate(currentDate.getDate() + applicationConfig.SAVED_SESSION_TIMEOUT_DAYS);
// Act
const result = getDateForSavedSessionTimeout();
const result = new Date(getDateForSavedSessionTimeout()).toUTCString();
// Assert
expect(result).toEqual(currentDate.toUTCString());

View file

@ -47,15 +47,16 @@
v-bind:isDismissible="false" />
</div>
<div v-if="isRecalibrationOnOrder && shouldHideRecalibration" class="questions-about-service my-5">
<div
v-if="isRecalibrationOnOrder && shouldHideRecalibration"
class="questions-about-service my-5">
<textBlock
cmsWidgetName="QuestionsAboutYourServiceWidget"
justifyText="left"
class="service-questions" />
<textBlock cmsWidgetName="CallOrTextWidget" justifyText="left" />
<hr class="my-5" />
<div
class="d-flex flex-row checkbox-group">
<div class="d-flex flex-row checkbox-group">
<checkboxQuestion
cmsWidgetName="RecalConfirmWidget"
class="mb-5"

View file

@ -97,6 +97,7 @@ export default {
"updated-mobile-fee-part",
"updated-contains-military-base",
"updated-bill-to-account-number",
"mobileLocationSelected",
],
data() {
return {
@ -286,13 +287,15 @@ export default {
// update the page level model
this.$emit("update:modelValue", this.internalModel);
this.closeModal();
//Page advance to Schedule page
this.$emit("mobileLocationSelected");
}
} else {
// Update the page level model
this.$emit("update:modelValue", this.internalModel);
this.closeModal();
//Page advance to Schedule page
this.$emit("mobileLocationSelected");
}
},
},
@ -305,6 +308,9 @@ export default {
deep: true,
},
},
unmounted() {
if (this.isModalOpened) this.closeModal();
},
components: {
textLink,
modal,

View file

@ -96,7 +96,8 @@
validationRules="mobile-location-required"
ref="mobileLocationQuestions"
linkWidgetName="MobileLocationLinkWidget"
modalWidgetName="MobileLocationModalWidget" />
modalWidgetName="MobileLocationModalWidget"
@mobileLocationSelected="forwardButtonAction" />
<shopQuestion
ref="shopQuestion"

View file

@ -460,6 +460,7 @@ async function navigate(
const promo = getQuerystringParameter(queryStrings.PROMO);
const pageError = getQuerystringParameter(queryStrings.PAGE_ERROR);
const logQs = getQuerystringParameter(queryStrings.LOG);
baseMixin.methods.dispatchStoreAction(storeActions.SAVE_LOGGING_OPTION, logQs, false);
log("------------- router index.js navigate start -----------------");
log(" --scenario: ", scenario);

View file

@ -184,6 +184,7 @@ const getDefaultState = () => {
experiments: [],
triggeredSiteEntry: false,
affiliateCookies: [],
loggingOption: false,
},
};
};
@ -414,6 +415,9 @@ export const mutations = {
updateLastPageVisited(state, lastPageVisited) {
state.applicationUser.lastPageVisited = lastPageVisited;
},
updateLoggingOption(state, loggingOption) {
state.applicationUser.loggingOption = loggingOption;
},
// EVENT BUS MUTATIONS
addEventToBus(state, event) {
state.applicationUser.eventBus.push(event);
@ -689,7 +693,9 @@ export const mutations = {
!sessionInformation.order.payment.isInsurance &&
!sessionInformation.order.serviceLocation.provider?.providerNumber
) {
console.log("------------- updateStateWithOrderInformation reset isInsurance -----------------");
console.log(
"------------- updateStateWithOrderInformation reset isInsurance -----------------"
);
console.log(new Date() + " sessionInformation: " + JSON.stringify(sessionInformation));
state.order.payment.isInsurance = null;
} else {
@ -1031,6 +1037,7 @@ export const actions = {
endpoint: endpoints.LookupVehicleByVin.url,
payload: {
vin: vin, // EX "1J4GW58S4XC541166"
logEnabled: context.getters.applicationUser.loggingOption,
},
logApiCall: true,
pageNameToLog: pageNameToLog,
@ -3016,6 +3023,15 @@ export const actions = {
);
},
saveLoggingOption(context, loggingOption) {
var option = false;
if (loggingOption != null) {
option = loggingOption == "true" ? true : false;
}
context.commit(storeMutations.UPDATE_LOGGING_OPTION, option);
},
async getRecalPartsAndSaveToLineItems(context, { pageNameToLog }) {
// identify each part that needs recal
const glassParts = context.state.order?.lineItems?.glassParts

View file

@ -404,6 +404,11 @@ describe("Actions", () => {
it("lookupVehicleByVin action, should return car data", async () => {
// Arrange
const context = state;
context.getters = {
applicationUser: {
loggingOption: false,
},
};
// Act
globalMethods.callHttpClient.mockImplementation(() => {