From ca6ec847d037eab9dbc98d7f46eeb19733a23d77 Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Thu, 9 Apr 2026 16:46:27 -0400 Subject: [PATCH] Fix tests, correct part number string for repair supplies --- src/constants/part-number-strings.js | 3 ++- src/store/index.js | 4 ++-- src/store/store.spec.js | 25 ++++++++++++++++++++++++- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/constants/part-number-strings.js b/src/constants/part-number-strings.js index f6627aab..55905408 100644 --- a/src/constants/part-number-strings.js +++ b/src/constants/part-number-strings.js @@ -3,7 +3,8 @@ const partNumberStrings = Object.freeze({ LABOR2: 'LABOR2', RECAL_MOBILE: 'RECAL MOBILE', RECAL_MOBILEDUAL: 'RECAL MOBILEDUAL', - REPAIR_SUPPLIES: 'REPAIR-SUPPLIES' + REPAIR: 'WSREPAIR', + SUPPLIES_REPAIR: 'SUPPLIES-REPAIR' }); export default partNumberStrings; diff --git a/src/store/index.js b/src/store/index.js index bb4ae0ed..db5894c6 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1034,7 +1034,7 @@ export const useMainStore = defineStore({ const damageType = this.damage.isRepair ? 'Repair' : 'Install'; const parts = getLineItemsFlattened(this.order.lineItems.glassParts); - const partNumbers = this.damage.isRepair ? 'WSREPAIR' : parts.map((part) => part.partNumber).join(','); + const partNumbers = this.damage.isRepair ? partNumberStrings.REPAIR : parts.map((part) => part.partNumber).join(','); let url = `${endpoints.GetTpaAndSafeliteProviders.url}/${zipCode}?accountNumber=${parentAccountNumber}&carId=${carId}&damageType=${damageType}&partNumbers=${partNumbers}`; if (provderNameSearchString) { @@ -1989,7 +1989,7 @@ export const useMainStore = defineStore({ let supportingItems = partsData.filter((i) => i.partNumber !== partNumberStrings.RECYCLE_FEE); // Remove Repair Supplies Fee, which is hidden for ISS except in scenarios not yet implemented - supportingItems = supportingItems.filter((i) => i.partNumber !== partNumberStrings.REPAIR_SUPPLIES); + supportingItems = supportingItems.filter((i) => i.partNumber !== partNumberStrings.SUPPLIES_REPAIR); this.order.lineItems.supportingItems = supportingItems; }, diff --git a/src/store/store.spec.js b/src/store/store.spec.js index 38a52c16..d6a29e43 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -15,6 +15,7 @@ import { AppointmentTypeStrings } from '@/constants/schedule-constants'; import coverageType from '@/constants/coverage-type'; import { getEnumName } from '@/helpers/unit-test-helper'; import { strictEqual } from 'assert'; +import partNumberStrings from '@/constants/part-number-strings'; describe('Store', () => { let store; @@ -1978,7 +1979,7 @@ describe('Store', () => { const carId = getRandomString(10, 14); const parentAccountNumber = getRandomString(6, 6); - const partNumber = getRandomString(6, 6); + const partNumber = isRepair ? partNumberStrings.REPAIR : getRandomString(6, 6); store.order.parentAccountNumber = parentAccountNumber; store.order.damage.isRepair = isRepair; store.order.vehicle.carId = carId; @@ -2512,6 +2513,28 @@ describe('Store', () => { ]) ); }); + it('updateSupportingItems removes Repair Supplies Fee from supporting items in store', () => { + // Arrange + const partsData = [ + { + partNumber: partNumberStrings.SUPPLIES_REPAIR, + partType: 'REPAIR FEE' + } + ]; + + // Act + store.updateSupportingItems(partsData); + + // Assert + expect(store.order.lineItems.supportingItems).not.toEqual( + expect.arrayContaining([ + expect.objectContaining({ + partNumber: partNumberStrings.SUPPLIES_REPAIR, + partType: 'REPAIR FEE' + }) + ]) + ); + }); }); describe('updateGlassFees method', () => { it('updateGlassFees does not add Labor2 fee to feeItems', () => {