This commit is contained in:
Jeremy Zimmerman 2022-11-07 15:25:52 -05:00
parent 9f10994cae
commit 38fab5611f
9 changed files with 165 additions and 165 deletions

View file

@ -8,17 +8,18 @@ import { useMainStore } from "@/store";
export function updateOrCreateFunnelCookie() { export function updateOrCreateFunnelCookie() {
const wasClaimRegistrationDelayed = getFunnelCookie()?.HasDelayedClaimRegistration; const wasClaimRegistrationDelayed = getFunnelCookie()?.HasDelayedClaimRegistration;
const shouldSuppressConceptFunnel = getFunnelCookie()?.SuppressConceptFunnel; const shouldSuppressConceptFunnel = getFunnelCookie()?.SuppressConceptFunnel;
const store = useMainStore();
// Set up cookie with all the props. // Set up cookie with all the props.
setFunnelCookieProperties({ setFunnelCookieProperties({
LastTouched: new Date().toUTCString(), LastTouched: new Date().toUTCString(),
SavedSessionTimeoutDate: useMainStore.applicationUser.savedSessionTimeout, SavedSessionTimeoutDate: store.applicationUser.savedSessionTimeout,
DidHeritageFunnelUpdateLast: false, DidHeritageFunnelUpdateLast: false,
ShouldResetState: false, ShouldResetState: false,
ReferralNumber: useMainStore.order.referralNumber, ReferralNumber: store.order.referralNumber,
ReferralDate: useMainStore.order.referralDate, ReferralDate: store.order.referralDate,
ReferralCorrelationId: useMainStore.order.referralCorrelationId, ReferralCorrelationId: store.order.referralCorrelationId,
ReferralParentAccountNumber: useMainStore.order.accountNumber, ReferralParentAccountNumber: store.order.accountNumber,
HasDelayedClaimRegistration: wasClaimRegistrationDelayed, HasDelayedClaimRegistration: wasClaimRegistrationDelayed,
SuppressConceptFunnel: shouldSuppressConceptFunnel, SuppressConceptFunnel: shouldSuppressConceptFunnel,
}); });

View file

@ -2,7 +2,7 @@ import { queryStrings } from "@/constants/query-strings";
import { externalUrls } from "@/router/router-constants/externalUrl-values"; import { externalUrls } from "@/router/router-constants/externalUrl-values";
import { lazyLoadComponent } from "@/router/dynamic-routing/component-loader.js"; import { lazyLoadComponent } from "@/router/dynamic-routing/component-loader.js";
import { saveSession } from "@/helpers/heritage-integration/order-helper.js"; import { saveSession } from "@/helpers/heritage-integration/order-helper.js";
import { fmgPageValues } from "@/router/router-constants/issPage-values"; import { issPageValues } from "@/router/router-constants/issPage-values";
import { useMainStore } from "@/store"; import { useMainStore } from "@/store";
import router from "@/router"; import router from "@/router";
@ -16,7 +16,7 @@ export async function getPageToRouteExistingOrderTo(toRoute = {}, existingHerita
if (toRoute.query[queryStrings.START_TYPE] === "fmg") { if (toRoute.query[queryStrings.START_TYPE] === "fmg") {
// If they have an existing order, return 'heritage' for the page name. // If they have an existing order, return 'heritage' for the page name.
if (existingHeritageOrder) { if (existingHeritageOrder) {
return fmgPageValues.HERITAGE; return issPageValues.HERITAGE;
} }
return await getLatestPageForRedirection(); return await getLatestPageForRedirection();
@ -45,10 +45,12 @@ export async function navigateToHeritageFunnel(shouldSaveSession = true) {
await saveSession(); await saveSession();
} }
const store = useMainStore();
router.navigateToExternalUrl(externalUrls.HERITAGE_FUNNEL, { router.navigateToExternalUrl(externalUrls.HERITAGE_FUNNEL, {
corid: useMainStore.getters.order.referralCorrelationId, corid: store.order.referralCorrelationId,
src: "concept-funnel", src: "concept-funnel",
conceptsqid: useMainStore.getters.applicationUser.savedSessionId, conceptsqid: store.applicationUser.savedSessionId,
}); });
} }
@ -59,45 +61,47 @@ async function getLatestPageForRedirection() {
// If this is a non-CTA navigation, determine where to send the user based on page prerequisites. // If this is a non-CTA navigation, determine where to send the user based on page prerequisites.
// This also works if a user has a 'fmg' start_type query string but no current order. // This also works if a user has a 'fmg' start_type query string but no current order.
// That shouldn't happen, but it's possible. // That shouldn't happen, but it's possible.
const vehicleMakeComponent = await getLazyLoadedComponent(fmgPageValues.VEHICLE_MAKE); const store = useMainStore();
const vehicleModelComponent = await getLazyLoadedComponent(fmgPageValues.VEHICLE_MODEL);
const vehicleStyleComponent = await getLazyLoadedComponent(fmgPageValues.VEHICLE_STYLE); const vehicleMakeComponent = await getLazyLoadedComponent(issPageValues.VEHICLE_MAKE);
const vehicleDamageComponent = await getLazyLoadedComponent(fmgPageValues.VEHICLE_DAMAGE); const vehicleModelComponent = await getLazyLoadedComponent(issPageValues.VEHICLE_MODEL);
const estimateComponent = await getLazyLoadedComponent(fmgPageValues.ESTIMATE); const vehicleStyleComponent = await getLazyLoadedComponent(issPageValues.VEHICLE_STYLE);
const vinLookupComponent = await getLazyLoadedComponent(fmgPageValues.VIN_LOOKUP); const vehicleDamageComponent = await getLazyLoadedComponent(issPageValues.VEHICLE_DAMAGE);
const partQuestionsComponent = await getLazyLoadedComponent(fmgPageValues.PART_QUESTIONS); const estimateComponent = await getLazyLoadedComponent(issPageValues.ESTIMATE);
const vehiclePartsComponent = await getLazyLoadedComponent(fmgPageValues.VEHICLE_PARTS); const vinLookupComponent = await getLazyLoadedComponent(issPageValues.VIN_LOOKUP);
const moldingQuestionsComponent = await getLazyLoadedComponent(fmgPageValues.MOLDING_QUESTIONS); const partQuestionsComponent = await getLazyLoadedComponent(issPageValues.PART_QUESTIONS);
const vehiclePartsComponent = await getLazyLoadedComponent(issPageValues.VEHICLE_PARTS);
const moldingQuestionsComponent = await getLazyLoadedComponent(issPageValues.MOLDING_QUESTIONS);
const capabilityQuestionsComponent = await getLazyLoadedComponent( const capabilityQuestionsComponent = await getLazyLoadedComponent(
fmgPageValues.CAPABILITY_QUESTIONS issPageValues.CAPABILITY_QUESTIONS
); );
if (!vehicleMakeComponent.methods.arePagePrerequisitesValid()) { if (!vehicleMakeComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.VEHICLE_YEAR; return issPageValues.VEHICLE_YEAR;
} else if (!vehicleModelComponent.methods.arePagePrerequisitesValid()) { } else if (!vehicleModelComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.VEHICLE_MAKE; return issPageValues.VEHICLE_MAKE;
} else if (!vehicleStyleComponent.methods.arePagePrerequisitesValid()) { } else if (!vehicleStyleComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.VEHICLE_MODEL; return issPageValues.VEHICLE_MODEL;
} else if (!vehicleDamageComponent.methods.arePagePrerequisitesValid()) { } else if (!vehicleDamageComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.VEHICLE_STYLE; return issPageValues.VEHICLE_STYLE;
} else if (!estimateComponent.methods.arePagePrerequisitesValid()) { } else if (!estimateComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.VEHICLE_DAMAGE; return issPageValues.VEHICLE_DAMAGE;
} else { } else {
if (capabilityQuestionsComponent.methods.arePagePrerequisitesValid()) { if (capabilityQuestionsComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.CAPABILITY_QUESTIONS; return issPageValues.CAPABILITY_QUESTIONS;
} else if (moldingQuestionsComponent.methods.arePagePrerequisitesValid()) { } else if (moldingQuestionsComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.MOLDING_QUESTIONS; return issPageValues.MOLDING_QUESTIONS;
} else if (vehiclePartsComponent.methods.arePagePrerequisitesValid()) { } else if (vehiclePartsComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.VEHICLE_PARTS; return issPageValues.VEHICLE_PARTS;
} else if (partQuestionsComponent.methods.arePagePrerequisitesValid()) { } else if (partQuestionsComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.PART_QUESTIONS; return issPageValues.PART_QUESTIONS;
} else if ( } else if (
vinLookupComponent.methods.arePagePrerequisitesValid() && vinLookupComponent.methods.arePagePrerequisitesValid() &&
!useMainStore.getters.damage.isRepair !store.damage.isRepair
) { ) {
return fmgPageValues.VIN_LOOKUP; return issPageValues.VIN_LOOKUP;
} else { } else {
return fmgPageValues.ESTIMATE; return issPageValues.ESTIMATE;
} }
} }
} }
@ -109,22 +113,22 @@ async function getLatestPageForRedirection() {
/* istanbul ignore next */ /* istanbul ignore next */
function overrideYmmsDirectionIfNeeded(toRoute) { function overrideYmmsDirectionIfNeeded(toRoute) {
const fmgPageValue = toRoute.query[queryStrings.FMG_PAGE]; const issPageValue = toRoute.query[queryStrings.ISS_PAGE];
if (useMainStore.getters.payment.insuranceCoverage.isVerified) { if (useMainStore.getters.payment.insuranceCoverage.isVerified) {
switch (fmgPageValue) { switch (issPageValue) {
case fmgPageValues.VEHICLE_YEAR: case issPageValues.VEHICLE_YEAR:
case fmgPageValues.VEHICLE_MAKE: case issPageValues.VEHICLE_MAKE:
case fmgPageValues.VEHICLE_MODEL: case issPageValues.VEHICLE_MODEL:
case fmgPageValues.VEHICLE_STYLE: { case issPageValues.VEHICLE_STYLE: {
return fmgPageValues.VEHICLE_DAMAGE; return issPageValues.VEHICLE_DAMAGE;
} }
default: { default: {
return fmgPageValue; return issPageValue;
} }
} }
} else { } else {
return fmgPageValue; return issPageValue;
} }
} }
@ -134,14 +138,14 @@ function overrideYmmsDirectionIfNeeded(toRoute) {
/* istanbul ignore next */ /* istanbul ignore next */
function isVinRelatedPage(toRoute) { function isVinRelatedPage(toRoute) {
const fmgPageValue = toRoute.query[queryStrings.FMG_PAGE]; const issPageValue = toRoute.query[queryStrings.FMG_PAGE];
return ( return (
fmgPageValue === fmgPageValues.VIN_LOOKUP || issPageValue === issPageValues.VIN_LOOKUP ||
fmgPageValue === fmgPageValues.LICENSE_PLATE_LOOKUP || issPageValue === issPageValues.LICENSE_PLATE_LOOKUP ||
fmgPageValue === fmgPageValues.ADDRESS_LOOKUP || issPageValue === issPageValues.ADDRESS_LOOKUP ||
fmgPageValue === fmgPageValues.ADDRESS_VEHICLES || issPageValue === issPageValues.ADDRESS_VEHICLES ||
fmgPageValue === fmgPageValues.ESTIMATE issPageValue === issPageValues.ESTIMATE
); );
} }

View file

@ -8,7 +8,7 @@ import { storeActions } from "@/constants/store-actions";
import { setupMocksForJsFiles, getMockOrderInfo } from "@/helpers/unit-test-helper.js"; import { setupMocksForJsFiles, getMockOrderInfo } from "@/helpers/unit-test-helper.js";
import { externalUrls } from "@/router/router-constants/externalUrl-values"; import { externalUrls } from "@/router/router-constants/externalUrl-values";
import { queryStrings } from "@/constants/query-strings"; import { queryStrings } from "@/constants/query-strings";
import { fmgPageValues } from "@/router/router-constants/fmgPage-values"; import { issPageValues } from "@/router/router-constants/issPage-values";
import router from "@/router"; import router from "@/router";
@ -26,14 +26,14 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: false, [issPageValues.VEHICLE_MAKE]: false,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.VEHICLE_YEAR); expect(result).toBe(issPageValues.VEHICLE_YEAR);
}); });
test("should return vehicle-make", async () => { test("should return vehicle-make", async () => {
@ -44,15 +44,15 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: true, [issPageValues.VEHICLE_MAKE]: true,
[fmgPageValues.VEHICLE_MODEL]: false, [issPageValues.VEHICLE_MODEL]: false,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.VEHICLE_MAKE); expect(result).toBe(issPageValues.VEHICLE_MAKE);
}); });
test("should return vehicle-model", async () => { test("should return vehicle-model", async () => {
@ -63,16 +63,16 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: true, [issPageValues.VEHICLE_MAKE]: true,
[fmgPageValues.VEHICLE_MODEL]: true, [issPageValues.VEHICLE_MODEL]: true,
[fmgPageValues.VEHICLE_STYLE]: false, [issPageValues.VEHICLE_STYLE]: false,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.VEHICLE_MODEL); expect(result).toBe(issPageValues.VEHICLE_MODEL);
}); });
test("should return vehicle-style", async () => { test("should return vehicle-style", async () => {
@ -83,17 +83,17 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: true, [issPageValues.VEHICLE_MAKE]: true,
[fmgPageValues.VEHICLE_MODEL]: true, [issPageValues.VEHICLE_MODEL]: true,
[fmgPageValues.VEHICLE_STYLE]: true, [issPageValues.VEHICLE_STYLE]: true,
[fmgPageValues.VEHICLE_DAMAGE]: false, [issPageValues.VEHICLE_DAMAGE]: false,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.VEHICLE_STYLE); expect(result).toBe(issPageValues.VEHICLE_STYLE);
}); });
test("should return vehicle-damage", async () => { test("should return vehicle-damage", async () => {
@ -104,18 +104,18 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: true, [issPageValues.VEHICLE_MAKE]: true,
[fmgPageValues.VEHICLE_MODEL]: true, [issPageValues.VEHICLE_MODEL]: true,
[fmgPageValues.VEHICLE_STYLE]: true, [issPageValues.VEHICLE_STYLE]: true,
[fmgPageValues.VEHICLE_DAMAGE]: true, [issPageValues.VEHICLE_DAMAGE]: true,
[fmgPageValues.ESTIMATE]: false, [issPageValues.ESTIMATE]: false,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.VEHICLE_DAMAGE); expect(result).toBe(issPageValues.VEHICLE_DAMAGE);
}); });
test("user has YMMS and no vehicle questions > should return vin-lookup", async () => { test("user has YMMS and no vehicle questions > should return vin-lookup", async () => {
@ -126,23 +126,23 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: true, [issPageValues.VEHICLE_MAKE]: true,
[fmgPageValues.VEHICLE_MODEL]: true, [issPageValues.VEHICLE_MODEL]: true,
[fmgPageValues.VEHICLE_STYLE]: true, [issPageValues.VEHICLE_STYLE]: true,
[fmgPageValues.VEHICLE_DAMAGE]: true, [issPageValues.VEHICLE_DAMAGE]: true,
[fmgPageValues.ESTIMATE]: true, [issPageValues.ESTIMATE]: true,
[fmgPageValues.CAPABILITY_QUESTIONS]: false, [issPageValues.CAPABILITY_QUESTIONS]: false,
[fmgPageValues.MOLDING_QUESTIONS]: false, [issPageValues.MOLDING_QUESTIONS]: false,
[fmgPageValues.VEHICLE_PARTS]: false, [issPageValues.VEHICLE_PARTS]: false,
[fmgPageValues.PART_QUESTIONS]: false, [issPageValues.PART_QUESTIONS]: false,
[fmgPageValues.VIN_LOOKUP]: true, [issPageValues.VIN_LOOKUP]: true,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.VIN_LOOKUP); expect(result).toBe(issPageValues.VIN_LOOKUP);
}); });
test("user has YMMS but no questions or carId > should return estimate", async () => { test("user has YMMS but no questions or carId > should return estimate", async () => {
@ -153,23 +153,23 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: true, [issPageValues.VEHICLE_MAKE]: true,
[fmgPageValues.VEHICLE_MODEL]: true, [issPageValues.VEHICLE_MODEL]: true,
[fmgPageValues.VEHICLE_STYLE]: true, [issPageValues.VEHICLE_STYLE]: true,
[fmgPageValues.VEHICLE_DAMAGE]: true, [issPageValues.VEHICLE_DAMAGE]: true,
[fmgPageValues.ESTIMATE]: true, [issPageValues.ESTIMATE]: true,
[fmgPageValues.CAPABILITY_QUESTIONS]: false, [issPageValues.CAPABILITY_QUESTIONS]: false,
[fmgPageValues.MOLDING_QUESTIONS]: false, [issPageValues.MOLDING_QUESTIONS]: false,
[fmgPageValues.VEHICLE_PARTS]: false, [issPageValues.VEHICLE_PARTS]: false,
[fmgPageValues.PART_QUESTIONS]: false, [issPageValues.PART_QUESTIONS]: false,
[fmgPageValues.VIN_LOOKUP]: false, [issPageValues.VIN_LOOKUP]: false,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.ESTIMATE); expect(result).toBe(issPageValues.ESTIMATE);
}); });
test("user has capability questions and molding questions > should return capability questions", async () => { test("user has capability questions and molding questions > should return capability questions", async () => {
@ -180,23 +180,23 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: true, [issPageValues.VEHICLE_MAKE]: true,
[fmgPageValues.VEHICLE_MODEL]: true, [issPageValues.VEHICLE_MODEL]: true,
[fmgPageValues.VEHICLE_STYLE]: true, [issPageValues.VEHICLE_STYLE]: true,
[fmgPageValues.VEHICLE_DAMAGE]: true, [issPageValues.VEHICLE_DAMAGE]: true,
[fmgPageValues.ESTIMATE]: true, [issPageValues.ESTIMATE]: true,
[fmgPageValues.CAPABILITY_QUESTIONS]: true, [issPageValues.CAPABILITY_QUESTIONS]: true,
[fmgPageValues.MOLDING_QUESTIONS]: true, [issPageValues.MOLDING_QUESTIONS]: true,
[fmgPageValues.VEHICLE_PARTS]: false, [issPageValues.VEHICLE_PARTS]: false,
[fmgPageValues.PART_QUESTIONS]: false, [issPageValues.PART_QUESTIONS]: false,
[fmgPageValues.VIN_LOOKUP]: false, [issPageValues.VIN_LOOKUP]: false,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.CAPABILITY_QUESTIONS); expect(result).toBe(issPageValues.CAPABILITY_QUESTIONS);
}); });
test("user has molding questions and part questions > should return molding questions", async () => { test("user has molding questions and part questions > should return molding questions", async () => {
@ -207,23 +207,23 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: true, [issPageValues.VEHICLE_MAKE]: true,
[fmgPageValues.VEHICLE_MODEL]: true, [issPageValues.VEHICLE_MODEL]: true,
[fmgPageValues.VEHICLE_STYLE]: true, [issPageValues.VEHICLE_STYLE]: true,
[fmgPageValues.VEHICLE_DAMAGE]: true, [issPageValues.VEHICLE_DAMAGE]: true,
[fmgPageValues.ESTIMATE]: true, [issPageValues.ESTIMATE]: true,
[fmgPageValues.CAPABILITY_QUESTIONS]: false, [issPageValues.CAPABILITY_QUESTIONS]: false,
[fmgPageValues.MOLDING_QUESTIONS]: true, [issPageValues.MOLDING_QUESTIONS]: true,
[fmgPageValues.VEHICLE_PARTS]: false, [issPageValues.VEHICLE_PARTS]: false,
[fmgPageValues.PART_QUESTIONS]: true, [issPageValues.PART_QUESTIONS]: true,
[fmgPageValues.VIN_LOOKUP]: false, [issPageValues.VIN_LOOKUP]: false,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.MOLDING_QUESTIONS); expect(result).toBe(issPageValues.MOLDING_QUESTIONS);
}); });
test("user has vehicle parts questions > should return vehicle-parts", async () => { test("user has vehicle parts questions > should return vehicle-parts", async () => {
@ -234,23 +234,23 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: true, [issPageValues.VEHICLE_MAKE]: true,
[fmgPageValues.VEHICLE_MODEL]: true, [issPageValues.VEHICLE_MODEL]: true,
[fmgPageValues.VEHICLE_STYLE]: true, [issPageValues.VEHICLE_STYLE]: true,
[fmgPageValues.VEHICLE_DAMAGE]: true, [issPageValues.VEHICLE_DAMAGE]: true,
[fmgPageValues.ESTIMATE]: true, [issPageValues.ESTIMATE]: true,
[fmgPageValues.CAPABILITY_QUESTIONS]: false, [issPageValues.CAPABILITY_QUESTIONS]: false,
[fmgPageValues.MOLDING_QUESTIONS]: false, [issPageValues.MOLDING_QUESTIONS]: false,
[fmgPageValues.VEHICLE_PARTS]: true, [issPageValues.VEHICLE_PARTS]: true,
[fmgPageValues.PART_QUESTIONS]: true, [issPageValues.PART_QUESTIONS]: true,
[fmgPageValues.VIN_LOOKUP]: false, [issPageValues.VIN_LOOKUP]: false,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.VEHICLE_PARTS); expect(result).toBe(issPageValues.VEHICLE_PARTS);
}); });
test("user has part questions > should return part-questions", async () => { test("user has part questions > should return part-questions", async () => {
@ -261,23 +261,23 @@ describe("getPageToRouteExistingOrderTo", () => {
// Mock out the lazy load calls for all components. // Mock out the lazy load calls for all components.
mockLazyLoadComponentReturnValues({ mockLazyLoadComponentReturnValues({
[fmgPageValues.VEHICLE_MAKE]: true, [issPageValues.VEHICLE_MAKE]: true,
[fmgPageValues.VEHICLE_MODEL]: true, [issPageValues.VEHICLE_MODEL]: true,
[fmgPageValues.VEHICLE_STYLE]: true, [issPageValues.VEHICLE_STYLE]: true,
[fmgPageValues.VEHICLE_DAMAGE]: true, [issPageValues.VEHICLE_DAMAGE]: true,
[fmgPageValues.ESTIMATE]: true, [issPageValues.ESTIMATE]: true,
[fmgPageValues.CAPABILITY_QUESTIONS]: false, [issPageValues.CAPABILITY_QUESTIONS]: false,
[fmgPageValues.MOLDING_QUESTIONS]: false, [issPageValues.MOLDING_QUESTIONS]: false,
[fmgPageValues.VEHICLE_PARTS]: false, [issPageValues.VEHICLE_PARTS]: false,
[fmgPageValues.PART_QUESTIONS]: true, [issPageValues.PART_QUESTIONS]: true,
[fmgPageValues.VIN_LOOKUP]: false, [issPageValues.VIN_LOOKUP]: false,
}); });
// Act // Act
const result = await getPageToRouteExistingOrderTo(toRoute, false); const result = await getPageToRouteExistingOrderTo(toRoute, false);
//Assert //Assert
expect(result).toBe(fmgPageValues.PART_QUESTIONS); expect(result).toBe(issPageValues.PART_QUESTIONS);
}); });
test("existing order > should return heritage", async () => { test("existing order > should return heritage", async () => {
@ -292,7 +292,7 @@ describe("getPageToRouteExistingOrderTo", () => {
const result = await getPageToRouteExistingOrderTo(toRoute, true); const result = await getPageToRouteExistingOrderTo(toRoute, true);
// Assert // Assert
expect(result).toBe(fmgPageValues.HERITAGE); expect(result).toBe(issPageValues.HERITAGE);
}); });
}); });

