Merge pull request #1178 from Safelite/feature/humphries/INSR-9064

INSR-9064: Remove repair supplies fee, account for repair in TPA search
This commit is contained in:
AHumphriesSL 2026-04-10 10:06:56 -04:00 committed by GitHub
commit a0e137a48e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 35 additions and 5 deletions

View file

@ -2,7 +2,9 @@ const partNumberStrings = Object.freeze({
RECYCLE_FEE: 'RECYCLE FEE',
LABOR2: 'LABOR2',
RECAL_MOBILE: 'RECAL MOBILE',
RECAL_MOBILEDUAL: 'RECAL MOBILEDUAL'
RECAL_MOBILEDUAL: 'RECAL MOBILEDUAL',
REPAIR: 'WSREPAIR',
SUPPLIES_REPAIR: 'SUPPLIES-REPAIR'
});
export default partNumberStrings;

View file

@ -1034,7 +1034,7 @@ export const useMainStore = defineStore({
const damageType = this.damage.isRepair ? 'Repair' : 'Install';
const parts = getLineItemsFlattened(this.order.lineItems.glassParts);
const partNumbers = 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) {
@ -1985,8 +1985,13 @@ export const useMainStore = defineStore({
// Process Recycle Fee
this.updateRecycleFee(partsData.find((rf) => rf.partNumber === partNumberStrings.RECYCLE_FEE));
// Remove RecycleFee from supporting items since it's already been added to feeItems
this.order.lineItems.supportingItems = partsData.filter((i) => i.partNumber !== partNumberStrings.RECYCLE_FEE);
// Remove Recycle Fee from supporting items since it's already been added to feeItems
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.SUPPLIES_REPAIR);
this.order.lineItems.supportingItems = supportingItems;
},
updateVaps(partsData) {

View file

@ -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', () => {