Updates
This commit is contained in:
parent
9f10994cae
commit
38fab5611f
9 changed files with 165 additions and 165 deletions
|
|
@ -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,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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" };
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 };
|
|
||||||
|
|
@ -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",
|
||||||
};
|
};
|
||||||
|
|
||||||
Loading…
Reference in a new issue