View file

@ -51,9 +51,11 @@ export async function loadSessionIfPresent() {
*/ */
export async function saveSession() { export async function saveSession() {
var saveSessionPromise; var saveSessionPromise;
if (useMainStore.getters.applicationUser.saveSessionPromise) { const store = useMainStore();
if (store.applicationUser.saveSessionPromise) {
// queue newest request after current saveSessionPromise resolves // queue newest request after current saveSessionPromise resolves
saveSessionPromise = useMainStore.getters.applicationUser.saveSessionPromise.then(() => { saveSessionPromise = store.applicationUser.saveSessionPromise.then(() => {
// get a new saveSessionPromise // get a new saveSessionPromise
return saveSessionHelper(); return saveSessionHelper();
}); });
@ -61,7 +63,7 @@ export async function saveSession() {
// create an initial saveSessionPromise // create an initial saveSessionPromise
saveSessionPromise = saveSessionHelper(); saveSessionPromise = saveSessionHelper();
} }
useMainStore.commit(storeMutations.UPDATE_SAVE_SESSION_PROMISE, saveSessionPromise); store.commit(storeMutations.UPDATE_SAVE_SESSION_PROMISE, saveSessionPromise);
// await here to allow for a caller to await and make the function synchronous // await here to allow for a caller to await and make the function synchronous
await saveSessionPromise; await saveSessionPromise;
} }
@ -74,7 +76,9 @@ export async function saveSession() {
*/ */
async function loadSession(referralNumber, referralDate, referralCorrelationId, accountNumber) { async function loadSession(referralNumber, referralDate, referralCorrelationId, accountNumber) {
// await the saveSessionPromise in the store to make sure we're loading up to date information // await the saveSessionPromise in the store to make sure we're loading up to date information
await useMainStore.getters.applicationUser.saveSessionPromise; const store = useMainStore();
await store.applicationUser.saveSessionPromise;
const response = await baseMixin.methods.dispatchStoreAction( const response = await baseMixin.methods.dispatchStoreAction(
storeActions.LOAD_SESSION, storeActions.LOAD_SESSION,
{ {

View file

@ -3,7 +3,6 @@ import { storeMutations } from "@/constants/store-mutations.js";
import { navigationScenarios } from "@/router/router-constants/navigation-scenarios.js"; import { navigationScenarios } from "@/router/router-constants/navigation-scenarios.js";
import { vehicleCategories } from "@/constants/vehicle-categories.js"; import { vehicleCategories } from "@/constants/vehicle-categories.js";
import { issPageValues } from "@/router/router-constants/issPage-values"; import { issPageValues } from "@/router/router-constants/issPage-values";
import { fmgPageValues } from "@/router/router-constants/fmgPage-values";
import { cookieNames } from "@/constants/cookie-names"; import { cookieNames } from "@/constants/cookie-names";
import { Form } from "vee-validate"; import { Form } from "vee-validate";
import baseMixin from "@/mixins/base-mixin"; import baseMixin from "@/mixins/base-mixin";
@ -66,7 +65,6 @@ export function getMountOptions(mockData) {
mocks.storeMutations = storeMutations; mocks.storeMutations = storeMutations;
mocks.navigationScenarios = navigationScenarios; mocks.navigationScenarios = navigationScenarios;
mocks.vehicleCategories = vehicleCategories; mocks.vehicleCategories = vehicleCategories;
mocks.fmgPageValues = fmgPageValues;
mocks.issPageValues = issPageValues; mocks.issPageValues = issPageValues;
mocks.analyticsPageEvents = analyticsPageEvents; mocks.analyticsPageEvents = analyticsPageEvents;
mocks.GaCategories = GaCategories; mocks.GaCategories = GaCategories;

View file

@ -9,7 +9,7 @@ import {
GaEvents, GaEvents,
ValueToLogTypes, ValueToLogTypes,
} from "@/constants/analytics"; } from "@/constants/analytics";
//import { useMainStore } from "@/store"; import { useMainStore } from "@/store";
describe("analyticsMixin.js", () => { describe("analyticsMixin.js", () => {
test("logPageView: calls dispatch with type and payload", () => { test("logPageView: calls dispatch with type and payload", () => {
@ -131,7 +131,7 @@ describe("analyticsMixin.js", () => {
// Assert // Assert
expect(expectedDataLayer).toEqual(expect.arrayContaining(window.dataLayer)); expect(expectedDataLayer).toEqual(expect.arrayContaining(window.dataLayer));
}); });
/*
test("Experiments, should push to dataLayer with default Google Custom Dimension Index", () => { test("Experiments, should push to dataLayer with default Google Custom Dimension Index", () => {
// Arrange // Arrange
window.dataLayer = []; window.dataLayer = [];
@ -227,7 +227,7 @@ describe("analyticsMixin.js", () => {
}, },
]); ]);
}); });
*/
test("Obj is not null after action prepended", () => { test("Obj is not null after action prepended", () => {
//Arrange //Arrange
const obj = { baseMethodName: "testMethodName", data: "testData" }; const obj = { baseMethodName: "testMethodName", data: "testData" };

View file

@ -1,6 +1,7 @@
import experimentMixin from "@/mixins/experiment-mixin"; import experimentMixin from "@/mixins/experiment-mixin";
import { shallowMount } from "@vue/test-utils"; import { shallowMount } from "@vue/test-utils";
import { getMountOptions } from "@/helpers/unit-test-helper.js"; import { getMountOptions } from "@/helpers/unit-test-helper.js";
import { useMainStore } from "@/store";
describe("experiment-mixin", () => { describe("experiment-mixin", () => {
describe("hasSettingEqualTo", () => { describe("hasSettingEqualTo", () => {
@ -132,7 +133,7 @@ function setupMocks({ experimentSettings }) {
Setting6: "Value3", Setting6: "Value3",
}; };
store.getters = { useMainStore.getters = {
experimentSettings: experimentSettings ?? testExperimentSettings, experimentSettings: experimentSettings ?? testExperimentSettings,
}; };

View file

@ -1,21 +0,0 @@
const fmgPageValues = {
VEHICLE_YEAR: "vehicle-year",
VEHICLE_MAKE: "vehicle-make",
VEHICLE_MODEL: "vehicle-model",
VEHICLE_STYLE: "vehicle-style",
VEHICLE_DAMAGE: "vehicle-damage",
ADDRESS_LOOKUP: "address-lookup",
VIN_LOOKUP: "vin-lookup",
VEHICLE_PARTS: "vehicle-parts",
PART_QUESTIONS: "part-questions",
MOLDING_QUESTIONS: "molding-questions",
CAPABILITY_QUESTIONS: "capability-questions",
LICENSE_PLATE_LOOKUP: "license-plate-lookup",
REVEAL: "reveal",
ESTIMATE: "estimate",
ADDRESS_VEHICLES: "address-vehicles",
QUOTE: "quote",
HERITAGE: "heritage",
};
export { fmgPageValues };

View file

@ -5,5 +5,18 @@ export const issPageValues = {
VEHICLE_YEAR: "vehicle-year", VEHICLE_YEAR: "vehicle-year",
VEHICLE_MODEL: "vehicle-model", VEHICLE_MODEL: "vehicle-model",
VEHICLE_STYLE: "vehicle-style", VEHICLE_STYLE: "vehicle-style",
VEHICLE_DAMAGE: "vehicle-damage",
ADDRESS_LOOKUP: "address-lookup",
VIN_LOOKUP: "vin-lookup",
VEHICLE_PARTS: "vehicle-parts",
PART_QUESTIONS: "part-questions",
MOLDING_QUESTIONS: "molding-questions",
CAPABILITY_QUESTIONS: "capability-questions",
LICENSE_PLATE_LOOKUP: "license-plate-lookup",
REVEAL: "reveal",
ESTIMATE: "estimate",
ADDRESS_VEHICLES: "address-vehicles",
QUOTE: "quote",
HERITAGE: "heritage",
}; };