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({ useMainStore().updateVehicle({
...vehicle.data, ...vehicle.data,
policyVehicleId: this.selectedPolicyVehicle?.id, policyVehicleId: this.selectedPolicyVehicle?.id,
vin: value vin: value,
fleetNumber: this.selectedPolicyVehicle?.fleetNumber,
fleetUnitNumber: this.selectedPolicyVehicle?.fleetUnitNumber
}); });
} }
} catch (e) { } catch (e) {
@ -199,7 +201,9 @@ export default {
useMainStore().updateVehicle({ useMainStore().updateVehicle({
...vehicleLookupResponse.data, ...vehicleLookupResponse.data,
policyVehicleId: vehicle.id, policyVehicleId: vehicle.id,
vin: this.selectedVehicleVin vin: this.selectedVehicleVin,
fleetNumber: vehicle.fleetNumber,
fleetUnitNumber: vehicle.fleetUnitNumber
}); });
useMainStore().updateVehicleCoverage({ useMainStore().updateVehicleCoverage({
@ -224,7 +228,9 @@ export default {
make: vehicle.vehicleMake || '', make: vehicle.vehicleMake || '',
model: vehicle.vehicleModel || '', model: vehicle.vehicleModel || '',
style: vehicle.vehicleStyle || '', style: vehicle.vehicleStyle || '',
vin: vehicle.vin vin: vehicle.vin,
fleetNumber: vehicle.fleetNumber || '',
fleetUnitNumber: vehicle.fleetUnitNumber || ''
}); });
this.policyVinFound = false; this.policyVinFound = false;

View file

@ -88,7 +88,9 @@ export const getDefaultState = () => ({
canSafeliteService: null, canSafeliteService: null,
skipVINLookup: null, skipVINLookup: null,
skipPartQuestions: null, skipPartQuestions: null,
vinRequired: null vinRequired: null,
fleetNumber: null,
fleetUnitNumber: null
}, },
damage: { damage: {
isRepair: null, isRepair: null,
@ -704,11 +706,15 @@ export const useMainStore = defineStore({
year: this.order.vehicle.year?.toString() ?? '', year: this.order.vehicle.year?.toString() ?? '',
make: this.order.vehicle.make, make: this.order.vehicle.make,
model: this.order.vehicle.model, 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, cause: this.order.policy.damageCause,
damageDescription: 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 // Clients (i.e. USAA) may sometimes use member number, which is just policy number by a different name
if (this.issConfig.useMemberNumber) { if (this.issConfig.useMemberNumber) {
@ -1728,7 +1734,9 @@ export const useMainStore = defineStore({
this.updateVehicle({ this.updateVehicle({
...vehicleResponse.data, ...vehicleResponse.data,
policyVehicleId: vehicle.id, policyVehicleId: vehicle.id,
vin: vehicle.vin vin: vehicle.vin,
fleetNumber: vehicle.fleetNumber,
fleetUnitNumber: vehicle.fleetUnitNumber
}); });
this.updateVehicleCoverage({ this.updateVehicleCoverage({
noCoverage: noCoverageForSelectedVehicle(vehicle), noCoverage: noCoverageForSelectedVehicle(vehicle),
@ -1794,7 +1802,9 @@ export const useMainStore = defineStore({
this.updateVehicle({ this.updateVehicle({
...vehicleResponse.data, ...vehicleResponse.data,
policyVehicleId: vehicle.id, policyVehicleId: vehicle.id,
vin: vehicle.vin vin: vehicle.vin,
fleetNumber: vehicle.fleetNumber,
fleetUnitNumber: vehicle.fleetUnitNumber
}); });
this.updateVehicleCoverage({ this.updateVehicleCoverage({
noCoverage: noCoverageForSelectedVehicle(vehicle), noCoverage: noCoverageForSelectedVehicle(vehicle),
@ -2103,6 +2113,7 @@ export const useMainStore = defineStore({
}, },
updateVehicle(vehicle) { updateVehicle(vehicle) {
console.log('updateVehicle called with vehicle:', vehicle);
// Assuming that the method caller pass all the properties. // Assuming that the method caller pass all the properties.
// otherwise need to check for undefined for every property. // otherwise need to check for undefined for every property.
if (this.order.vehicle.carId !== vehicle.carId if (this.order.vehicle.carId !== vehicle.carId
@ -2126,6 +2137,8 @@ export const useMainStore = defineStore({
this.order.vehicle.skipVINLookup = vehicle.skipVINLookup; this.order.vehicle.skipVINLookup = vehicle.skipVINLookup;
this.order.vehicle.skipPartQuestions = vehicle.skipPartQuestions; this.order.vehicle.skipPartQuestions = vehicle.skipPartQuestions;
this.order.vehicle.vinRequired = vehicle.vinRequired; this.order.vehicle.vinRequired = vehicle.vinRequired;
this.order.vehicle.fleetNumber = vehicle.fleetNumber;
this.order.vehicle.fleetUnitNumber = vehicle.fleetUnitNumber;
this.updateSupportingItems(null); this.updateSupportingItems(null);
this.updateVaps(null); this.updateVaps(null);
@ -2263,6 +2276,8 @@ export const useMainStore = defineStore({
this.order.vehicle.skipVINLookup = null; this.order.vehicle.skipVINLookup = null;
this.order.vehicle.skipPartQuestions = null; this.order.vehicle.skipPartQuestions = null;
this.order.vehicle.vinRequired = null; this.order.vehicle.vinRequired = null;
this.order.vehicle.fleetNumber = null;
this.order.vehicle.fleetUnitNumber = null;
if (this.isBailout && this.bailoutCode === bailoutCode.HeavyTruckVehicle) { if (this.isBailout && this.bailoutCode === bailoutCode.HeavyTruckVehicle) {
this.resetBailout(); this.resetBailout();

View file

@ -136,6 +136,8 @@ describe('Store', () => {
const imageUrl = getRandomString(50, 100); const imageUrl = getRandomString(50, 100);
const imageVifNumber = getRandomInt(10000, 99999).toString(); const imageVifNumber = getRandomInt(10000, 99999).toString();
const imageColor = getRandomString(4, 10); const imageColor = getRandomString(4, 10);
const fleetNumber = getRandomString(1, 2);
const fleetUnitNumber = getRandomString(1, 2);
const providedVehicle = { const providedVehicle = {
carId, carId,
category, category,
@ -145,7 +147,9 @@ describe('Store', () => {
style, style,
imageUrl, imageUrl,
imageVifNumber, imageVifNumber,
imageVifColor: imageColor imageVifColor: imageColor,
fleetNumber,
fleetUnitNumber
}; };
const expectedVehicle = { const expectedVehicle = {
@ -157,7 +161,9 @@ describe('Store', () => {
style, style,
imageUrl, imageUrl,
imageVifNumber, imageVifNumber,
imageColor imageColor,
fleetNumber,
fleetUnitNumber
}; };
// Act // Act
@ -2611,7 +2617,9 @@ describe('Store', () => {
vin: mockResponse.data.vehicle.vin, vin: mockResponse.data.vehicle.vin,
deductible: 100, deductible: 100,
repairWaived: false, repairWaived: false,
endorsements: ['OEM Approved'] endorsements: ['OEM Approved'],
fleetNumber: getRandomString(1,2),
fleetUnitNumber: getRandomString(1,2)
}; };
store.order.insuranceCoverage.coverageType = coverageType.Deductible; store.order.insuranceCoverage.coverageType = coverageType.Deductible;
@ -2630,7 +2638,9 @@ describe('Store', () => {
expect(store.updateVehicle).toHaveBeenCalledWith({ expect(store.updateVehicle).toHaveBeenCalledWith({
...mockVehicleLookupResponse.data, ...mockVehicleLookupResponse.data,
policyVehicleId: policyVehicle.id, policyVehicleId: policyVehicle.id,
vin: policyVehicle.vin vin: policyVehicle.vin,
fleetNumber: policyVehicle.fleetNumber,
fleetUnitNumber: policyVehicle.fleetUnitNumber
}); });
expect(store.updateVehicleCoverage).toHaveBeenCalled(); expect(store.updateVehicleCoverage).toHaveBeenCalled();
}); });