diff --git a/src/layouts/policy-vehicles/policy-vehicles.vue b/src/layouts/policy-vehicles/policy-vehicles.vue index b13f8b64..45bd502e 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 a6a8258e..ba8472c9 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, @@ -704,11 +706,15 @@ export const useMainStore = defineStore({ year: this.order.vehicle.year?.toString() ?? '', make: this.order.vehicle.make, model: this.order.vehicle.model, - vin: this.order.vehicle.vin + vin: this.order.vehicle.vin, + fleetNumber: this.order.vehicle.fleetNumber, + fleetUnitNumber: this.order.vehicle.fleetUnitNumber }, 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 +1734,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 +1802,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), @@ -2103,6 +2113,7 @@ export const useMainStore = defineStore({ }, updateVehicle(vehicle) { + console.log('updateVehicle called with vehicle:', vehicle); // Assuming that the method caller pass all the properties. // otherwise need to check for undefined for every property. if (this.order.vehicle.carId !== vehicle.carId @@ -2126,6 +2137,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 +2276,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..31a1ae2f 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 @@ -2611,7 +2617,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 +2638,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(); });