forked from Yara724/api
99 lines
2.7 KiB
TypeScript
99 lines
2.7 KiB
TypeScript
import { PartyRole } from "src/request-management/entities/schema/partyRole.enum";
|
|
import {
|
|
pickHullVehicleIdentity,
|
|
toFanavaranHullExpertiseDmgSection,
|
|
toFanavaranHullExpertisePayload,
|
|
} from "./fanavaran-hull-expertise";
|
|
|
|
describe("fanavaran hull expertise", () => {
|
|
it("maps car-body inquiry identity onto GEN.06 vehicle fields", () => {
|
|
const vehicle = pickHullVehicleIdentity({
|
|
parties: [
|
|
{
|
|
role: PartyRole.FIRST,
|
|
insurance: {
|
|
carBodyInsurance: {
|
|
chassisNumber: "NAS431100K1050805",
|
|
motorNumber: "M136251767",
|
|
vin: "VIN123",
|
|
},
|
|
},
|
|
vehicle: {
|
|
inquiry: {
|
|
carBody: {
|
|
mapped: {
|
|
platePartOne: "29",
|
|
plateLetterTitle: "د",
|
|
platePartThree: "782",
|
|
plateSerialNumber: "60",
|
|
builtYear: 1398,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
});
|
|
|
|
expect(vehicle).toEqual({
|
|
motorNo: "M136251767",
|
|
chassisNo: "NAS431100K1050805",
|
|
vin: "VIN123",
|
|
plaqueNo: "29د782",
|
|
plaqueSerial: "60",
|
|
builtYear: 1398,
|
|
});
|
|
});
|
|
|
|
it("builds a GEN.06 payload without ثالث expertise fields", () => {
|
|
const payload = toFanavaranHullExpertisePayload({
|
|
claimExpertId: 29,
|
|
dmgAssessmentDate: "1405/06/24",
|
|
inspectionTime: "10:33",
|
|
wage: 1000,
|
|
componentReplacementCost: 2000,
|
|
wasteValue: 0,
|
|
dropAmount: 12,
|
|
vehicleCurrentValue: 1900000000,
|
|
vehicle: {
|
|
motorNo: "M1",
|
|
chassisNo: "C1",
|
|
vin: null,
|
|
plaqueNo: "695ط61",
|
|
plaqueSerial: "87",
|
|
builtYear: 1398,
|
|
},
|
|
dmgSections: [
|
|
toFanavaranHullExpertiseDmgSection({
|
|
partId: 9,
|
|
desc: "bumper",
|
|
wasteValue: 0,
|
|
amount: 3000,
|
|
}),
|
|
],
|
|
});
|
|
|
|
expect(payload.Wage).toBe(1000);
|
|
expect(payload.RepairWage).toBeUndefined();
|
|
expect(payload.DmgCaseId).toBeUndefined();
|
|
expect(payload.InspectionPlaceId).toBeUndefined();
|
|
expect(payload.DropAmountStatus).toBeUndefined();
|
|
expect(payload.DamagedVehicleCurrentPrice).toBeUndefined();
|
|
expect(payload.ClaimExpertId).toBe(29);
|
|
expect(payload.PlaqueNo).toBe("695ط61");
|
|
expect(payload.DmgSections).toEqual([
|
|
{
|
|
Count: 1,
|
|
Desc: "bumper",
|
|
WasteValue: 0,
|
|
AccessoryKindId: 9,
|
|
DmgKindId: null,
|
|
VehicleHullAccessoryId: null,
|
|
DmgSectionCosts: [
|
|
{ Caption: "bumper", Amount: 3000, DmgCostKindId: null },
|
|
],
|
|
},
|
|
]);
|
|
});
|
|
});
|