INSR-10445: Add fleetNumber and fleetUnitNumber to vehicle data

This commit is contained in:
Alex Humphries 2026-07-20 15:48:47 -04:00
parent 3068cc423a
commit e184e0ea76
3 changed files with 43 additions and 12 deletions

View file

@ -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;

View file

@ -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();

View file

@ -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();
});