Merge pull request #2017 from Safelite/feature/CSR-2243

CSR-2243
This commit is contained in:
CarlNation 2024-10-07 08:33:08 -04:00 committed by GitHub
commit a4c6427945
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 19 deletions

View file

@ -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,
};
});

View file

@ -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" }],
},
},
};