diff --git a/src/store/index.js b/src/store/index.js index aa56015a..5b5b2f57 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -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) { diff --git a/src/store/store.spec.js b/src/store/store.spec.js index bd601c24..38a52c16 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -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' + }) + ]) + ); + }); + }); +}); \ No newline at end of file