diff --git a/src/store/index.js b/src/store/index.js index 5baf2a3a5..fedea9fd4 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -3201,14 +3201,16 @@ export function getArrayOfAllLineItemsAndChildParts(lineItems) { return consolidatedLineItemsArray; } -function getFlattenedArrayOfLineItemsWithChildParts(lineItems) { +function getFlattenedArrayOfLineItemsWithChildParts(lineItems, childPartRecursiveCall = false) { let flattenedArray = []; lineItems?.forEach((lineItem) => { + // this assumes childparts will never be a glass part + lineItem.isChildPart = childPartRecursiveCall; flattenedArray.push(lineItem); if (lineItem.childParts) { flattenedArray = [ ...flattenedArray, - ...getFlattenedArrayOfLineItemsWithChildParts(lineItem.childParts), + ...getFlattenedArrayOfLineItemsWithChildParts(lineItem.childParts, true), ]; } }); @@ -3231,11 +3233,7 @@ function getFlattenedLineItemsWithGlassPartTag(lineItems) { return { partNumber: lineItem.partNumber, partType: lineItem.partType, - isGlassPart: - lineItem.partType == partTypeStrings.RECALIBRATION || - lineItem.partType == partTypeStrings.ADAS_RECALIBRATION - ? false - : true, + isGlassPart: lineItem.isChildPart ? false : true, }; }); diff --git a/src/store/store.spec.js b/src/store/store.spec.js index 9c546d3be..4a1cb6173 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -5,7 +5,6 @@ import { storeActions } from "@/constants/store-actions"; import { experimentTriggers } from "@/constants/experiments"; import { fmgPageValues } from "@/router/router-constants/fmgPage-values"; import { AppointmentTypeStrings } from "@/constants/schedule-constants"; -import { coverageStatus } from "../constants/insurance"; // Mock global method globalMethods.callHttpClient = jest.fn(); @@ -2935,7 +2934,7 @@ describe("Actions", () => { // Arrange const context = state; const promoCode = "testPromo"; - const lineItemsToUse = { vaps: [{ partNumber: 1 }], promos: [2] }; + const lineItemsToUse = { vaps: [{ partNumber: 1 }], promos: [{ promoCode: "1wiper0" }] }; const addableVaps = [{ partNumber: "addableVap" }]; context["getters"] = { @@ -2999,7 +2998,7 @@ describe("Actions", () => { { partNumber: "SBB22", id: "GUID1" }, { partNumber: "SBB22", id: "GUID2" }, ], - promos: [2], + promos: [{ promoCode: "1wiper0" }], }; const addableVaps = [{ partNumber: "SBB22" }, { partNumber: "SBB22" }]; @@ -3059,7 +3058,7 @@ describe("Actions", () => { // Arrange const context = state; const promoCode = "testPromo"; - const lineItemsToUse = { vaps: [{ partNumber: 1 }], promos: [2] }; + const lineItemsToUse = { vaps: [{ partNumber: 1 }], promos: [{ promoCode: "1wiper0" }] }; const addableVaps = [{ partNumber: "addableVap" }]; context["getters"] = { @@ -3140,7 +3139,7 @@ describe("Actions", () => { referralSequenceNumber: "test", lineItems: { vaps: [{ partNumber: 1 }], - promos: [2], + promos: [{ promoCode: "1wiper0" }], serverData: "test", }, }, @@ -3152,7 +3151,7 @@ describe("Actions", () => { crypto.randomUUID = jest.fn(() => "GUID"); - const expectedLineItemsOnOrder = [{ partNumber: 1, id: "GUID" }, 2]; + const expectedLineItemsOnOrder = [{ partNumber: 1, isChildPart: false, id: "GUID" }, { promoCode: "1wiper0", isChildPart: false }]; // Act actions.validateOrderPromoAndSaveServerData(context, { @@ -3200,7 +3199,7 @@ describe("Actions", () => { referralSequenceNumber: "test", lineItems: { vaps: [{ partNumber: 1 }], - promos: [2], + promos: [{ promoCode: "1wiper0" }], serverData: "test", }, }, @@ -3258,7 +3257,7 @@ describe("Actions", () => { referralSequenceNumber: "test", lineItems: { vaps: [{ partNumber: 1 }], - promos: [2], + promos: [{ promoCode: "1wiper0" }], serverData: "test", }, }, @@ -3350,9 +3349,9 @@ describe("Actions", () => { const context = state; context.commit = jest.fn(() => {}); - const activePromosToUse = [{ promoCode: "providedPromo" }]; + const activePromosToUse = [{ promoCode: "providedPromo", isChildPart: false }]; const inactivePromosToUse = ["providedInactivePromo"]; - const vapsProvided = [{ id: 123 }]; + const vapsProvided = [{ id: 123, isChildPart: false }]; const lineItemsToUse = { vaps: vapsProvided }; context["getters"] = { @@ -3440,8 +3439,8 @@ describe("Actions", () => { referralSequenceNumber: "test", lineItems: { serverData: "test", - promos: [{ promoCode: "test" }], - vaps: [{ partNumber: "testVap", id: "providedId" }], + promos: [{ promoCode: "test", isChildPart: false }], + vaps: [{ partNumber: "testVap", isChildPart:false, id: "providedId" }], }, }, };