diff --git a/src/layouts/policy-vehicles/policy-vehicles.vue b/src/layouts/policy-vehicles/policy-vehicles.vue index b13f8b64..2ccb7656 100644 --- a/src/layouts/policy-vehicles/policy-vehicles.vue +++ b/src/layouts/policy-vehicles/policy-vehicles.vue @@ -156,7 +156,9 @@ export default { useMainStore().updateVehicle({ ...vehicle.data, policyVehicleId: this.selectedPolicyVehicle?.id, - vin: value + vin: value, + fleetNumber: this.selectedPolicyVehicle?.fleetNumber, + fleetUnitNumber: this.selectedPolicyVehicle?.fleetUnitNumber }); } } catch (e) { @@ -199,7 +201,9 @@ export default { useMainStore().updateVehicle({ ...vehicleLookupResponse.data, policyVehicleId: vehicle.id, - vin: this.selectedVehicleVin + vin: this.selectedVehicleVin, + fleetNumber: vehicle.fleetNumber, + fleetUnitNumber: vehicle.fleetUnitNumber }); useMainStore().updateVehicleCoverage({ @@ -224,7 +228,9 @@ export default { make: vehicle.vehicleMake || '', model: vehicle.vehicleModel || '', style: vehicle.vehicleStyle || '', - vin: vehicle.vin + vin: vehicle.vin, + fleetNumber: vehicle.fleetNumber ?? '', + fleetUnitNumber: vehicle.fleetUnitNumber ?? '' }); this.policyVinFound = false; diff --git a/src/store/index.js b/src/store/index.js index 72c443ba..e0d32e74 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -88,7 +88,9 @@ export const getDefaultState = () => ({ canSafeliteService: null, skipVINLookup: null, skipPartQuestions: null, - vinRequired: null + vinRequired: null, + fleetNumber: null, + fleetUnitNumber: null }, damage: { isRepair: null, @@ -708,7 +710,9 @@ export const useMainStore = defineStore({ }, cause: this.order.policy.damageCause, damageDescription: this.order.policy.damageCause - } + }, + fleetNumber: this.order.vehicle.fleetNumber, + fleetUnitNumber: this.order.vehicle.fleetUnitNumber }; // Clients (i.e. USAA) may sometimes use member number, which is just policy number by a different name if (this.issConfig.useMemberNumber) { @@ -1728,7 +1732,9 @@ export const useMainStore = defineStore({ this.updateVehicle({ ...vehicleResponse.data, policyVehicleId: vehicle.id, - vin: vehicle.vin + vin: vehicle.vin, + fleetNumber: vehicle.fleetNumber, + fleetUnitNumber: vehicle.fleetUnitNumber }); this.updateVehicleCoverage({ noCoverage: noCoverageForSelectedVehicle(vehicle), @@ -1794,7 +1800,9 @@ export const useMainStore = defineStore({ this.updateVehicle({ ...vehicleResponse.data, policyVehicleId: vehicle.id, - vin: vehicle.vin + vin: vehicle.vin, + fleetNumber: vehicle.fleetNumber, + fleetUnitNumber: vehicle.fleetUnitNumber }); this.updateVehicleCoverage({ noCoverage: noCoverageForSelectedVehicle(vehicle), @@ -2126,6 +2134,8 @@ export const useMainStore = defineStore({ this.order.vehicle.skipVINLookup = vehicle.skipVINLookup; this.order.vehicle.skipPartQuestions = vehicle.skipPartQuestions; this.order.vehicle.vinRequired = vehicle.vinRequired; + this.order.vehicle.fleetNumber = vehicle.fleetNumber; + this.order.vehicle.fleetUnitNumber = vehicle.fleetUnitNumber; this.updateSupportingItems(null); this.updateVaps(null); @@ -2263,6 +2273,8 @@ export const useMainStore = defineStore({ this.order.vehicle.skipVINLookup = null; this.order.vehicle.skipPartQuestions = null; this.order.vehicle.vinRequired = null; + this.order.vehicle.fleetNumber = null; + this.order.vehicle.fleetUnitNumber = null; if (this.isBailout && this.bailoutCode === bailoutCode.HeavyTruckVehicle) { this.resetBailout(); diff --git a/src/store/store.spec.js b/src/store/store.spec.js index f8467737..78345ff4 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -136,6 +136,8 @@ describe('Store', () => { const imageUrl = getRandomString(50, 100); const imageVifNumber = getRandomInt(10000, 99999).toString(); const imageColor = getRandomString(4, 10); + const fleetNumber = getRandomString(1, 2); + const fleetUnitNumber = getRandomString(1, 2); const providedVehicle = { carId, category, @@ -145,7 +147,9 @@ describe('Store', () => { style, imageUrl, imageVifNumber, - imageVifColor: imageColor + imageVifColor: imageColor, + fleetNumber, + fleetUnitNumber }; const expectedVehicle = { @@ -157,7 +161,9 @@ describe('Store', () => { style, imageUrl, imageVifNumber, - imageColor + imageColor, + fleetNumber, + fleetUnitNumber }; // Act @@ -494,6 +500,8 @@ describe('Store', () => { replace: 500, repair: 0 }; + const fleetNumber = getRandomString(1, 2); + const fleetUnitNumber = getRandomString(1, 2); store.order.originalDeductible = { replace: originalDeductible.replace, repair: originalDeductible.repair @@ -503,6 +511,8 @@ describe('Store', () => { repair: currentDeductible.repair }; store.order.customer.companyCode = companyCode; + store.order.vehicle.fleetNumber = fleetNumber; + store.order.vehicle.fleetUnitNumber = fleetUnitNumber; globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({})); // Act @@ -514,7 +524,9 @@ describe('Store', () => { sourceSystem: applicationConfig.APPLICATION_NAME, policyInfo: expect.objectContaining({ company: companyCode - }) + }), + fleetNumber, + fleetUnitNumber }) })); }); @@ -2611,7 +2623,9 @@ describe('Store', () => { vin: mockResponse.data.vehicle.vin, deductible: 100, repairWaived: false, - endorsements: ['OEM Approved'] + endorsements: ['OEM Approved'], + fleetNumber: getRandomString(1, 2), + fleetUnitNumber: getRandomString(1, 2) }; store.order.insuranceCoverage.coverageType = coverageType.Deductible; @@ -2630,7 +2644,9 @@ describe('Store', () => { expect(store.updateVehicle).toHaveBeenCalledWith({ ...mockVehicleLookupResponse.data, policyVehicleId: policyVehicle.id, - vin: policyVehicle.vin + vin: policyVehicle.vin, + fleetNumber: policyVehicle.fleetNumber, + fleetUnitNumber: policyVehicle.fleetUnitNumber }); expect(store.updateVehicleCoverage).toHaveBeenCalled(); });