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