Merge pull request #1158 from Safelite/feature/kroell/INSR-8916

INSR-8916: fix Labor2 part being added to order
This commit is contained in:
katiekroell 2026-03-30 16:36:46 -04:00 committed by GitHub
commit 0be681f88d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 39 additions and 16 deletions

View file

@ -1934,6 +1934,9 @@ export const useMainStore = defineStore({
this.updateMobileFee(fee);
} else if (fee.partNumber === partNumberStrings.RECYCLE_FEE) {
this.updateRecycleFee(fee);
} else if (fee.partNumber === partNumberStrings.LABOR2) {
// Do not add Labor2 to feeItems since it's already been added to supportingItems
this.addPartNumberFeeItem(null, partNumberStrings.LABOR2);
} else {
this.addPartNumberFeeItem(fee, fee.partNumber);
}
@ -1948,8 +1951,8 @@ export const useMainStore = defineStore({
// Process Recycle Fee
this.updateRecycleFee(partsData.find((rf) => rf.partNumber === partNumberStrings.RECYCLE_FEE));
// Remove RecycleFee and Labor2 from supporting items as they're saved in feeItems;
this.order.lineItems.supportingItems = partsData.filter((i) => i.partNumber !== partNumberStrings.RECYCLE_FEE && i.partNumber !== partNumberStrings.LABOR2);
// 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);
},
updateVaps(partsData) {

View file

@ -2490,16 +2490,12 @@ describe('Store', () => {
});
});
describe('updateSupportingItems method', () => {
it('updateSupportingItems removes Recyle Fee and Labor2 Fee from supporting items in store', () => {
it('updateSupportingItems removes Recycle Fee from supporting items in store', () => {
// Arrange
const partsData = [
{
partNumber: 'RECYCLE FEE',
partType: 'REPLACE FEE'
},
{
partNumber: 'LABOR2',
partType: 'NON_GLASS'
}
];
@ -2507,14 +2503,38 @@ describe('Store', () => {
store.updateSupportingItems(partsData);
// Assert
expect.not.objectContaining({
partNumber: 'RECYCLE FEE',
partType: 'REPLACE FEE'
});
expect.not.objectContaining({
partNumber: 'LABOR2',
partType: 'NON_GLASS'
});
expect(store.order.lineItems.supportingItems).not.toEqual(
expect.arrayContaining([
expect.objectContaining({
partNumber: 'RECYCLE FEE',
partType: 'REPLACE FEE'
})
])
);
});
});
});
describe('updateGlassFees method', () => {
it('updateGlassFees does not add Labor2 fee to feeItems', () => {
// Arrange
const feeData = [
{
partNumber: 'LABOR2',
partType: 'LABOR FEE'
}
];
// Act
store.updateGlassFees(feeData);
// Assert
expect(store.order.lineItems.feeItems).not.toEqual(
expect.arrayContaining([
expect.objectContaining({
partNumber: 'LABOR2',
partType: 'LABOR FEE'
})
])
);
});
});
});