Files
yara724-api/src/claim-request-management/fanavaran-claim-references.spec.ts
2026-09-12 10:18:17 +03:30

82 lines
2.0 KiB
TypeScript

import { ClaimCaseStatus } from "src/Types&Enums/claim-request-management/claim-case-status.enum";
import { fanavaranClaimReferences } from "./fanavaran-claim-references";
describe("fanavaranClaimReferences", () => {
it("returns all four Fanavaran ids when the claim is completed", () => {
expect(
fanavaranClaimReferences({
status: ClaimCaseStatus.COMPLETED,
claimId: 987654,
claimNo: 123456,
dmgCaseId: 11,
expertiseId: 22,
}),
).toEqual({
claimId: 987654,
claimNo: 123456,
dmgCaseId: 11,
expertiseId: 22,
});
});
it("exposes the persisted Fanavaran reference codes to expert detail APIs", () => {
expect(
fanavaranClaimReferences({
status: ClaimCaseStatus.COMPLETED,
claimId: 100,
claimNo: 101,
dmgCaseId: 102,
expertiseId: 103,
fanavaranSync: {
baseClaim: { policyId: 104 },
damageCase: {
driverId: 105,
vehicleKindId: 106,
plaqueKindId: 107,
plaqueSampleId: 108,
accidentVehicleUsedId: 109,
insuranceCorpId: 110,
},
},
}),
).toEqual({
claimId: 100,
claimNo: 101,
dmgCaseId: 102,
expertiseId: 103,
policyId: 104,
driverId: 105,
vehicleKindId: 106,
plaqueKindId: 107,
plaqueSampleId: 108,
accidentVehicleUsedId: 109,
insuranceCorpId: 110,
});
});
it("omits missing ids", () => {
expect(
fanavaranClaimReferences({
status: ClaimCaseStatus.COMPLETED,
claimId: 987654,
claimNo: null,
dmgCaseId: undefined,
expertiseId: 22,
}),
).toEqual({
claimId: 987654,
expertiseId: 22,
});
});
it("returns undefined before the claim is completed", () => {
expect(
fanavaranClaimReferences({
status: ClaimCaseStatus.EXPERT_REVIEWING,
claimId: 987654,
dmgCaseId: 11,
}),
).toBeUndefined();
});
});