From f6ca73d2c076c37fa1bf0dd8b18290eae00493d2 Mon Sep 17 00:00:00 2001 From: CarlNation Date: Tue, 12 Jul 2022 15:22:24 -0400 Subject: [PATCH 1/7] change event constant to match gtm trigger --- src/constants/analytics.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants/analytics.js b/src/constants/analytics.js index a3f057150..d4ac3d2ea 100644 --- a/src/constants/analytics.js +++ b/src/constants/analytics.js @@ -5,7 +5,7 @@ const analyticsPageEvents = { // GA Constants const GaEvents = { - GENERIC_EVENT: 'ga_Event', + GENERIC_EVENT: 'event', PAGE_VIEW_EVENT : 'logPageview' }; From c7b775863bc6a0907bd897faca299981dd31ebee Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Wed, 20 Jul 2022 09:27:55 -0400 Subject: [PATCH 2/7] CSR-110: navigation/store changes for molding-questions page --- jest.config.js | 1 + .../license-plate-lookup.spec.js | 6 +- .../molding-questions/molding-questions.vue | 288 ++++++++++++++ src/layouts/part-questions/part-questions.vue | 27 +- src/layouts/vehicle-parts/vehicle-parts.vue | 355 +++++++++--------- src/mixins/vin-pages-mixin.js | 9 +- src/router/router-constants/fmgPage-values.js | 1 + .../router-constants/navigation-scenarios.js | 2 + src/router/router-constants/routing-table.js | 29 +- 9 files changed, 523 insertions(+), 195 deletions(-) create mode 100644 src/layouts/molding-questions/molding-questions.vue diff --git a/jest.config.js b/jest.config.js index 0a063507d..f4c60e4f7 100644 --- a/jest.config.js +++ b/jest.config.js @@ -12,6 +12,7 @@ module.exports = { "!src/router/**/*.js", "!src/helpers/unit-test-helper.js", "!src/layouts/vehicle-damage/windshield-options/windshield-options.vue", + "!src/layouts/molding-questions/**/*.vue", "!src/layouts/part-questions/**/*.vue", "!src/layouts/reveal/**/*.vue", "!src/ux-components/text-link/**/*.vue", diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js index 2e83c3103..7bfc02eba 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js +++ b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js @@ -235,7 +235,7 @@ describe("license-plate-lookup.vue", () => { expect(wrapper.vm.$router.navigate).toHaveBeenCalled(); }); - test("navigateToHeritageFunnel should be called if isCarIdDifferent is false or isSelectedGlassAvailableForVehicle is true when navigateForward is called", async () => { + test("navigateForwardWithSingleCarMatch should be called if isCarIdDifferent is false or isSelectedGlassAvailableForVehicle is true when navigateForward is called", async () => { // Arrange const { wrapper } = setupMocks({}); @@ -247,11 +247,11 @@ describe("license-plate-lookup.vue", () => { wrapper.vm.getCmsContent = jest.fn().mockImplementation(() => { return ''; }); - navigateToHeritage.navigateToHeritageFunnel = jest.fn(); + wrapper.vm.navigateForwardWithSingleCarMatch = jest.fn(); await wrapper.vm.navigateForward(); //Assert - expect(navigateToHeritage.navigateToHeritageFunnel).toHaveBeenCalled(); + expect(wrapper.vm.navigateForwardWithSingleCarMatch).toHaveBeenCalled(); }); test("carId matches returned vehicle => navigateForwardWithSingleCarMatch", async () => { diff --git a/src/layouts/molding-questions/molding-questions.vue b/src/layouts/molding-questions/molding-questions.vue new file mode 100644 index 000000000..04259a3c3 --- /dev/null +++ b/src/layouts/molding-questions/molding-questions.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/src/layouts/part-questions/part-questions.vue b/src/layouts/part-questions/part-questions.vue index f5ec4841d..856b8a099 100644 --- a/src/layouts/part-questions/part-questions.vue +++ b/src/layouts/part-questions/part-questions.vue @@ -142,14 +142,14 @@ export default { if (!partsLookup) { return } - const glassNameAndParts = partsLookup.data.glassNameAndParts; + const glassNameAndPartsForStore = partsLookup.data.glassNameAndPartsForStore; // test response data for multiple parts - const hasMultipleParts = glassNameAndParts.some((glass) => glass.parts?.length > 1); + const hasMultipleParts = glassNameAndPartsForStore.some((glass) => glass.parts?.length > 1); // loop through all glass items const collectedGlassParts = []; - glassNameAndParts.forEach((glass) => { + glassNameAndPartsForStore.forEach((glass) => { if (Array.isArray(glass.parts) && glass.parts.length === 1) { const singlePart = glass.parts[0]; collectedGlassParts.push({ @@ -159,24 +159,37 @@ export default { "requiresRecalibration": singlePart.requiresRecalibration, "childParts": singlePart.childParts, "price": singlePart.price, - }) + }); + // check for and collect any molding questions + if (Array.isArray(singlePart.childPartQuestions) && singlePart.childPartQuestions.length > 0) { + this.moldingQuestionsForStore.push({ + "glassName": glass.glassName, + "glassLocation": glass.glassLocation, + "childPartQuestions": singlePart.childPartQuestions, + }); + } } }); if (!hasMultipleParts) { store.commit(storeMutations.UPDATE_GLASS_PARTS, collectedGlassParts); } - this.navigateForward(hasMultipleParts, glassNameAndParts); + this.navigateForward(hasMultipleParts, glassNameAndPartsForStore); }, - async navigateForward(hasMultipleParts, glassNameAndParts) { + async navigateForward(hasMultipleParts, glassNameAndPartsForStore) { if (hasMultipleParts) { // if multiple parts on any glass // go to vehicle-parts page and pass the partsData - this.$router.navigate(this.navigationScenarios.ANSWERED_QUESTIONS_WITH_MULTIPLE_PARTS,this.$route,{},{},{partsOrQuestions: glassNameAndParts}); + this.$router.navigate(this.navigationScenarios.ANSWERED_QUESTIONS_WITH_MULTIPLE_PARTS,this.$route,{},{},{partsOrQuestions: glassNameAndPartsForStore}); } else { // if single parts only // go to quote page this.$router.navigate(this.navigationScenarios.ANSWERED_QUESTIONS_WITH_SINGLE_PART,this.$route); } + + // TODO - ADD CHECK FOR CAPABILITY QUESTIONS TO SEE IF NAVIGATE TO CAPABILITY-QUESTIONS + + + }, arePagePrerequisitesValid() { return Object.keys(store.getters.pageData(fmgPageValues.PART_QUESTIONS)).length > 0; diff --git a/src/layouts/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue index ce5727ce3..d0af557b0 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.vue +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -49,217 +49,208 @@ diff --git a/src/mixins/vin-pages-mixin.js b/src/mixins/vin-pages-mixin.js index fce96c980..196a21e63 100644 --- a/src/mixins/vin-pages-mixin.js +++ b/src/mixins/vin-pages-mixin.js @@ -7,10 +7,14 @@ export default { methods: { async navigateForwardWithSingleCarMatch() { const result = await this.dispatchStoreAction(storeActions.GET_PARTS_OR_QUESTIONS); - const partsOrQuestions = result.data.partsOrQuestions; const hasPartsQuestions = partsOrQuestions.some(pq => pq.partQuestions?.length > 0); const hasGlassLocationWithMultipleParts = partsOrQuestions.some(pq => pq.parts?.length > 1); + const hasChildPartQuestions = partsOrQuestions.some(pq => { + return pq.parts?.some(part => part.childPartQuestions?.length > 0); + }); + + // TODO - ADD CHECK FOR CAPABILITY QUESTIONS TO SEE IF NAVIGATE TO CAPABILITY-QUESTIONS if (hasPartsQuestions) { this.$router.navigate(this.navigationScenarios.SELECTED_VIN_WITH_PART_QUESTIONS, this.$route, {}, {}, result.data); @@ -18,6 +22,9 @@ export default { else if (hasGlassLocationWithMultipleParts) { this.$router.navigate(this.navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS, this.$route, {}, {}, result.data); } + else if (hasChildPartQuestions) { + this.$router.navigate(this.navigationScenarios.SELECTED_VIN_WITH_MOLDING_QUESTIONS, this.$route, {}, {}, result.data); + } else { store.commit(storeMutations.UPDATE_GLASS_PARTS, result.data); this.$refs.loadingModal.showModal(); diff --git a/src/router/router-constants/fmgPage-values.js b/src/router/router-constants/fmgPage-values.js index d067895ee..7a38c6b40 100644 --- a/src/router/router-constants/fmgPage-values.js +++ b/src/router/router-constants/fmgPage-values.js @@ -8,6 +8,7 @@ const fmgPageValues = { VIN_LOOKUP: "vin-lookup", VEHICLE_PARTS: "vehicle-parts", PART_QUESTIONS: "part-questions", + MOLDING_QUESTIONS: "molding-questions", LICENSE_PLATE_LOOKUP: "license-plate-lookup", REVEAL: "reveal", ESTIMATE: "estimate", diff --git a/src/router/router-constants/navigation-scenarios.js b/src/router/router-constants/navigation-scenarios.js index 5768c55de..ab1772de3 100644 --- a/src/router/router-constants/navigation-scenarios.js +++ b/src/router/router-constants/navigation-scenarios.js @@ -10,6 +10,7 @@ const navigationScenarios = { SELECTED_PARTS: "SELECTED_PARTS", SELECTED_VIN_WITH_PART_QUESTIONS: "SELECTED_VIN_WITH_PART_QUESTIONS", SELECTED_VIN_WITH_MULTIPLE_PARTS: "SELECTED_VIN_WITH_MULTIPLE_PARTS", + SELECTED_VIN_WITH_MOLDING_QUESTIONS: "SELECTED_VIN_WITH_MOLDING_QUESTIONS", CONTINUING_WITH_SINGLE_PART: "CONTINUING_WITH_SINGLE_PART", CONTINUING_WITH_MULTIPLE_VEHICLES: "CONTINUING_WITH_MULTIPLE_VEHICLES", SELECTED_VIN_HAS_MISMATCHED_GLASS: "SELECTED_VIN_HAS_MISMATCHED_GLASS", @@ -19,6 +20,7 @@ const navigationScenarios = { SELECTED_HOME_ADDRESS: "SELECTED_HOME_ADDRESS", ANSWERED_QUESTIONS_WITH_SINGLE_PART: "ANSWERED_QUESTIONS_WITH_SINGLE_PART", ANSWERED_QUESTIONS_WITH_MULTIPLE_PARTS: "ANSWERED_QUESTIONS_WITH_MULTIPLE_PARTS", + HAS_MOLDING_QUESTIONS: "HAS_MOLDING_QUESTIONS", SELECTED_PROVIDE_VIN_DIFFERENT_WAY: "SELECTED_PROVIDE_VIN_DIFFERENT_WAY" }; diff --git a/src/router/router-constants/routing-table.js b/src/router/router-constants/routing-table.js index 3f81e99ad..82bb59ff6 100644 --- a/src/router/router-constants/routing-table.js +++ b/src/router/router-constants/routing-table.js @@ -79,8 +79,8 @@ const routingTable = [ destinationFmgPageValue: fmgPageValues.QUOTE, }, { - scenario: navigationScenarios.CLICKED_FORWARD, - destinationFmgPageValue: fmgPageValues.REVEAL, + scenario: navigationScenarios.HAS_MOLDING_QUESTIONS, + destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS }, ], }, @@ -119,6 +119,10 @@ const routingTable = [ { scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS + }, + { + scenario: navigationScenarios.SELECTED_VIN_WITH_MOLDING_QUESTIONS, + destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS } ], }, @@ -140,6 +144,10 @@ const routingTable = [ { scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS + }, + { + scenario: navigationScenarios.SELECTED_VIN_WITH_MOLDING_QUESTIONS, + destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS } ], }, @@ -165,6 +173,10 @@ const routingTable = [ { scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS + }, + { + scenario: navigationScenarios.SELECTED_VIN_WITH_MOLDING_QUESTIONS, + destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS } ], }, @@ -225,12 +237,25 @@ const routingTable = [ scenario: navigationScenarios.ANSWERED_QUESTIONS_WITH_MULTIPLE_PARTS, destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS }, + { + scenario: navigationScenarios.HAS_MOLDING_QUESTIONS, + destinationFmgPageValue: fmgPageValues.MOLDING_QUESTIONS, + }, { scenario: navigationScenarios.ANSWERED_QUESTIONS_WITH_SINGLE_PART, destinationFmgPageValue: fmgPageValues.QUOTE, }, ] }, + { + fmgPageValue: fmgPageValues.MOLDING_QUESTIONS, + maps: [ + { + scenario: navigationScenarios.CLICKED_BACK, + destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS + }, + ] + }, ]; export { routingTable }; From b21c6171e9d4574f4597a1d9e773074357e9b055 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Mon, 25 Jul 2022 09:30:00 -0400 Subject: [PATCH 3/7] CSR-706 | Remove state resetting on loadOrder As well as making loadOrder await the latest saveOrderPromise Also clearing saveOrderPromise if entering the funnel fresh to avoid a broken promise object --- src/constants/store-actions.js | 1 + src/constants/store-mutations.js | 1 + src/helpers/heritage-integration/order-helper.js | 2 ++ src/router/index.js | 3 +++ src/store/index.js | 8 ++++++-- 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/constants/store-actions.js b/src/constants/store-actions.js index 87331daea..6fa81d45f 100644 --- a/src/constants/store-actions.js +++ b/src/constants/store-actions.js @@ -31,6 +31,7 @@ const storeActions = { INITIALIZE_SESSION: "initializeSession", GET_EXPERIMENTS_BY_USER: "GetExperimentsByUser", CLEAR_VIN: "clearVin", + RESET_SAVE_ORDER_PROMISE: "resetSaveOrderPromise", // DEPENDENCY MUTATIONS RESET_VEHICLE_STATE_AND_DEPENDENCIES: "resetVehicleAndDependencies", diff --git a/src/constants/store-mutations.js b/src/constants/store-mutations.js index 80697cc46..66b9ded0e 100644 --- a/src/constants/store-mutations.js +++ b/src/constants/store-mutations.js @@ -58,6 +58,7 @@ const storeMutations = { UPDATE_STATE_WITH_ORDER_INFORMATION: "updateStateWithOrderInformation", UPDATE_SAVE_ORDER_PROMISE: "updateSaveOrderPromise", UPDATE_LAST_PAGE_VISITED: "updateLastPageVisited", + RESET_SAVE_ORDER_PROMISE: "resetSaveOrderPromise", }; export { storeMutations }; diff --git a/src/helpers/heritage-integration/order-helper.js b/src/helpers/heritage-integration/order-helper.js index 9722744f0..2e6fcade0 100644 --- a/src/helpers/heritage-integration/order-helper.js +++ b/src/helpers/heritage-integration/order-helper.js @@ -60,6 +60,8 @@ export async function saveOrder() { and returns the response. */ async function loadOrder(referralNumber, referralDate, referralCorrelationId, accountNumber) { + // await the saveOrderPromise in the store to make sure we're loading up to date information + await store.getters.applicationUser.saveOrderPromise; const response = await baseMixin.methods.dispatchStoreAction(storeActions.LOAD_ORDER, { referralNumber: referralNumber.toString(), diff --git a/src/router/index.js b/src/router/index.js index d2a5ee154..98b26483b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -60,6 +60,9 @@ const routes = [ // On entering the funnel "fresh", read cookie information, decide what to do next. if (from.redirectedFrom === undefined) { + // clear the saveOrderPromise - if it exists in the vuex store but a new instance was created + // the saveOrderPromise will no longer point to a valid promise + baseMixin.methods.dispatchStoreAction(storeActions.RESET_SAVE_ORDER_PROMISE); const loadOrderResponse = await loadOrderIfPresent(); const pageToRedirectTo = await getPageToRouteExistingOrderTo(to, loadOrderResponse); diff --git a/src/store/index.js b/src/store/index.js index 90932c8bb..82d3323d1 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -269,7 +269,9 @@ export const mutations = { resetState(state) { Object.assign(state, getDefaultState()); }, - + resetSaveOrderPromise(state) { + state.applicationUser.saveOrderPromise = null; + }, // Misc Mutations updateStateWithOrderInformation(state, orderInformation) { state.order.referralNumber = orderInformation.referralNumber; @@ -457,6 +459,9 @@ export const actions = { resetState(context) { context.commit(storeMutations.RESET_STATE); }, + resetSaveOrderPromise(context) { + context.commit(storeMutations.RESET_SAVE_ORDER_PROMISE); + }, // Content API Actions getRouteInfo(context, { pageName }) { @@ -701,7 +706,6 @@ export const actions = { accountNumber: accountNumber?.toString() }, }).then((response) => { - context.commit(storeMutations.RESET_STATE); context.commit(storeMutations.UPDATE_STATE_WITH_ORDER_INFORMATION, response.data); return response; }); From 62b72163d6127a8a09989bc4182e2ce221893b6f Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Mon, 25 Jul 2022 15:29:44 -0400 Subject: [PATCH 4/7] CSR-706 | Only clear state if referral does not match --- src/store/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/store/index.js b/src/store/index.js index 82d3323d1..64ba356e6 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -706,6 +706,10 @@ export const actions = { accountNumber: accountNumber?.toString() }, }).then((response) => { + // clear the state if the existing referral number does not equal what is returned from loadOrder + if (context.state.order.referralNumber != response.data.referralNumber) { + context.commit(storeMutations.RESET_STATE); + } context.commit(storeMutations.UPDATE_STATE_WITH_ORDER_INFORMATION, response.data); return response; }); From e31f415aa4cb5fe06c89ec7579d1d956a1a0943b Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Tue, 26 Jul 2022 10:38:10 -0400 Subject: [PATCH 5/7] CSR-110: refactoring per PR review --- src/layouts/molding-questions/molding-questions.vue | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/layouts/molding-questions/molding-questions.vue b/src/layouts/molding-questions/molding-questions.vue index 04259a3c3..0ffaae411 100644 --- a/src/layouts/molding-questions/molding-questions.vue +++ b/src/layouts/molding-questions/molding-questions.vue @@ -141,11 +141,9 @@ export default { // call API parts method const partsLookup = await this.dispatchStoreAction(storeActions.GET_PARTS) .catch(() => { - this.$refs.funnelFooter.removeLoader(); + return this.$refs.funnelFooter.removeLoader(); }); - if (!partsLookup) { return } - const glassNameAndPartsForStore = partsLookup.data.glassNameAndPartsForStore; console.log("glassNameAndPartsForStore: ", glassNameAndPartsForStore); @@ -236,11 +234,11 @@ export default { } }); if (!hasMultipleParts) { - store.commit(storeMutations.UPDATE_GLASS_PARTS, collectedGlassParts); + this.$store.commit(storeMutations.UPDATE_GLASS_PARTS, collectedGlassParts); } this.navigateForward(hasMultipleParts, glassNameAndPartsForStore); }, - async navigateForward(hasMultipleParts, glassNameAndPartsForStore) { + navigateForward(hasMultipleParts, glassNameAndPartsForStore) { if (hasMultipleParts) { // if multiple parts on any glass // go to vehicle-parts page and pass the partsData From bb1fa9aede61cd8b894aad40369e468ace6e05af Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Tue, 26 Jul 2022 12:02:03 -0400 Subject: [PATCH 6/7] CSR-706 | Refactoring to use SavedSession instead of SaveQuote --- src/helpers/heritage-integration/navigation-helper.spec.js | 2 +- src/store/store.spec.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/helpers/heritage-integration/navigation-helper.spec.js b/src/helpers/heritage-integration/navigation-helper.spec.js index 1b33c0a6f..7337bf98e 100644 --- a/src/helpers/heritage-integration/navigation-helper.spec.js +++ b/src/helpers/heritage-integration/navigation-helper.spec.js @@ -309,7 +309,7 @@ describe("navigateToHeritageFunnel", () => { const mockCorrelationId = "55"; const mockReferralDate = "2022"; const mockAccountNumber = "167132"; - const mockSaveQuoteId = "xxx-xxx-xxx"; + const mockavedSessionId = "xxx-xxx-xxx"; const mockCrmCustomerId = "xxx-xxx-xxx" const mockOrderInfo = getMockOrderInfo(mockReferralNumber, mockCorrelationId, mockReferralDate, mockAccountNumber, mockSaveQuoteId, mockCrmCustomerId); diff --git a/src/store/store.spec.js b/src/store/store.spec.js index a9e37dea7..29f8a88ed 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -574,7 +574,7 @@ describe("Actions", () => { applicationUser: { lastPageVisited: "test-page", crmCustomerId: "xxx-xxx-xxx", - saveQuoteId: "xxx-xxx-xxx" + savedSessionId: "xxx-xxx-xxx" } }; context.state = { @@ -630,7 +630,7 @@ describe("Actions", () => { referralDate: new Date().toUTCString(), referralCorrelationId: "xxx-xxx-xxx", accountNumber: "167132", - saveQuoteId: "xxx-xxx-xxx", + savedSessionId: "xxx-xxx-xxx", crmCustomerId: "xxx-xxx-xxx", }); @@ -639,7 +639,7 @@ describe("Actions", () => { expect(commit).toBeCalledWith(storeMutations.UPDATE_REFERRAL_DATE, new Date().toUTCString()); expect(commit).toBeCalledWith(storeMutations.UPDATE_REFERRAL_CORRELATION_ID, "xxx-xxx-xxx"); expect(commit).toBeCalledWith(storeMutations.UPDATE_PARENT_ACCT_NUMBER, "167132"); - expect(commit).toBeCalledWith(storeMutations.UPDATE_SAVE_QUOTE_ID, "xxx-xxx-xxx"); + expect(commit).toBeCalledWith(storeMutations.UPDATE_SAVED_SESSION_ID, "xxx-xxx-xxx"); expect(commit).toBeCalledWith(storeMutations.UPDATE_CRM_CUSTOMER_ID, "xxx-xxx-xxx"); }); From c18af60165c0ef85c396287c57c7dc942e085f39 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Tue, 26 Jul 2022 12:07:03 -0400 Subject: [PATCH 7/7] CSR-706 | Refactoring savedQuote -> SavedSession --- src/constants/store-mutations.js | 2 +- src/helpers/heritage-integration/cookie-helper.js | 2 +- .../heritage-integration/navigation-helper.spec.js | 8 ++++---- src/helpers/heritage-integration/order-helper.js | 2 +- .../heritage-integration/order-helper.spec.js | 10 +++++----- src/helpers/heritage-integration/session-helper.js | 2 +- .../heritage-integration/session-helper.spec.js | 4 ++-- src/helpers/unit-test-helper.js | 4 ++-- src/store/index.js | 12 ++++++------ 9 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/constants/store-mutations.js b/src/constants/store-mutations.js index 66b9ded0e..508f59bf7 100644 --- a/src/constants/store-mutations.js +++ b/src/constants/store-mutations.js @@ -39,7 +39,7 @@ const storeMutations = { UPDATE_REFERRAL_DATE: "updateReferralDate", UPDATE_REFERRAL_CORRELATION_ID: "updateReferralCorrelationId", UPDATE_PARENT_ACCT_NUMBER: "updateParentAcctNumber", - UPDATE_SAVE_QUOTE_ID: "updateSaveQuoteId", + UPDATE_SAVED_SESSION_ID: "updateSavedSessionId", UPDATE_CRM_CUSTOMER_ID: "updateCrmCustomerId", // EVENT BUS MUTATIONS diff --git a/src/helpers/heritage-integration/cookie-helper.js b/src/helpers/heritage-integration/cookie-helper.js index 3a8614661..775a64fec 100644 --- a/src/helpers/heritage-integration/cookie-helper.js +++ b/src/helpers/heritage-integration/cookie-helper.js @@ -15,7 +15,7 @@ export function updateOrCreateFunnelCookie() { // Set up cookie with all the props. setFunnelCookieProperties({ LastTouched: new Date().toUTCString(), - SavedQuoteTimeoutDate: store.getters.applicationUser.savedSessionTimeout, + SavedSessionTimeoutDate: store.getters.applicationUser.savedSessionTimeout, DidHeritageFunnelUpdateLast: false, ShouldResetState: false, ReferralNumber: store.getters.order.referralNumber, diff --git a/src/helpers/heritage-integration/navigation-helper.spec.js b/src/helpers/heritage-integration/navigation-helper.spec.js index 7337bf98e..0e615aef5 100644 --- a/src/helpers/heritage-integration/navigation-helper.spec.js +++ b/src/helpers/heritage-integration/navigation-helper.spec.js @@ -309,10 +309,10 @@ describe("navigateToHeritageFunnel", () => { const mockCorrelationId = "55"; const mockReferralDate = "2022"; const mockAccountNumber = "167132"; - const mockavedSessionId = "xxx-xxx-xxx"; + const mockSavedSessionId = "xxx-xxx-xxx"; const mockCrmCustomerId = "xxx-xxx-xxx" - const mockOrderInfo = getMockOrderInfo(mockReferralNumber, mockCorrelationId, mockReferralDate, mockAccountNumber, mockSaveQuoteId, mockCrmCustomerId); + const mockOrderInfo = getMockOrderInfo(mockReferralNumber, mockCorrelationId, mockReferralDate, mockAccountNumber, mockSavedSessionId, mockCrmCustomerId); const mockData = { actionList: [{ @@ -344,10 +344,10 @@ describe("navigateToHeritageFunnel", () => { const mockCorrelationId = "55"; const mockReferralDate = "2022"; const mockAccountNumber = "167132"; - const mockSaveQuoteId = "xxx-xxx-xxx"; + const mockSavedSessionId = "xxx-xxx-xxx"; const mockCrmCustomerId = "xxx-xxx-xxx" - const mockOrderInfo = getMockOrderInfo(mockReferralNumber, mockCorrelationId, mockReferralDate, mockAccountNumber, mockSaveQuoteId, mockCrmCustomerId); + const mockOrderInfo = getMockOrderInfo(mockReferralNumber, mockCorrelationId, mockReferralDate, mockAccountNumber, mockSavedSessionId, mockCrmCustomerId); const mockData = { actionList: [{ diff --git a/src/helpers/heritage-integration/order-helper.js b/src/helpers/heritage-integration/order-helper.js index 2e6fcade0..870ee190b 100644 --- a/src/helpers/heritage-integration/order-helper.js +++ b/src/helpers/heritage-integration/order-helper.js @@ -84,7 +84,7 @@ async function saveOrderHelper() { referralCorrelationId: savedOrderInfo.data.referralCorrelationId, referralDate: savedOrderInfo.data.referralDate, accountNumber: savedOrderInfo.data.accountNumber.toString(), - saveQuoteId: savedOrderInfo.data.saveQuoteId, + savedSessionId: savedOrderInfo.data.savedSessionId, crmCustomerId: savedOrderInfo.data.crmCustomerId.toString(), }, false); diff --git a/src/helpers/heritage-integration/order-helper.spec.js b/src/helpers/heritage-integration/order-helper.spec.js index c3a581e41..400ab46e4 100644 --- a/src/helpers/heritage-integration/order-helper.spec.js +++ b/src/helpers/heritage-integration/order-helper.spec.js @@ -112,10 +112,10 @@ describe("saveOrder", () => { const mockCorrelationId = "55"; const mockReferralDate = "2022"; const mockAccountNumber = "167132"; - const mockSaveQuoteId = "xxx-xxx-xxx"; + const mockSavedSessionId = "xxx-xxx-xxx"; const mockCrmCustomerId = "xxx-xxx-xxx" - const mockOrderInfo = getMockOrderInfo(mockReferralNumber, mockCorrelationId, mockReferralDate, mockAccountNumber, mockSaveQuoteId, mockCrmCustomerId); + const mockOrderInfo = getMockOrderInfo(mockReferralNumber, mockCorrelationId, mockReferralDate, mockAccountNumber, mockSavedSessionId, mockCrmCustomerId); const mockData = { actionList: [ @@ -141,7 +141,7 @@ describe("saveOrder", () => { referralDate: mockReferralDate, referralCorrelationId: mockCorrelationId, accountNumber: mockAccountNumber, - saveQuoteId: mockSaveQuoteId, + savedSessionId: mockSavedSessionId, crmCustomerId: mockCrmCustomerId, }, false); }); @@ -152,10 +152,10 @@ describe("saveOrder", () => { const mockReferralDate = "2022-03-15T10:56:24.597"; const mockReferralCorrelationId = "404d2b04-f86e-45c3-b373-127b6217b060"; const mockAccountNumber = "167132"; - const mockSaveQuoteId = "xxx-xxx-xxx"; + const mockSavedSessionId = "xxx-xxx-xxx"; const mockCrmCustomerId = "xxx-xxx-xxx" - const mockOrderInfo = getMockOrderInfo(mockReferralNumber, mockReferralCorrelationId, mockReferralDate, mockAccountNumber, mockSaveQuoteId, mockCrmCustomerId); + const mockOrderInfo = getMockOrderInfo(mockReferralNumber, mockReferralCorrelationId, mockReferralDate, mockAccountNumber, mockSavedSessionId, mockCrmCustomerId); const mockData = { actionList: [{ diff --git a/src/helpers/heritage-integration/session-helper.js b/src/helpers/heritage-integration/session-helper.js index ba816cdb1..ca50a4e7b 100644 --- a/src/helpers/heritage-integration/session-helper.js +++ b/src/helpers/heritage-integration/session-helper.js @@ -28,7 +28,7 @@ export function isAnalyticsSessionStillActive() { */ export function isSavedSessionStillActive() { if (getFunnelCookie() !== null) { - const savedSessionTimeStamp = new Date(getFunnelCookie().SavedQuoteTimeoutDate); + const savedSessionTimeStamp = new Date(getFunnelCookie().SavedSessionTimeoutDate); const isSavedSessionTimedOut = (new Date(new Date().toUTCString()) > savedSessionTimeStamp); if (isSavedSessionTimedOut) { diff --git a/src/helpers/heritage-integration/session-helper.spec.js b/src/helpers/heritage-integration/session-helper.spec.js index 8a17743d1..b41827bf7 100644 --- a/src/helpers/heritage-integration/session-helper.spec.js +++ b/src/helpers/heritage-integration/session-helper.spec.js @@ -41,7 +41,7 @@ describe("isSavedSessionStillActive", () => { mockDate.setDate(mockDate.getDate() + 1); cookieHelper.getFunnelCookie = jest.spyOn(cookieHelper, "getFunnelCookie") - .mockReturnValue({ SavedQuoteTimeoutDate: mockDate }); + .mockReturnValue({ SavedSessionTimeoutDate: mockDate }); // Act const result = isSavedSessionStillActive(); @@ -56,7 +56,7 @@ describe("isSavedSessionStillActive", () => { mockDate.setDate(mockDate.getDate() - 1) cookieHelper.getFunnelCookie = jest.spyOn(cookieHelper, "getFunnelCookie") - .mockReturnValue({ SavedQuoteTimeoutDate: mockDate }); + .mockReturnValue({ SavedSessionTimeoutDate: mockDate }); // Act const result = isSavedSessionStillActive(); diff --git a/src/helpers/unit-test-helper.js b/src/helpers/unit-test-helper.js index 36745d28a..13436be78 100644 --- a/src/helpers/unit-test-helper.js +++ b/src/helpers/unit-test-helper.js @@ -90,13 +90,13 @@ export function removeAllTestCookies() { }); } -export function getMockOrderInfo(mockReferralNumber, mockCorrelationId, mockReferralDate, accountNumber = "0", saveQuoteId, crmCustomerId) { +export function getMockOrderInfo(mockReferralNumber, mockCorrelationId, mockReferralDate, accountNumber = "0", savedSessionId, crmCustomerId) { return { referralNumber: mockReferralNumber, referralCorrelationId: mockCorrelationId, referralDate: mockReferralDate, accountNumber: accountNumber, - saveQuoteId: saveQuoteId, + savedSessionId: savedSessionId, crmCustomerId: crmCustomerId, } } diff --git a/src/store/index.js b/src/store/index.js index 64ba356e6..2c507a123 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -66,7 +66,7 @@ const getDefaultState = () => { pageData: {}, savedSessionTimeout: getDateForSavedSessionTimeout(), saveOrderPromise: null, - saveQuoteId: null, + savedSessionId: null, crmCustomerId: null, lastPageVisited: null, experiments: [] @@ -209,8 +209,8 @@ export const mutations = { updateSaveOrderPromise(state, saveOrderPromise){ state.applicationUser.saveOrderPromise = saveOrderPromise; }, - updateSaveQuoteId(state, saveQuoteId) { - state.applicationUser.saveQuoteId = saveQuoteId; + updateSavedSessionId(state, savedSessionId) { + state.applicationUser.savedSessionId = savedSessionId; }, updateCrmCustomerId(state, crmCustomerId) { state.applicationUser.crmCustomerId = crmCustomerId; @@ -502,12 +502,12 @@ export const actions = { }, // Misc Actions - updateStoreWithSaveOrderResponse(context, { referralNumber, referralDate, referralCorrelationId, accountNumber, saveQuoteId, crmCustomerId }) { + updateStoreWithSaveOrderResponse(context, { referralNumber, referralDate, referralCorrelationId, accountNumber, savedSessionId, crmCustomerId }) { context.commit(storeMutations.UPDATE_REFERRAL_NUMBER, referralNumber); context.commit(storeMutations.UPDATE_REFERRAL_DATE, referralDate); context.commit(storeMutations.UPDATE_REFERRAL_CORRELATION_ID, referralCorrelationId); context.commit(storeMutations.UPDATE_PARENT_ACCT_NUMBER, accountNumber); - context.commit(storeMutations.UPDATE_SAVE_QUOTE_ID, saveQuoteId); + context.commit(storeMutations.UPDATE_SAVED_SESSION_ID, savedSessionId); context.commit(storeMutations.UPDATE_CRM_CUSTOMER_ID, crmCustomerId); }, @@ -690,7 +690,7 @@ export const actions = { existingPromoCode: null, lastPage: applicationUser.lastPageVisited, crmCustomerId: applicationUser.crmCustomerId, - saveQuoteId: applicationUser.saveQuoteId, + savedSessionId: applicationUser.savedSessionId, }, });