From ca4f6a2bd6c5c8279ba7992cf538e4828d11da9b Mon Sep 17 00:00:00 2001 From: CarlNation Date: Mon, 7 Oct 2024 06:21:15 -0400 Subject: [PATCH 1/2] CSR-2243 Not actually related to CSR-2243 but found while debugging that issue. We set isGlassPart true for all items in that collection, even child parts like recal, molding and clips. Micro service team's latest changes is more strict with this property and returning a 404 error and then mule returns a 500 internal server error. --- src/store/index.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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, }; }); From 433ba2cd472517940ae8f628ea234da653409d8e Mon Sep 17 00:00:00 2001 From: CarlNation Date: Mon, 7 Oct 2024 08:28:03 -0400 Subject: [PATCH 2/2] CSR-2243 fix tests --- src/store/store.spec.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) 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" }], }, }, };