forked from Yara724/api
88 lines
2.8 KiB
TypeScript
88 lines
2.8 KiB
TypeScript
import {
|
|
actualPremiumFromHullPolicyRecord,
|
|
customerIdFromHullPolicyRecord,
|
|
FANAVARAN_DEFAULT_HULL_ACCIDENT_TYPE_ID,
|
|
fanavaranHullNestedClaimId,
|
|
toFanavaranHullBaseClaimPayload,
|
|
} from "./fanavaran-hull-base-claim";
|
|
|
|
describe("fanavaran hull base claim", () => {
|
|
it("reads ActualPremium and CustomerId from hull policy GET", () => {
|
|
expect(
|
|
actualPremiumFromHullPolicyRecord({ TotalPremium: 21613552 }),
|
|
).toBe(21613552);
|
|
expect(customerIdFromHullPolicyRecord({ CustomerId: 1230091 })).toBe(
|
|
1230091,
|
|
);
|
|
});
|
|
|
|
it("defaults CustomerFaultPercent to 100 when CulpritTypeId is 300", () => {
|
|
const hull = toFanavaranHullBaseClaimPayload({
|
|
PolicyId: 1,
|
|
CulpritTypeId: 300,
|
|
});
|
|
expect(hull.CustomerFaultPercent).toBe(100);
|
|
});
|
|
|
|
it("uses GEN.03 Id for nested files/expertise, not ClaimNo", () => {
|
|
expect(
|
|
fanavaranHullNestedClaimId({ Id: 5023617, ClaimNo: 2268 }),
|
|
).toBe(5023617);
|
|
expect(
|
|
fanavaranHullNestedClaimId({ claimId: 5023617, claimNo: 2268 }),
|
|
).toBe(5023617);
|
|
expect(fanavaranHullNestedClaimId({ ClaimNo: 2268 })).toBeNull();
|
|
});
|
|
|
|
it("keeps IsLicenseReplaced null even when ثالث IsLicenseReplacement is 0", () => {
|
|
const hull = toFanavaranHullBaseClaimPayload({
|
|
PolicyId: 1,
|
|
IsLicenseReplacement: 0,
|
|
});
|
|
expect(hull.IsLicenseReplaced).toBeNull();
|
|
});
|
|
|
|
it("strips ثالث-only fields from a live hull create echo", () => {
|
|
const hull = toFanavaranHullBaseClaimPayload({
|
|
AccidentCauseId: 6,
|
|
AccidentCityId: 701,
|
|
AccidentDate: "1405/06/24",
|
|
AccidentLocationAddress: "استان تهران شهر تهران",
|
|
AccidentReportTypeId: 155,
|
|
AccidentTime: "10:33",
|
|
AccidentVehicleUsedId: 1,
|
|
ActualPremium: 57270462,
|
|
AnnouncementDate: "1405/06/24",
|
|
ClaimExpertId: 154,
|
|
ClaimNo: 2268,
|
|
CompensationReferenceId: 167,
|
|
CulpritLicenceNo: "9705463515",
|
|
CulpritTypeId: 337,
|
|
CustomerFaultPercent: 100,
|
|
DamagedCount: 1,
|
|
EstimateAmount: 16000000,
|
|
HasOtherCulprit: 0,
|
|
Id: 5023617,
|
|
IsFatalAccident: 0,
|
|
IsLicenseReplacement: null,
|
|
IsPlaqueChanged: 0,
|
|
PolicyId: 13764408,
|
|
PreviousPolicyEndDate: "1404/10/23",
|
|
SanhabVersion: 6,
|
|
});
|
|
|
|
expect(hull.PolicyId).toBe(13764408);
|
|
expect(hull.AccidentTypeId).toBe(FANAVARAN_DEFAULT_HULL_ACCIDENT_TYPE_ID);
|
|
expect(hull.IsLicenseReplaced).toBeNull();
|
|
expect(hull.CostSeparationToDmgSections).toBe(0);
|
|
expect(hull.IsOwnerChanged).toBe(0);
|
|
expect(hull.CulpritTypeId).toBe(301);
|
|
expect(hull.DamagedCount).toBeUndefined();
|
|
expect(hull.HasOtherCulprit).toBeUndefined();
|
|
expect(hull.CompensationReferenceId).toBeUndefined();
|
|
expect(hull.SanhabVersion).toBeUndefined();
|
|
expect(hull.Id).toBeUndefined();
|
|
expect(hull.ClaimNo).toBeUndefined();
|
|
});
|
|
});
|