From a279c9d0119b0a7873141334c89503c59ef2b8a7 Mon Sep 17 00:00:00 2001 From: FrankRua Date: Mon, 21 Mar 2022 12:50:32 -0400 Subject: [PATCH] Load init --- src/constants/store-mutations.js | 1 + src/helpers/heritage-integration-helper.js | 21 ++++++++-------- .../heritage-integration-helper.spec.js | 8 +++--- src/router/index.js | 4 +-- src/store/index.js | 25 ++++++++++++++++++- 5 files changed, 42 insertions(+), 17 deletions(-) diff --git a/src/constants/store-mutations.js b/src/constants/store-mutations.js index 47dfcacca..2636464bd 100644 --- a/src/constants/store-mutations.js +++ b/src/constants/store-mutations.js @@ -19,6 +19,7 @@ const storeMutations = { UPDATE_REFERRAL_NUMBER: "updateReferralNumber", UPDATE_REFERRAL_DATE: "updateReferralDate", UPDATE_REFERRAL_CORRELATION_ID: "updateReferralCorrelationId", + UPDATE_PARENT_ACCT_NUMBER: "updateParentAcctNumber", // EVENT BUS MUTATIONS ADD_EVENT_TO_BUS: "addEventToBus", diff --git a/src/helpers/heritage-integration-helper.js b/src/helpers/heritage-integration-helper.js index cc2f9379e..e4534631f 100644 --- a/src/helpers/heritage-integration-helper.js +++ b/src/helpers/heritage-integration-helper.js @@ -6,22 +6,23 @@ import router from "@/router"; import baseMixin from "../mixins/base-mixin"; // Read info from heritage funnel and reset state or load referral -export function handleInfoFromHeritageFunnel() { +export async function loadReferralFromHeritageFunnelIfPresent() { const orderInfo = getHeritageCookieValue(); - if (orderInfo?.ShouldResetState) { + // Do nothing if there is no cookie. + if(orderInfo === null){ + return; + } + + // Reset state if cookie says to. + if (orderInfo.ShouldResetState) { baseMixin.methods.dispatchNonBlockingStoreAction(storeActions.RESET_STATE); deleteHeritageCookie(); - } - else if (orderInfo?.DidHeritageFunnelUpdateLast) { - // Load referral here - - // setHeritageCookieProperties({ - // ShouldResetState: false - // }) + return; } - console.log("D") + // Load referral if there is a cookie, and it doesn't indicate it needs a state reset. + await loadOrder(); } export async function navigateToHeritageFunnel() { diff --git a/src/helpers/heritage-integration-helper.spec.js b/src/helpers/heritage-integration-helper.spec.js index 78f673e84..f99187474 100644 --- a/src/helpers/heritage-integration-helper.spec.js +++ b/src/helpers/heritage-integration-helper.spec.js @@ -19,7 +19,7 @@ describe("saveOrder", () => { } } - describe("handleInfoFromHeritageFunnel", () => { + describe("loadReferralFromHeritageFunnelIfPresent", () => { // test("ShouldResetState == true => heritage cookie is deleted", () => { // // Arrange // // TODO CSR-98 Can we not mock this?? @@ -42,7 +42,7 @@ describe("saveOrder", () => { // console.log(document.cookie) // // Act - // helper.handleInfoFromHeritageFunnel(); + // helper.loadReferralFromHeritageFunnelIfPresent(); // // Assert // console.log(document.cookie) @@ -54,7 +54,7 @@ describe("saveOrder", () => { // helper.getHeritageCookieValue = jest.fn(x => x.ShouldResetState = false); // // Act - // helper.handleInfoFromHeritageFunnel(); + // helper.loadReferralFromHeritageFunnelIfPresent(); // // Assert // expect(helper.getHeritageCookieValue).toHaveBeenCalled(); @@ -65,7 +65,7 @@ describe("saveOrder", () => { // helper.getHeritageCookieValue = jest.fn(x => x.ShouldResetState = true); // // Act - // helper.handleInfoFromHeritageFunnel(); + // helper.loadReferralFromHeritageFunnelIfPresent(); // // Assert // expect(helper.getHeritageCookieValue).toHaveBeenCalled(); diff --git a/src/router/index.js b/src/router/index.js index 2e9ed4db1..1aebd3b77 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -5,7 +5,7 @@ import { lazyLoadComponent } from "@/router/dynamic-routing/component-loader.js" import { routingTable } from "@/router/router-constants/routing-table.js"; import { globalEvents, globalEventTypes } from "@/constants/events"; import { routerParameterKeys } from '@/router/router-constants/router-parameter-keys' -import { handleInfoFromHeritageFunnel, saveOrder, getHeritageCookieValue } from "@/helpers/heritage-integration-helper"; +import { loadReferralFromHeritageFunnelIfPresent, saveOrder, getHeritageCookieValue } from "@/helpers/heritage-integration-helper"; import baseMixin from "@/mixins/base-mixin"; import eventBus from "@/helpers/event-bus/event-bus"; @@ -33,7 +33,7 @@ const routes = [ // On entering the concept funnel if (from.redirectedFrom === undefined) { // Read cookie information, decide what to do next - handleInfoFromHeritageFunnel(); + loadReferralFromHeritageFunnelIfPresent(); } // If we have no query string, or we don't have the FmgPage query string. diff --git a/src/store/index.js b/src/store/index.js index dc93571d8..14d90744b 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -33,6 +33,7 @@ const getDefaultState = () => { referralNumber: null, referralDate: null, referralCorrelationId: null, + parentAccountNumber: null, }, applicationUser: { eventBus: [], @@ -97,6 +98,10 @@ export const mutations = { updateReferralDate(state, referralDate) { state.order.referralDate = referralDate; }, + updateParentAcctNumber(state, parentAcctNumber) { + state.order.parentAccountNumber = parentAcctNumber; + }, + // EVENT BUS MUTATIONS addEventToBus(state, event) { @@ -143,7 +148,25 @@ export const mutations = { // Misc Mutations setLoadOrderInformation(state, orderInformation) { - + state.order.referralNumber = orderInformation.ReferralNumber; + state.order.referralDate = orderInformation.ReferralDate; + state.order.referralCorrelationId = orderInformation.CorrelationId; + state.order.vehicle = { + year: orderInformation.Year, + make: orderInformation.Make, + model: orderInformation.Model, + style: orderInformation.Style, + carId: orderInformation.CarId, + category: orderInformation.Category, + imageUrl: orderInformation.ImageUrl, + imageVifNumber: orderInformation.ImageVifNumber, + imageColor: orderInformation.ImageColor + }; + state.order.damage.glassToReplace = orderInformation.GlassToReplace; + state.order.damage.isRepair = orderInformation.IsRepair; + state.order.damage.numberOfChips = orderInformation.NumberOfChips; + state.order.lineItems.glassParts = orderInformation.Parts; + state.order.parentAccountNumber = orderInformation.ParentAccountNumber; } }